CN100591048C - 网络流量负载均衡的方法以及第三层交换设备 - Google Patents
网络流量负载均衡的方法以及第三层交换设备 Download PDFInfo
- Publication number
- CN100591048C CN100591048C CN200710073995A CN200710073995A CN100591048C CN 100591048 C CN100591048 C CN 100591048C CN 200710073995 A CN200710073995 A CN 200710073995A CN 200710073995 A CN200710073995 A CN 200710073995A CN 100591048 C CN100591048 C CN 100591048C
- Authority
- CN
- China
- Prior art keywords
- mac address
- packet
- port
- switching equipment
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络流量负载均衡的方法。该方法通过在第三层交换设备的一个发送端口上配置多于一个的MAC地址,并在所述第三层交换设备发送端口发送数据过程中将不同的MAC地址分别封装到数据包中,第二层交换设备根据不同的源MAC地址和目的MAC地址选择不同的物理链路。本发明还公开了一种第三层交换设备,该交换设备可以为其同一发送端口发送的数据包封装不同的源MAC地址。
Description
技术领域
本发明涉及通信领域,特别是涉及一种网络流量负载均衡的方法以及一种通信网络中的第三层交换设备。
背景技术
随着通信技术的发展,多媒体业务迅速普及,网络流量日益增大,这对通信系统的承载能力提出了更高的要求。在通信传输系统中,单条物理链路已经无法满足网络流量的需求,需要多条物理链路来共同负载均衡,这就需要第三层交换设备或第二层交换设备等网络设备能够通过某些负载均衡的算法将流量分配到不同的物理链路上,所述第三层交换设备是指工作在开放式系统互联模型(OSI)中的第三层即网络层的交换设备,用于根据数据包的IP地址在网络中转发数据,如路由器(Router),所述第二层交换设备是指工作在OSI模型中的第二层即数据链路层的交换设备,根据数据包的MAC(Media Access Control,以太链路层地址)地址在网络中转发数据,如交换机(Switch)。
对于第二层交换设备,一般是根据数据包中封装的源MAC地址和目的MAC地址来选择不同的物流链路,从而实现负载均衡。在现有技术中,第三层交换设备某一发送端口上发送的数据包封装的源MAC地址是唯一的,这样对于发送至同一个下一跳接收端口的数据包,由于封装的源MAC地址和目的MAC地址均固定不变,数据发送至第二层交换设备后,第二层交换设备就无法实现对这部分数据包实现负载均衡。而实际网络中,第三层交换设备某一发送端口和下一跳接收端口之间的通信流量可能远高于第二层交换设备之间互联的多条链路之中一条的最大流量,如果不能对其进行负载均衡,就有可能出现线路拥堵的情况,网络资源利用率较低。
第二层交换设备也可以根据数据包的IP地址进行负载均衡,但是需要第二层交换设备解析的报文的三层地址,增加了第二层交换设备的处理复杂度,导致网络传输速率下降。
发明内容
有鉴于此,本发明的实施例提供了一种网络流量负载均衡的方法,以克服上述问题,并提供一种第三层交换设备。
为了达到上述目的,本发明的技术方案如下:
本发明的实施例提供了一种网络流量负载均衡的方法,包括以下步骤:
第三层交换设备配置或修改端口MAC地址表,所述端口MAC地址表中保存着端口号以及与端口号对应的多于一个的MAC地址;
第三层交换设备为发送端口发送的数据包,从所述发送端口对应的多于一个的MAC地址中,选择一个MAC地址作为源MAC地址,将选择的源MAC地址封装在数据包中;
第三层交换设备将数据包发送至第二层交换设备;
第二层交换设备根据数据包中源MAC地址在多条物理链路间选择一条物理链路。
本发明的实施例提供了一种通信网络中的第三层交换设备,包括解析单元,用于解析数据包的MAC地址;路由交换单元,用于根据数据包的IP地址查询路由,选择发送端口;封装单元,用于将发送端口的MAC地址封装在数据包中;发送单元,用于将数据从发送端口发送至传输网络;存储单元,用于存储所述发送端口对应的多于一个的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 (7)
1、一种网络流量负载均衡的方法,其特征在于,包括以下步骤:
第三层交换设备配置或修改端口MAC地址表,所述端口MAC地址表中保存着端口号以及与端口号对应的多于一个的MAC地址;
第三层交换设备从发送端口对应的多于一个的MAC地址中,选择一个MAC地址作为源MAC地址,将选择的源MAC地址封装在数据包中;
第三层交换设备将数据包发送至第二层交换设备;
第二层交换设备根据数据包中源MAC地址在多条物理链路间选择一条物理链路。
2、根据权利要求1所述的网络流量负载均衡的方法,其特征在于,所述第三层交换设备通过端口配置命令,配置或修改所述端口MAC地址表。
3、根据权利要求1或2所述的网络流量负载均衡的方法,其特征在于,所述第三层交换设备根据数据包中的IP地址进行HASH(哈希)函数运算,根据所述HASH函数计算结果,选择为数据包封装的源MAC地址。
4、根据权利要求1所述的网络流量负载均衡的方法,其特征在于,所述发送端口对应的多于一个的MAC地址中有一个主MAC地址,用于ARP报文的应答。
5、一种通信网络中的第三层交换设备,包括解析单元,用于解析数据包的MAC地址;路由交换单元,用于根据数据包的IP地址查询路由,选择发送端口;封装单元,用于将发送端口的MAC地址封装在数据包中;发送单元,用于将数据从发送端口发送至传输网络,其特征在于,还包括:
存储单元,用于存储所述发送端口对应的多于一个的MAC地址;
选择单元,选择单元作为独立单元或者包含于封装单元中,用于为数据包在发送端口对应的多于一个的MAC地址中,选择为数据包封装的源MAC地址。
6、根据权利要求5所述的第三层交换设备,其特征在于,所述选择单元包括
运算模块,用于根据数据包中的IP地址进行HASH运算;
选择模块,用于根据所述运算模块输出的计算结果,在发送端口对应的多于一个的MAC地址中,选择为数据包封装的源MAC地址。
7、根据权利要求5或6所述的第三层交换设备,其特征在于,所述交换设备进一步包括端口配置单元,用于为所述发送端口配置多于一个的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 CN101030940A (zh) | 2007-09-05 |
CN100591048C true 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 (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 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369972B (zh) * | 2008-10-17 | 2013-06-12 | 华为技术有限公司 | 业务数据传输方法、系统及设备 |
US8499093B2 (en) * | 2010-05-14 | 2013-07-30 | Extreme Networks, Inc. | Methods, systems, and computer readable media for stateless load balancing of network traffic flows |
CN102377633B (zh) * | 2010-08-06 | 2014-10-08 | 北京乾唐视联网络科技有限公司 | 一种接入网设备的通信连接方法及系统 |
WO2012109377A1 (en) * | 2011-02-09 | 2012-08-16 | Citrix Systems, Inc. | Systems and methods for ntier cache redirection |
CN102307136B (zh) * | 2011-07-06 | 2014-12-24 | 杭州华三通信技术有限公司 | 报文处理方法及其装置 |
CN103200119B (zh) * | 2013-03-15 | 2016-02-24 | 杭州华三通信技术有限公司 | 一种以太网虚拟化互联站点内负载分担方法和边缘设备 |
CN105337852B (zh) * | 2014-07-03 | 2019-11-05 | 华为技术有限公司 | 更新业务流报文的处理方式的方法及装置 |
CN105245386B (zh) * | 2015-10-26 | 2018-07-20 | 上海华讯网络系统有限公司 | 服务器连接关系的自动定位方法和系统 |
CN106656799B (zh) * | 2017-02-14 | 2019-12-03 | 湖南基石通信技术有限公司 | 一种基于无线mesh网络的报文转发方法及装置 |
CN115665006B (zh) * | 2022-12-21 | 2023-03-28 | 新华三信息技术有限公司 | 一种随流检测方法及装置 |
-
2007
- 2007-04-09 CN CN200710073995A patent/CN100591048C/zh not_active Expired - Fee Related
Cited By (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 |
Also Published As
Publication number | Publication date |
---|---|
CN101030940A (zh) | 2007-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100591048C (zh) | 网络流量负载均衡的方法以及第三层交换设备 | |
CN104935516B (zh) | 基于软件定义网络的通信系统及方法 | |
CN104380658B (zh) | 流分类器、业务路由触发器、报文处理的方法和系统 | |
CN101695047B (zh) | 一种实现动态隧道报文转发的方法及交换机 | |
CN102726021B (zh) | 灵活的数据中心网络体系结构 | |
CN100466629C (zh) | 一种网络设备和基于多核处理器的报文转发方法 | |
CN101160850B (zh) | 一种转发报文的方法及装置 | |
CN101573913B (zh) | 用于多播路由选择的方法和设备 | |
US8081611B2 (en) | Mobility label-based networks | |
CN101867520B (zh) | 分布式系统中板卡间数据交换的方法 | |
CN103166874A (zh) | 一种报文转发方法及设备 | |
CN100563215C (zh) | 一种报文路由交换装置及其方法 | |
CN101170512B (zh) | 报文业务处理方法 | |
CN102792651B (zh) | 在mac层应用服务路径路由选择的装置 | |
CN101355519B (zh) | 一种实现业务流负载分担的方法和装置 | |
CN100525237C (zh) | 数据转发系统、方法以及网络转发设备 | |
CN101827038B (zh) | 分布式设备和分布式设备中报文转发的方法 | |
CN104170331A (zh) | 用于vxlan的l3网关 | |
CN103534997A (zh) | 用于无损耗以太网的基于端口和优先级的流控制机制 | |
CN1744563B (zh) | 在以太网交换机上实现策略路由的方法 | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
CN101110746B (zh) | 运营商边缘设备、城域以太接入网及其处理数据的方法 | |
CN101510845A (zh) | 一种标签转发方法和装置 | |
CN100531215C (zh) | 一种多台网络设备链路聚集的实现方法 | |
CN102088448A (zh) | Ip报文的发送方法及边界隧道路由器 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100217 Termination date: 20170409 |