CN101030940A - 网络流量负载均衡的方法以及第三层交换设备 - Google Patents
网络流量负载均衡的方法以及第三层交换设备 Download PDFInfo
- Publication number
- CN101030940A CN101030940A CNA2007100739954A CN200710073995A CN101030940A CN 101030940 A CN101030940 A CN 101030940A CN A2007100739954 A CNA2007100739954 A CN A2007100739954A CN 200710073995 A CN200710073995 A CN 200710073995A CN 101030940 A CN101030940 A CN 101030940A
- Authority
- CN
- China
- Prior art keywords
- mac address
- packet
- switching equipment
- port
- layer switching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络流量负载均衡的方法。该方法通过在第三层交换设备的一个发送端口上配置多于一个的MAC地址,并在所述第三层交换设备发送端口发送数据过程中将不同的MAC地址分别封装到数据包中,第二层交换设备根据不同的源MAC地址和目的MAC地址选择不同的物理链路。本发明还公开了一种第三层交换设备,该交换设备可以为其同一发送端口发送的数据包封装不同的源MAC地址。
Description
技术领域
本发明涉及通信领域,特别是涉及一种网络流量负载均衡的方法以及一种通信网络中的第三层交换设备。
背景技术
随着通信技术的发展,多媒体业务迅速普及,网络流量日益增大,这对通信系统的承载能力提出了更高的要求。在通信传输系统中,单条物理链路已经无法满足网络流量的需求,需要多条物理链路来共同负载均衡,这就需要第三层交换设备或第二层交换设备等网络设备能够通过某些负载均衡的算法将流量分配到不同的物理链路上,所述第三层交换设备是指工作在开放式系统互联模型(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地址封装在数据包中;
发送单元,用于将数据包从发送端口发送至传输网络。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1、一种网络流量负载均衡的方法,其特征在于,包括以下步骤:
第三层交换设备从发送端口对应的多于一个的MAC地址中,选择一个MAC地址作为源MAC地址,将选择的源MAC地址封装在数据包中;
第三层交换设备将数据包发送至第二层交换设备;
第二层交换设备根据数据包中源MAC地址在多条物理链路间选择一条物理链路。
2、根据权利要求1所述的网络流量负载均衡的方法,其特征在于,所述发送端口对应的多于一个的MAC地址,存储在端口MAC地址表中,该表保存着端口号以及与端口号对应的多于一个的MAC地址。
3、根据权利要求2所述的网络流量负载均衡的方法,其特征在于,所述第三层交换设备通过端口配置命令,配置或修改所述端口MAC地址表。
4、根据权利要求1、2或3所述的网络流量负载均衡的方法,其特征在于,所述第三层交换设备根据数据包中的IP地址进行HASH(哈希)函数运算,根据所述HASH函数计算结果,选择为数据包封装的源MAC地址。
5、根据权利要求1所述的网络流量负载均衡的方法,其特征在于,所述发送端口对应的多于一个的MAC地址中有一个主MAC地址,用于ARP报文的应答。
6、一种通信网络中的第三层交换设备,包括解析单元,用于解析数据包的MAC地址;路由交换单元,用于根据数据包的IP地址查询路由,选择发送端口;封装单元,用于将发送端口的MAC地址封装在数据包中;发送单元,用于将数据从发送端口发送至传输网络,其特征在于,还包括选择单元,选择单元作为独立单元或者包含于封装单元中,用于为数据包在发送端口对应的多于一个的MAC地址中,选择为数据包封装的源MAC地址。
7、根据权利要求6所述的第三层交换设备,其特征在于,所述选择单元包括
运算模块,用于根据数据包中的IP地址进行HASH运算;
选择模块,用于根据所述运算模块输出的计算结果,在发送端口对应的多于一个的MAC地址中,选择为数据包封装的源MAC地址。
8、根据权利要求6所述的第三层交换设备,其特征在于,所述交换设备进一步包括存储单元,用于存储所述发送端口对应的多于一个的MAC地址。
9、根据权利要求6、7或8所述的第三层交换设备,其特征在于,所述交换设备进一步包括端口配置单元,用于为所述发送端口配置多于一个的MAC地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710073995A CN100591048C (zh) | 2007-04-09 | 2007-04-09 | 网络流量负载均衡的方法以及第三层交换设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710073995A CN100591048C (zh) | 2007-04-09 | 2007-04-09 | 网络流量负载均衡的方法以及第三层交换设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101030940A true CN101030940A (zh) | 2007-09-05 |
CN100591048C CN100591048C (zh) | 2010-02-17 |
Family
ID=38716026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710073995A Expired - Fee Related CN100591048C (zh) | 2007-04-09 | 2007-04-09 | 网络流量负载均衡的方法以及第三层交换设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100591048C (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010043183A1 (zh) * | 2008-10-17 | 2010-04-22 | 华为技术有限公司 | 业务数据传输方法、系统及设备 |
CN102307136A (zh) * | 2011-07-06 | 2012-01-04 | 杭州华三通信技术有限公司 | 报文处理方法及其装置 |
CN102377633A (zh) * | 2010-08-06 | 2012-03-14 | 北京乾唐视联网络科技有限公司 | 一种接入网设备的通信连接方法及系统 |
CN103155500A (zh) * | 2010-05-14 | 2013-06-12 | 极进网络公司 | 用于网络业务流的无状态负载平衡的方法、系统和计算机可读介质 |
CN103200119A (zh) * | 2013-03-15 | 2013-07-10 | 杭州华三通信技术有限公司 | 一种以太网虚拟化互联站点内负载分担方法和边缘设备 |
CN103477611A (zh) * | 2011-02-09 | 2013-12-25 | 思杰系统有限公司 | 用于n层高速缓存重定向的系统和方法 |
WO2016000513A1 (zh) * | 2014-07-03 | 2016-01-07 | 华为技术有限公司 | 更新业务流报文的处理方式的方法及装置 |
CN105245386A (zh) * | 2015-10-26 | 2016-01-13 | 上海华讯网络系统有限公司 | 服务器连接关系的自动定位方法和系统 |
CN106656799A (zh) * | 2017-02-14 | 2017-05-10 | 湖南基石通信技术有限公司 | 一种基于无线mesh网络的报文转发方法及装置 |
CN115665006A (zh) * | 2022-12-21 | 2023-01-31 | 新华三信息技术有限公司 | 一种随流检测方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8594096B2 (en) | 2011-10-31 | 2013-11-26 | Hewlett-Packard Development Company, L.P. | Dynamic hardware address assignment to network devices in a switch mesh |
-
2007
- 2007-04-09 CN CN200710073995A patent/CN100591048C/zh not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010043183A1 (zh) * | 2008-10-17 | 2010-04-22 | 华为技术有限公司 | 业务数据传输方法、系统及设备 |
CN103155500A (zh) * | 2010-05-14 | 2013-06-12 | 极进网络公司 | 用于网络业务流的无状态负载平衡的方法、系统和计算机可读介质 |
CN103155500B (zh) * | 2010-05-14 | 2016-01-20 | 极进网络公司 | 用于网络业务流的无状态负载平衡的方法和系统 |
CN102377633A (zh) * | 2010-08-06 | 2012-03-14 | 北京乾唐视联网络科技有限公司 | 一种接入网设备的通信连接方法及系统 |
CN102377633B (zh) * | 2010-08-06 | 2014-10-08 | 北京乾唐视联网络科技有限公司 | 一种接入网设备的通信连接方法及系统 |
CN103477611A (zh) * | 2011-02-09 | 2013-12-25 | 思杰系统有限公司 | 用于n层高速缓存重定向的系统和方法 |
CN103477611B (zh) * | 2011-02-09 | 2016-09-28 | 思杰系统有限公司 | 用于n层高速缓存重定向的系统和方法 |
CN102307136A (zh) * | 2011-07-06 | 2012-01-04 | 杭州华三通信技术有限公司 | 报文处理方法及其装置 |
CN103200119A (zh) * | 2013-03-15 | 2013-07-10 | 杭州华三通信技术有限公司 | 一种以太网虚拟化互联站点内负载分担方法和边缘设备 |
CN103200119B (zh) * | 2013-03-15 | 2016-02-24 | 杭州华三通信技术有限公司 | 一种以太网虚拟化互联站点内负载分担方法和边缘设备 |
US10205656B2 (en) | 2014-07-03 | 2019-02-12 | Huawei Technologies Co., Ltd. | Method and apparatus for updating manner of processing packet of service flow |
WO2016000513A1 (zh) * | 2014-07-03 | 2016-01-07 | 华为技术有限公司 | 更新业务流报文的处理方式的方法及装置 |
CN105245386A (zh) * | 2015-10-26 | 2016-01-13 | 上海华讯网络系统有限公司 | 服务器连接关系的自动定位方法和系统 |
CN105245386B (zh) * | 2015-10-26 | 2018-07-20 | 上海华讯网络系统有限公司 | 服务器连接关系的自动定位方法和系统 |
CN106656799A (zh) * | 2017-02-14 | 2017-05-10 | 湖南基石通信技术有限公司 | 一种基于无线mesh网络的报文转发方法及装置 |
CN106656799B (zh) * | 2017-02-14 | 2019-12-03 | 湖南基石通信技术有限公司 | 一种基于无线mesh网络的报文转发方法及装置 |
CN115665006A (zh) * | 2022-12-21 | 2023-01-31 | 新华三信息技术有限公司 | 一种随流检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100591048C (zh) | 2010-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100591048C (zh) | 网络流量负载均衡的方法以及第三层交换设备 | |
CN104412551B (zh) | 具有虚拟机移动性的分组转发最优化 | |
CN101695047B (zh) | 一种实现动态隧道报文转发的方法及交换机 | |
US8792497B2 (en) | Method and apparatus for performing link aggregation | |
CN102726021B (zh) | 灵活的数据中心网络体系结构 | |
EP2767047B1 (en) | Distributed ipv6 neighbor discovery for large datacenter switching systems | |
US20020012352A1 (en) | Internet protocol handler for telecommunications platform with processor cluster | |
US20050111455A1 (en) | VLAN server | |
EP2388974A1 (en) | Network communications for operating system partitions | |
CN101170512B (zh) | 报文业务处理方法 | |
CN101355519B (zh) | 一种实现业务流负载分担的方法和装置 | |
CN102792651B (zh) | 在mac层应用服务路径路由选择的装置 | |
US7023849B2 (en) | Packet switching apparatus, method of transmitting multicast packet at packet switching apparatus, and setup method of packet switching apparatus | |
CN105453523A (zh) | 大型数据中心中对虚拟机移动性的处理 | |
EP2208322B1 (en) | A grid router | |
CN103534997A (zh) | 用于无损耗以太网的基于端口和优先级的流控制机制 | |
CN105850102A (zh) | 服务链的控制 | |
CN100563215C (zh) | 一种报文路由交换装置及其方法 | |
CN1411210A (zh) | 以太网接入应用中代理地址解析协议的方法 | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
CN100531215C (zh) | 一种多台网络设备链路聚集的实现方法 | |
CN102088448A (zh) | Ip报文的发送方法及边界隧道路由器 | |
CN1791053A (zh) | 一种对多服务器进行最优选择的方法 | |
CN1638334A (zh) | 在无限带宽网络中传送数据包的系统和方法 | |
US20090106436A1 (en) | Methods and systems for offload processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100217 Termination date: 20170409 |
|
CF01 | Termination of patent right due to non-payment of annual fee |