表项同步方法、网关设备、组网系统及存储介质

文档序号:1925229 发布日期:2021-12-03 浏览:19次 >En<

阅读说明:本技术 表项同步方法、网关设备、组网系统及存储介质 (Table item synchronization method, gateway equipment, networking system and storage medium ) 是由 牛华宾 于 2020-05-29 设计创作,主要内容包括:本申请涉及通信技术领域,具体公开了一种表项同步方法、网关设备、组网系统及存储介质。其中方法包括:在接收到对端传输来的待处理报文时,确定本端存储的与所述待处理报文对应的目标表项,以及确定所述对端的SG端口状态;根据本端存储的所述目标表项以及对端的SG端口状态,向所述对端发送关于所述目标表项的同步报文。该方法可以提高跨设备链路聚合组网中的通信效率。(The application relates to the technical field of communication, and particularly discloses a table entry synchronization method, gateway equipment, a networking system and a storage medium. The method comprises the following steps: when a message to be processed transmitted from an opposite terminal is received, determining a target table entry corresponding to the message to be processed and stored by a local terminal, and determining the state of an SG port of the opposite terminal; and sending a synchronous message related to the target table item to the opposite terminal according to the target table item stored by the local terminal and the SG port state of the opposite terminal. The method can improve the communication efficiency in the cross-device link aggregation networking.)

表项同步方法、网关设备、组网系统及存储介质

技术领域

本发明涉及通信技术领域,尤其涉及一种表项同步方法、网关设备、组网系统及存储介质。

背景技术

跨设备链路聚合(MC-LAG,Multi-Chassis Link Aggregation Group)是一种组网机制,可以将一台接入设备和另外两台运行MC-LAG装置的网关设备进行链路聚合。

两台网关设备之间设有同步链路,一般称作peerlink链路,两台网关设备会通过同步链路将各自聚合口学到的表项同步到对端,以实现转发层面的衔接。同时两台网关设备之间还设有协商链路,一般称作keepalive链路,用来对两端设备配置进行一致性检查,同时协商出主备角色。MC-LAG表项的同步是触发同步加周期同步方式。当有新增表项时会立即同步到远端。另外也会间隔固定的时间进行全量的表项同步。

在同步过程中,可能会因为对端繁忙或者一些因素导致数据未能成功发送或者接收,还有重复发送数据的问题,因此需要解决在跨设备链路聚合组网中丢包或者多包的问题。

发明内容

本申请提供了一种表项同步方法、网关设备、组网系统及存储介质,可以提高跨设备链路聚合组网中的通信效率。

第一方面,本申请提供了一种表项同步方法,所述方法包括:

在接收到对端传输来的待处理报文时,确定本端存储的与所述待处理报文对应的目标表项,以及确定所述对端的SG端口状态;

根据本端存储的所述目标表项以及对端的SG端口状态,向所述对端发送关于所述目标表项的同步报文。

第二方面,本申请还提供了一种网关设备,所述网关设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的表项同步方法。

第三方面,本申请还提供了一种组网系统,所述组网系统包括两个网关模块,所述网关模块用于实现如上述的表项同步方法。

第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的表项同步方法。

本申请公开了一种表项同步方法、网关设备、组网系统及存储介质,该方法包括:在接收到对端传输来的待处理报文时,确定本端存储的与所述待处理报文对应的目标表项,以及确定所述对端的SG端口状态;根据本端存储的所述目标表项以及对端的SG端口状态,向所述对端发送关于所述目标表项的同步报文。通过在接收对端传输来的待处理报文时,确定对端的SG端口状态以及本端的存储的与所述待处理报文对应的目标表项,来判断是否需要执行向对端进行表项同步的操作,可以在网关设备的传输过程中出现了丢包后及时对丢失的数据进行补充同步,同时本方案通过多个因素判断执行同步操作后也可以避免多包重复发送的问题,进一步可以提高跨设备链路聚合组网中的通信效率。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的跨设备链路聚合组网系统的模块示意框图;

图2是本申请实施例提供的一种表项同步方法的示意流程图;

图3是本申请实施例提供的另一种表项同步方法的示意流程图;

图4是本申请实施例提供的另一种表项同步方法的示意流程图;

图5是本申请的实施例提供的一种网关设备的结构示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

本申请的实施例提供了一种表项同步方法、网关设备、组网系统及存储介质。下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

本申请的实施例提供的一种表项同步方法应用在跨设备链路聚合(MC-LAG,Multi-Chassis Link Aggregation Group)组网系统中的任一网关设备,图1是跨设备链路聚合组网系统的模块示意框图,跨设备链路聚合组网系统包括接入设备和两个网关设备。

两个网关设备之间会进行相应的配置以实现配对,配对成功后还可以确定出两个网关设备之间的主备状态。主网关设备和备网关设备的关系不影响正常的流量转发,只有在线路出现故障时才起作用。确定出主备后,两台网关设备之间可以通过网络侧链路周期性地发送心跳报文,当两台设备均能够收到对端发送的报文时,双活系统即开始正常的工作。

正常工作后,两台设备之间会通过peerlink链路发送同步报文实时同步对端的信息,同步报文中包括MAC表项、ARP表项等,这样任意一台设备故障都不会影响流量的转发,保证正常的业务不会中断。

因为周期性同步为全量同步,所以一般同步周期不会设置太短,如果同步时恰逢对端网关设备的CPU繁忙,或者其它因素导致部分转发表项未能成功接收或者下发,可能会出现如下问题:(1)对于查找MAC表项转发的报文会多泛洪一份到对端网关设备,而作为接收端的接入设备最终会收到双份报文。(2)对于查找ARP/ND表项转发的报文,因本端网关设备没有相应的表项会触发ARP/NS请求至接入设备,接入设备可能会将ARP/NA应答回复到了对端网关设备,同样本端网关设备学不到ARP表项,造成流量持续丢包。

例如,如图1所示,图1中的网关设备100b从接入设备200接收到ARP/ND报文,在本端生成对应的MAC表和ARP/ND表。因网关设备中配置了MC-LAG,所以网关设备100b会把MAC表和ARP/ND表同步到网关设备100a,此时如果网关设备100a由于某些原因未接收到此同步报文,或者接收到后因CPU繁忙没能处理,导致网关设备100a上没有形成对应的MAC表项和ARP/ND表项。

又如,当网关设备100a从上行接口收到目的为接入设备200的二层报文,因网关设备100a上没有MAC表项,网关设备100a会将该二层报文广播到A2链路,同时通过peerlink链路广播到网关设备100b,网关设备100b查找MAC表为已知单播报文,也会将该二层报文转发给接入设备200,这样接入设备200就收到了双份报文。

又如,当网关设备100a从上行接口收到目的为接入设备200的三层报文,因网关设备100a上没有ARP/ND表项,网关设备100a会根据该三层报文触发AR/NS请求并发送至接入设备200,假如接入设备200回复了ARP/NA应答报文至B2链路,网关设备100a仍然无法生成ARP/ND表项,流量会持续被丢弃。

请参阅图2,图2是本申请的实施例提供的一种表项同步方法的示意流程图,如图2所示,该表项同步方法具体包括步骤S101至步骤S102。

S101、在接收到对端传输来的待处理报文时,确定本端存储的与所述待处理报文对应的目标表项,以及确定所述对端的SG端口状态。

其中,本方法可以是应用在跨设备链路聚合组网系统中的任一网关设备,如图1所示,可以是应用在网关设备100a上,也可以是应用在网关设备100b上。待处理报文可以是网关设备从上行接口接收到的报文,如图1所示,待处理报文可以是网关设备100a从A链路接收到的,也可以是网关设备100b从B链路接收到的。

网关设备从上行接口接收到的待处理报文后,可能是因为网关设备出现问题或者可能是该待处理报文的正常传输方式,网关设备会将待处理报文发送至另一个网关设备。例如,如果是网关设备100a从A链路接收到待处理报文,后再通过peerlink发送给网关设备100b,则网关设备100b作为本端,网关设备100a作为对端。如果是网关设备100b从B链路接收到待处理报文,后再通过peerlink发送给网关设备100a,则网关设备100a作为本端,网关设备100b作为对端。

待处理报文一般是通过网关设备发送到对应的目的设备上,目标设备可以是接入设备;因此待处理报文会有其对应的传输参数,根据传输参数可以确定待处理报文对应的目的设备的地址,因此网关设备便可以将待处理报文发送至目的设备。目标表项为用于确定和待处理报文的目的设备的地址的表项,目标表项中包括目的设备的地址,如果本端存储有与所述待处理报文对应的目标表项,则可以从目标表项中确定待处理报文对应目的设备的地址。待处理报文可以是二层报文,对应的目标表项可以是媒体存取控制(MAC,MediaAccess Control)表项。

SG端口为网关设备上用于和接入设备连接的端口,SG端口状态用于体现网关设备和接入设备之间的通信链路是否正常。例如,网关设备和接入设备之间的通信链路正常时,SG端口的状态为“up”,网关设备和接入设备之间的通信链路出现故障时,SG端口会将其状态切换为“down”。因此根据SG端口状态可以确定网关设备的通信链路是否出现问题。

S102、根据本端存储的所述目标表项以及对端的SG端口状态,向所述对端发送关于所述目标表项的同步报文。

其中,对端的SG端口状态可以直接确定网关设备和接入设备之间的通信链路是否正常,如果对端网关设备和接入设备之间的通信链路出现了问题,则对端网关设备无法通过SG端口将待处理报文下发至接入设备,因此需要发送给本端网关设备,利用跨设备链路聚合组网的功能,通过本端网关设备进行下发。这种情况下因为对端网关设备本身的通信链路出现了问题,无法准确确定对端网关设备中是否有缺失的目标表项。

而如果对端网关设备和接入设备之间的通信链路并没有问题,对端网关设备仍然将待处理报文发送给了本端网关设备,即对端网关设备具备将待处理报文下发至接入设备的正常的通信链路,但是对端网关设备本地没有下发待处理报文的其他信息,因此对端网关设备需要利用跨设备链路聚合组网的功能,通过本端网关设备进行下发。这种情况中可能就是对端网关设备中没有存储与所述待处理报文对应的目标表项,可能是因为之前的通信过程中CPU繁忙等状况导致对端出现了数据丢失。

因此可以根据对端的SG端口状态,以及本端存储的所述目标表项,向所述对端发送关于所述目标表项的同步报文。同步报文中携带了与所述待处理报文对应的目标表项,本端通过同步报文将与所述待处理报文对应的目标表项发送到对端网关设备,以便对端网关设备可以补充存储与所述待处理报文对应的目标表项。

在一个实施例中,所述根据本端存储的所述目标表项以及对端的SG端口状态,向所述对端发送关于所述目标表项的同步报文的操作可以通过如下方式实施:

若本端存储有所述目标表项,以及所述对端的SG端口状态为目标状态,则向所述对端发送关于所述目标表项的同步报文。

其中,目标状态用于表示SG端口对应的通信链路正常,SG端口为网关设备用于和接入设备连接的端口,因此目标状态是用来表示网关设备和接入设备之间的通信链路是正常的状态,可选地,目标状态可以是为“up”,SG端口状态为“up”表示网关设备和接入设备之间的通信链路正常。

如果对端的SG端口状态为目标状态,则表示对端网关设备中没有存储与所述待处理报文对应的目标表项,而本端网关设备中存储有与所述待处理报文对应的目标表项,因此本端网关设备可以向对端网关设备发起关于所述目标表项的同步报文,以便对端网关设备可以补充存储与所述待处理报文对应的目标表项。

本申请实施例提供的表项同步方法,通过在接收对端传输来的待处理报文时,确定对端的SG端口状态以及本端的存储的与所述待处理报文对应的目标表项,来判断是否需要执行向对端进行表项同步的操作,可以在网关设备的传输过程中出现了丢包后及时对丢失的数据进行补充同步,同时本方案通过多个因素判断执行同步操作后也可以避免多包重复发送的问题。

可选地,如图3所示,本申请实施例的方法可以根据如下步骤实施:

S201、在接收到对端传输来的待处理报文时,确定本端存储的与所述待处理报文对应的目标表项。

S202、若本端存储有与所述待处理报文对应的目标表项,则确定所述对端的SG端口状态。

S203、若所述对端的SG端口状态为目标状态,则向所述对端发送关于所述目标表项的同步报文。

其中,在接收到对端传输来的待处理报文时,可以首先确定本端是否存储有与所述待处理报文对应的目标表项,若确定本端存储有与所述待处理报文对应的目标表项,则表示本端有能力执行向所述对端发送关于所述目标表项的同步报文的操作,后续再判断对端的SG端口状态是否为目标状态,若所述对端的SG端口状态为目标状态,则向所述对端发送关于所述目标表项的同步报文。

在一个实施例中,所述方法还包括如下操作:若本端没有存储与所述待处理报文对应的目标表项,或者若本端存储有所述目标表项以及对端的SG端口状态不是目标状态,则根据跨设备链路聚合传输规则发送所述待处理报文。

其中,如果本端没有存储与所述待处理报文对应的目标表项,可以根据跨设备链路聚合传输规则发送所述待处理报文,可以是发送至下游设备,跨设备链路聚合传输规则可以是跨设备链路聚合组网系统中预设的传输规则,示例性地,可以是往跨设备链路聚合组网系统中的单归环的设备成员发送,而非往本地跨设备链路聚合组网系统中的双归环的设备成员发送。

如果本端存储有所述目标表项以及对端的SG端口状态不是目标状态,则表示对端的网关设备的通信链路出现故障,对端的网络设备中不一定没有存储与所述待处理报文对应的目标表项,本端的网络设备接收到待处理报文也属于跨设备链路聚合组网系统中正常的报文转发,因此也可以根据跨设备链路聚合传输规则发送所述待处理报文。

在一个实施例中,所述方法还包括如下操作:

在本端的SG端口状态发生变化时,将变化后的SG端口状态发送至对端;

在接收到对端发送来的SG端口状态时,将所述对端发送来的SG端口状态存储至SG状态信息中;

相应地,所述确定所述对端的SG端口状态的操作可以通过如下方式实施:

确定所述SG状态信息中最新的SG端口状态,并确定为所述对端的SG端口状态。

其中,网关设备可以持续检测自身的SG端口的状态,在检测到本端的SG端口状态发生变化时,可以将变化后的SG端口状态发送至对端。示例性地,本端的SG端口状态本来是“up”,然后出现了通信链路故障,SG端口状态变成了“down”,此时可以将变化后的SG端口状态“down”发送到对端的网关设备。

相应地,作为本端的网关设备如果接收到对端发送来的SG端口状态,则表示对端的网关设备的SG端口状态发生了变化,可以将对端发送来的SG端口状态进行存储,可以是存储到本端的SG状态信息中,SG状态信息中存储了对端的网关设备的历史的SG端口状态,本端的网关设备在需要确定对端的SG端口状态时,可以根据SG状态信息中最新的SG端口状态来确定对端此时的SG端口状态。

在一个实施例中,所述确定所述对端的SG端口状态的操作可以通过如下方式实施:

向对端发送状态查询报文,并接收所述对端返回的SG端口状态。

其中,本端的网关设备除了可以被动接收对端发送来的SG端口状态,还可以主动查询对端的SG端口状态,避免对端在上一次SG端口状态发生变化后,所发送的变化后的SG端口状态出现消息丢失,本端的网关设备上没有接收到最新的对端的SG端口状态。可以通过发送状态查询报文到对端,对端在接收到状态查询报文后,可以返回当前的SG端口状态至本端。

在一个实施例中,所述向所述对端发送关于所述目标表项的同步报文的操作可以通过如下方式实施:

向所述对端发送关于所述目标表项的同步报文,若接收到对端传输来的和所述目标表项对应的待处理报文,则根据预设同步规则再次向所述对端发送关于所述目标表项的同步报文。

其中,在向对端发送关于所述目标表项的同步报文后,对端如果处于正常状态,则会根据该同步报文添加目标表项,而如果对端处于繁忙的状态,则对端也无法根据同步报文添加相应的目标表项。此时对端中仍有和目标表项对应而无法通过对端发送出去的待处理报文,对端会继续将和所述目标表项对应的待处理报文发送至本端,因此向所述对端发送关于所述目标表项的同步报文后,若接收到对端传输来的和所述目标表项对应的待处理报文,则表示对端没有成功添加目标表项,本端需要再次向所述对端发送关于所述目标表项的同步报文。

为了避免增加对端的CPU繁忙程度,可以间隔一定时间后再次向所述对端发送关于所述目标表项的同步报文。可以根据预设同步规则再次向所述对端发送关于所述目标表项的同步报文,预设同步规则可以是预先设置好的,可以包括发送时间间隔和/或发送次数。

在一个实施例中,如图4所示,所述方法还包括如下操作:

S301、在接收ARP应答报文时,确定本端是否发过与所述ARP应答报文对应的ARP请求,以及确定本端是否存储有与所述ARP应答报文对应的ARP表项;

S302、根据本端是否发送过ARP请求和/或本端是否存储有与所述ARP应答报文对应的ARP表项,向所述对端发送与所述ARP应答报文对应的同步报文。

其中,ARP应答报文是针对ARP请求所返回的应答报文,ARP应答报文中包括了和ARP请求相对应的ARP表项。例如,网关设备从上行接口接收到IP地址为第一地址的接入设备的数据时,网关设备本地却没有存储对应的ARP/ND表项,此时网关设备可以触发ARP/NS请求。

ARP应答报文可以是网关设备从上行接口接收的目的设备为接入设备的三层报文,示例性地,如图1所示,网关设备100a可以是从A链路接收到ARP应答报文。ARP应答报文也可以是从接入设备接收的,示例性地,如图1所示,网关设备100a可以是从A2链路接收到ARP应答报文。

确定本端是否发过与所述ARP应答报文对应的ARP请求,可以确定接收的ARP应答报文是否是和对端的网关设备相对应,进而可以确定是否要向对端执行跟ARP应答报文相对应的同步操作。同时,由于本端网关设备也可以同时根据ARP应答报文进行相应的操作,根据本端是否已经存储有跟所述ARP应答报文相对应的ARP表项,对应在本端执行的跟ARP应答报文对应的操作类型有所不同。

进而可以确定本端是否发过与所述ARP应答报文对应的ARP请求,以及确定本端是否存储有与所述ARP应答报文对应的ARP表项,根据本端是否发送过ARP请求和/或本端是否存储有与所述ARP应答报文对应的ARP表项,向所述对端发送与所述ARP应答报文对应的同步报文。

示例性地,如果本端的网关设备存储有ARP/ND表项,本端并未发起过ARP/NS请求,而本端却接收到接入设备回复的针对网关地址的ARP应答报文,可以说明对端设备没有ARP/ND表项,ARP/NS请求是对端发起的,因此,本端在接收到ARP应答报文后可以向对端设备发起关于ARP/ND表项的同步报文。而如果接入设备回复的ARP/NA应答报文是直接发送到,发出过ARP/NS请求的对端网关设备时,对端网关设备可以直接根据ARP/NA应答报文正常生成MAC表项和ARP/ND表项。

在一个实施例中,所述根据本端是否发送过ARP请求和/或本端是否存储有与所述ARP应答报文对应的ARP表项,向所述对端发送与所述ARP应答报文对应的同步报文的操作可以通过如下方式实施:

若本端没有与所述ARP应答报文对应的ARP表项,则根据所述ARP应答报文在本端添加ARP表项,以及向所述对端发送与所述ARP应答报文对应的同步报文;

若本端发过与所述ARP应答报文对应的ARP请求,以及本端存储有与所述ARP应答报文对应的ARP表项,则根据所述ARP应答报文更新本端的ARP表项;

若本端未发过与所述ARP应答报文对应的ARP请求,以及本端存储有与所述ARP应答报文对应的ARP表项,则向所述对端发送与所述ARP应答报文对应的同步报文。

其中,如果本端没有与所述ARP应答报文对应的ARP表项,则不论ARP请求是由本端发出的还是由对端发出的,本端都可以根据ARP应答报文在本端添加ARP表项,同时也可以向所述对端发送与所述ARP应答报文对应的同步报文。

而如果本端存储有与所述ARP应答报文对应的ARP表项,且本端发过与所述ARP应答报文对应的ARP请求,且本端即ARP应答报文是直接和本端发出过的ARP请求相对应,本端发送的ARP请求是用于ARP/ND表项老化前的保活报文触发,正常更新ARP/ND表项老化时间,则可以根据所述ARP应答报文更新本端的ARP表项。

而如果本端存储有与所述ARP应答报文对应的ARP表项,且本端没有发过与所述ARP应答报文对应的ARP请求,表示ARP请求是对端设备发出的,但是由于本地也存储有和ARP应答报文对应的ARP表项,则表示可能在之前的同步过程中,对端的网关设备出现了数据丢失的问题,对端的网关设备没有存储到对应的ARP表项,此时本端的网关设备可以根据所述ARP应答报文向所述对端发送与所述ARP应答报文对应的同步报文。

需要说明的是,实际上在对端发起ARP/NS请求时,也会通过peerlink链路发出一份给本端的网关设备。本端的网关设备如果根据该ARP/NS请求向对端发出关于ARP表项的同步报文,而同时ARP/NA应答报文也会回复到对端设备,如此会造成对端表项本地状态和同步状态之间覆盖,增加额外的处理流程。本申请实施例通过在接收到在接收ARP应答报文时,根据本端是否发送过ARP请求和/或本端是否存储有与所述ARP应答报文对应的ARP表项,向所述对端发送与所述ARP应答报文对应的同步报文,可以避免上述覆盖的问题,又可以及时更新两个网关设备之间关于ARP表项的同步。

在一个实施例中,本申请实施例提供的网关设备包括相互连接的配置模块、端口模块、数据库模块、报文收发模块、报文处理模块和MC-LAG系统模块。

配置模块用于针对新增的表项补充同步报文。如果对端长时间处于CPU繁忙状态,频繁的同步报文反而会加重其负担,配置模块用于使用户手工配置补充同步间隔和同步次数,并形成预设同步规则,在对端处于繁忙状态时,可以根据预设同步规则再次向所述对端发送关于所述目标表项的同步报文。

端口模块用于在SG端口状态发生变化时,快速通知MC-LAG系统模块修改其keepalive报文中携带的SG端口状态,以便对端根据接收到的keepalive报文正确记录本端的SG端口状态。

对于正常的keepalive报文,MC-LAG系统模块还可以动态从端口模块获取SG端口状态,如果端口模块上报的报文丢失造成的状态出错,可以在后面的keepalive报文中纠正。

数据库模块用于,将从keepalive报文中获取的对端的SG端口状态,记录到本端的SG状态信息中,根据SG状态信息中对端的SG端口状态作为判断条件来确定是否需要进行补充同步的操作。

报文收发模块,用于实现跨设备链路聚合组网系统中keepalive报文的收发,keepalive报文中增加了本端的SG端口状态的字段。

协议报文的收发由CPU来处理,在填写SG端口状态的字段时,根据端口模块上一次上报的状态来填写,也可以主动查询,避免SG端口状态变化后上报的数据丢失,导致状态出错的问题。当端口模块主动上报了变化后的SG端口状态,应立即触发发送一个携带变化后的SG端口状态的字段的keepalive报文给对端。

另外的,报文收发模块还可以包括从peerlink链路收到的报文识别,是已知单播还是未知单播均应通知MC-LAG系统模块做判断。

另外的,报文收发模块还可以包括从MC-LAG链路收到的报文识别,当接收到了ARP/NA应答,是否之前发出过ARP/NS请求,均需要通知MC-LAG系统模块做判断。

报文处理模块,用于将根据接收到的keepalive报文记录下对端的SG端口状态的字段。对端SG端口状态字段应该提供查询方式且对用户可见。

MC-LAG系统模块作为整个网关设备的主导模块,用于完成所有必需的信息收集并作出相应的决策。

请参阅图5,图5是本申请的实施例提供的一种网关设备的结构示意性框图。该网关设备可以是交换机或路由器。

参阅图5,该网关设备100包括通过系统总线连接的处理器110和存储器120,其中,存储器120可以包括非易失性存储介质和内存储器。

非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种表项同步方法。

处理器用于提供计算和控制能力,支撑整个网关设备的运行。

内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种表项同步方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的网关设备的限定,具体的网关设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:

在接收到对端传输来的待处理报文时,确定本端存储的与所述待处理报文对应的目标表项,以及确定所述对端的SG端口状态;

根据本端存储的所述目标表项以及对端的SG端口状态,向所述对端发送关于所述目标表项的同步报文。

在一个实施例中,所述处理器在实现所述根据本端存储的所述目标表项以及对端的SG端口状态,向所述对端发送关于所述目标表项的同步报文时,用于实现:

若本端存储有所述目标表项,以及所述对端的SG端口状态为目标状态,则向所述对端发送关于所述目标表项的同步报文,所述目标状态用于表示SG端口对应的通信链路正常。

在一个实施例中,所述处理器还用于实现:

在本端的SG端口状态发生变化时,将变化后的SG端口状态发送至对端;

在接收到对端发送来的SG端口状态时,将所述对端发送来的SG端口状态存储至SG状态信息中;

所述处理器在实现所述确定所述对端的SG端口状态时,用于实现:

确定所述SG状态信息中最新的SG端口状态,并确定为所述对端的SG端口状态。

在一个实施例中,所述处理器在实现所述确定所述对端的SG端口状态时,用于实现:

向对端发送状态查询报文,并接收所述对端返回的SG端口状态。

在一个实施例中,所述处理器在实现所述向所述对端发送关于所述目标表项的同步报文,包括时,用于实现:

向所述对端发送关于所述目标表项的同步报文;

若接收到对端传输来的和所述目标表项对应的待处理报文,则根据预设同步规则再次向所述对端发送关于所述目标表项的同步报文。

在一个实施例中,所述预设同步规则包括发送时间间隔和/或发送次数。

在一个实施例中,所述处理器还用于实现:

若本端没有存储与所述待处理报文对应的目标表项,或者若本端存储有所述目标表项以及对端的SG端口状态不是目标状态,则根据跨设备链路聚合传输规则发送所述待处理报文。

在一个实施例中,所述处理器还用于实现:

在接收ARP应答报文时,确定本端是否发过与所述ARP应答报文对应的ARP请求,以及确定本端是否存储有与所述ARP应答报文对应的ARP表项;

根据本端是否发送过ARP请求和/或本端是否存储有与所述ARP应答报文对应的ARP表项,向所述对端发送与所述ARP应答报文对应的同步报文。

在一个实施例中,所述处理器在实现所述根据本端是否发送过ARP请求和/或本端是否存储有与所述ARP应答报文对应的ARP表项,向所述对端发送与所述ARP应答报文对应的同步报文时,用于实现:

若本端没有与所述ARP应答报文对应的ARP表项,则根据所述ARP应答报文在本端添加ARP表项,以及向所述对端发送与所述ARP应答报文对应的同步报文;

若本端发过与所述ARP应答报文对应的ARP请求,以及本端存储有与所述ARP应答报文对应的ARP表项,则根据所述ARP应答报文更新本端的ARP表项;

若本端未发过与所述ARP应答报文对应的ARP请求,以及本端存储有与所述ARP应答报文对应的ARP表项,则向所述对端发送与所述ARP应答报文对应的同步报文。

本申请的实施例中还提供一种组网系统,所述组网系统包括两个网关模块,所述网关模块用于实现本申请实施例提供的任一项表项同步方法。

本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项表项同步方法。

其中,所述计算机可读存储介质可以是前述实施例所述的网关设备的内部存储单元,例如所述网关设备的硬盘或内存。所述计算机可读存储介质也可以是所述网关设备的外部存储设备,例如所述网关设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种流量转发方法、装置、设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!