CN112350927A - 基于连接跟踪的多链路选路方法与装置 - Google Patents
基于连接跟踪的多链路选路方法与装置 Download PDFInfo
- Publication number
- CN112350927A CN112350927A CN202010992016.0A CN202010992016A CN112350927A CN 112350927 A CN112350927 A CN 112350927A CN 202010992016 A CN202010992016 A CN 202010992016A CN 112350927 A CN112350927 A CN 112350927A
- Authority
- CN
- China
- Prior art keywords
- routing
- route
- connection
- forwarding
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000001514 detection method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于连接跟踪的多链路选路方法与装置,同一连接的数据包,除首包外不再进行选路,而是快速转发,而且根据需要使用不同的选路算法进行,不需要缓存机制。既克服了基于流的负载均衡性能耗费大,也避免了基于包的负载均衡的同一连接的数据前后不一致;实现了更高效的细粒度负载均衡。
Description
技术领域
本发明属于通信与网络领域,尤其是涉及一种基于连接跟踪的多链路选路方法及实现该方法的装置。
背景技术
企业的信息化发展,对网络出口带宽的需求日益增加,为此经常同时租用或接入多个运行商链路,或者一个运营商的多条链路,既可以增加带宽,同时还起到分流的作用,而且多链路的接入还可以起到链路备份的功能,如果其中一条线断开,则自动切至另一条线路。这样,如何高效的利用多链路带宽资源,即当业务流量走到网关的十字路口前,从哪个方向出去成为一个新的问题。
网络初建时,迫于成本与技术限制,一般出口带宽都比较小,而后期新增链路的带宽都比较大,造成了非对称的多出口链路。如果业务流量不能合理分配,就会造成一条链路带宽被占满,其他链路还处于空闲,导致大量带宽被浪费。解决方法就是对网络访问在不同链路上进行动态分配与负载均衡。
常见的基于流的负载均衡,每个流的第一个包从缓存或者fib表中查找到路由后就会cache起来,后续的包直接使用cache的路由信息,性能上耗费比较大,如果要实现更精细的负载均衡,需要使用基于包的选路,但是这又会导致同一个连接的数据来回不一致问题。
发明内容
基于上述问题,提供一种基于连接跟踪的多链路选路方法与装置,对每一个新连接进行一次选路,而同一个连接使用同一个选路,并且使用选路算法进行选路,可以更好的达到细粒度的多链路负载均衡功能。
首先是基于连接跟踪的多链路选路方法,包括:收到连接后,查询是否已存在该连接的选路信息,若已存在则按选路信息进行转发,若不存在则选择选路算法进行选路,选路完成后更新选路信息,以待下次查询。
对每一连接的首包进行选路并更新至该连接的选路信息,同一连接的后续数据包直接按照选路信息进行转发;数据包的四元组信息相同则属于同一连接;所述四元组信息包括源ip地址、源端口号、目的ip地址、目的端口号。
上述的选路算法包括:
为每一可选路由配置一权重值并计算权重和,路由被选中的概率与其权重值大小成正比;
收到需要选路的连接时,为该连接生成一0至权重和之间的随机数;
将所有可选路由按权重值从小到大进行排序,若:前(n-1)个权重值之和<随机数≦前n个权重值之和,则该连接从第n个路由进行转发。
优选的,上述的权重值为整数且可选范围为1-256,若未对路由配置权重值,则取默认值为1;而且,如果:前(n-1)个权重值之和<随机数的整数部分≦n个权重值之和,则该连接从第n个路由进行转发。
权重取值取决于路由属性,包括平均时延,和/或带宽,和/或平均流量。
优选的,为路由的每个属性配置属性权重,路由的权重值为各属性权重之和。
上述的选路算法还可以是:选择被选中次数最少的路由进行转发;进一步,若存在至少两个被选次数最少的路由,则随机选择一个路由进行转发。
还有一种基于连接跟踪的多链路选路装置,包括:
功能配置模块,根据需要选择选路算法与配置各路由的权重值;
选路算法模块,用于提供选路算法,包括加权随机、轮询与随机算法;
路由配置模块,用于对路由信息进行配置;
选路处理模块,根据配置执行选路算法,实现正确选路;
连接跟踪模块,用于查询连接是否为同一连接,并判断是否已存在对应的选路信息,若已存在则直接进行转发;若不存在则选路处理模块根据功能配置模块的配置,调用选路算法,选定路由,根据路由配置从转发模块进行转发。
优选的,选路装置还包括:
存储模块,用于存储连接信息、选路信息;
转发模块,用于将数据包从选定的路由进行转发;
IP探测模块,选路完成后,对IP地址的连通性进行周期性探测,链路出现故障时,进行路由切换。
上述的技术方案的有益效果包括:同一连接的数据包,除首包外不再进行选路,而是快速转发,而且根据需要使用不同的选路算法进行,不需要缓存机制。既克服了基于流的负载均衡性能耗费大,也避免了基于包的负载均衡的同一连接的数据前后不一致;实现了更高效的细粒度负载均衡。
附图说明
图1为基于连接跟踪的多链路选路方法实施例,选路流程示意图;
图2为图1中的数据流向示意图;
图3为选路算法实施例一的,加权随机选路流程示意图;
图4为选路算法实施例二的,轮询选路及随机选路流程示意图;
图5为基于连接跟踪的多链路选路装置实施例,组成框图。
具体实施方式
下面结合附图,以实施例对本发明的技术方案进行详细说明。
如图1所示,基于连接跟踪的多链路选路方法,包括:
收到连接后,查询是否已存在该连接的选路信息,若已存在则按选路信息进行转发,若不存在则选择选路算法进行选路,选路完成后更新选路信息,以待下次查询。
连接跟踪机制,即是以流为单位对数据包进行区分,通过四元组来建立,即数据包的源ip地址,源端口号,目的ip地址,目的端口号。在判断数据包是否应该转发时,不是逐包判断,而是判断该数据包所属的连接应不应该转发,也就是在连接建立的时候判断该连接是否应该转发,做出决策之后,属于该连接的所有数据包都执行同样的操作,以提高转发效率。
如图2所示,每一个新连接,均解析数据包得到其四元组信息,交由内核调用选路算法进行选路,选路完成后,将选路信息与其四元组信息绑定并保存;
对于该连接的后续数据包,解析得到的四元组信息与该连接保存的四元组信息相同,则直接选择相对应的选路信息进行转发;
当一个连接的四元组信息,没有保存的信息相匹配,则认为该连接为一个新连接,重复进行前述步骤。
实施例一,基于图1与图2所示的选路方法基础上,进一步提供加权随机选路算法,如图3所示,
为每一可选路由配置一权重值并计算权重和,路由被选中的概率与其权重值大小成正比;
收到需要选路的连接时,为该连接生成一0至权重和之间的随机数;
将所有可选路由按权重值从小到大进行排序,若:前(n-1)个权重值之和<随机数≦前n个权重值之和,则该连接从第n个路由进行转发。
优选的,上述的权重值为整数且可选范围为1-256,若未对路由配置权重值,则取默认值为1;而且,如果:前(n-1)个权重值之和<随机数的整数部分≦n个权重值之和,则该连接从第n个路由进行转发。
例如:存在4个路由,根据平均时延、带宽、平均流量等属性,分别设置权重值为1、1、2、4,权重和为8,从小到大并结合权重值排序如下:
路由1 | 路由2 | 路由3 | 路由4 |
1 | 1 | 2 | 4 |
则对于一个需要选路的连接,产生一个范围在0-8内的随机数如2.8,则根据
1+1<2.8<1+1+2,可以确定该连接选择路由3进行转发,可见,路由被选择概率是与其权重成正比的。
也可以通过为路由的每个属性配置属性权重,路由的权重值为各属性权重之和。
实施例二,基于图1与图2所示的选路方法基础上,进一步提供轮询选路算法,如图4所示,
统计每个路由被选中的次数;选择被选中次数最少的路由进行转发;若存在至少两个被选次数最少的路由,则随机选择一个路由进行转发。
如图5所示,基于连接跟踪的多链路选路装置,包括:
功能配置模块,根据需要选择选路算法与配置各路由的权重值;
选路算法模块,用于提供选路算法,包括加权随机、轮询与随机算法;
路由配置模块,用于对路由信息进行配置;
选路处理模块,根据配置执行选路算法,实现正确选路;
存储模块,用于存储连接信息、选路信息;
转发模块,用于将数据包从选定的路由进行转发;
连接跟踪模块,接收到连接时,解析四元组信息,查询是否在存储模块中存在同一连接及对应的选路信息,若已存在则直接选定进行转发;若不存在则选路处理模块根据功能配置模块的配置,调用选路算法模块的选路算法进行选路,选路完成后,根据路由配置的模块的配置信息,从转发模块进行转发。
IP探测模块,选路完成后,对IP地址的连通性进行周期性探测,链路出现故障时,进行路由切换。
Claims (7)
1.基于连接跟踪的多链路选路方法,其特征在于,包括:收到连接后,查询是否已存在该连接的选路信息,若已存在则按选路信息进行转发,若不存在则选择选路算法进行选路,选路完成后更新选路信息,以待下次查询;
具体为,对每一连接的首包进行选路并更新至该连接的选路信息,同一连接的后续数据包直接按照选路信息进行转发;数据包的四元组信息相同则属于同一连接;所述四元组信息包括源ip地址、源端口号、目的ip地址、目的端口号;
所述选路算法包括:
为每一可选路由配置一权重值并计算权重和,路由被选中的概率与其权重值大小成正比;
收到需要选路的连接时,为该连接生成一0至权重和之间的随机数;
将所有可选路由按权重值从小到大进行排序,若:前(n-1)个权重值之和<随机数≦前n个权重值之和,则该连接从第n个路由进行转发。
2.根据权利要求1所述的选路方法,其特征在于,
所述权重值为整数且可选范围为1-256,若未对路由配置权重值,则取默认值为1;
若:前(n-1)个权重值之和<随机数的整数部分≦n个权重值之和,则该连接从第n个路由进行转发。
3.根据权利要求2所述的选路方法,其特征在于,权重取值取决于路由属性,包括平均时延,和/或带宽,和/或平均流量。
4.根据权利要求3所述的选路方法,其特征在于,为路由的每个属性配置属性权重,路由的权重值为各属性权重之和。
5.根据权利要求1所述的选路方法,其特征在于,所述选路算法包括:选择被选中次数最少的路由进行转发;若存在至少两个被选次数最少的路由,则随机选择一个路由进行转发。
6.基于连接跟踪的多链路选路装置,其特征在于,包括:
功能配置模块,根据需要选择选路算法与配置各路由的权重值;
选路算法模块,用于提供选路算法,包括加权随机、轮询与随机算法;
路由配置模块,用于对路由信息进行配置;
选路处理模块,根据配置执行选路算法,实现正确选路;
连接跟踪模块,用于查询连接是否为同一连接,并判断是否已存在对应的选路信息,若已存在则直接进行转发;若不存在则选路处理模块根据功能配置模块的配置,调用选路算法,选定路由,根据路由配置从转发模块进行转发。
7.根据权利要求6所述的多链路选路装置,其特征在于,还包括:
存储模块,用于存储连接信息、选路信息;
转发模块,用于将数据包从选定的路由进行转发;
IP探测模块,选路完成后,对IP地址的连通性进行周期性探测,链路出现故障时,进行路由切换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010992016.0A CN112350927A (zh) | 2020-09-21 | 2020-09-21 | 基于连接跟踪的多链路选路方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010992016.0A CN112350927A (zh) | 2020-09-21 | 2020-09-21 | 基于连接跟踪的多链路选路方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112350927A true CN112350927A (zh) | 2021-02-09 |
Family
ID=74357704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010992016.0A Pending CN112350927A (zh) | 2020-09-21 | 2020-09-21 | 基于连接跟踪的多链路选路方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112350927A (zh) |
-
2020
- 2020-09-21 CN CN202010992016.0A patent/CN112350927A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8699491B2 (en) | Network element with shared buffers | |
US8630297B2 (en) | Method and apparatus for the distribution of network traffic | |
US20120300669A1 (en) | Topology-based consolidation of link state information | |
US20120014265A1 (en) | Data packet routing | |
US20130301640A9 (en) | Method & apparatus for the distribution of network traffic | |
US8737269B1 (en) | System and method for reducing hardware table resources in a multi-stage network device | |
CN103155500A (zh) | 用于网络业务流的无状态负载平衡的方法、系统和计算机可读介质 | |
US20180176153A1 (en) | Method of Load-Balanced Traffic Assignment Using a Centrally-Controlled Switch | |
US10887217B2 (en) | Routing packets based on congestion metric thresholds and weights | |
US8144584B1 (en) | WRR scheduler configuration for optimized latency, buffer utilization | |
WO2014180307A1 (en) | Configuring forwarding information | |
EP3562097B1 (en) | Establishment for table entry of equal-cost path | |
CN108234320B (zh) | 报文传输方法及交换机 | |
CN111726299B (zh) | 流量均衡方法及装置 | |
CN114006863A (zh) | 一种多核负载均衡协同处理方法、装置及存储介质 | |
CN111901236A (zh) | 一种利用动态路由优化openstack云网络的方法及系统 | |
US7020153B2 (en) | Method and system for processing data packets | |
WO2023050874A1 (zh) | 报文转发方法及装置、蜻蜓网络 | |
CN102136986B (zh) | 一种负载分担方法和交换设备 | |
US10560400B2 (en) | Method for managing traffic item in software-defined networking | |
CN108337168B (zh) | 流簇交换路由机制OpenFlow组表选择方法 | |
US20230396549A1 (en) | Load sharing method and apparatus, and chip | |
CN111343025B (zh) | 功能虚拟化网络中可扩展的服务器部署方法 | |
US11070472B1 (en) | Dynamically mapping hash indices to member interfaces | |
CN112350927A (zh) | 基于连接跟踪的多链路选路方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210209 |
|
WD01 | Invention patent application deemed withdrawn after publication |