一种链路快速收敛的方法、装置及系统的制作方法

xiaoxiao2021-2-23  118

一种链路快速收敛的方法、装置及系统的制作方法
【技术领域】
[0001]本发明属于数据通信领域,尤其涉及一种链路快速收敛的方法、装置及系统。
【背景技术】
[0002]网络设备间为增加带宽、负载分担、以及增加设备间可靠性等网络设备间传输性能的要求,一方面,可以通过配置链路聚合实现属于同一链路聚合组的成员设备的各个成员端口之间彼此动态备份。另一方面,堆叠技术可以将两台及以上的网络设备通过堆叠电缆连接在一起构成一个独立运行的堆叠系统,这些网络设备称为堆叠成员设备,简称成员设备。在堆叠系统中,成员设备间通过虚拟交换链路(Virtual Switching Link,简称VSL)完成连接,成员设备间的虚拟交换链路主要用于保证设备间的数据转发,一般情况下虚拟交换链路中的堆叠端口中会加入多个物理成员端口,该系统可以提高网络传输的稳定性和可靠性。
[0003]以上两种现有网络设备连接技术中,当构成链路的某一个成员端口出现异常(如:端口退出链路、端口物理DOWN或者端口保活DOWN)时,现有堆叠系统在端口发生异常,进行端口切换通常会存在时延。以虚拟交换链路的控制端口触发选举为例子进行说明,控制端口选举步骤为:步骤1、原控制端口发生某种异常,系统通告控制端口 DOWN事件;步骤2、接收到控制端口 DOWN事件,主设备和成员设备会分别进行控制端口选举;步骤3、将选举的控制端口信息更新到软硬件表项。在步骤1中原控制端口发生异常时,此时主设备和成员设备间数据转发业务已经无法交互;直到新的控制端口更新成功之前,主设备和成员设备之间的所有数据均会发往原控制端口进行转发,由于原控制端口已经出现异常,此时就会导致整个堆叠系统不稳定,会出现短暂的业务中断,严重时可能会出现堆叠系统分裂。公开号为CN104158683A的发明专利中提出一种跨设备聚合组快速收敛方法及系统。在该发明专利中提出聚合组中成员端口发生物理DOWN时,可以采用构建中断消息方式加快聚合组收敛速度,此方法仅限于针对因成员端口物理DOWN而触发聚合组的收敛有效,对于成员端口是通过人工干预而退出聚合组的情况,该方法不是一种最优方案。因为当通过成员端口物理DOWN产生中断消息通知收敛时,数据转发业务可能已经受影响,后续收敛速度再快也会对设备稳定性产生影响。

【发明内容】

[0004]本发明提供一种链路快速收敛的方法、装置及系统,用以解决系统中有成员端口退出链路时,链路无法快速收敛选出新的业务数据交互端口,对系统的稳定性产生影响的问题。
[0005]为实现上述目的,本发明的主要目的在于提供一种链路快速收敛的方法,所述链路建立在包括至少两条物理连接的成员设备之间,该方法包括:
[0006]收到成员端口退出指令的成员设备,向对端成员设备发送消息通知报文,告知对端成员设备所述成员端口即将异常;
[0007]对端成员设备在收到所述消息通知报文后,提前触发与所述成员端口对应连接的本地成员端口进行业务切换;
[0008]所述收到成员端口退出指令的成员设备执行相应的退出操作。
[0009]进一步地,所述收到成员端口退出指令的成员设备,向对端成员设备发送消息通知报文,具体实现步骤包括:
[0010]获取所述成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号;
[0011]组装消息通知报文,并将组装好的消息通知报文按最高优先级方式发送给对端成员设备;
[0012]所述收到成员端口退出指令的成员设备执行相应的退出操作,具体实现步骤包括:从本地非异常成员端口中选出新的业务转发端口,同时更新软硬件转发表。
[0013]进一步地,所述消息通知报文内容包含:消息类型、成员端口的物理端口编号、对应链路的逻辑端口编号。
[0014]进一步地,所述消息通知报文为是用户自定义的报文。
[0015]进一步地,所述对端成员设备在收到消息通知报文后,提前触发与所述成员端口对应连接的本地成员端口进行业务切换,具体实现步骤包括:
[0016]对端成员设备接收到有成员端口退出链路的消息通知报文后,解析该消息通知报文,获取即将退出链路的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号;
[0017]根据即将退出链路的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号,查找与之对应连接的本地成员端口的物理端口编号和对应连接链路的逻辑端口编号;
[0018]根据查找到的本地端口的物理端口编号和对应连接链路的逻辑端口编号后,触发本地成员端口进行新业务端口的切换,同时更新软硬件转发表。
[0019]本发明的又一目的还在于,提供一种链路快速收敛的装置,应用在与对端成员设备建立包括至少两条物理连接的链路的成员设备中,所述装置具体包括:
[0020]端口编号获取模块,用于在接收到成员端口退出指令后,获取所述成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号;
[0021]报文发送模块,用于利用获取的所述成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号,组装消息通知报文,并将组装好的消息通知报文按最高优先级方式发送给对端成员设备;
[0022]端口选择模块,用于在报文发送模块完成消息通知报文的发送后,从本地与所述成员端口将退出的链路对应的成员端口中选出新的业务转发端口。
[0023]进一步的,所述装置还包括报文接收模块,用于接收来自对端成员设备的消息通知报文;
[0024]所述端口编号获取模块,还用于解析所述报文接收模块接收的消息通知报文,获取消息通知报文中对端成员设备的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号;并根据获取的对端成员设备的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号,查找与之对应连接的本地成员端口的物理端口编号和对应连接链路的逻辑端口编号;
[0025]端口选择模块,还用于所述端口编号获取到本地成员端口的物理端口编号和对应连接链路的逻辑端口编号后,触发所述本地成员端口对应连接的链路进行业务端口的切换。
[0026]进一步的,所述装置还包括端口更新模块,用于更新软硬件转发表。
[0027]进一步地,所述消息通知报文内容包含:消息类型、将退出链路的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号。
[0028]进一步地,所述消息通知报文为用户自定义的报文。
[0029]本发明的另一个目还包括一种链路快速收敛的系统,包括两个上述链路快速收敛的装置,两个所述装置之间建立包括至少两条物理连接的链路。
[0030]本发明的有益效果为:在成员端口退出链路的操作过程中,存在数据交互的设备间的端口在未接收到成员端口真正退出链路之前,提前预知即将发生端口退出链路事件,触发链路的提前收敛,保证转发数据提前切换到未发生异常的物理端口,提高了系统内设备间的稳定性。
【附图说明】
[0031 ]图1是本发明实施例的方法流程图;
[0032]图2是本发明实施例堆叠系统网络结构图;
[0033]图3是本发明实施例1的装置实现框图;
[0034]图4是本发明实施例2的装置实现框图;
[0035]图5是本发明实施例3的装置实现框图;
[0036]图6是本发明实施例的系统实现框图。
【具体实施方式】
[0037]为使本发明的技术方案更加清楚明白,现结合附图对本发明做进一步详细说明:
[0038]本发明实施例提供一种链路快速收敛的方法,该方法采用预通知机制,让系统中成员设备提前预知链路中某成员端口即将发生异常,从而加快链路中数据交互端口的切换以及软硬件 转发表的设置,提升系统设备间的稳定性。
[0039]如图1所示,当系统中某一成员设备按照需求需要将其某一成员端口退出链路时,预先通知对端成员设备其成员端口即将异常,具体的操作步骤包括:
[0040]S101、收到成员端口退出指令的成员设备,向对端成员设备发送消息通知报文,告知对端成员设备所述成员端口即将异常;具体实现步骤包括:
[0041]收到成员端口退出指令的成员设备获取本地即将退出链路的成员端口的物理端口编号和即将退出的链路的逻辑端口编号。端口编号为用户自定义,主要用于不同端口的识别。
[0042]组装消息通知报文,消息通知报文为用户自定义报文或者是在已有通用协议报文中进行扩展,消息通知报文的内容包含:消息类型,用于表示链路中有成员端口退出、有成员端口退出的链路的逻辑口编号和退出链路的成员端口的物理端口编号。
[0043]将组装好的消息通知报文按最高优先级方式发送给对端成员设备,为了保证成员设备能尽快接收处理该消息通知报文,所以消息通知报文会以最高优先级进行发送。
[0044]S102、对端成员设备在收到所述消息通知报文后,提前触发与所述成员端口对应连接的本地成员端口进行业务切换。具体实现步骤包括:
[0045]对端成员设备接收到有成员端口退出链路的消息通知报文后,解析该消息通知报文,获取即将退出链路的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号;根据所述成员端口的物理端口编号和所述成员端口将退出的链路的逻辑口编号,查找与之对应连接的本地成员端口的物理端口编号和对应连接的链路的逻辑端口编号;根据查找到的本地成员端口的物理端口编号和对应连接的链路的逻辑端口编号,触发本地成员端口进行新业务端口的切换,同时更新软硬件转发表。
[0046]S103、所述收到成员端口退出指令的成员设备执行相应的退出操作。具体实现包括:从本地非异常成员端口中选出新的成员端口作为设备间的业务转发端口,同时更新软硬件转发表。
[0047]本发明实施例以两台交换设备组成的堆叠系统为例来详细说明本发明的技术方案和技术效果,如图2所示,堆叠系统由SW0设备和SW1设备两台三层交换机组成,SW0设备配置有一条虚拟交换链路(vsl-channel 0/1),vsl_channel 0/1链路中添加有两个物理成员端口 teO/1/l和teO/1/2 aSWl设备配置有一条虚拟交换链路(vs 1-channel 1/1),vs 1-channel 1/1链路中添加有两个物理成员端口 tel/1/1和tel/1/2 JWO与SW1两台设备虚拟交换链路连接关系是vsl-channel 0/1对应vsl_channel 1/1;两台设备间物理端口连接关系teO/1/l连接tel/1/1,te0/l/2连接tel/1/2。虚拟交换链路里面存在有两个物理端口,堆叠设备SWO和SW1需要选举出控制端口,以便通过控制端口收发设备间交互的业务数据报文;SWO设备选举teO/1/l为控制端口,SW1设备对应选举tel/1/l为控制端口。同时,两台堆叠设备还需要通过交互选举产生出主控设备和成员设备,经过选举产生出主控设备为SWO,成员设备为SW1。堆叠系统完成所有选举后,系统将进入稳定状态。
[0048]当SWO设备根据管理需求,收到需要将控制端口teO/1/l退出虚拟交换链路vsl-channel 0/1相关操作指令,此操作将导致teO/1/l端口不能再作为SWO设备的堆叠端口进行业务数据报文操作。在本发明实施例中,SW0设备在执行控制端口 teO/1/l退出虚拟交换链路vsl-channel 0/1时,SW0设备所需执行的具体操作步骤包括:
[0049]步骤一:SW0设备根据需求,需要将控制端口 teO/1/l退出虚拟交换链路vsl-channel 0/1,执行端口退出的操作方式通常有:shell命令配置和snmp代理执行。
[0050]步骤二: SW0设备根据shel 1命令中携带的端口数据或者snmp代理下发的端口数据,获取控制端口teO/1/l所对应内部端口编号和虚拟交换链路vsl-channel 0/1对应的逻辑端口内部编号。
[0051 ] 步骤三:根据步骤二获取的控制端口 teO/1/l和虚拟交换链路vsl-channel 0/1的内部端口编号组装消息通知报文,在本实施例中组装的消息通知报文通过对LMP(LinkManagement Protocol)链路管理协议字段的扩充实现。
[0052]步骤四:根据步骤三组装好的消息通知报文,SW0将按照设备处理报文最高优先级发送原则对该消息通知报文进行处理。为了保证成员设备SW1设备能尽快接收处理该报文,所以消息通知报文会以最高优先级进行发送。
[0053]步骤五:发送消息通知报文成功后,SW0设备将会根据现有成员端口信息选举出新的控制端口teO/1/2,然后将选举出新的控制端口信息更新到软硬件转发表中。此时新的控制端口 teO/1/2将负责后续堆叠设备SWO和SW1之间的业务数据收发。
[0054]SW1设备在接收到来自于SW0的消息通知报文后,SW1设备所需要执行的具体操作步骤包括:
[0055]步骤一:SW1设备接收来自于SWO设备的消息通知报文,由于此消息通知报文需要优先处理,所以需要按照SW1设备接收最高优先级的报文处理流程执行。
[0056]步骤二:根据步骤一接收到的消息通知报文,解析获取出该消息通知报文携带的数据信息。信息中包含:消息类型、退出虚拟交换链路的控制端口 teO/1/l对应的内部端口编号和虚拟交换链路vsl-channel 0/1逻辑端口内部编号。
[0057]步骤三,根据步骤二中解析的出的vsl-channel 0/1内部端口编号和teO/1/l内部端口编号,查询出SW1设备与之对接的虚拟交换链路vsl-channel 1/1和堆叠控制端口 tel/1/1。
[0058]步骤四,根据步骤三获取的SW1设备的堆叠控制端口 tel/1/1,可以预判出从此控制端口 tel/1/l所发送的业务数据报文即将或者已经无法到达堆叠设备SW0,因为与之对接的控制端口 teO/1/l即将退出或者已经退出虚拟交换链路vsl-channeO/1,te0/l/l端口将变成普通端口,不会再承载堆叠业务数据的转发能力。为了保证SW1设备能快速切换承载堆叠业务数据的转发端口,需要模拟控制tel/1/l端口故障,触发SW1设备对控制端口选举。
[0059]步骤五:根据步骤四触发SW1设备控制端口的选举,SW1设备选举出新控制端口tel/1/2,然后更新SW1堆叠设备的软硬件转发表。tel/1/2端口将承载SW0设备与SW1设备之间堆叠业务数据接收与转发。
[0060]通常情况下,SW1设备虚拟交换链路中的控制端口 tel/1/l端口需要检测DOWN事件后,才能进行控制端口的选举切换。SW1设备在进行控制端口切换前,所有堆叠业务发送数据均需要通过tel/1/l端口进行发送,而此时与之对接的端口 teO/1/l已经无法处理堆叠业务数据,这样就会导致SW1设备发送到SW0设备的数据出现中断,直到新选举出控制端口tel/1/2,业务数据转发才能恢复。在本发明实施例中主要是采用预通知机制,提前触发堆叠设备SW1设备进行虚拟交换链路中控制端口的选举切换,从而加快了虚拟交换链路的收敛,增强了堆叠系统的稳定性。
[0061]如图3所示,为本发明实施例1提供一种链路快速收敛的装置,该实施装置相当于实施上述链路快速收敛方法的成员设备,建立包括至少两条物理连接的链路的两端成员设备之间是对等的,也就是说该装置即可以是发送消息通知报文的成员设备,也可能是接收消息通知报文的设备。当作为收到成员端口退出指令的成员设备, 具体包括:
[0062]端口编号获取模块301,用于在接收到成员端口退出指令后,获取所述成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号;
[0063]报文发送模块302,用于利用获取的所述成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号,组装消息通知报文,并将组装好的消息通知报文按最高优先级方式发送给对端成员设备;
[0064]端口选择模块303,用于在报文发送模块完成消息通知报文的发送后,从本地与所述成员端口将退出的链路对应的成员端口中选出新的业务转发端口。
[0065]如图4所示,为本发明实施例2提供一种链路快速收敛的装置,本实施例中实现链路快速收敛的装置,除了包括图3中的三个模块,还包括报文接收模块模块304,用于接收来自对端成员设备的消息通知报文;
[0066]所述端口编号获取模块301,还用于解析所述报文接收模块接收的消息通知报文,获取消息通知报文中对端成员设备的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号;并根据获取的对端成员设备的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号,查找与之对应连接的本地成员端口的物理端口编号和对应连接链路的逻辑端口编号;
[0067]端口选择模块303,还用于所述端口编号获取到本地成员端口的物理端口编号和对应连接链路的逻辑端口编号后,触发所述本地成员端口对应连接的链路进行业务端口的切换。
[0068]如图5所示,为本发明实施例3提供一种链路快速收敛的装置,本实施例中实现链路快速收敛的装置,除了包括图4中的四个模块,还包括端口更新模块305,用于更新软硬件转发表。
[0069]如图6所示,为本发明实施例1提供一种链路快速收敛的系统,该系统包括第一成员设备和第二成员设备,两个成员设备之间建立包括至少两条物理连接的链路。当系统中第一成员设备按照需求需要将第一成员端口退出链路时,预先通知第二成员设备其成员端口即将异常,第二成员设备接收到第一成员端口即将退出链路的消息通知报文时,提前触发与所述第一成员端口对应连接的本地第二成员端口进行业务切换。其中,
[0070]第一成员设备,用于在收到第一成员端口退出指令后发送消息通知报文,告知第二成员设备其所述第一成员端口即将异常,
[0071 ]第二成员设备,用于在收到所述消息通知报文后,提前触发与所述第一成员端口对应连接的本地第二成员端口进行业务切换。
[0072]本发明实施例不仅适用于堆叠系统的虚拟交换链路控制端口,还适用于具有多个物理端口的虚拟逻辑端口。只要设备能预判端口的某种异常,就能通过往对接设备发送消息,提前触发连接设备进行相应的处理。
[0073]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。因此本发明的保护范围应所述以权利要求的保护范围为准。
【主权项】
1.一种链路快速收敛的方法,其特征在于,所述链路建立在包括至少两条物理连接的成员设备之间,该方法包括: 收到成员端口退出指令的成员设备,向对端成员设备发送消息通知报文,告知对端成员设备所述成员端口即将异常; 对端成员设备在收到所述消息通知报文后,提前触发与所述成员端口对应连接的本地成员端口进行业务切换; 所述收到成员端口退出指令的成员设备执行相应的退出操作。2.根据权利要求1所述的方法,其特征在于,所述收到成员端口退出指令的成员设备,向对端成员设备发送消息通知报文,具体实现步骤包括: 获取所述成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号;组装消息通知报文,并将组装好的消息通知报文按最高优先级方式发送给所述对端成员设备;和/或 所述收到成员端口退出指令的成员设备执行相应的退出操作,具体实现步骤包括:从本地非异常成员端口中选出新的业务转发端口,同时更新软硬件转发表。3.根据权利要求2所述的方法,其特征在于,所述消息通知报文内容包含:消息类型、所述成员端口的物理端口编号、所述成员端口将退出的链路的逻辑端口编号。4.根据权利要求3所述的方法,其特征在于,所述消息通知报文为用户自定义的报文。5.根据权利要求1所述的方法,其特征在于,所述对端成员设备在收到消息通知报文后,提前触发与所述成员端口对应连接的本地成员端口进行业务切换,具体实现步骤包括: 对端成员设备接收到所述消息通知报文后进行解析,获取报文中的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号; 根据所述成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号,查找与之对应连接的本地成员端口的物理端口编号和对应连接链路的逻辑端口编号; 根据查找到的所述本地成员端口的物理端口编号和对应连接链路的逻辑端口编号后,触发所述本地成员端口进行新业务端口的切换,同时更新软硬件转发表。6.—种链路快速收敛的装置,应用在与对端成员设备建立包括至少两条物理连接的链路的成员设备中,其特征在于,所述装置具体包括: 端口编号获取模块,用于在接收到成员端口退出指令后,获取所述成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号; 报文发送模块,用于利用获取的所述成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号,组装消息通知报文,并将组装好的消息通知报文按最高优先级方式发送给对端成员设备; 端口选择模块,用于在报文发送模块完成消息通知报文的发送后,从本地与所述成员端口将退出的链路对应的成员端口中选出新的业务转发端口。7.根据权利要求6所述的装置,其特征在于,所述装置还包括报文接收模块,用于接收来自对端成员设备的消息通知报文; 所述端口编号获取模块,还用于解析所述报文接收模块接收的消息通知报文,获取消息通知报文中对端成员设备的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号;并根据获取的对端成员设备的成员端口的物理端口编号和所述成员端口将退出的链路的逻辑端口编号,查找与之对应连接的本地成员端口的物理端口编号和对应连接链路的逻辑端口编号; 端口选择模块,还用于所述端口编号获取到本地成员端口的物理端口编号和对应连接链路的逻辑端口编号后,触发所述本地成员端口对应连接的链路进行业务端口的切换。8.根据权利要求6或7所述的装置,其特征在于,所述消息通知报文为用户自定义的报文。9.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:端口更新模块,用于更新软硬件转发表。10.—种链路快速收敛的系统,其特征在于,包括两个如权利要求6-9任一项所述的装置,两个所述装置之间建立包括至少两条物理连接的链路。
【专利摘要】本发明公开了一种链路快速收敛的方法,所述链路建立在包括至少两条物理连接的成员设备之间,该方法包括:收到成员端口退出指令的成员设备,向对端成员设备发送消息通知报文,告知对端成员设备所述成员端口即将异常;对端成员设备在收到所述消息通知报文后,提前触发与所述成员端口对应连接的本地成员端口进行业务切换;所述收到成员端口退出指令的成员设备执行相应的退出操作。本发明还公开了一种应用本发明方法的装置及一种链路快速收敛的系统,本发明在成员端口退出链路的操作过程中,存在数据交互的设备间的端口在未接收到成员端口真正退出链路之前,提前预知即将发生端口退出链路事件,触发链路的提前收敛,保证转发数据提前切换到未发生异常的物理端口,提高了系统内设备间的稳定性。
【IPC分类】H04L12/937, H04L12/931
【公开号】CN105490970
【申请号】CN201510901317
【发明人】鲜大勇
【申请人】迈普通信技术股份有限公司
【公开日】2016年4月13日
【申请日】2015年12月8日

最新回复(0)