首页> 中国专利> 网络流量负载均衡的方法以及第三层交换设备

网络流量负载均衡的方法以及第三层交换设备

摘要

本发明公开了一种网络流量负载均衡的方法。该方法通过在第三层交换设备的一个发送端口上配置多于一个的MAC地址,并在所述第三层交换设备发送端口发送数据过程中将不同的MAC地址分别封装到数据包中,第二层交换设备根据不同的源MAC地址和目的MAC地址选择不同的物理链路。本发明还公开了一种第三层交换设备,该交换设备可以为其同一发送端口发送的数据包封装不同的源MAC地址。

著录项

  • 公开/公告号CN101030940A

    专利类型发明专利

  • 公开/公告日2007-09-05

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200710073995.4

  • 发明设计人 解超杰;

    申请日2007-04-09

  • 分类号H04L12/56(20060101);H04L1/00(20060101);H04L12/24(20060101);H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 19:07:33

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-01

    未缴年费专利权终止 IPC(主分类):H04L12/56 授权公告日:20100217 终止日期:20170409 申请日:20070409

    专利权的终止

  • 2010-02-17

    授权

    授权

  • 2007-10-31

    实质审查的生效

    实质审查的生效

  • 2007-09-05

    公开

    公开

说明书

技术领域

本发明涉及通信领域,特别是涉及一种网络流量负载均衡的方法以及一种通信网络中的第三层交换设备。

背景技术

随着通信技术的发展,多媒体业务迅速普及,网络流量日益增大,这对通信系统的承载能力提出了更高的要求。在通信传输系统中,单条物理链路已经无法满足网络流量的需求,需要多条物理链路来共同负载均衡,这就需要第三层交换设备或第二层交换设备等网络设备能够通过某些负载均衡的算法将流量分配到不同的物理链路上,所述第三层交换设备是指工作在开放式系统互联模型(OSI)中的第三层即网络层的交换设备,用于根据数据包的IP地址在网络中转发数据,如路由器,所述第二层交换设备是指工作在OSI模型中的第二层即数据链路层的交换设备,根据数据包的MAC(Media Access Control,以太链路层地址)地址在网络中转发数据,如交换机。

对于第二层交换设备,一般是根据数据包中封装的源MAC地址和目的MAC地址来选择不同的物流链路,从而实现负载均衡。在现有技术中,第三层交换设备某一发送端口上发送的数据包封装的源MAC地址是唯一的,这样对于发送至同一个下一跳接收端口的数据包,由于封装的源MAC地址和目的MAC地址均固定不变,数据发送至第二层交换设备后,第二层交换设备就无法实现对这部分数据包实现负载均衡。而实际网络中,第三层交换设备某一发送端口和下一跳接收端口之间的通信流量可能远高于第二层交换设备之间互联的多条链路之中一条的最大流量,如果不能对其进行负载均衡,就有可能出现线路拥堵的情况,网络资源利用率较低。

第二层交换设备也可以根据数据包的IP地址进行负载均衡,但是需要第二层交换设备解析的报文的三层地址,增加了第二层交换设备的处理复杂度,导致网络传输速率下降。

发明内容

有鉴于此,本发明的实施例提供了一种网络流量负载均衡的方法,以克服上述问题,并提供一种第三层交换设备。

为了达到上述目的,本发明的技术方案如下:

本发明的实施例提供了一种网络流量负载均衡的方法,包括以下步骤:

第三层交换设备为发送端口发送的数据包,从所述发送端口对应的多于一个的MAC地址中,选择一个MAC地址作为源MAC地址,将选择的源MAC地址封装在数据包中;

第三层交换设备将数据包发送至第二层交换设备;

第二层交换设备根据数据包中源MAC地址在多条物理链路间选择一条物理链路。

本发明的实施例提供了一种通信网络中的第三层交换设备,包括解析单元,用于解析数据包的MAC地址;路由交换单元,用于根据数据包的IP地址查询路由,选择发送端口;封装单元,用于将发送端口的MAC地址封装在数据包中;发送单元,用于将数据从发送端口发送至传输网络,以及选择单元,选择单元作为独立单元或者包含于封装单元中,用于为数据包在发送端口对应的多于一个的MAC地址中,选择为数据包封装的源MAC地址。

由此可见,以上技术方案通过对第三层交换设备发送数据时,为同一发送端口发送的数据封装不同的源MAC地址,第二层交换设备根据不同的源MAC地址进行负载均衡,从而实现了第二层交换设备对同一对第三层交换设备发送端口和下一跳接收端口间传输的数据进行负载均衡。相对于在第二层交换设备上通过解析数据包的三层IP地址来进行负载均衡的方案,本技术方案显著的降低了第二层交换设备的处理复杂度,提高了网络传输的效率。对于第二层交换设备通过源MAC和目的MAC地址进行负载均衡的技术方案,本技术方案无需对第二层交换设备进行任何改变,就可以解决原技术方案中无法实现第二层交换设备对同一对第三层交换设备发送端口和下一跳接收端口间传输的数据包实现负载均衡的问题,升级成本低,实现简单。

附图说明

图1是现有技术中一个通信系统的网络系统图。

图2是本发明一个实施例中实现负载均衡方法的流程图。

图3是本发明一个实施例中第三层交换设备的结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。

如图1所示,是通信系统中一个网络系统图,包括两台第三层交换设备(Router A和Router B)和两台第二层交换设备(Switch A和Switch B),两台第二层交换设备之间通过三条物理链路相连,依次为链路1、链路2和链路3,数据需要从Router A的端口1传递到Router B的端口9。为方便理解,本实施例给出对9个数据包进行负载均衡的详细步骤,这9个数据包的源IP和目的IP只为说明本发明实施例的实施过程,不作为对实施本技术方案的限制。

  数据包编号  源IP地址  目的IP地址  1  IP1  IP2  2  IP3  IP4  3  IP5  IP6  4  IP1  IP2  5  IP3  IP4  6  IP5  IP6  7  IP1  IP2  8  IP3  IP4  9  IP5  IP6

               表1

表1给出了这9个数据包的对应源IP地址和目的IP地址。Router A通过端口配置命令,为端口1配置三个MAC地址,分别记为MAC1,MAC2,MAC3,端口1与对应的三个MAC地址存储在端口MAC地址表中,端口MAC表存储在Router A的寄存器中,端口MAC地址表的形式如下:

  端口号 MAC地址
端口1 MAC1端口1 MAC2端口1 MAC3端口n MACn

   表2

其中MAC1为Router A端口1的主MAC地址,用于ARP(地址解析协议)报文的地址回应以及其他的控制识别;Router B的端口9的MAC地址为MAC9。在Router A的端口配置表中增加MAC地址变换使能标志位,当某一端口的MAC地址变换使能标志位为enable状态时,Router A在相应端口发送数据时进行源MAC地址变换,当MAC地址变换使能标志位为disable状态时,Router A在相应端口发送数据时直接封装该端口的主MAC地址MAC1。

Router A通过端口配置单元可以增加、删除或修改端口1对应的MAC地址。下面结合图2的流程图,对实施例进行具体说明:

S11.数据包1-9传输至Router A;

S12.Router A解析数据包包头中的MAC地址,根据数据包的IP地址查找路由表,为数据包1-9确定发送端口1;

S13.Router A检测端口配置表中发送端口1的MAC地址变换使能标志位的状态,如果为enable状态,进入流程S14,如果为disable状态,直接为数据包1-9封装端口1的主MAC地址MAC1为源MAC地址,MAC9为目的MAC地址,进入到流程S16;

S14.根据数据包的IP地址进行HASH(哈希函数)运算,根据运算结果在Router A端口1的端口MAC地址表中查找并取得为数据包分配的端口1的源MAC地址,在该实施例中,数据包1、4、7分配的端口1的MAC地址为MAC1,数据包2、5、8分配的端口1的MAC地址为MAC2,数据包3、6、9分配的端口1的MAC地址为MAC3;

S15.Router A为数据包封装对应的源MAC地址和目的MAC地址,其中数据包1、4、7封装的源MAC地址为MAC1,数据包2、5、8封装的源MAC地址为MAC2,数据包3、6、9封装的源MAC地址为MAC3,数据包1-9封装的目的MAC地址为MAC9;

S16.数据包从Router A的发送端口1发送至第二层交换设备Switch A;

S17.Switch A根据数据不同的源MAC地址和目的MAC地址,为数据包在第二层交换设备之间的多条物理链路中分配传输线路。本实施例中如果MAC地址变换使能标志位为enable状态,则数据包1、4、7分配在链路1上传输,数据包2、5、8分配在链路2上传输,数据包3、6、9分配在链路3上传输。如果MAC地址变换使能标志位为disable状态,则数据包1-9只能在链路1、2、3中一条链路上传输。

由该实施例可见,通过对第三层交换设备发送端口发送的数据封装不同的MAC地址,第二层交换设备根据源MAC地址和目的MAC地址进行负载均衡,实现了第二层交换设备多条物理链路之间对同一对第三层交换设备发送端口和下一跳接收端口间传输的数据进行负载均衡。根据数据包源的IP地址进行HASH(哈希函数)运算选择源MAC地址,为相同IP流的数据包封装同一个MAC地址,从而保证了数据在第二层交换设备之间能够按IP流进行负载均衡。

如图2所示,是本发明实施例中第三层交换设备的结构图,第三层交换设备包括端口配置单元,存储单元,解析单元,路由交换单元,选择单元,封装单元以及发送单元,其中选择单元可以作为一个独立的单元实体,或者包含于封装单元中。

端口配置单元,用于为所述第三层交换设备的发送端口配置多于一个的MAC地址,并将所述多于一个的MAC地址存储在存储单元中,端口配置单元中可以预先存储有可供分配的MAC地址,在为端口配置MAC地址时,只需要通过调用可供分配的MAC地址就可以实现MAC地址的配置,不需要用户手动输入,端口配置单元具体可包括命令行输入模块,用于输入配置MAC地址命令,处理模块,用于接收并处理配置MAC地址命令,以及显示模块,用于显示配置后的端口MAC地址情况;

存储单元,用于存储端口配置单元为所述发送端口配置的多于一个的MAC地址,存储单元可以通过数据表形式存储端口对应的多于一个的MAC地址,数据表可以存储在寄存器中,数据表的格式如下:

  端口号  MAC地址  端口A  MAC1  端口A  MAC2  端口B  MAC3  端口B  MAC4  ……  ……  端口N  MACn

          表三

解析单元,用于解析数据包的MAC地址,判断目的MAC地址是否为本机的MAC地址,如果是则删除原来封装的MAC地址;

路由交换单元,用于根据数据包的IP地址查询路由,选择发送端口,并查询到下一跳的目的IP地址;

选择单元,包括

运算模块,用于根据数据包中的IP地址进行HASH运算,经过HASH运算后得到一个偏移值;以及

选择模块,用于根据所述运算模块输出的计算结果以及根据路由交换单元选择的发送端口信息,在存储单元中选择为数据包封装的源MAC地址;

封装单元,用于根据路由交换单元查询到的下一跳目的IP地址信息查询ARP报文,得到下一跳接收端口的MAC地址,并将选择单元选择的源MAC地址和下一跳接收端口的MAC地址封装在数据包中;

发送单元,用于将数据包从发送端口发送至传输网络。

总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号