一种报文传输方法和设备的制作方法

文档序号:7804971阅读:112来源:国知局
一种报文传输方法和设备的制作方法
【专利摘要】本发明公开了一种报文传输方法和设备,该方法包括:网络设备维护聚合组表项;网络设备在通过非ISC链路收到报文,且所述报文为单播报文,所述报文的目的MAC地址在本地MAC表项中对应的出端口为跨设备聚合端口时,则所述网络设备查询所述聚合组表项,并在所述聚合组表项中记录的各物理端口之间进行负载分担,转发所述报文。本发明实施例中,可以合理的利用各网络设备上的端口资源,并且可以避免单播报文的丢失。
【专利说明】一种报文传输方法和设备
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其是涉及一种报文传输方法和设备。
【背景技术】
[0002]跨设备聚合指使用私有协议实现多台网络设备之间的跨设备端口聚合,如图1所示,为跨设备聚合的组网示意图,网络设备B和网络设备C均为跨设备聚合成员设备,网络设备B上的物理端口 Eth 1/0/1、Eth 1/0/2,网络设备C上的物理端口 Eth2/0/l、Eth2/0/2组成一个跨设备聚合端口,即跨设备聚合端口包括Ethl/0/l、Ethl/0/2、Eth2/0/l、Eth2/0/2。为了将网络设备B和网络设备C上的物理端口组成跨设备聚合端口,网络设备B和网络设备C之间需要至少提供两个专用链路,一个为ISC(Inter Switch Connect,中间交换连接)链路,其用于在网络设备之间交互控制报文,并用于转发跨设备流量;另一个为保活链路,其用于在ISC链路发生故障时,通过发送保活消息判断故障类型。
[0003]现有技术中,网络设备在收到出端口为跨设备聚合端口的单播报文时,无法实现在跨设备聚合端口中的所有物理端口之间进行负载分担。

【发明内容】

[0004]本发明实施例提供一种报文传输方法和设备,以在多个网络设备之间进行负载分担,合理利用各网络设备上的端口资源,避免单播报文的丢失。
[0005]为达到上述目的,本发明实施例提供一种报文传输方法,应用于包括多个网络设备的网络中,所述多个网络设备上的物理端口组成跨设备聚合端口,所述方法包括:网络设备维护聚合组表项,所述聚合组表项中记录有跨设备聚合端口,且所述跨设备聚合端口下记录有所述多个网络设备上的物理端口;
[0006]所述网络设备在通过非中间交换连接ISC链路收到报文,且所述报文为单播报文,所述报文的目的介质访问控制MAC地址在本地MAC表项中对应的出端口为跨设备聚合端口时,则所述网络设备查询所述聚合组表项,并在所述聚合组表项中记录的各物理端口之间进行负载分担,转发所述报文。
[0007]所述网络设备在通过非中间交换连接ISC链路收到报文之后,还包括:如果所述报文为广播报文,或者所述报文为单播报文,但所述本地MAC表项中没有记录所述报文的目的MAC地址,则所述网络设备以广播方式发送所述报文,以使所述报文通过ISC链路转发给其它网络设备,并使所述报文通过所述跨设备聚合端口中包括的位于本网络设备上的物理端口进行发送。
[0008]所述网络设备在所述聚合组表项中记录的各物理端口之间进行负载分担,转发所述报文,具体包括:
[0009]如果所述单播报文的出端口为本网络设备上的物理端口,则所述网络设备通过本网络设备上的物理端口转发所述单播报文;如果所述单播报文的出端口为其它网络设备上的物理端口,则所述网络设备通过ISC链路将所述单播报文转发给所述其它网络设备,由其它网络设备转发所述单播报文。
[0010]所述方法进一步包括:当所述网络设备学习到出端口为跨设备聚合端口的MAC地址时,所述网络设备通过ISC链路向其它网络设备发送MAC地址同步报文;由所述其它网络设备在本地MAC表项中记录所述MAC地址以及所述MAC地址对应的出端口,并向所述网络设备返回MAC地址同步成功确认报文;所述网络设备在收到所述MAC地址同步成功确认报文之前,所述网络设备在跨设备聚合端口中包括的位于本网络设备上的物理端口之间,对出端口为所述跨设备聚合端口的报文进行负载分担;所述网络设备在收到所述MAC地址同步成功确认报文之后,所述网络设备执行查询所述聚合组表项,并在所述聚合组表项中记录的各物理端口之间,对出端口为所述跨设备聚合端口的报文进行负载分担的步骤。
[0011]所述方法进一步包括:所述网络设备在通过ISC链路收到报文,且所述报文为单播报文,所述报文的目的MAC地址在本地MAC表项中对应的出端口为跨设备聚合端口时,则所述网络设备通过所述跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文。
[0012]所述网络设备在通过ISC链路收到报文之后,所述方法进一步还包括:
[0013]如果所述报文为广播报文,或者所述报文为单播报文,但本地MAC表项中没有记录所述报文的目的MAC地址,则:
[0014]当通过ISC链路向所述网络设备发送所述报文的网络设备上的跨设备聚合端口为UP时,所述网络设备禁止通过跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文;当通过ISC链路向所述网络设备发送所述报文的网络设备上的跨设备聚合端口为DOWN时,所述网络设备通过跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文。
[0015]本发明实施例提供一种网络设备,应用于包括多个网络设备的网络中,所述多个网络设备上的物理端口组成跨设备聚合端口,所述网络设备包括:
[0016]表项维护模块,用于维护聚合组表项,所述聚合组表项中记录有跨设备聚合端口,且所述跨设备聚合端口下记录有所述多个网络设备上的物理端口;
[0017]报文发送模块,用于在通过非中间交换连接ISC链路收到报文,且所述报文为单播报文,所述报文的目的介质访问控制MAC地址在本地MAC表项中对应的出端口为跨设备聚合端口时,则查询所述聚合组表项,并在所述聚合组表项中记录的各物理端口之间进行负载分担,转发所述报文。
[0018]所述报文发送模块,还用于在通过非中间交换连接ISC链路收到所述报文之后,如果所述报文为广播报文,或者所述报文为单播报文,但所述本地MAC表项中没有记录所述报文的目的MAC地址,则以广播方式发送所述报文,以使所述报文通过ISC链路转发给其它网络设备,并使所述报文通过所述跨设备聚合端口中包括的位于本网络设备上的物理端口进行发送。
[0019]所述报文发送模块,具体用于在所述聚合组表项中记录的各物理端口之间进行负载分担之后,如果所述单播报文的出端口为本网络设备上的物理端口,则通过本网络设备上的物理端口转发所述单播报文;如果所述单播报文的出端口为其它网络设备上的物理端口,则通过ISC链路将所述单播报文转发给所述其它网络设备,由其它网络设备转发所述
单播报文。[0020]所述报文发送模块,还用于当学习到出端口为跨设备聚合端口的MAC地址时,通过ISC链路向其它网络设备发送MAC地址同步报文;由所述其它网络设备在本地MAC表项中记录所述MAC地址以及所述MAC地址对应的出端口,并向所述网络设备返回MAC地址同步成功确认报文;
[0021 ] 在收到所述MAC地址同步成功确认报文之前,在跨设备聚合端口中包括的位于本网络设备上的物理端口之间,对出端口为所述跨设备聚合端口的报文进行负载分担;在收到所述MAC地址同步成功确认报文之后,执行查询所述聚合组表项,并在所述聚合组表项中记录的各物理端口之间,对出端口为所述跨设备聚合端口的报文进行负载分担的步骤。
[0022]所述报文发送模块,还用于在通过ISC链路收到报文,且所述报文为单播报文,所述报文的目的MAC地址在本地MAC表项中对应的出端口为跨设备聚合端口时,则通过所述跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文。
[0023]所述报文发送模块,进一步用于在通过ISC链路收到报文之后,如果所述报文为广播报文,或者所述报文为单播报文,但本地MAC表项中没有记录所述报文的目的MAC地址,则:当通过ISC链路向所述网络设备发送所述报文的网络设备上的跨设备聚合端口为UP时,禁止通过跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文;当通过ISC链路向所述网络设备发送所述报文的网络设备上的跨设备聚合端口为DOWN时,通过跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文。
[0024]与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,网络设备在收到单播报文之后,能够利用组成跨设备聚合端口的各个物理端口进行负载分担,继而在多个网络设备之间进行单播报文的负载分担,从而可以合理的利用各网络设备上的端口资源,并且可以避免单播报文的丢失。
【专利附图】

【附图说明】
[0025]图1是现有技术中提出的跨设备聚合的组网示意图;
[0026]图2是本发明实施例中提出的一种报文传输方法流程示意图;
[0027]图3是本发明实施例中提出的一种网络设备的结构示意图。
【具体实施方式】
[0028]现有技术中,如图1所示,当网络设备B收到出端口为跨设备聚合端口的单播报文时,如果Ethl/0/1、Ethl/0/2未发生DOWN,则网络设备B只会在Ethl/0/1、Ethl/0/2之间进行负载分担,即网络设备B只会通过Ethl/0/l或者Ethl/0/2转发该单播报文,而无法在Ethl/0/1、Ethl/0/2、Eth2/0/l、Eth2/0/2之间进行负载分担;因此,无法实现跨设备聚合端口的全局负载分担。当网络设备B收到大量出端口为跨设备聚合端口的单播报文,而网络设备C只收到很少的出端口为跨设备聚合端口的单播报文时,上述方式无法有效利用网络设备C上的端口资源,并且会造成网络设备B上收到的单播报文的丢失。
[0029]针对现有技术中存在的问题,本发明实施例中提出一种报文传输方法,该方法应用于包括多个网络设备的网络中,且该多个网络设备上的物理端口组成跨设备聚合端口。为了方便描述,以两个网络设备上的物理端口组成跨设备聚合端口为例,并以图1为本发明实施例的应用场景。其中,网络设备B和网络设备C均为跨设备聚合成员设备,网络设备B上的物理端口 Ethl/0/l、Ethl/0/2,网络设备C上的物理端口 Eth2/0/l、Eth2/0/2组成一个跨设备聚合端口 1,即跨设备聚合端口 I包括Ethl/0/l、Ethl/0/2、Eth2/0/l、Eth2/0/2。
[0030]本发明实施例中,各个网络设备上均需要维护聚合组表项,该聚合组表项中记录有跨设备聚合端口,且该跨设备聚合端口下记录有多个网络设备上的物理端口。在图1所示的应用场景下,网络设备B和网络设备C上维护的聚合组表项中均记录有跨设备聚合端口 I,且该跨设备聚合端口 I下均记录有Ethl/0/1、Ethl/0/2、Eth2/0/l、Eth2/0/2,即聚合组表项可以如表1所示。
[0031]表1
[0032]
【权利要求】
1.一种报文传输方法,应用于包括多个网络设备的网络中,其特征在于,所述多个网络设备上的物理端口组成跨设备聚合端口,所述方法包括: 网络设备维护聚合组表项,所述聚合组表项中记录有跨设备聚合端口,且所述跨设备聚合端口下记录有所述多个网络设备上的物理端口; 所述网络设备在通过非中间交换连接ISC链路收到报文,且所述报文为单播报文,所述报文的目的介质访问控制MAC地址在本地MAC表项中对应的出端口为跨设备聚合端口时,则所述网络设备查询所述聚合组表项,并在所述聚合组表项中记录的各物理端口之间进行负载分担,转发所述报文。
2.如权利要求1所述的方法,其特征在于,所述网络设备在通过非中间交换连接ISC链路收到报文之后,所述方法进一步还包括: 如果所述报文为广播报文,或者所述报文为单播报文,但所述本地MAC表项中没有记录所述报文的目的MAC地址,则所述网络设备以广播方式发送所述报文,以使所述报文通过ISC链路转发给其它网络设备,并使所述报文通过所述跨设备聚合端口中包括的位于本网络设备上的物理端口进行发送。
3.如权利要求1所述的方法,其特征在于,所述网络设备在所述聚合组表项中记录的各物理端口之间进行负载分担,转发所述报文,具体包括: 如果所述单播报文的出端口为本网络设备上的物理端口,则所述网络设备通过本网络设备上的物理端口转发所述单播 报文;如果所述单播报文的出端口为其它网络设备上的物理端口,则所述网络设备通过ISC链路将所述单播报文转发给所述其它网络设备,由其它网络设备转发所述单播报文。
4.如权利要求1所述的方法,其特征在于,所述方法进一步包括: 当所述网络设备学习到出端口为跨设备聚合端口的MAC地址时,所述网络设备通过ISC链路向其它网络设备发送MAC地址同步报文;由所述其它网络设备在本地MAC表项中记录所述MAC地址以及所述MAC地址对应的出端口,并向所述网络设备返回MAC地址同步成功确认报文; 所述网络设备在收到所述MAC地址同步成功确认报文之前,所述网络设备在跨设备聚合端口中包括的位于本网络设备上的物理端口之间,对出端口为所述跨设备聚合端口的报文进行负载分担; 所述网络设备在收到所述MAC地址同步成功确认报文之后,所述网络设备执行查询所述聚合组表项,并在所述聚合组表项中记录的各物理端口之间,对出端口为所述跨设备聚合端口的报文进行负载分担的步骤。
5.如权利要求1所述的方法,其特征在于,所述方法进一步包括: 所述网络设备在通过ISC链路收到报文,且所述报文为单播报文,所述报文的目的MAC地址在本地MAC表项中对应的出端口为跨设备聚合端口时,则所述网络设备通过所述跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文。
6.如权利要求5所述的方法,其特征在于,所述网络设备在通过ISC链路收到报文之后,所述方法进一步还包括: 如果所述报文为广播报文,或者所述报文为单播报文,但本地MAC表项中没有记录所述报文的目的MAC地址,则:当通过ISC链路向所述网络设备发送所述报文的网络设备上的跨设备聚合端口为UP时,所述网络设备禁止通过跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文;当通过ISC链路向所述网络设备发送所述报文的网络设备上的跨设备聚合端口为DOWN时,所述网络设备通过跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文。
7.—种网络设备,应用于包括多个网络设备的网络中,其特征在于,所述多个网络设备上的物理端口组成跨设备聚合端口,所述网络设备包括: 表项维护模块,用于维护聚合组表项,所述聚合组表项中记录有跨设备聚合端口,且所述跨设备聚合端口下记录有所述多个网络设备上的物理端口; 报文发送模块,用于在通过非中间交换连接ISC链路收到报文,且所述报文为单播报文,所述报文的目的介质访问控制MAC地址在本地MAC表项中对应的出端口为跨设备聚合端口时,则查询所述聚合组表项,并在所述聚合组表项中记录的各物理端口之间进行负载分担,转发所述报文。
8.如权利 要求7所述的网络设备,其特征在于, 所述报文发送模块,还用于在通过非中间交换连接ISC链路收到所述报文之后,如果所述报文为广播报文,或者所述报文为单播报文,但所述本地MAC表项中没有记录所述报文的目的MAC地址,则以广播方式发送所述报文,以使所述报文通过ISC链路转发给其它网络设备,并使所述报文通过所述跨设备聚合端口中包括的位于本网络设备上的物理端口进行发送。
9.如权利要求7所述的网络设备,其特征在于, 所述报文发送模块,具体用于在所述聚合组表项中记录的各物理端口之间进行负载分担之后,如果所述单播报文的出端口为本网络设备上的物理端口,则通过本网络设备上的物理端口转发所述单播报文;如果所述单播报文的出端口为其它网络设备上的物理端口,则通过ISC链路将所述单播报文转发给所述其它网络设备,由其它网络设备转发所述单播报文。
10.如权利要求7所述的网络设备,其特征在于, 所述报文发送模块,还用于当学习到出端口为跨设备聚合端口的MAC地址时,通过ISC链路向其它网络设备发送MAC地址同步报文;由所述其它网络设备在本地MAC表项中记录所述MAC地址以及所述MAC地址对应的出端口,并向所述网络设备返回MAC地址同步成功确认报文; 在收到所述MAC地址同步成功确认报文之前,在跨设备聚合端口中包括的位于本网络设备上的物理端口之间,对出端口为所述跨设备聚合端口的报文进行负载分担;在收到所述MAC地址同步成功确认报文之后,执行查询所述聚合组表项,并在所述聚合组表项中记录的各物理端口之间,对出端口为所述跨设备聚合端口的报文进行负载分担的步骤。
11.如权利要求7所述的网络设备,其特征在于, 所述报文发送模块,还用于在通过ISC链路收到报文,且所述报文为单播报文,所述报文的目的MAC地址在本地MAC表项中对应的出端口为跨设备聚合端口时,则通过所述跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文。
12.如权利要求11所述的网络设备,其特征在于,所述报文发送模块,进一步用于在通过ISC链路收到报文之后,如果所述报文为广播报文,或者所述报文为单播报文,但本地MAC表项中没有记录所述报文的目的MAC地址,则:当通过ISC链路向所述网络设备发送所述报文的网络设备上的跨设备聚合端口为UP时,禁止通过跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文;当通过ISC链路向所述网络设备发送所述报文的网络设备上的跨设备聚合端口为DOWN时,通过跨设备聚合端口中包括的位于本网络设备上的物理端口转发所述报文。
【文档编号】H04L12/947GK104038447SQ201410233023
【公开日】2014年9月10日 申请日期:2014年5月28日 优先权日:2014年5月28日
【发明者】曹包文, 王波 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1