一种快速的链路聚合失效转移方法与流程

文档序号:30383879发布日期:2022-06-11 05:48阅读:138来源:国知局
一种快速的链路聚合失效转移方法与流程

1.本发明涉及通信技术领域,尤其涉及一种快速的链路聚合失效转移方法。


背景技术:

2.以太网链路聚合(link aggregation,lag)简称链路聚合,指将多条以太网物理链路捆绑在一起成为一条逻辑链路,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。
3.链路聚合的主要功能:
4.1、增加了带宽:将多个链路的容量组合到一个逻辑链路中;
5.2、自动故障转移/故障恢复:将来自故障链路的通信转移到聚合中的工作链路;
6.3、负载均衡:传入和外发通信都是根据用户选择的负载均衡策略(如源和目标mac或ip地址)进行分配的;
7.4、改进了管理:所有接口作为一个单元进行管理;
8.5、减少了网络地址池消耗:可以将一个ip地址指定给整个聚合。
9.现有技术的缺陷和不足:
10.当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。
11.目前链路聚合中的容错能力基于软件实现,当有链路出问题时,需要由软件进行动态配置,将异常链路从聚合成员组中剔除,并把流量切换到正常的链路上。此种方法会增加软件的负担,且延迟较大,网络丢包率也会上升。
12.为了解决现有技术的不足,本发明提出了一种快速的链路聚合失效转移方法,通过检测到链路异常后,自动切换异常链路数据流,主动重传异常接口数据的方式减少了软件负担,减低丢包率,加快了整体异常数据流恢复速度,能够更好的保障网络的稳定性。


技术实现要素:

13.为了解决现有技术中的不足,本发明提出了一种快速的链路聚合失效转移方法,通过检测到链路异常后,自动切换异常链路数据流,主动重传异常接口数据的方式减少了软件负担,减低丢包率,加快了整体异常数据流恢复速度,能够更好的保障网络的稳定性。
14.为实现上述目的,本发明采用如下的技术方案。
15.在本发明实施例中,提出了一种快速的链路聚合失效转移方法,该方法包括如下步骤:
16.s1当硬件检测到链路异常,会将异常链路的接口信息送给user_intf模块;若user_intf判断此接口属于某个lag组,则继续s2;
17.s2 user_intf断开所述异常接口用户侧与mac之间的数据接收以及发送;并开启
user_intf中的环回通道,将tx_data的数据直接连接到rx_data,并将相关的报文打上环回标记;
18.s3 user_intf中的lag成员选择模块,当接收到user_intf反馈的异常链路的接口信息时,将异常链路对应的接口从lag组成员中屏蔽;user_intf将带了环回标记的报文,重新放在芯片入口处,合入数据转发流程;
19.s4当软件检测到lag组成员链路异常后,开始异常成员删除工作,并等待异常链路恢复;user_intf检测到异常链路所对应的接口被从lag成员组删除,进入等待接口复位状态。
20.进一步的,user_intf断开异常接口所对应的用户侧与mac之间的数据接收rx_data,并向用户侧通告错误信息。
21.进一步的,user_intf断开异常接口所对应的用户侧与mac之间的数据发送,并将在tx_data的eop标记置高之前接收到的所有数据丢弃。
22.进一步的,当user_intf检测到异常接口所对应的tx_data的eop标记置高后,则开启user_intf中的环回通道,将tx_data的数据直接连接到rx_data,并为相应的报文打上环回标记。
23.进一步的,所述lag成员选择模块在存在于user_intf模块中,用于探测接口异常并进行自动数据流切换。
24.在本发明实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述的一种快速的链路聚合失效转移方法。
25.本发明的有益效果在于,针对现有的通信系统中存在的问题,本发明提出了一种快速的链路聚合失效转移方法,通过自动切换异常链路数据流,主动重传异常接口数据的方式减少了软件负担,减低丢包率,加快了整体异常恢复速度,能够更好的保障网络的稳定性。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
27.图1为本发明实现流程示意图;
28.图2为本发明实施例一的标准以太网接口数据流示例图;
29.图3为本发明实施例一的异常接口数据流示例图;
30.图4为本发明实施例一的失效转移具体实施步骤图。
具体实施方式
31.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。以下实施用例仅用于更加清楚地说明本发明的系统方法及技术方案,而不能以此来限制本技术的保护范围。
32.根据本发明的实施方式,本发明提出了一种快速的链路聚合失效转移方法,通过检测到链路异常后,自动切换异常链路数据流,主动重传异常接口数据的方式减少了软件负担,减低丢包率,加快了整体异常数据流恢复速度,能够更好的保障网络的稳定性。
33.下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
34.图1是一种快速的链路聚合失效转移方法的处理流程示意图。如图1所示,该方法包括如下步骤:
35.s1当硬件检测到链路异常,会将异常链路的接口信息送给user_intf模块;若user_intf判断此接口属于某个lag组,则继续s2;
36.s2 user_intf断开所述异常接口用户侧与mac之间的数据接收以及发送;并开启user_intf中的环回通道,将tx_data的数据直接连接到rx_data,并将相关的报文打上环回标记;
37.具体实施时,user_intf断开异常接口所对应的用户侧与mac之间的数据接收rx_data,并向用户侧通告错误信息。
38.具体实施时,user_intf断开异常接口所对应的用户侧与mac之间的数据发送,并将在tx_data的eop标记置高之前接收到的所有数据丢弃。
39.具体实施时,当user_intf检测到异常接口所对应的tx_data的eop标记置高后,则开启user_intf中的环回通道,将tx_data的数据直接连接到rx_data,并为相应的报文打上环回标记。
40.s3 user_intf中的lag成员选择模块,当接收到user_intf反馈的异常链路的接口信息时,将异常链路对应的接口从lag组成员中屏蔽;user_intf将带了环回标记的报文,重新放在芯片入口处,合入数据转发流程;
41.所述lag成员选择模块在存在于user_intf模块中,用于探测接口异常并进行自动数据流切换。
42.s4当软件检测到lag组成员链路异常后,开始异常成员删除工作,并等待异常链路恢复;user_intf检测到异常链路所对应的接口被从lag成员组删除,进入等待接口复位状态。
43.需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
44.为了对上述一种快速的链路聚合失效转移方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
45.实施例一:
46.标准以太网接口的数据流如图2所示,用户侧通过并行数据接口rx_data和tx_data,接收和发送mac(media access cont rol)控制器传输的以太网报文,其中rx_data用来接收报文,tx_data用来发送报文。
47.当接口异常时,如果不及时将tx_data切换到新的聚合组成员,就会造成大量的丢包。
48.本发明提出的一种快速的链路聚合失效转移方法,在mac和用户侧之间的user_intf(用户接口)模块中加入一个lag成员选择模块,用于探测接口异常并进行自动数据流切换,其结构如图3所示。
49.一种快速的链路聚合失效转移方法,具体实施步骤如图4所示,具体如下:
50.步骤一:设备上电;
51.步骤二:各端口链路上线,链路打通进入工作模式;
52.步骤一和步骤二是链路正常工作状态。
53.步骤三:当硬件检测到链路异常(link_down,链路状态down),判断此接口是否属于某个lag组(通过lag_mask标记),若是继续步骤四,否则不操作;
54.链路异常表示的范围更广,包含接口异常,还有一种场景接口是正常的但是连接接口的网线断了也属于链路异常,这些场景,相关的接口都属于链路down的状态,需要从lag组删除。
55.链路异常时接口会送link_down的状态给user_intf,usrer_intf会存下状态,并反馈给lag成员选择模块。lag成员选择模块根据link_down的状态将对应的链路从lag组成员中删除。
56.步骤四:user_intf断开用户侧与mac之间的数据接收,若此时rx_data正在接收数据,则向用户侧通过错误信息。
57.若此时rx_data正在接收数据,将error和end of packet(eop,尾包)标记置高,并告知用户侧当前接收的以太网报文结束并且有错,需要丢弃;
58.步骤五:user_intf断开用户侧与mac之间的数据发送,等待tx_data的end of packet置高,在此之前,将接收到的所有数据丢弃。
59.步骤六:当user_intf检测到end of packet置高后,开启user_intf中的环回通道(loopback),将tx_data的数据直接连接到rx_data,并在报文打上环回标记;
60.user_intf的lag成员选择模块,根据user_intf的反馈,将异常链路从lag组成员中屏蔽(例如,设置mask掩码位,),确保同一lag组的其他数据流,不会再主动选择当前异常的链路;
61.带了环回标记的报文,需要重新在芯片入口处,合入数据转发流程,并在lag组成员选择模块,重新选择一条新的链路发送。
62.步骤七:当软件检测到lag组成员链路异常后,开始异常成员删除工作,并等待异常链路恢复;
63.需要注意的是;步骤三是硬件逻辑检测链路的异常状态。而步骤七是来自cpu软件读取链路的状态。这一步主要是要让软硬件同步,cpu可以感知到lag的变化及其变化的原因。
64.步骤八:当user_intf中lag成员选择模块检测到异常链路所对应的接口被从lag成员组删除,则进入等待接口复位状态;待接口恢复后,软件进行复位重置操作时(回到步骤一),清空之前的异常转发操作。
65.异常转发方法中的几个关键步骤包括,主动丢弃mac接收数据并告知用户侧error状态,确保用户逻辑不会因为收到残包导致异常;在未实施异常lag组成员屏蔽和成员剔除前,通过环回通道,重新选择发送接口减少丢包;为实施操作,需要主动将数据引导到环回
通道(目前的商用交换芯片基本都设置由环回数据通路);主动屏蔽lag组成员,强制进行重新选路,进一步降低丢包率。
66.本发明的有益效果在于,针对现有的通信系统中存在的问题,提出了一种快速的链路聚合失效转移方法,通过自动切换异常链路数据流,主动重传异常接口数据的方式减少了软件负担,减低丢包率,加快了整体异常恢复速度,能够更好的保障网络的稳定性。
67.本发明申请人结合说明书附图对本发明的实施用例做了详细的说明与描述,以上实施用例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1