以太网链路聚合的报文转发控制方法及网络设备的制作方法

文档序号:7988495阅读:300来源:国知局
以太网链路聚合的报文转发控制方法及网络设备的制作方法
【专利摘要】本发明涉及网络通信技术。本发明解决了现有链路聚合组成员端口状态变化时造成报文丢失的问题,提供了一种以太网链路聚合的报文转发控制方法及网络设备,其技术方案可概括为:创建聚合组,并加入端口,设置聚合组成员端口为未选中状态,将所有成员端口加入到聚合组表,依次对这些端口设置,首先设置端口操作钥匙,并在该端口为正常连接状态时,选出参考端口,设置其为选中状态;再判断其它成员端口的信息集合与参考端口的信息集合是否一致,如是则设置该端口为选中状态,否则设置该端口为未选中状态,将为选中状态的所有端口加入到聚合映射表,聚合组的网络流量被所有端口均衡转发。本发明的有益效果是:不会造成报文丢失,适用于以太网链路聚合。
【专利说明】以太网链路聚合的报文转发控制方法及网络设备
【技术领域】
[0001]本发明涉及网络通信技术,特别涉及网络通信中以太网链路聚合技术。
【背景技术】
[0002]随着网络技术的蓬勃发展,以太网技术作为其中重要的技术手段,日益成为人们生产、生活、办公等方面信息化的主要承载协议。为满足人们对链路带宽、备份、负载均衡等方面的新需求,以太网的链路聚合技术应运而生。以太网链路聚合是指将多个物理以太网端口绑定到一起,形成一个逻辑端口,即一个聚合组,图1为具有四个以太网端口的链路聚合组示意图,对需要发送到对端网络通信设备的报文可以通过本端以太网链路聚合组不同的以太网端口传送,在各个以太网端口上平均分配带宽,从而线性增加带宽。以太网链路聚合组中的以太网端口称为聚合组成员端口。聚合组成员端口状态有两种:选中(Selected)状态和未选中(Unselected)状态,处于选中状态的端口可以参与转发用户业务流量,处于未选中状态的端口不能转发用户业务流量。
[0003]按照聚合模式的不同,以太网链路链路聚合可以分为两种模式:手工聚合模式和动态聚合模式。手工聚合模式:又称静态汇聚模式,不交互协议报文来维持链路的汇聚状态;参考本端设备信息来判定加入汇聚组的端口是否能承载用户业务流量。动态聚合模式:又称协议汇聚模式,汇聚模式需要交互协议报文来维持链路的汇聚状态,由本端信息和对端的信息共同判定加入汇聚组的端口是否能承载用户业务流量。
[0004]针对两种不同的聚合方式,如何实现以太网链路聚合的报文转发控制进行动态的检测实现,以及因此对于以太网链路聚合的聚合组成员物理链路变化后恢复时,如何保证报文成功转发是亟待解决的问题。

【发明内容】

[0005]本发明的目的为克服目前链路聚合组成员端口状态变化时会造成报文丢失的缺点,提供一种以太网链路聚合的报文转发控制方法及网络设备。
[0006]本发明解决上述技术问题,采用的技术方案是,以太网链路聚合的报文转发方法,包括以下步骤:
[0007]A、创建一个聚合组,将至少一个端口加入到所述聚合组中,并设置所述聚合组成员端口的状态为未选中状态,将所有聚合组成员端口加入到聚合组表,
[0008]B、依次对聚合组表中的端口执行如下操作:首先设置端口的操作钥匙key,并在判断该端口的链路状态为正常连接状态时,根据设定条件选择出聚合组参考端口,设置参考端口的状态为选中状态;进一步判断所述聚合组中其它成员端口的信息集合与参考端口的信息集合是否一致,如是,则设置该成员端口的状态为选中状态,否则设置该成员端口的状态为未选中状态; [0009]C、将聚合组中端口状态为选中状态的所有成员端口加入到聚合映射表,所述聚合组的网络流量被聚合映射表中所有端口均衡转发。[0010]优选的方案是,所述方法进一步包括:
[0011]D、当某一聚合组成员端口的链路状态为断开状态后,判断该成员端口是否具有成为聚合组参考端口的条件,如否,则设置该聚合组成员端口的状态为未选中状态,并将该成员端口移出聚合映射表;如是,则重新从聚合组的其它成员端口中选择出参考端口,设置参考端口的状态为选中状态;进一步判断所述聚合组中其它成员端口的信息集合与重新选择的参考端口的信息集合是否一致,重新确定聚合组中所有成员端口为选中状态或者未选中状态,并根据其状态加入或者移出聚合映射表;
[0012]E、当步骤D中链路断开的聚合组成员端口的链路状态恢复为正常连接状态后,判断该成员端口是否具有成为聚合组参考端口的条件:如否,则进一步判断该成员端口的信息集合是否与参考端口的信息集合一致,如是,设置该聚合组成员端口的状态为选中状态,并将该聚合组成员端口加入到聚合映射表,否则结束本流程;如是,则选择该成员端口为聚合组参考端口,设置该聚合组成员端口的状态为选中状态,并将该聚合组成员端口加入到聚合映射表,并进一步判断聚合组其它成员端口的信息集合与聚合组参考端口的信息结合是否一致,重新确定聚合组中其它成员端口为选中状态或者未选中状态,并根据其状态加入或者移出聚合映射表。
[0013] 具体的,所述未选中状态是指不能进行报文转发的状态,所述选中状态为可以正常进行报文转发的状态。
[0014]具体的,所述步骤B中,设置端口的操作key是指设置端口的单双工模式,速率和聚合组标识符。
[0015]具体的,所述步骤B中,所述根据设定条件选择出聚合组参考端口是指,判断成员端口的链路优先级,选择链路优先级高的成员端口为聚合组参考端口 ;
[0016]所述链路优先级包括系统标识符和端口标识符,所述系统标识符包括系统优先级和系统MAC地址,所述端口标识符包括端口优先级和端口号。
[0017]具体的,对于手工聚合模式,参考端口的选择由成员端口的链路优先级中的端口标识符决定,聚合组中端口优先级高的成员端口当选为聚合组参考端口 ;如果聚合组中各成员端口的端口优先级相同,则端口号小的成员端口当选为聚合组参考端口 ;
[0018]对于动态聚合模式,参考端口的选择由成员端口的链路优先级中的系统标识符和端口标识符共同决定;将本端设备的系统标识符与对端设备的系统标识符进行比较,当本端设备的系统标识符高时,本地聚合组参考端口的选择由成员端口的链路优先级中的端口标识符决定;当本端设备的系统标识符低时,本地聚合组参考端口依据本地聚合组成员端口所连接的对端设备的端口标识符进行选择。
[0019]具体,参考端口的信息集合包括端口操作key、端口所在设备的系统标识符、以及该端口连接的对端设备端口的端口操作key和对端设备的系统标识符。
[0020]本发明的另一个目的是提供一种网络设备,包括:
[0021]聚合组设置模块,用于创建聚合组,将至少一个端口加入到所述聚合组中,并设置所述聚合组成员端口的状态为未选中状态,通知聚合组表管理模块;
[0022]聚合组表管理模块,用于将端口的状态为未选中状态的聚合组成员端口加入到聚合组表;
[0023]端口检测模块,用于检测所述聚合组表中的端口的物理链路是否为正常连接状态,如是,进一步判断所述端口是否满足报文转发的条件,如是,则设置该端口的状态为选中状态,通知聚合映射表管理模块进行添加操作;并在检测到聚合组表中的端口的物理链路断开后通知聚合映射表管理模块进行删除操作;
[0024]聚合映射表管理模块,用于将选中状态的聚合组成员端口信息保存到聚合映射表,并将物理链路断开的聚合组成员端口从聚合映射表中删除;
[0025]报文转发模块,用于将网络流量分配到聚合映射表中所有成员端口均衡转发。
[0026]一种优选的方案是,所述端口检测模块还用于依次对聚合组表中的端口执行如下操作:首先设置端口的操作钥匙key,并在判断该端口的链路状态为正常连接状态时,根据设定条件选择出聚合组参考端口,设置参考端口的状态为选中状态;进一步判断所述聚合组中其它成员端口的信息集合与参考端口的信息集合是否一致,如是,则设置该成员端口的状态为选中状态,通知聚合映射表管理模块进行添加操作;否则设置该成员端口的状态为未选中状态。
[0027]—种优选的方案是,所述端口检测模块还用于,当检测某一聚合组成员端口的链路状态为断开状态后,判断该成员端口是否具有成为聚合组参考端口的条件,如否,则设置该聚合组成员端口的状态为未选中状态,并通知聚合映射表管理模块将该成员端口移出聚合映射表;如是,则重新从聚合组的其它成员端口中选择出参考端口,设置参考端口的状态为选中状态;进一步判断所述聚合组中其它成员端口的信息集合与重新选择的参考端口的信息集合是否一致,重新确定聚合组中所有成员端口为选中状态或者未选中状态,并根据其状态通知聚合映射表管理模块加入或者移出聚合映射表;
[0028]和/或所述端口检测模块还用于,当检测链路断开的聚合组成员端口的链路状态恢复为正常连接状态后,判断该成员端口是否具有成为聚合组参考端口的条件:如否,则进一步判断该成员端口的信息集合是否与参考端口的信息集合一致,如是,设置该聚合组成员端口的状态为选中状态,并通知聚合映射表管理模块将该成员端口加入到聚合映射表;如是,则选择该成员端口为聚合组参考端口,设置该聚合组成员端口的状态为选中状态,并通知聚合映射表管理模块将该聚合组成员端口加入到聚合映射表,并进一步判断聚合组其它成员端口的信息集合与聚合组参考端口的信息结合是否一致,重新确定聚合组中其它成员端口为选中状态或者未选中状态,并根据其状态通知聚合映射表管理模块将该成员端口加入或者移出聚合映射表。
[0029]本发明的有益效果是,在本发明方案中,通过在端口加入到聚合组表,即使将端口报文转发状态设置为可转发状态,也避免了报文环路问题,且由于在设置聚合映射表时,端口报文转发状态已经设置为了可转发状态,因此也不会造成报文丢失的情况。
【专利附图】

【附图说明】
[0030]图1是以太网链路聚合的结构示意图;
[0031]图2是本发明实施例的以太网链路聚合的报文转发方法流程图;
[0032]图3是本发明另一实施例的以太网链路聚合的报文转发方法流程图;
[0033]图4是本发明实施例的网络设备结构框图。
【具体实施方式】[0034]下面结合实施例及附图,详细描述本发明的技术方案。
[0035]参见图2为本发明实施例的以太网链路聚合的报文转发控制方法,包括如下步骤:
[0036]步骤201:创建一个聚合组,将至少一个端口加入到所述聚合组中,并设置所述聚合组成员端口的状态为未选中状态,将所有聚合组成员端口加入到聚合组表。本步骤中设置成员端口的生成树状态与聚合组的生成树状态一致。所述聚合组表用于设置聚合组所包含的成员端口。
[0037]步骤202:依次对聚合组表中的端口执行如下操作:首先设置端口的操作钥匙key,并在判断该端口的链路状态为正常连接状态时,根据设定条件选择出聚合组参考端口,设置参考端口的状态为选中状态;进一步判断所述聚合组中其它成员端口的信息集合与参考端口的信息集合是否一致,如是,则设置该成员端口的状态为选中状态,否则设置该成员端口的状态为未选中状态。直至对聚合组表中所有端口执行完本步骤的操作后,进入步骤203。
[0038]本步骤中,所述设置端口的操作key,包含端口实际的速率,单双工模式以及所属的聚合组标识符。其中所述的端口链路状态,包含端口的实际物理链路状态是否正常和实际链路聚合控制协议数据单兀(LACPDU, Link Aggregation Control Protocol Data Unit)与对端的交互是否正常。对于手工聚合模式,端口链路不通过交互链路聚合控制协议数据单元与对端交互,因此端口的链路状态为实际物理链路状态,对于动态聚合模式,端口链路需要通过链路聚合控制协议数据单元与对端交互,因此端口的链路状态由实际物理链路状态和实际链路聚合控制协议数据单元交互情况共同决定。对于手工汇聚模式而言,端口的实际链路状态如表1所述;由表1描述可知,对于手工聚合模式而言,只要端口的实际物理链路状态为连通状态,端口的链路状态即为正常连接状态。
[0039]表1手工聚合模式的端口链路状态
[0040]
【权利要求】
1.以太网链路聚合的报文转发控制方法,其特征在于,包括以下步骤: A、创建一个聚合组,将至少一个端口加入到所述聚合组中,并设置所述聚合组成员端口的状态为未选中状态,将所有聚合组成员端口加入到聚合组表, B、依次对聚合组表中的端口执行如下操作:首先设置端口的操作钥匙key,并在判断该端口的链路状态为正常连接状态时,根据设定条件选择出聚合组参考端口,设置参考端口的状态为选中状态;进一步判断所述聚合组中其它成员端口的信息集合与参考端口的信息集合是否一致,如是,则设置该成员端口的状态为选中状态,否则设置该成员端口的状态为未选中状态; C、将聚合组中端口状态为选中状态的所有成员端口加入到聚合映射表,所述聚合组的网络流量被聚合映射表中所有端口均衡转发。
2.如权利要求1所述的以太网链路聚合的报文转发控制方法,其特征在于,所述方法进一步包括: D、当某一聚合组成员端口的链路状态为断开状态后,判断该成员端口是否具有成为聚合组参考端口的条件,如否,则设置该聚合组成员端口的状态为未选中状态,并将该成员端口移出聚合映射表;如是,则重新从聚合组的其它成员端口中选择出参考端口,设置参考端口的状态为选中状态;进一步判断所述聚合组中其它成员端口的信息集合与重新选择的参考端口的信息集合是否一致,重新确定聚合组中所有成员端口为选中状态或者未选中状态,并根据其状态加入或者移出聚合映射表; E、当步骤D中链路断开的聚合组成员端口的链路状态恢复为正常连接状态后,判断该成员端口是否具有成 为聚合组参考端口的条件:如否,则进一步判断该成员端口的信息集合是否与参考端口的信息集合一致,如是,设置该聚合组成员端口的状态为选中状态,并将该聚合组成员端口加入到聚合映射表,否则结束本流程;如是,则选择该成员端口为聚合组参考端口,设置该聚合组成员端口的状态为选中状态,并将该聚合组成员端口加入到聚合映射表,并进一步判断聚合组其它成员端口的信息集合与聚合组参考端口的信息结合是否一致,重新确定聚合组中其它成员端口为选中状态或者未选中状态,并根据其状态加入或者移出聚合映射表。
3.如权利要求1或2所述的以太网链路聚合的报文转发控制方法,其特征在于,所述未选中状态是指不能进行报文转发的状态,所述选中状态为可以正常进行报文转发的状态。
4.如权利要求1所述的以太网链路聚合的报文转发控制方法,其特征在于,所述步骤B中,设置端口的操作key是指设置端口的单双工模式,速率和聚合组标识符。
5.如权利要求1所述的以太网链路聚合的报文控制方法,其特征在于,所述步骤B中,所述根据设定条件选择出聚合组参考端口是指,判断成员端口的链路优先级,选择链路优先级高的成员端口为聚合组参考端口; 所述链路优先级包括系统标识符和端口标识符,所述系统标识符包括系统优先级和系统MAC地址,所述端口标识符包括端口优先级和端口号。
6.如权利要求5所述的以太网链路聚合的报文控制方法,其特征在于,对于手工聚合模式,参考端口的选择由成员端口的链路优先级中的端口标识符决定,聚合组中端口优先级高的成员端口当选为聚合组参考端口 ;如果聚合组中各成员端口的端口优先级相同,则端口号小的成员端口当选为聚合组参考端口;对于动态聚合模式,参考端口的选择由成员端口的链路优先级中的系统标识符和端口标识符共同决定;将本端设备的系统标识符与对端设备的系统标识符进行比较,当本端设备的系统标识符高时,本地聚合组参考端口的选择由成员端口的链路优先级中的端口标识符决定;当本端设备的系统标识符低时,本地聚合组参考端口依据本地聚合组成员端口所连接的对端设备的端口标识符进行选择。
7.如权利要求4-6任一项所述的以太网链路聚合的报文控制方法,其特征在于,参考端口的信息集合包括端口操作key、端口所在设备的系统标识符、以及该端口连接的对端设备端口的端口 ?呆作key和对端设备的系统标识符。
8.—种网络设备,其特征在于,包括: 聚合组设置模块,用于创建聚合组,将至少一个端口加入到所述聚合组中,并设置所述聚合组成员端口的状态为未选中状态,通知聚合组表管理模块; 聚合组表管理模块,用于将端口的状态为未选中状态的聚合组成员端口加入到聚合组表; 端口检测模块,用于检测所述聚合组表中的端口的物理链路是否为正常连接状态,如是,进一步判断所述端口是否满足报文转发的条件,如是,则设置该端口的状态为选中状态,通知聚合映射表管理模块进行添加操作;并在检测到聚合组表中的端口的物理链路断开后通知聚合映射表管理模块进行删除操作; 聚合映射表管理模块,用于将选中状态的聚合组成员端口信息保存到聚合映射表,并将物理链路断开的聚合组成员端口从聚合映射表中删除; 报文转发模块,用于将网络流量分配到聚合映射表中所有成员端口均衡转发。
9.如权利要求8所述的网络设备,其特征在于,所述端口检测模块还用于依次对聚合组表中的端口执行如下操作:首先设置端口的操作钥匙key,并在判断该端口的链路状态为正常连接状态时,根据设定条件选择出聚合组参考端口,设置参考端口的状态为选中状态;进一步判断所述聚合组中其它成员端口的信息集合与参考端口的信息集合是否一致,如是,则设置该成员端口的状态为选中状态,通知聚合映射表管理模块进行添加操作;否则设置该成员端口的状态为未选中状态。
10.如权利要求8或9所述的网络设备,其特征在于,所述端口检测模块还用于,当检测某一聚合组成员端口的链路状态为断开状态后,判断该成员端口是否具有成为聚合组参考端口的条件,如否,则设置该聚合组成员端口的状态为未选中状态,并通知聚合映射表管理模块将该成员端口移出聚合映射表;如是,则重新从聚合组的其它成员端口中选择出参考端口,设置参考端口的状态为选中状态;进一步判断所述聚合组中其它成员端口的信息集合与重新选择的参考端口的信息集合是否一致,重新确定聚合组中所有成员端口为选中状态或者未选中状态,并根据其状态通知聚合映射表管理模块加入或者移出聚合映射表; 和/或所述端口检测模块还用于,当检测链路断开的聚合组成员端口的链路状态恢复为正常连接状态后,判断该成员端口是否具有成为聚合组参考端口的条件:如否,则进一步判断该成员端口的信息集合是否与参考端口的信息集合一致,如是,设置该聚合组成员端口的状态为选中状态,并通知聚合映射表管理模块将该成员端口加入到聚合映射表;如是,则选择该成员端口为聚合组参考端口,设置该聚合组成员端口的状态为选中状态,并通知聚合映射表管理模块将该聚合组成员端口加入到聚合映射表,并进一步判断聚合组其它成员端口的信息集合与聚合组参考端口的信息结合是否一致,重新确定聚合组中其它成员端口为选中状态或者未选中状态,并根据其状态通知聚合映射表管理模块将该成员端口加入或者移出聚 合映射表。
【文档编号】H04L12/803GK103905326SQ201210585654
【公开日】2014年7月2日 申请日期:2012年12月28日 优先权日:2012年12月28日
【发明者】饶波, 王培英 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1