CN101827013A - 多网关负载均衡的方法、装置和*** - Google Patents
多网关负载均衡的方法、装置和*** Download PDFInfo
- Publication number
- CN101827013A CN101827013A CN200910105872A CN200910105872A CN101827013A CN 101827013 A CN101827013 A CN 101827013A CN 200910105872 A CN200910105872 A CN 200910105872A CN 200910105872 A CN200910105872 A CN 200910105872A CN 101827013 A CN101827013 A CN 101827013A
- Authority
- CN
- China
- Prior art keywords
- gateway
- address
- arp
- message
- terminal
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及电子通信领域,提供一种多网关负载均衡的方法、装置和通信网络***。本发明实施例提供的一种多网关负载均衡的方法,包括:接入点接收ARP消息;当该ARP消息为用于终端查询网关MAC地址的消息时,接入点根据负载均衡策略从多个网关中选择一个网关;接入点根据选择的一个网关的MAC地址构造ARP响应;接入点向终端发送构造的ARP响应,所述构造的ARP响应用于终端建立ARP缓存表。由于选择网关时使用了负载均衡策略,因此,本发明实施例提供的方法、装置和***,可以使接入点发送的全部ARP响应中尽量平均的选择多个网关中的每一个,从而实现了多个网关的数据流量的均衡,减小了网络拥塞,提高了网络利用效率。
Description
技术领域
本发明实施例涉及电子通信领域,尤其是一种多网关负载均衡的方法、装置和通信网络***。
背景技术
在支持IP(Internet Protocol,网际协议)协议的终端初始接入网络的时候,首先通过DHCP的流程获取到终端本身的IP地址,一般的,在终端获取本身的IP地址的同时也获取了网络掩码、默认网关的IP地址、DNS的IP地址、WINS的IP地址等等。对于不支持DHCP协议的网络,上述这些地址可以通过手动配置。
当终端获取了上述的这些地址以后,终端就可以通过IP协议来通信了。由于IP报文常通过以太网发送,而以太网设备并不识别32位或64位的IP地址,因此,IP报文是封装为MAC(Media Access Control,介质访问控制)层报文,通过48位MAC地址进行传输的。所以,终端在发送IP报文之前,必须完成目的IP地址到目的MAC地址的转换。在IP地址和MAC地址之间存在着静态的或算法的映射,地址解析协议(Address Resolution Protocol,ARP)就是用来确定这种映射关系的。
在终端初始接入网络时,当终端获取到默认网关的IP地址后,终端通过ARP流程,获取默认网关的IP地址与MAC地址的映射关系,并添加到终端本地的ARP缓存表中。之后,当终端在网络中通信的时候,终端首先根据本身的IP地址IP1和目标IP地址IP2进行比较,如果IP1和IP2不在同一子网内,那么终端根据默认网关的MAC将报文发送至默认网关,由默认网关将报文转发至IP2。
当前,终端接入的网络多种多样,其中一种网络是mesh网络(meshnetwork,网状网),mesh网络是一种多跳的网络架构,在网络中可能包含多个网关,终端可以通过MAC层连接到多个网关进行通信。由于网络中有多个网关,终端需要选择其中的一个网关来发送子网外的数据报文,如果终端都选择了少数的几个或一个网关来转发数据报文,则会造成网络流量分布不均,少数几个或一个网关的负载过重。因此,在多网关网络中,需要对多个网关的负载进行均衡,以充分使用网络资源,减少网络拥塞。
发明内容
本发明实施例一方面提供了一种多网关负载均衡的方法,另一方面提供了一种多网关负载均衡的装置和一种通信网络***。
本发明实施例提供的一种多网关负载均衡的方法,包括:
接入点接收地址解析协议ARP消息;
解析所述ARP消息,当所述ARP消息为用于终端查询网关MAC地址的消息时,接入点根据负载均衡策略从多个网关中选择一个网关;
接入点根据选择的一个网关的MAC地址构造ARP响应,构造的ARP响应中携带所述选择的一个网关的MAC地址;
接入点向终端发送构造的ARP响应,所述构造的ARP响应用于终端建立ARP缓存表。
本发明实施例提供的一种多网关负载均衡的装置,包括:
接收模块,用于接收地址解析协议ARP消息;
选择模块,用于解析所述ARP消息,当所述接收模块接收的ARP消息为用于终端查询网关MAC地址的消息时,根据负载均衡策略从多个网关中选择一个网关;
构造模块,用于根据所述选择模块选择的一个网关,利用所述选择的一个网关的MAC地址构造ARP响应,构造的ARP响应中携带所述选择的一个网关的MAC地址;
发送模块,用于向终端发送所述构造模块构造的ARP响应,所述构造的ARP响应用于终端建立ARP缓存表。
本发明实施例提供的一种通信网络***,包括:
至少一个接入点和多个网关;所述一个接入点和所述多个网关之间有通信链路,以交互消息报文;
所述接入点包括上述的多网关负载均衡的装置;
所述网关,用于接收终端发送的数据报文并进行转发。
由以上技术方案可知,本发明实施例中,通过接入点对ARP消息进行解析,将用于终端查询网关MAC地址的ARP消息拦截,之后,根据负载均衡策略从多个网关中选择一个网关,并将选择的一个网关的MAC地址携带在ARP响应中发送给终端,以便终端在本地ARP缓存表中建立网关的IP地址与选择的一个网的MAC地址的映射关系,由于选择一个网关时使用了负载均衡策略,因此,本发明实施例提供的方法、装置和***,可以使接入点发送的全部ARP响应中尽量平均的选择多个网关中的每一个,从而在终端利用映射关系发送报文时,将流量平均到了多个网关,实现了多个网关的数据流量的均衡,减小了网络拥塞,提高了网络利用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的多网关负载均衡方法的流程图;
图2a为本发明实施例二的网络结构示意图;
图2b为本发明实施例二的多网关负载均衡方法的流程图;
图3a为本发明实施例三的网络结构示意图;
图3b为本发明实施例三的多网关负载均衡方法的流程图;
图4为本发明实施例四的多网关负载均衡装置的结构图;
图5为本发明实施例五的通信网络***的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如附图1所示,本发明实施例提供了一种多网关负载均衡的方法,包括以下步骤:
101、接入点(AP,Access Point)接收ARP消息。
网络中存在多个网关节点,接入点通过网络与多个网关相连,接入点中保存有多个网关的IP地址和MAC地址,至少一个终端通过接入点接入网络;本实施例中的ARP消息可以是ARP请求或者ARP响应,该ARP请求或者ARP响应中至少携带终端的IP地址和MAC地址,以及网关的IP地址。步骤101中,所述接入点接收ARP消息可以是:接入点接收终端发送的ARP请求,其中,该ARP请求中以终端的MAC地址作为源地址(source)和发送硬件地址(Sender Hardware Address),以终端的IP地址作为发送IP地址(Sender Internet Address),以广播地址作为目的地址(Destination),以多个网关中任一个的IP地址作为目标IP地址(Target Internet Address),由于ARP请求中目标硬件地址(Target Internet Address)未知,可以填为00:00:00:00:00:00;或者,接入点接收以终端为目的节点的ARP响应,其中,该ARP响应中以多个网关中任一个的MAC地址作为源地址和发送硬件地址,以网关的IP地址作为发送IP地址,以终端的MAC地址作为目的地址和目标硬件地址,以终端的IP地址作为目标IP地址。其中,在上述ARP请求中或者ARP响应中携带的网关的IP地址,可以为配置在终端上的默认网关的IP地址。
102、解析该ARP消息,当该ARP消息为用于终端查询网关MAC地址的消息时,则接入点根据负载均衡策略从多个网关中选择一个网关,将选择的一个网关称为终端的转发网关。
由于接入点与多个网关相连,接入点具有到多个网关的路由,接入点本地保存有各个网关的IP地址和MAC地址,或者进一步保存各个网关的IP地址与MAC地址的对应关系,因此接入点可以获知网关的IP地址和MAC地址,从而判断ARP消息中携带的地址是否是网关的地址;同理,接入点也可以在本地保存终端的IP地址与MAC地址的对应关系,或者仅保存终端的IP地址,或者仅保存终端的MAC地址,以判断ARP消息中携带的地址是否是终端的地址。步骤102中,判断ARP消息是否为用于终端查询网关MAC地址的消息的方法可以是:当ARP请求为广播消息,并且该ARP请求的目标IP地址为网关的IP地址(只要目标IP地址为多个网关中任一个网关的IP地址即可),由于该ARP请求是终端发起的通过网关的IP地址查询网关的MAC地址的消息,则该ARP请求为用于终端查询网关MAC地址的消息,其中,ARP请求的目的地址为以太网广播地址则认为该ARP请求为广播消息;或者,当ARP响应的目的节点为终端且源节点为网关时,由于该ARP响应是网关发起的告知终端网关的MAC地址的消息,则该ARP响应为用于终端查询网关MAC地址的消息,其中,ARP响应的目的节点为终端可以是ARP响应的目的地址为终端的MAC地址、目标硬件地址为终端的MAC地址或目标IP地址为终端的IP地址或以上三者的全部或任意两者的组合,同理,ARP响应的源节点为网关可以是ARP响应的源地址为网关的MAC地址、发送硬件地址为网关的MAC地址或发送IP地址为网关的IP地址或以上三者的全部或任意两者的组合。
在步骤102中,判断ARP消息是否为用于终端查询网关MAC地址的消息时,为了和现有网络更好的兼容,上面利用了IP或MAC地址来进行判断;在实际应用中,可以在ARP消息中增加新的查询标识,该查询标识用于标记该ARP消息是用于终端查询网关MAC地址的消息,此时,接入点只要根据查询标识即可确定该ARP请求是否是用于终端查询网关MAC地址的消息,查询标识的实现方式有多种,例如,在用于终端查询网关MAC地址的消息中增加一个字段而在非用于终端查询网关MAC地址的消息中不包含该字段,或者,在ARP消息中增加一个字段,该字段的不同取值分别表示该ARP消息是否为用于终端查询网关MAC地址的消息。
另外,如果步骤102中的ARP消息不是用于终端查询网关MAC地址的消息时,接入点按照现有技术的流程处理该ARP消息,在此不再赘述。
步骤102中,接入点根据负载均衡策略从多个网关中选择一个网关时,可以采用多种不同的负载均衡策略:针对同一个终端的不同ARP消息选择不同的转发网关,或者,针对不同终端的ARP消息选择不同的转发网关,或者,根据接入点发往各网关的流量,选择当前流量最轻的网关作为转发网关。其中,接入点根据负载均衡策略从多个网关中选择出的一个网关,可以是步骤101接收的ARP消息中网关IP地址对应的网关,也可以是其他网关。接入点根据负载均衡策略从多个网关中选择一个网关可以是,接入点直接根据负载均衡策略从多个网关的地址中选择一个网关的地址,例如接入点直接根据负载均衡策略从多个网关的MAC地址中选择一个网关的MAC地址。
103、接入点根据选择的转发网关的MAC地址构造ARP响应,该构造的ARP响应中携带选择的转发网关的MAC地址。
步骤103中,接入点根据选择的转发网关的MAC地址构造ARP响应,该构造的ARP响应可以是:以终端的MAC地址作为目的地址和目标硬件地址,以终端的IP地址作为目标IP地址,以选择的转发网关的MAC地址作为源地址和发送硬件地址,以步骤101中接入点接收的ARP消息中携带的网关的IP地址作为发送IP地址。
104、接入点向终端发送构造的ARP响应,该构造的ARP响应用于终端建立ARP缓存表。
终端接收到接入点发送的ARP响应后,解析其中的内容,从该ARP响应中获得网关的IP地址和转发网关的MAC地址,之后终端在本地的ARP缓存表中建立网关的IP地址和转发网关的MAC地址之间的映射关系。如果ARP响应中携带的网关IP地址是终端的默认网关IP地址,则终端就可以根据ARP响应,在本地的ARP缓存表中建立默认网关的IP地址和转发网关的MAC地址之间的映射关系;之后,终端就可以使用这个映射关系发送报文,该报文的目的地址和目标硬件地址为转发网关的MAC地址、目标IP地址为默认网关的IP地址;由于报文在以太网中是利用MAC地址进行转发的,在报文转发过程中不会考虑默认网关的IP地址,因此,这个将会根据转发网关的MAC地址被发送至转发网关,这样,结合步骤102中接入点使用负载均衡策略选择转发网关,使得终端向多个网关的流量得到了均衡,减小了拥塞,提高了网络利用效率。
其中,本发明各实施例的网络中存在至少一个接入设备和多个网关设备,网络中的所有设备在MAC层之间能互相通信。本发明各实施例的网络可以是mesh网络,接入点可以是Mesh接入点(MAP,Mesh Access Point),Mesh接入点与网关之间的通信链路可以通过无线连接,网关可以通过有线连接接入互联网(internet)。对于适用于本发明各实施例的其他一般网络,网络中接入设备可以为二层交换机,网关设备是三层或三层以上交换机或者路由器,接入设备通过支持VPN(Virtual Private Network,虚拟专用网)或者桥接功能,实现IP子网间的二层直接通信。
本发明实施例,通过接入点对ARP消息进行解析,将用于终端查询网关MAC地址的ARP消息拦截,之后,根据负载均衡策略从多个网关中选择一个转发网关,并将转发网关的MAC地址携带在ARP响应中发送给终端,以便终端在本地ARP缓存表中建立网关的IP地址与转发网关的MAC地址的映射关系,由于选择转发网关时使用了负载均衡策略,使得接入点发送的全部ARP响应中尽量平均的使用了多个网关中的每一个作为转发网关,从而在终端利用映射关系发送报文时,将流量平均到了多个网关,实现了多个网关的数据流量的均衡,减小了网络拥塞,提高了网络利用效率。
实施例二
如附图2a所示,网络中存在多个网关(包括第一网关21、第二网关22、其他网关23),接入点24通过网络与多个网关相连,接入点24中保存有多个网关的IP地址和MAC地址,至少一个终端通过接入点24接入网络,以通过接入点24接入网络的其中一个终端25为例,假设在终端25上配置的默认网关的IP地址为第一网关21的IP地址,第一网关21的IP地址为IP21、第一网关21的MAC地址为MAC21。基于图2a的网络,本发明实施例提供了一种多网关负载均衡的方法,如图2b所示,包括以下步骤:
201、接入点24接收终端25发送的ARP请求,该ARP请求中至少携带终端25的IP地址和MAC地址,以及第一网关21的IP地址。
步骤201中,ARP请求可以包括:以终端25的MAC地址作为源地址和发送硬件地址,以终端25的IP地址作为发送IP地址,以第一网关21的IP地址作为目标IP地址,以广播地址作为目的地址。
202、解析该ARP请求,当ARP请求为广播消息并且该ARP请求的目标IP地址为网关的IP地址时,接入点24根据负载均衡策略从多个网关中选择一个网关。
由于在步骤201中,ARP请求的目的地址为广播地址且目标IP地址为第一网关21的IP地址,所以,该ARP请求为广播消息并且该ARP请求的目标IP地址为网关的IP地址,即该ARP请求消息是用于终端25查询第一网关21的MAC地址的请求消息。
当ARP请求是用于终端25查询第一网关21的MAC地址的消息时,接入点24根据负载均衡策略从多个网关中选择一个网关,假设接入点24从多个网关中选择了第二网关22,第二网关的IP地址为IP22、第二网关的MAC地址为MAC22。另外,如果终端25向接入点24发送的ARP请求不是用于终端25查询网关MAC地址的消息时,接入点24按照现有技术的流程处理该ARP请求,在此不再赘述。
其中,接入点24本地保存有网关表,该网关表中包括了网络中多个网关的IP地址和MAC地址,接入点24具有到网关表中的多个网关的路由。接入点24根据负载均衡策略从多个网关中选择一个网关时,可以采用多种不同的负载均衡策略从网关表中选择网关:基于同一终端的不同的ARP请求,顺序或随机选择接入点24的网关表中的不同的网关,例如针对终端25的不同ARP请求选择不同的网关;或者,基于不同终端的ARP请求,顺序或随机选择接入点24的网关表中的不同的网关,例如,针对终端25的不同ARP请求固定选择第二网关22、针对不同终端选择不同的网关;或者,基于接入点24当前发往网关表中不同网关的流量,选择当前流量最少的网关,例如,接入点24根据发往各网关的流量,为终端25选择当前流量最轻的网关。其中,接入点24根据负载均衡策略从多个网关中选择出的一个网关,可以是第一网关21,也可以是其他网关(例如第二网关22),以下以第二网关22为选择出的一个网关为例进行说明。
203、接入点24根据选择的第二网关22的MAC地址构造ARP响应,该构造的ARP响应中携带:终端25的IP地址、终端25的MAC地址、ARP请求中携带的第一网关21的IP地址、和选择的第二网关22的MAC地址。
步骤203中,接入点24根据选择的第二网关22的MAC地址构造ARP响应,该构造的ARP响应可以是:以终端25的MAC地址作为目的地址和目标硬件地址,以终端25的IP地址作为目标IP地址,以选择的第二网关22的MAC地址MAC22作为源地址和发送硬件地址,以步骤201中接入点24接收的ARP请求中携带的第一网关21的IP地址IP21作为发送IP地址。
204、接入点24向终端25发送构造的ARP响应,该构造的ARP响应用于终端25建立ARP缓存表。
终端25接收到接入点24发送的ARP响应后,解析其中的内容,从该ARP响应中获得第二网关22的MAC地址MAC22,之后,终端25在本地的ARP缓存表中建立终端25的默认网关(即第一网关21)的IP地址和第二网关22的MAC地址之间的映射关系,映射关系为:IP21-MAC22。当终端25需要使用这个映射关系发送报文时,设置报文的目的地址和目标硬件地址为第二网关的MAC地址MAC22、目标IP地址为默认网关的IP地址IP21;由于报文在以太网中是利用MAC地址进行转发的,在报文转发过程中不会考虑默认网关的IP地址,因此,这个将会根据第二网关22的MAC地址被发送至第二网关22,这样,结合步骤202中接入点24使用负载均衡策略选择网关,使得接入点24下接入的至少一个终端向多个网关的流量得到了均衡,减小了拥塞,提高了网络利用效率。
其中,本发明实施例的网络可以是mesh网络,附图2a中以mesh网络为例示出了网络的结构,接入点24可以是Mesh接入点,Mesh接入点与网关之间的通信链路可以通过无线连接,网关通过有线连接接入互联网。
本发明实施例,通过接入点对ARP请求消息进行解析,将用于终端查询网关MAC地址的ARP请求消息拦截,之后,根据负载均衡策略从多个网关中选择一个网关,并将该一个网关的MAC地址携带在ARP响应中发送给终端,以便终端在本地ARP缓存表中建立默认网关的IP地址与该一个网关的MAC地址的映射关系,由于接入点选择网关时使用了负载均衡策略,使得接入点发送的全部ARP响应中尽量平均的使用了多个网关中的每一个的MAC地址,从而在终端利用映射关系发送报文时,将流量平均到了多个网关,实现了多个网关的数据流量的均衡,减小了网络拥塞,提高了网络利用效率。
实施例三
如附图3a所示,网络中存在多个网关(包括第一网关31、第二网关32、其他网关33),接入点34通过网络与多个网关相连,接入点34中保存有多个网关的IP地址和MAC地址,至少一个终端通过接入点34接入网络,以通过接入点34接入网络的其中一个终端35为例,假设在终端35上配置的默认网关的IP地址为第一网关31的IP地址,第一网关31的IP地址为IP31、第一网关31的MAC地址为MAC31。基于图3a的网络,本发明实施例提供了一种多网关负载均衡的方法,如图3b所示,包括以下步骤:
301、接入点34接收第一网关31发送的ARP响应,该ARP响应中至少携带终端35的IP地址和MAC地址,以及第一网关31的IP地址。
在步骤301之前,终端35可以按照现有技术的流程向网络中广播ARP请求用于查询网关的MAC地址,例如,终端35要查询其默认网关第一网关31的MAC地址,由于第一网关31的IP地址终端35已知,因此终端35构造如下ARP请求向网络中广播:以终端35的MAC地址作为源地址和发送硬件地址,以终端35的IP地址作为发送IP地址,以第一网关31的IP地址作为目标IP地址,以广播地址作为目的地址。当第一网关31收到终端35发送的ARP请求,第一网关31向终端35返回ARP响应,如步骤301中所述该ARP响应由终端35的接入点34接收,该ARP响应可以包括:以第一网关31的MAC地址作为源地址和发送硬件地址,以第一网关31的IP地址作为发送IP地址,以终端35的MAC地址作为目的地址和目标硬件地址,以终端35的IP地址作为目标IP地址。
302、解析该ARP响应,当ARP响应的目的节点为终端且源节点为网关时,接入点34根据负载均衡策略从多个网关中选择一个网关。
其中,ARP响应的目的节点为终端可以是ARP响应的目的地址为终端的MAC地址、目标硬件地址为终端的MAC地址或目标IP地址为终端的IP地址以及以上三者的全部或任意两者的组合;同理,ARP响应的源节点为网关可以是ARP响应的源地址为网关的MAC地址、发送硬件地址为网关的MAC地址或发送IP地址为网关的IP地址以及以上三者的全部或任意两者的组合。例如,由于在步骤301中,ARP响应的目的地址和目标硬件地址为终端35的MAC地址、目标IP地址为终端35的IP地址,所以该ARP响应的目的节点为终端,同理,由于ARP响应的源地址和发送硬件地址为第一网关31的MAC地址、发送IP地址为第一网关31的IP地址,所以该ARP响应的源节点为网关,即该ARP响应消息是用于终端35查询第一网关31的MAC地址的响应消息。
当ARP响应是用于终端35查询第一网关31的MAC地址的消息时,接入点34根据负载均衡策略从多个网关中选择一个网关,假设接入点34从多个网关中选择了第二网关32,第二网关的IP地址为IP32、第二网关的MAC地址为MAC32。另外,如果第一网关31向接入点34发送的ARP响应不是用于终端35查询网关MAC地址的消息时,接入点34按照现有技术的流程处理该ARP响应,在此不再赘述。
其中,接入点34根据负载均衡策略从多个网关中选择一个网关时,可以采用多种不同的负载均衡策略选择网关:基于同一终端的不同的ARP响应,顺序或随机选择接入点34的网关表中的不同的网关,例如针对终端35的不同ARP响应选择不同的网关;或者,基于不同终端的ARP响应,顺序或随机选择接入点34的网关表中的不同的网关,例如,针对终端35的不同ARP响应固定选择第二网关32、针对不同终端选择不同的网关;或者,基于接入点34当前发往网关表中不同网关的流量,选择当前流量最少的网关,例如,接入点34根据发往各网关的流量,为终端35选择当前流量最轻的网关。其中,接入点34根据负载均衡策略从多个网关中选择出的一个网关,可以是第一网关31,也可以是其他网关(例如第二网关32),以下以第二网关32为选择出的一个网关为例进行说明。
303、接入点34根据选择的第二网关32的MAC地址构造ARP响应,该构造的ARP响应中携带:终端35的IP地址、终端35的MAC地址、步骤301接收的ARP响应中携带的第一网关31的IP地址、和选择的第二网关32的MAC地址。
步骤303中,接入点34根据选择的第二网关32的MAC地址构造ARP响应,该构造的ARP响应可以是:以终端35的MAC地址作为目的地址和目标硬件地址,以终端35的IP地址作为目标IP地址,以选择的第二网关32的MAC地址MAC32作为源地址和发送硬件地址,以步骤301中接入点34接收的ARP响应中携带的第一网关31的IP地址IP31作为发送IP地址。
304、接入点34向终端35发送构造的ARP响应,该构造的ARP响应用于终端35建立ARP缓存表。
终端35接收到接入点34发送的ARP响应后,解析其中的内容,从该ARP响应中获得第二网关32的MAC地址MAC32,之后,终端35在本地的ARP缓存表中建立终端35的默认网关(即第一网关31)的IP地址和第二网关32的MAC地址之间的映射关系,映射关系为:IP31-MAC32。当终端35需要使用这个映射关系发送报文时,设置报文的目的地址和目标硬件地址为第二网关的MAC地址MAC32、目标IP地址为默认网关的IP地址IP31;由于报文在以太网中是利用MAC地址进行转发的,在报文转发过程中不会考虑默认网关的IP地址,因此,这个将会根据第二网关32的MAC地址被发送至第二网关32,这样,结合步骤303中接入点34使用负载均衡策略选择网关,使得接入点34下接入的至少一个终端向多个网关的流量得到了均衡,减小了拥塞,提高了网络利用效率。
其中,本发明实施例的网络可以是mesh网络,附图3a中以mesh网络为例示出了网络的结构,接入点34可以是Mesh接入点,Mesh接入点与网关之间的通信链路可以通过无线连接,网关通过有线连接接入互联网。
本发明实施例,通过接入点对ARP响应消息进行解析,将用于终端查询网关MAC地址的ARP响应消息拦截,之后,根据负载均衡策略从多个网关中选择一个网关,并将该一个网关的MAC地址携带在ARP响应中发送给终端,以便终端在本地ARP缓存表中建立默认网关的IP地址与该一个网关的MAC地址的映射关系,由于接入点选择网关时使用了负载均衡策略,使得接入点发送的全部ARP响应中尽量平均的使用了多个网关中的每一个的MAC地址,从而在终端利用映射关系发送报文时,将流量平均到了多个网关,实现了多个网关的数据流量的均衡,减小了网络拥塞,提高了网络利用效率。
实施例四
如附图4所示,本发明实施例提供了一种多网关负载均衡的装置,该装置包括:
接收模块41,用于接收ARP消息,该ARP消息中至少携带终端的IP地址和MAC地址、以及网关的IP地址;
选择模块42,用于解析该ARP消息,当接收模块41接收的ARP消息为用于终端查询网关MAC地址的消息时,根据负载均衡策略从多个网关中选择一个网关;
构造模块43,用于根据选择模块42选择的一个网关,利用该一个网关的MAC地址构造ARP响应,该构造的ARP响应中携带终端的IP地址、终端的MAC地址、接收模块41接收的ARP消息中携带的网关的IP地址、和选择的一个网关的MAC地址;
发送模块44,用于向终端发送构造模块43构造的ARP响应,该构造的ARP响应用于终端建立ARP缓存表。
所述装置还可以包括:存储模块45,用于保存多个网关的IP地址或MAC地址。此时,选择模块42包括:判断单元421,用于根据存储模块45保存的网关的IP地址或MAC地址,判断接收模块41接收的ARP消息是否为用于终端查询网关MAC地址的消息;地址选取单元422,用于如果判断单元421的判断结果为,接收模块41接收的ARP消息是用于终端查询网关MAC地址的消息,则根据负载均衡策略从存储模块45保存的多个网关的MAC地址中选取一个网关的MAC地址。
其中,判断单元421可以包括:ARP请求判断单元,或ARP响应判断单元;ARP请求判断单元,用于当接收模块41接收的ARP消息为广播的ARP请求,并且该ARP请求的目标IP地址为存储模块45保存的网关的IP地址时,则判定该ARP请求为用于终端查询网关MAC地址的消息;ARP响应判断单元,用于当接收模块41接收的ARP消息为ARP响应,且该ARP响应的目的节点为终端、源节点为网关时,则判定该ARP响应为用于终端查询网关MAC地址的消息。
其中,地址选取单元422可以包括:第一选取策略单元4221、第二选取策略单元4222、或第三选取策略单元4223;
第一选取策略单元4221,用于如果判断单元421的判断结果为,接收模块41接收的ARP消息是用于终端查询网关MAC地址的消息,则针对同一个终端的不同ARP消息选择不同的网关,从存储模块45保存的多个网关的MAC地址中选取一个网关的MAC地址;第二选取策略单元4222,用于如果判断单元421的判断结果为,接收模块41接收的ARP消息是用于终端查询网关MAC地址的消息,则针对不同终端选择不同的网关,从存储模块45保存的多个网关的MAC地址中选取一个网关的MAC地址;第三选取策略单元4223,用于如果判断单元421的判断结果为,接收模块41接收的ARP消息是用于终端查询网关MAC地址的消息,则根据各网关的流量,从存储模块45保存的多个网关的MAC地址中选取当前流量最轻的一个网关的MAC地址。当然,地址选取单元422可以同时包括第一选取策略单元4221、第二选取策略单元4222和第三选取策略单元4223,或者,可以包括第一选取策略单元4221、第二选取策略单元4222和第三选取策略单元4223中的任一个或任两个;如果地址选取单元422包括第一选取策略单元4221、第二选取策略单元4222和第三选取策略单元4223中的任意两个或全部三个,则可以为不同的选取策略单元设定优先级,例如,地址选取单元422包括全部三个选取策略单元,则优先使用第三选取策略单元4223,当第三选取策略单元4223不能选取出合适的网关,则使用第一选取策略单元4221或第二选取策略单元4222进行选择;或者,如果地址选取单元422包括多个选取策略单元,则可以交替使用多个选取策略单元,每次只使用多个选取策略单元中的一个进行网关的选择。
本实施例中的ARP消息可以是ARP请求或者ARP响应。所述多网关负载均衡的装置可以为其他实施例中描述的接入点,用于终端通过接入点接入网络。
本发明实施例,通过多网关负载均衡的装置对ARP消息进行解析,将用于终端查询网关MAC地址的ARP消息拦截,之后,根据负载均衡策略从多个网关中选择一个,并将选择的一个网关的MAC地址携带在ARP响应中发送给终端,以便终端在本地ARP缓存表中建立网关的IP地址与选择的一个网关的MAC地址的映射关系,由于选择网关时使用了负载均衡策略,使得多网关负载均衡的装置发送的全部ARP响应中尽量平均的使用了多个网关中的每一个,从而在终端利用映射关系发送报文时,将流量平均到了多个网关,实现了多个网关的数据流量的均衡,减小了网络拥塞,提高了网络利用效率。
实施例五
如附图5所示,本发明实施例提供了一种通信网络***,该***包括:至少一个接入点51,多个网关52;
接入点51与网关52之间有通信链路,以交互消息报文;接入点51通过通信链路与至少一个终端54相连,终端54通过接入点51接入网络;
接入点51,用于接收ARP消息,该ARP消息中至少携带终端54的IP地址和MAC地址、以及网关的IP地址;解析该ARP消息,当接收的ARP消息为用于终端54查询网关MAC地址的消息时,根据负载均衡策略从多个网关中选择一个网关;根据选择的一个网关,利用该一个网关的MAC地址构造ARP响应,该构造的ARP响应中携带终端54的IP地址、终端54的MAC地址、接收模块41接收的ARP消息中携带的网关的IP地址、和选择的一个网关的MAC地址;向终端54发送构造的ARP响应,该构造的ARP响应用于终端54建立ARP缓存表;
网关52,用于接收终端54发送的数据报文并进行转发。
网关52接收终端54发送的数据报文并进行转发可以按照现有技术的流程进行,这里不再赘述。接入点51可以直接与网关52建立通信链路,或者通过节点53建立至网关52的通信链路。本实施例的接入点51可以是上述各实施例中的接入点,或接入点51可以在具备普通接入点的功能的基础上包括多网关负载均衡的装置。当接入点51本地只保存了从自身接入的终端的地址信息,则接入点可以只针对从自身接入的终端进行ARP响应的构造和发送;或者,可以当接入点51本地保存了全网中从各个接入点接入的终端的地址信息时,接入点可以针对全网的所有终端进行ARP响应的构造和发送。
其中,本发明各实施例的网络***可以是mesh网络,接入点51可以是Mesh接入点,节点53可以是Mesh节点(mesh point,MP),Mesh接入点与网关52之间的通信链路可以通过无线连接,网关52可以通过有线连接接入互联网。
本发明实施例,通过接入点对ARP消息进行解析,将用于终端查询网关MAC地址的ARP消息拦截,之后,根据负载均衡策略从多个网关中选择一个网关,并将选择的一个网关的MAC地址携带在ARP响应中发送给终端,以便终端在本地ARP缓存表中建立网关的IP地址与选择的一个网关的MAC地址的映射关系,由于选择网关时使用了负载均衡策略,使得接入点发送的全部ARP响应中尽量平均的使用了多个网关中的每一个,从而在终端利用映射关系发送报文时,将流量平均到了多个网关,实现了多个网关的数据流量的均衡,减小了网络拥塞,提高了网络利用效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多网关负载均衡的方法,其特征在于,所述方法包括:
接入点接收地址解析协议ARP消息;
解析所述ARP消息,当所述ARP消息为用于终端查询网关MAC地址的消息时,接入点根据负载均衡策略从多个网关中选择一个网关;
接入点根据选择的一个网关的MAC地址构造ARP响应,构造的ARP响应中携带所述选择的一个网关的MAC地址;
接入点向终端发送构造的ARP响应,所述构造的ARP响应用于终端建立ARP缓存表。
2.如权利要求1所述的方法,其特征在于,所述接入点根据负载均衡策略从多个网关中选择一个网关时,所述负载均衡策略是:
所述接入点针对同一个终端的不同ARP消息选择不同的网关,或者,所述接入点针对不同终端的ARP消息选择不同的网关,或者,根据接入点发往各网关的流量,所述接入点选择当前流量最轻的网关。
3.如权利要求1或2所述的方法,其特征在于,判断ARP消息是否为用于终端查询网关MAC地址的消息的方式为:
当所述ARP消息为广播的ARP请求,若所述ARP请求的目标IP地址为任一网关的IP地址,则所述ARP请求为用于终端查询网关MAC地址的消息;或者
当所述ARP消息为ARP响应,若所述ARP响应的目的节点为终端且源节点为网关,则所述ARP响应为用于终端查询网关MAC地址的消息。
4.如权利要求3所述的方法,其特征在于,判断该ARP响应的目的节点为终端且源节点为网关的方式为:
当该ARP响应的目的地址为终端的MAC地址、目标硬件地址为终端的MAC地址或目标IP地址为终端的IP地址或以上三者的全部或任意两者的组合,并且该ARP响应的源地址为任一网关的MAC地址、发送硬件地址为任一网关的MAC地址或发送IP地址为任一网关的IP地址或以上三者的全部或任意两者的组合,则该ARP响应的目的节点为终端且源节点为网关。
5.如权利要求1至4任一项所述的方法,其特征在于:
所述接入点保存有多个网关的IP地址和MAC地址,以及接入自身的终端的IP地址和MAC地址。
6.一种多网关负载均衡的装置,其特征在于,所述装置包括:
接收模块,用于接收地址解析协议ARP消息;
选择模块,用于解析所述ARP消息,当所述接收模块接收的ARP消息为用于终端查询网关MAC地址的消息时,根据负载均衡策略从多个网关中选择一个网关;
构造模块,用于根据所述选择模块选择的一个网关,利用所述选择的一个网关的MAC地址构造ARP响应,构造的ARP响应中携带所述选择的一个网关的MAC地址;
发送模块,用于向终端发送所述构造模块构造的ARP响应,所述构造的ARP响应用于终端建立ARP缓存表。
7.如权利要求6所述的装置,其特征在于,所述选择模块包括:
判断单元,用于根据所述装置保存的多个网关的IP地址或MAC地址,判断所述接收模块接收的ARP消息是否为用于终端查询网关MAC地址的消息;
地址选取单元,用于如果所述判断单元的判断结果为,所述接收模块接收的ARP消息是用于终端查询网关MAC地址的消息时,则根据负载均衡策略从保存的多个网关的MAC地址中选取一个网关的MAC地址。
8.如权利要求7所述的装置,其特征在于,所述地址选取单元包括:第一选取策略单元、第二选取策略单元和第三选取策略单元中的任一个或任意两个或全部三个;
第一选取策略单元,用于如果所述判断单元的判断结果为,所述接收模块接收的ARP消息是用于终端查询网关MAC地址的消息时,则针对同一个终端的不同ARP消息选择不同的网关,从保存的多个网关的MAC地址中选取一个网关的MAC地址;
第二选取策略单元,用于如果所述判断单元的判断结果为,所述接收模块接收的ARP消息是用于终端查询网关MAC地址的消息时,则针对不同终端选择不同的网关,从保存的多个网关的MAC地址中选取一个网关的MAC地址;
第三选取策略单元,用于如果所述判断单元的判断结果为,所述接收模块接收的ARP消息是用于终端查询网关MAC地址的消息时,则根据各网关的流量,从保存的多个网关的MAC地址中选取当前流量最轻的一个网关的MAC地址。
9.如权利要求7所述的装置,其特征在于,所述判断单元包括:
ARP请求判断单元,用于当所述接收模块接收的ARP消息为广播的ARP请求,并且该ARP请求的目标IP地址为网关的IP地址时,则判定该ARP请求为用于终端查询网关MAC地址的消息;
ARP响应判断单元,用于当所述接收模块接收的ARP消息为ARP响应,且该ARP响应的目的节点为终端、源节点为网关时,则判定该ARP响应为用于终端查询网关MAC地址的消息。
10.一种通信网络***,其特征在于,所述***包括:至少一个接入点和多个网关;所述一个接入点和所述多个网关之间有通信链路,以交互消息报文;
所述接入点包括权利要求6至9任一项所述的多网关负载均衡的装置;
所述网关,用于接收终端发送的数据报文并进行转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910105872A CN101827013A (zh) | 2009-03-05 | 2009-03-05 | 多网关负载均衡的方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910105872A CN101827013A (zh) | 2009-03-05 | 2009-03-05 | 多网关负载均衡的方法、装置和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101827013A true CN101827013A (zh) | 2010-09-08 |
Family
ID=42690730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910105872A Pending CN101827013A (zh) | 2009-03-05 | 2009-03-05 | 多网关负载均衡的方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101827013A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102149138A (zh) * | 2011-05-26 | 2011-08-10 | 东南大学 | 无线Mesh网络网关负载均衡的方法 |
CN102469152A (zh) * | 2010-11-17 | 2012-05-23 | 英业达股份有限公司 | 网路负载调整方法 |
CN104009956A (zh) * | 2013-02-22 | 2014-08-27 | 杭州海康威视数字技术股份有限公司 | 一种基于嵌入式多核协处理网闸***的通信方法 |
CN104468866A (zh) * | 2014-12-26 | 2015-03-25 | 陈晨 | 一种无线局域网中多网关终端快速漫游方法 |
CN104852847A (zh) * | 2015-04-07 | 2015-08-19 | 胡汉强 | 一种数据传输方法及控制面设备、转发面设备 |
CN105357674A (zh) * | 2015-10-26 | 2016-02-24 | 青岛海尔智能家电科技有限公司 | 一种数据分流方法、装置和*** |
CN105636229A (zh) * | 2014-11-07 | 2016-06-01 | 中兴通讯股份有限公司 | 一种下行消息处理/控制方法及装置 |
CN106257877A (zh) * | 2015-06-17 | 2016-12-28 | 财团法人工业技术研究院 | 路由网关选择方法、控制器及交通网络*** |
CN107018092A (zh) * | 2016-01-27 | 2017-08-04 | 广达电脑股份有限公司 | 避免服务器***中的广播流量的传输死锁的方法及*** |
CN107360595A (zh) * | 2017-04-01 | 2017-11-17 | 交通运输部水运科学研究所 | 一种IEEE802.11s下基于动态分簇的多网关WMN负载均衡实现方法 |
CN107508931A (zh) * | 2017-09-29 | 2017-12-22 | 广东欧珀移动通信有限公司 | 无线网络通信方法、装置、存储介质和计算机设备 |
CN108881178A (zh) * | 2018-05-29 | 2018-11-23 | 网易(杭州)网络有限公司 | 信息发送方法及装置,设备,存储介质和电子装置 |
CN108881368A (zh) * | 2018-04-22 | 2018-11-23 | 平安科技(深圳)有限公司 | 高并发业务请求处理方法、装置、计算机设备和存储介质 |
CN110868361A (zh) * | 2019-11-01 | 2020-03-06 | 云深互联(北京)科技有限公司 | 网关负载均衡的方法、装置及设备 |
US20220368563A1 (en) * | 2013-07-10 | 2022-11-17 | Huawei Technologies Co., Ltd. | Method for implementing gre tunnel, access point and gateway |
CN115460149A (zh) * | 2022-10-20 | 2022-12-09 | 广州河东科技有限公司 | 一种多网关环境下的网关选择方法及存储介质 |
-
2009
- 2009-03-05 CN CN200910105872A patent/CN101827013A/zh active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469152A (zh) * | 2010-11-17 | 2012-05-23 | 英业达股份有限公司 | 网路负载调整方法 |
CN102149138A (zh) * | 2011-05-26 | 2011-08-10 | 东南大学 | 无线Mesh网络网关负载均衡的方法 |
CN102149138B (zh) * | 2011-05-26 | 2013-04-24 | 东南大学 | 无线Mesh网络网关负载均衡的方法 |
CN104009956B (zh) * | 2013-02-22 | 2017-05-03 | 杭州海康威视数字技术股份有限公司 | 一种基于嵌入式多核协处理网闸***的通信方法 |
CN104009956A (zh) * | 2013-02-22 | 2014-08-27 | 杭州海康威视数字技术股份有限公司 | 一种基于嵌入式多核协处理网闸***的通信方法 |
US20220368563A1 (en) * | 2013-07-10 | 2022-11-17 | Huawei Technologies Co., Ltd. | Method for implementing gre tunnel, access point and gateway |
US11824685B2 (en) * | 2013-07-10 | 2023-11-21 | Huawei Technologies Co., Ltd. | Method for implementing GRE tunnel, access point and gateway |
CN105636229A (zh) * | 2014-11-07 | 2016-06-01 | 中兴通讯股份有限公司 | 一种下行消息处理/控制方法及装置 |
CN104468866A (zh) * | 2014-12-26 | 2015-03-25 | 陈晨 | 一种无线局域网中多网关终端快速漫游方法 |
CN104468866B (zh) * | 2014-12-26 | 2017-11-21 | 陈晨 | 一种无线局域网中多网关终端快速漫游方法 |
CN104852847A (zh) * | 2015-04-07 | 2015-08-19 | 胡汉强 | 一种数据传输方法及控制面设备、转发面设备 |
CN106257877A (zh) * | 2015-06-17 | 2016-12-28 | 财团法人工业技术研究院 | 路由网关选择方法、控制器及交通网络*** |
CN105357674A (zh) * | 2015-10-26 | 2016-02-24 | 青岛海尔智能家电科技有限公司 | 一种数据分流方法、装置和*** |
CN105357674B (zh) * | 2015-10-26 | 2023-05-16 | 青岛海尔智能家电科技有限公司 | 一种数据分流方法、装置和*** |
CN107018092A (zh) * | 2016-01-27 | 2017-08-04 | 广达电脑股份有限公司 | 避免服务器***中的广播流量的传输死锁的方法及*** |
US10594505B2 (en) | 2016-01-27 | 2020-03-17 | Quanta Computer Inc. | System and method for avoiding deadlock in transmission of broadcast traffic in a server system |
CN107360595A (zh) * | 2017-04-01 | 2017-11-17 | 交通运输部水运科学研究所 | 一种IEEE802.11s下基于动态分簇的多网关WMN负载均衡实现方法 |
CN107508931A (zh) * | 2017-09-29 | 2017-12-22 | 广东欧珀移动通信有限公司 | 无线网络通信方法、装置、存储介质和计算机设备 |
CN108881368A (zh) * | 2018-04-22 | 2018-11-23 | 平安科技(深圳)有限公司 | 高并发业务请求处理方法、装置、计算机设备和存储介质 |
CN108881178A (zh) * | 2018-05-29 | 2018-11-23 | 网易(杭州)网络有限公司 | 信息发送方法及装置,设备,存储介质和电子装置 |
CN110868361A (zh) * | 2019-11-01 | 2020-03-06 | 云深互联(北京)科技有限公司 | 网关负载均衡的方法、装置及设备 |
CN115460149A (zh) * | 2022-10-20 | 2022-12-09 | 广州河东科技有限公司 | 一种多网关环境下的网关选择方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101827013A (zh) | 多网关负载均衡的方法、装置和*** | |
US10728149B1 (en) | Packet replication routing with destination address swap | |
US12047285B2 (en) | Low-overhead routing | |
CN108370337B (zh) | 具有IoT网络设备的建筑物技术设备通信*** | |
US7586894B2 (en) | Communication system capable of selecting optimum gateway for terminals | |
EP2514151B1 (en) | Distributed routing architecture | |
US5636216A (en) | Method for translating internet protocol addresses to other distributed network addressing schemes | |
CN101340372B (zh) | 号码自动路由方法、更新方法、撤销方法、路由器及设备 | |
CN102215158B (zh) | 实现vrrp流量传输的方法和路由设备 | |
KR101337461B1 (ko) | 명칭 주소 맵핑 시스템, 데이터 전송 방법 및 명칭 주소 맵핑 유지 방법 | |
CN102457900B (zh) | 传输基于IPv6低功耗无线个域网数据包的方法和装置 | |
CN102957589B (zh) | 业务数据传输的方法、网络节点及*** | |
JP2006524974A5 (zh) | ||
US20040203801A1 (en) | Routing header based routing in internet protocol (IP)-cellular networks | |
CA2784706A1 (en) | Distributed routing architecture | |
KR20040053392A (ko) | 무선 메시 네트워크들에서의 어드레싱 및 라우팅 | |
CN109842574B (zh) | 一种基于可编程网络技术的多宿主网络路由转发方法 | |
CN101836468A (zh) | 移动终端、转发中间节点和移动通信*** | |
WO2005094019A1 (en) | Transparent link layer mesh router | |
CN101174970A (zh) | 任播服务的实现方法、发送任播请求的方法、任播路由器 | |
CN101815040A (zh) | 在混合交换机网络中转发分组的方法和交换机 | |
CN101184039B (zh) | 一种以太网负载均衡的方法 | |
CN105591927A (zh) | 一种基于trill网络的报文转发方法及路由桥 | |
CN115426034B (zh) | 一种基于标签路由的卫星网络组网方法 | |
CN101552714B (zh) | 一种多归属多地址空间网络中实现流量工程的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100908 |