CN105357142B - 一种基于ForCES的网络负载均衡器系统设计方法 - Google Patents
一种基于ForCES的网络负载均衡器系统设计方法 Download PDFInfo
- Publication number
- CN105357142B CN105357142B CN201510870847.XA CN201510870847A CN105357142B CN 105357142 B CN105357142 B CN 105357142B CN 201510870847 A CN201510870847 A CN 201510870847A CN 105357142 B CN105357142 B CN 105357142B
- Authority
- CN
- China
- Prior art keywords
- service
- real
- empty
- address
- forwarding element
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于ForCES的网络负载均衡器系统设计方法,本发明方法根据ForCES协议的设计思路和思想,将负载均衡器的控制部分和数据部分分离,控制部分包括调度算法、服务的配置和管理等功能以负载均衡模块的形式运行在控制件端,由网络管理员统一管理。数据部分包括数据包的调度分发、会话保持、健康检测,将这些功能抽象成ForCES协议的逻辑功能块,每个逻辑功能块完成某一特定操作,并将这些逻辑功能块组合起来构成负载均衡器的数据部分,以转发件应用的形式运行在虚拟转发件中。本发明与传统的负载均衡系统相比不仅提高了负载均衡能力,还提高了系统的可扩展性和维护性,使得本发明具有良好的应用前景。
Description
技术领域
本发明属于通信领域,具体涉及一种基于ForCES的网络负载均衡器系统设计方法。
背景技术
随着互联网的快速发展和新业务的不断涌现,基于Internet的各类数据访问的流量也飞速增长,尤其是访问数据中心、大型企业以及门户网站等,其访问流量更是高达10Gb/s。这就对各种设备和应用服务提出了高性能和高可靠性的需求。如果升级或替换高性能服务器,则成本过于巨大,且造成了资源的浪费。且每一次业务量的提升都将导致高额的投入,可扩展性太差。
采用负载均衡技术能很好地解决上述问题。将若干低性能服务器通过交换机、路由器等网络互联设备组成一个集群,各服务器都部署和配置相同的服务或业务,并在集群前端放置负载均衡设备,负载均衡器根据所配置的调度算法将网络流量均衡的分发到集群内部的服务器上。负载均衡技术提供一种廉价且有效透明的方法来扩展网络设备和服务器带宽、增加吞吐量、加强网络数据处理能力,提高网络的灵活性和可用性。
根据调度算法可分为静态算法和动态算法。静态算法是按照事先配置好的规则,进行简单而快捷的分发,不考虑当前各真实服务或链路的实际负载情况。主要算法类型有轮询、加权轮询、hash等。动态算法根据各真实服务或物理链路实际运行中的负载情况进行连接分发,分发效果更均衡。其特点是算法复杂,系统开销相对较大。主要算法类型有最小连接、带宽等调度算法。
根据部署对象可分为服务器负载均衡、链路负载均衡和网关负载均衡等。服务器负载均衡主要根据服务或业务类型配置服务器集群,并利用DNS服务、VS/NAT、VS/DR等技术实现负载均衡。链路负载均衡技术通过配置简单的动态算法,将网络流量均衡分发到各条链路上,如使用基于源、目的IP地址等信息进行策略路由,选择相应的链路进行转发。网关负载均衡是将若干网关设备并联组成集群,以提高网络处理能力。
调度算法指根据调度策略将流量分发到指定服务器或链路上,使得各台服务器或链路尽可能地均衡处理流量。负载均衡技术拥有各类调度算法,不同调度算法所达到的均衡效果不同,可以针对不同的应用场景,采用相应的调度算法。(1)轮询:负载均衡设备将用户的服务请求依次分发到每个真实服务上,各真实服务平均分担处理用户的连接请求。适用于每个应用请求对服务器的处理压力近似(如普通HTTP、Radius、DNS),且各真实服务的性能差距不大的情况。(2)最小连接:负载均衡设备依据当前各真实服务的连接数来估计真实服务的负载情况,把新的连接分配给当前连接数最小的真实服务。适用于每个应用请求对服务器的处理压力和处理时间要求不同(时间长的连接会造成较大的处理压力),如FTP、TELNET等,且各真实服务的性能差距不大的情况。(3)源地址哈希散列:负载均衡设备将用户发起请求的源IP地址做哈希散列,并依据结果映射到一台真实服务。适用于同一源IP地址发起的请求必须调度到相同真实服务的情况,多用于应用本身对请求的源IP地址有要求的环境。(4)源地址源端口哈希散列:负载均衡设备将客户发起请求的源IP地址和源端口做哈希散列,并依据结果映射到一台真实服务。适用于同一源IP地址和源端口发起的请求必须要调度到相同真实服务的情况,多用于应用本身对请求的源IP地址和源端口有要求的环境。(5)最小流量:负载均衡设备根据当前各真实服务的流量来估计真实服务的负载情况,把新的连接分配给流量最小的服务器。适用于每个应用请求应对服务器的处理压力与该连接所产生流量大小成正比,且处理时间不同(如视频类服务等)且各真实服务的性能差距不大的情况。(6)最小响应时间:负载均衡设备依据当前各真实服务器的响应时间来估计真实服务的负载情况,把新的请求调度给响应时间最小的真实服务。适用于应用的业务情况非常复杂,每个请求对真实服务的处理压力较大其连接时间较长,但各真实服务的性能差距不大的情况。
发明内容
本发明针对现有技术的不足,提出了一种基于ForCES的网络负载均衡器系统设计方法。
本发明提供的一种基于ForCES的网络负载均衡器系统设计方法,包括如下步骤:
步骤(1)网络负载均衡器的控制件由服务配置模块、拓扑发现模块、负载状态模块、调度算法模块和路径选择模块组成,所述控制件的工作过程具体包含如下步骤:
1-1. 拓扑发现模块发现当前正在承载各类服务的真实服务设备和转发件中部署了负载均衡应用的虚拟转发件,并生成相应的全网拓扑,所述真实服务设备是部署了真实服务的物理服务器,真实服务是由IP地址和端口号唯一标识,多个真实服务可以在一台物理服务器上,也可以在多台物理服务器上。客户端的请求在分发至真实服务时,网络负载均衡器会将请求的目的IP地址和目的端口修改为真实服务的IP地址和端口;
1-2. 负载状态模块获取并记录各真实服务设备和承载负载均衡应用的虚拟转发件的运行状态,包括信息:CPU使用率、内存使用率和带宽;
1-3. 调度算法模块配置负载均衡系统的调度算法并根据所配置的算法和设备状态信息进行计算,所得结果用于路径选择模块进行真实服务的选定;
1-4. 路径选择模块根据调度算法模块的计算结果及全网拓扑进行决策选路,实施真实服务的部署;
1-5. 服务配置模块依据全网拓扑信息配置和管理服务,为全网内所承载的各类服务或业务配置和管理虚服务。所述的虚服务是负载均衡器对外提供的服务,由虚服务IP地址、服务协议、服务端口号唯一标识。访问请求通过网络到达网络负载均衡器时,负载均衡器根据访问请求的目标IP地址、服务协议和目标端口来匹配虚服务;
步骤(2)每个网络负载均衡器的转发件内包含多个虚拟转发件,每个虚拟转发件包含分类器逻辑功能块、虚服务逻辑功能块、会话保持逻辑功能块、地址转换逻辑功能块、服务检测逻辑功能块、虚拟转发件状态逻辑功能块、通用包处理逻辑功能块,这些逻辑功能块组合起来共同完成数据包的均衡处理。每个虚拟转发件内的逻辑功能块组合是一个负载均衡应用,虚拟转发件的具体工作过程包含如下步骤:
2-1. 分类器逻辑功能块对收到的数据包的类型进行判断,并根据不同协议的请求/响应标识位进行分类,分类结果记录在分类表中,最后通过查询分类表选择相应的输出。所述分类表的表项由协议类型、标志位位置和标志位值组成;
2-2. 虚服务逻辑功能块部署在分类器逻辑功能块之后,接收分类器逻辑功能块输出的客户请求数据包。虚服务逻辑功能块根据请求包的目的IP地址、协议和端口号通过查找虚服务表来匹配虚服务并分配一个虚服务ID。所述虚服务表的表项由虚服务ID、虚服务IP、协议类型和服务端口号组成,虚服务表的更新由控制件决定,每当控制件配置了新的虚服务或删除虚服务时更新虚服务表;
2-3. 会话保持逻辑功能块根据虚服务ID和数据包源IP地址查找会话保持表,确定对应的真实服务。如果没有匹配的表项,则上报给控制件。控制件根据上报的内容,通过负载均衡模块中的调度算法模块为该请求选定一个真实服务,并修改会话保持表,生成一条新的表项。所述会话保持表的表项由虚服务ID、源IP地址、真实服务IP、服务端口号和生存周期组成;
2-4. 地址转换逻辑功能块根据虚服务ID和真实服务ID查找服务映射表找到对应的虚服务和真实服务,并将数据包的目的IP地址和目的端口号修改为真实服务的IP地址和端口。所述的服务映射表的更新由控制件决定,其表项由虚服务ID、虚服务IP、虚服务端口、真实服务ID、真实服务IP和真实服务端口组成;
2-5. 服务检测逻辑功能块探测真实服务设备是否能够提供服务,依据不同的探测方法可以探测出真实服务设备是否可以提供不同类型的服务,并根据探测结果更新服务检测表,等待控制件查询。所述服务检测表的表项由转发件ID、关联服务器的IP地址、服务类型和服务端口号组成;
2-6. 虚拟转发件状态逻辑功能块将虚拟转发件的状态信息记录在状态信息表中等待控制件查询,所述状态信息表的表项由虚拟转发件ID、CPU使用率、内存使用率、网络带宽和连接数组成;
本发明根据转发与控制分离的思想,提出一种基于ForCES的网络负载均衡器系统设计方法,以实现数据平面的负载均衡。在目前的基于ForCES的网络体系架构中,还未出现过结合网络虚拟化技术以ForCES体系架构为基础提出一种基于ForCES的网络负载均衡器系统。本发明显著优点有:该系统将负载均衡器的控制部分和数据部分分离,控制部分运行在控制件端,由网络管理员统一管理。数据部分中关于数据包的处理功能抽象成ForCES协议的逻辑功能块,以转发件应用的形式运行在虚拟转发件中。与传统的负载均衡系统相比,这样做不仅提高了系统的负载均衡能力,还提高了系统的可扩展性和维护性,并使得本发明具有良好的应用前景。
附图说明
图1是基于ForCES协议的服务器负载均衡器模型的示意图;
图2是负载均衡模块主要模块依赖关系示意图;
图3是拓扑发现模块层次关系示意图;
图4为服务配置模块各组件依赖关系示意图;
图5为负载均衡应用内部逻辑功能块拓扑关系示意图;
图6为基于ForCES的网络负载均衡器系统整体框架示意图。
具体实施方式
下面结合附图对本发明做进一步的说明。
如图1所示,是基于ForCES协议的服务器负载均衡器模型,图1仅列出与负载均衡相关的模块和虚拟转发件vFE(Virtual Forwarding Element)及相关逻辑功能块LFB(Logical Functional Block)。
如图6所示,本发明提供的一种基于ForCES的网络负载均衡器系统设计方法,步骤如下:
步骤(1)网络负载均衡器的控制件由服务配置模块、拓扑发现模块、负载状态模块、调度算法模块和路径选择模块组成,所述控制件的工作过程具体包含如下步骤:
1-1. 拓扑发现模块发现当前正在承载各类服务的真实服务设备和转发件中部署了负载均衡应用的虚拟转发件,并生成相应的全网拓扑,所述真实服务设备是部署了真实服务的物理服务器,真实服务是由IP地址和端口号唯一标识,多个真实服务可以在一台物理服务器上,也可以在多台物理服务器上。客户端的请求在分发至真实服务时,网络负载均衡器会将请求的目的IP地址和目的端口修改为真实服务的IP地址和端口;
1-2. 负载状态模块获取并记录各真实服务设备和承载负载均衡应用的虚拟转发件的运行状态,包括信息:CPU使用率、内存使用率和带宽;
1-3. 调度算法模块配置负载均衡系统的调度算法并根据所配置的算法和设备状态信息进行计算,所得结果用于路径选择模块进行真实服务的选定;
1-4. 路径选择模块根据调度算法模块的计算结果及全网拓扑进行决策选路,实施真实服务的部署;
1-5. 服务配置模块依据全网拓扑信息配置和管理服务,为全网内所承载的各类服务或业务配置和管理虚服务。所述的虚服务是负载均衡器对外提供的服务,由虚服务IP地址、服务协议、服务端口号唯一标识。访问请求通过网络到达网络负载均衡器时,负载均衡器根据访问请求的目标IP地址、服务协议和目标端口来匹配虚服务;
步骤(2)每个网络负载均衡器的转发件内包含多个虚拟转发件,每个虚拟转发件包含分类器逻辑功能块、虚服务逻辑功能块、会话保持逻辑功能块、地址转换逻辑功能块、服务检测逻辑功能块、虚拟转发件状态逻辑功能块、通用包处理逻辑功能块,这些逻辑功能块组合起来共同完成数据包的均衡处理。每个虚拟转发件内的逻辑功能块组合是一个负载均衡应用,虚拟转发件的具体工作过程包含如下步骤:
2-1. 分类器逻辑功能块对收到的数据包的类型进行判断,并根据不同协议的请求/响应标识位进行分类,分类结果记录在分类表中,最后通过查询分类表选择相应的输出。所述分类表的表项由协议类型、标志位位置和标志位值组成;
2-2. 虚服务逻辑功能块部署在分类器逻辑功能块之后,接收分类器逻辑功能块输出的客户请求数据包。虚服务逻辑功能块根据请求包的目的IP地址、协议和端口号通过查找虚服务表来匹配虚服务并分配一个虚服务ID。所述虚服务表的表项由虚服务ID、虚服务IP、协议类型和服务端口号组成,虚服务表的更新由控制件决定,每当控制件配置了新的虚服务或删除虚服务时更新虚服务表;
2-3. 会话保持逻辑功能块根据虚服务ID和数据包源IP地址查找会话保持表,确定对应的真实服务。如果没有匹配的表项,则上报给控制件。控制件根据上报的内容,通过负载均衡模块中的调度算法模块为该请求选定一个真实服务,并修改会话保持表,生成一条新的表项。所述会话保持表的表项由虚服务ID、源IP地址、真实服务IP、服务端口号和生存周期组成;
2-4. 地址转换逻辑功能块根据虚服务ID和真实服务ID查找服务映射表找到对应的虚服务和真实服务,并将数据包的目的IP地址和目的端口号修改为真实服务的IP地址和端口。所述的服务映射表的更新由控制件决定,其表项由虚服务ID、虚服务IP、虚服务端口、真实服务ID、真实服务IP和真实服务端口组成;
2-5. 服务检测逻辑功能块探测真实服务设备是否能够提供服务,依据不同的探测方法可以探测出真实服务设备是否可以提供不同类型的服务,并根据探测结果更新服务检测表,等待控制件查询。所述服务检测表的表项由转发件ID、关联服务器的IP地址、服务类型和服务端口号组成;
2-6. 虚拟转发件状态逻辑功能块将虚拟转发件的状态信息记录在状态信息表中等待控制件查询,所述状态信息表的表项由虚拟转发件ID、CPU使用率、内存使用率、网络带宽和连接数组成。
实施例
为了使本发明的技术方案和优点更加清楚,现结合附图对本发明的具体实施方式进一步详细描述。
(一)负载均衡模块主要模块设计
负载均衡模块主要模块依赖关系如图2所示,拓扑发现模块是整个负载均衡模块的基础,负责发现负载均衡应用和底层网络,并建立全网视图。负载状态模块获取网络状态信息需要了解整个网络的拓扑信息。调度算法模块从负载状态模块中获取到服务器和网络的相关信息,计算出相应的度量值。路径选择模块根据调度算法模块提供的度量值以及拓扑发现模块中的拓扑信息,来进行决策选路。服务配置模块依据拓扑信息配置和管理服务。
拓扑发现模块
拓扑发现模块是整个负载均衡模块的基础,负责发现负载均衡应用和底层网络,并建立全网视图。由发现模块和拓扑模块组成,发现模块负责负载均衡应用和底层网络的发现,拓扑模块负责管理和维护发现模块所发现的网络拓扑。图3是拓扑发现模块的层次关系图。
发现模块的整个发现过程分为三个阶段,首先是负载均衡应用发现阶段:在负载均衡模块启动时,发现模块查询各转发件(Forwarding Element,FE)或虚拟转发件(Virtual Forwarding Element,vFE)所注册的逻辑功能块 (Logical Functional Block,LFB)中是否有负载均衡相关的LFB,如虚服务LFB、服务检测LFB等,获取配置了该类LFB设备的FE或vFE的ID号。然后是服务器发现阶段:通过前一阶段获取的FEID,查询控制件(Control Element, CE)数据库内FE邻居关系表,获取与这些FE相连接的服务器的IP地址和MAC地址。该阶段发现操作完成后,便获得了与负载均衡相关的完整的网络链路拓扑。最后是服务发现阶段:将获取的网络拓扑信息封装成ForCES协议消息发送到指定vFE,操作服务检测LFB的属性,修改服务检测表和使能服务检测。服务检测LFB根据服务检测表发送检测信息到指定服务器上,获取该服务器上配置的服务类型,将获取的结果保存到服务检测表中,并上报给CE。
拓扑模块主要包括四个组件:FE拓扑管理、服务器拓扑管理、服务拓扑管理和健康检测。由于ForCES协议本身就包含FE拓扑的管理及维护,则在该模块中的FE拓扑管理负责保存、维护和更新配置了负载均衡应用的FE和vFE信息,主要包括FEID和vFEID;服务器拓扑管理保存、维护和更新与FE相连接的服务器的信息主要包括关联的FEID、服务器ID、服务器IP地址和MAC地址、距离等;服务拓扑管理保存、维护和更新各服务器上配置的服务类型信息,主要包括FEID、vFEID、服务器ID、配置的服务类型和服务端口号等,且定期通过ForCES消息查询服务检测LFB的服务检测表;健康检测组件用于配置健康检测方式并定期通过ForCES消息操作服务检测LFB的健康检测属性,检测各服务器是否可以正常提供服务,根据反馈消息,更新相应的信息。
服务配置模块
服务配置模块主要负责为全网内所承载的各类服务配置和管理虚服务。主要包括服务查询、服务配置和服务管理三个模块。图4是各组件之间依赖关系。
服务查询组件定期查询拓扑模块中服务器拓扑和服务拓扑的内容,根据FEID筛选出每个FE关连的服务器及其所提供的服务。服务配置组件为每个服务类型配置虚服务,内容包括FEID、vFEID、虚服务ID、虚服务IP地址、MAC地址、协议类型和服务端口号等,其中虚服务ID是唯一的,即表示一种服务类型只有一个虚服务ID,虚服务IP地址和MAC地址是FE对外端口的IP地址和MAC地址;通过CE发送ForCES协议配置消息操作vFE内虚服务LFB的属性,更新虚服务表,虚服务表的内容就是上述配置信息。服务管理组件根据服务查询和服务配置的结果生成一张服务映射表,并将该表的内容封装成ForCES协议配置消息发送到vFE,配置地址转换LFB的属性服务映射表。
负载状态模块
负载状态模块负责管理和维护各真实服务设备及负载均衡应用vFE的相关状态信息,主要由服务器状态管理和负载应用状态管理两部分组成。
服务器状态管理主要负责获取并保存各服务器运行状态,主要包括CPU占用率、内存占用率、网络带宽和连接数等系统和资源使用信息,这些信息的获取主要通过简单网络管理协议(Simple Network Management Protocol,SNMP)定期查询来获取,服务器的地址信息由拓扑模块提供。
负载应用状态管理主要负责获取并保存各负载均衡应用vFE的运行状态,主要包括CPU占用率、内存占用率、网络带宽和连接数等系统和资源使用信息,这些信息的获取主要通过ForCES协议获取,组件定期封装ForCES协议查询消息查询vFE状态LFB的属性,该LFB的属性保存有当前vFE的实时运行状态信息。
调度算法模块
调度算法模块主要负责配置负载均衡调度算法,根据所配置的算法和设备状态信息进行计算,所得结果用于路径选择模块进行真实服务的选定,由算法配置、算法建模和算法计算三个组件组成。
算法配置组件用于配置负载均衡调度算法,算法建模用于对已经配置的调度算法进行数学建模,便于后续计算,同时根据调度算法的参数需要,获取负载状态模块中设备状态信息作为参数用于计算度量值。算法计算根据调度算法的数学模型和所得参数进行计算,所得结果用于路径选择模块进行真实服务的选定。
路径选择模块
路径选择模块用于为数据包进行路径选择。路径选择模块通过拓扑发现模块获取的全网拓扑以及调度算法模块提供的相关参数,按照统一的算法规则选定真实服务,将所选结果封装到ForCES协议配置消息中操作vFE内会话保持LFB的属性会话保持表,包括虚服务ID、源IP地址、真实服务IP(RSIP)、服务端口号,vFE通过相关LFB均衡的将流量分配到各条链路和各台服务器上。
(二)LFB库分类及相关LFB模型建模
1. LFB库分类
在本发明中,将调度分发、会话保持、健康检测等功能抽象成ForCES协议的逻辑功能块(LFB),每个LFB完成某一特定操作,并将这些LFB与原有普通数据处理LFB(如IPv4LPM)组合起来构成负载均衡器的数据部分,以FE应用的形式运行在vFE中完成数据包的处理和分发,称为负载均衡应用。图5是负载均衡应用内部LFB基本架构图;
在负载均衡应用的LFB拓扑中,根据对数据包进行的操作,可将LFB分为三类:
(1)基本数据处理的LFB
以太网入口(ingress)LFB:负责接收以太网数据包。
以太网出口(egress)LFB:负责发送以太网数据包。
数据包解封装LFB:负责对MAC地址进行过滤处理,解封装数据包的以太网帧头,以及验证是否为有效的以太帧。
数据包封装LFB:负责对数据包封装以太网帧头。
数据包检验LFB:按照RFC1812检验IPv4数据包的有效性,丢弃校验失败的数据包。在检验过程中,可检测出该IPv4数据包的类型,如,ICMP包、组播包、其它包等。
分类器LFB:判断IP数据包类型,按照分类规则对服务请求和响应数据包进行分类,分发到相应的接口。
匹配IP前缀LFB:处理有效的IPv4数据包,查找匹配IP前缀表。前缀表中包含IP前缀及对应nexthop表的索引ID号。并通过相应端口送出。
查找下一跳LFB:根据索引ID号查找下一跳表,同时递减TTL,并判断待发送的数据包是否需要进行分片处理。
缓存队列LFB:负责完成数据包的缓存队列。
数据包调度LFB:负责完成对数据包缓存队列的调度。
(2)服务请求处理LFB
虚服务LFB:主要负责匹配虚服务,虚服务LFB根据请求包的目的IP地址、协议、端口号,通过查找虚服务表来匹配虚服务。
会话保持LFB:主要负责建立会话保持表项和选定真实服务。根据虚服务ID和数据包源IP地址查找会话保持表,确定对应的真实服务。如果没有匹配的表项,则上报给CE。CE根据上报的内容,通过负载均衡模块为该请求选定一个真实服务。
地址转换LFB:通过虚服务ID和真实服务ID查找服务映射表找到对应的虚服务和真实服务,并将数据包的目的IP地址和目的端口号修改为真实服务的IP地址和端口。
(3)其他辅助LFB
服务检测LFB:主要负责探测真实服务设备是否能够提供服务,依据不同的探测方法可以探测出真实服务是否可以提供不同类型的服务,并根据探测结果更新服务检测表,等待CE端查询。
虚拟转发件状态LFB:主要负责记录当前vFE状态信息,如CPU和内存使用率,带宽、连接数等,记录在状态信息表中等待CE查询。
相关LFB模型建模
2.1)分类器LFB(Classifier LFB)
分类器LFB接收去封装的客户请求IP数据包,判定IP数据包的类型,根据不同协议的请求/响应标识位进行分类,并通过不同出口输出。
(1)输入描述
输入1:去除以太帧头的数据包
(2)输出描述
输出1:输出服务请求包
输出2:输出服务响应包
输出3:输出服务检测响应包
(3)Metadata
无
(4)属性描述
分类器LFB的属性包括分类表和一些统计属性。分类表属性能够进行配置,其内容有协议类型、标志位位置、标志位值等。
)虚服务LFB(VServerLFB)
虚服务LFB部署在分类器LFB之后,接收分类器LFB输出的客户请求数据包。主要负责匹配虚服务,虚服务LFB根据请求包的目的IP地址、协议、端口号,通过查找虚服务表来匹配虚服务,生成元数据<VSID,Value>。每个虚服务只有一个虚服务ID。
(1)输入描述
输入1:IP请求包
(2)输出描述
输出1:输出IP请求包+Metadata
输出2:匹配异常,交由CE处理
(3)Metadata
<VSID,Value>:虚服务ID及ID号
(4)属性描述
虚服务LFB的主要属性包括虚服务表和一些统计属性。虚服务表属性能够进行配置,其内容包括虚服务ID(VSID)、虚服务IP(VSIP)、协议类型、服务端口号等。虚服务表的更新由CE决定,每当CE配置新的虚服务或删除虚服务时更新虚服务表。
)会话保持LFB(Persistence LFB)
会话保持LFB部署在虚服务LFB之后,主要负责建立会话保持表项和选定真实服务。根据虚服务ID和数据包源IP地址查找会话保持表,确定相对应的真实服务,并生成元数据<真实服务ID,Value>连同数据包从输出口1送出。如果没有匹配的表项,则认为是首次请求,触发事件FirstRequest,将<虚服务ID,源IP,端口>上报给CE。CE根据上报的内容,通过负载均衡算法为该请求选定一个真实服务,并修改会话保持LFB的会话保持表,生成一条新的表项。当会话保持表内的某一表项超出生存周期时,触发事件表项更新EntryUpdate,上报事件,通知CE需要更新和修改该表项。
(1)输入描述
输入1:IP数据包输入
输入2:元数据输入
(2)输出描述
输出1:输出IP请求包+Metadata
输出2:异常输出,匹配失败,丢弃数据包
(3)Metadata
<RSID,value>:真实服务ID及ID号
<VSID,value>:虚服务ID及ID号
(4)属性描述
会话保持LFB的主要属性包括会话保持表和一些统计属性。会话保持表属性能够进行配置,其内容包括虚服务ID、源IP地址、真实服务IP(RSIP)、服务端口号、生存周期等。
(5)事件描述
FirstRequest:如果没有匹配的表项,则认为是首次请求,触发事件FirstRequest,将<虚服务ID,源IP,端口>上报给CE。CE根据上报的内容,通过负载均衡算法为该请求选定一个真实服务,并修改会话保持LFB的会话保持表,生成一条新的表项。
EntryUpdate:当会话保持表内的某一表项超出生存周期时,触发事件表项更新EntryUpdate,上报事件,通知CE需要更新和修改该表项。
)地址转换LFB(AddrTranslation LFB)
地址转换LFB通过虚服务ID和真实服务ID查找服务映射表找到对应的虚服务和真实服务,并将数据包的目的IP地址即虚服务IP和目的端口号修改为真实服务的IP地址和端口。服务映射表的更新由CE决定,每当CE配置新的虚服务或删除虚服务、新的真实服务上线或下线时更新服务映射表。
(1)输入描述
输入1:IP数据包输入
输入2:元数据输入
(2)输出描述
输出1:修改过IP和端口的数据包
输出2:转换失败。丢弃数据包
(3)Metadata
无
(4)属性描述
地址转换LFB的主要属性包括服务映射表和一些统计属性。服务映射表属性能够进行配置,其内容包括虚服务ID、虚服务IP、虚服务端口、真实服务ID、真实服务IP、真实服务端口等。
)服务检测LFB(ServiceDetect LFB)
主要负责探测真实服务设备是否能够提供服务,依据不同的探测方法可以探测出真实服务是否可以提供不同类型的服务,并根据探测结果更新服务检测表,等待CE端查询。
(1)输入描述
输入1:服务检测响应的IP数据包
(2)输出描述
输出1:用于服务检测的广播包
(3)Metadata
无
(4)属性描述
服务检测LFB的主要属性包括服务检测表、使能服务检测、健康检测和一些统计属性。
服务检测表:该属性可以配置,其内容包括FEID、关联服务器的IP地址、服务类型、服务端口号等。
使能服务检测:默认值为False,当该属性值置为True时,使能服务检测,该LFB生成各种服务类型的广播请求包,如HTTP、DNS等,发送到各服务器、检测服务器上配置的服务类型和端口。
健康检测:默认值为False,当该属性值置为True时,使能健康检测,且需要配置检测间隔和重传间隔<Interval,Retransmit>,根据服务检测表已有表项的服务类型,生成相应的检测包,根据服务器的相应包,判断该服务器是否还能提供服务。若三次重传后没有收到对应表项的响应包,则更新服务检测表表项。
)虚拟转发件状态LFB(vFEStatus LFB)
主要负责记录当前vFE的实时状态信息,如CPU和内存使用率,带宽、连接数等,记录在状态信息表中等待CE端查询。
(1)输入描述:无
(2)输出描述:无
(3)Metadata:无
(4)属性描述:虚拟转发件状态LFB的主要属性包括状态信息表和一些统计属性。状态信息表属性能够进行配置,其内容包括vFEID、CPU使用率、内存使用率、网络带宽、连接数等。
Claims (1)
1.一种基于ForCES的网络负载均衡器系统设计方法,其特征是,该方法包括如下步骤:
步骤(1)网络负载均衡器的控制件由服务配置模块、拓扑发现模块、负载状态模块、调度算法模块和路径选择模块组成,所述控制件的工作过程具体包含如下步骤:
1-1.拓扑发现模块发现当前正在承载各类服务的真实服务设备和转发件中部署了负载均衡应用的虚拟转发件,并生成相应的全网拓扑,所述真实服务设备是部署了真实服务的物理服务器,真实服务是由IP地址和端口号唯一标识,多个真实服务可以在一台物理服务器上,也可以在多台物理服务器上;客户端的请求在分发至真实服务时,网络负载均衡器会将请求的目的IP地址和目的端口修改为真实服务的IP地址和端口;
1-2.负载状态模块获取并记录各真实服务设备和承载负载均衡应用的虚拟转发件的运行状态,包括信息:CPU使用率、内存使用率和带宽;
1-3.调度算法模块配置负载均衡系统的调度算法并根据所配置的算法和设备状态信息进行计算,所得结果用于路径选择模块进行真实服务的选定;
1-4.路径选择模块根据调度算法模块的计算结果及全网拓扑进行决策选路,实施真实服务的部署;
1-5.服务配置模块依据全网拓扑信息配置和管理服务,为全网内所承载的各类服务或业务配置和管理虚服务;所述的虚服务是负载均衡器对外提供的服务,由虚服务IP地址、服务协议、服务端口号唯一标识;访问请求通过网络到达网络负载均衡器时,负载均衡器根据访问请求的目标IP地址、服务协议和目标端口来匹配虚服务;
步骤(2)每个网络负载均衡器的转发件内包含多个虚拟转发件,每个虚拟转发件包含分类器逻辑功能块、虚服务逻辑功能块、会话保持逻辑功能块、地址转换逻辑功能块、服务检测逻辑功能块、虚拟转发件状态逻辑功能块、通用包处理逻辑功能块,这些逻辑功能块组合起来共同完成数据包的均衡处理;每个虚拟转发件内的逻辑功能块组合是一个负载均衡应用,虚拟转发件的具体工作过程包含如下步骤:
2-1.分类器逻辑功能块对收到的数据包的类型进行判断,并根据不同协议的请求或响应标识位进行分类,分类结果记录在分类表中,最后通过查询分类表选择相应的输出;所述分类表的表项由协议类型、标志位位置和标志位值组成;
2-2.虚服务逻辑功能块部署在分类器逻辑功能块之后,接收分类器逻辑功能块输出的客户请求数据包;虚服务逻辑功能块根据请求包的目的IP地址、协议和端口号通过查找虚服务表来匹配虚服务并分配一个虚服务ID;所述虚服务表的表项由虚服务ID、虚服务IP、协议类型和服务端口号组成,虚服务表的更新由控制件决定,每当控制件配置了新的虚服务或删除虚服务时更新虚服务表;
2-3.会话保持逻辑功能块根据虚服务ID和数据包源IP地址查找会话保持表,确定对应的真实服务;如果没有匹配的表项,则上报给控制件;控制件根据上报的内容,通过负载均衡模块中的调度算法模块为该请求选定一个真实服务,并修改会话保持表,生成一条新的表项;所述会话保持表的表项由虚服务ID、源IP地址、真实服务IP、服务端口号和生存周期组成;
2-4.地址转换逻辑功能块根据虚服务ID和真实服务ID查找服务映射表找到对应的虚服务和真实服务,并将数据包的目的IP地址和目的端口号修改为真实服务的IP地址和端口;所述的服务映射表的更新由控制件决定,其表项由虚服务ID、虚服务IP、虚服务端口、真实服务ID、真实服务IP和真实服务端口组成;
2-5.服务检测逻辑功能块探测真实服务设备是否能够提供服务,依据不同的探测方法可以探测出真实服务设备是否可以提供不同类型的服务,并根据探测结果更新服务检测表,等待控制件查询;所述服务检测表的表项由转发件ID、关联服务器的IP地址、服务类型和服务端口号组成;
2-6.虚拟转发件状态逻辑功能块将虚拟转发件的状态信息记录在状态信息表中等待控制件查询,所述状态信息表的表项由虚拟转发件ID、CPU使用率、内存使用率、网络带宽和连接数组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510870847.XA CN105357142B (zh) | 2015-12-02 | 2015-12-02 | 一种基于ForCES的网络负载均衡器系统设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510870847.XA CN105357142B (zh) | 2015-12-02 | 2015-12-02 | 一种基于ForCES的网络负载均衡器系统设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105357142A CN105357142A (zh) | 2016-02-24 |
CN105357142B true CN105357142B (zh) | 2018-06-15 |
Family
ID=55333013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510870847.XA Expired - Fee Related CN105357142B (zh) | 2015-12-02 | 2015-12-02 | 一种基于ForCES的网络负载均衡器系统设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105357142B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109960586A (zh) * | 2019-02-19 | 2019-07-02 | 北京邮电大学 | 一种服务器状态可感知的四层负载均衡器及均衡方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101031B (zh) * | 2016-06-02 | 2019-03-26 | 浙江工商大学 | 一种转发与控制分离系统中数据包分片并行处理方法 |
CN107070981B (zh) * | 2017-01-23 | 2020-02-04 | 努比亚技术有限公司 | 多终端的设备协同控制系统及方法 |
CN108989896B (zh) * | 2017-06-12 | 2020-02-21 | 视联动力信息技术股份有限公司 | 一种视频点播请求处理方法和装置 |
CN107948088B (zh) * | 2018-01-05 | 2021-10-01 | 宝牧科技(天津)有限公司 | 一种网络应用层负载均衡的方法 |
CN109347623B (zh) * | 2018-10-18 | 2022-09-09 | 苏州盛科通信股份有限公司 | 一种链路负载均衡应用中进行会话保持的方法及装置 |
CN111641583B (zh) * | 2020-04-07 | 2021-09-03 | 北京邮电大学 | 一种物联网资源接入系统及资源接入方法 |
CN114500340B (zh) * | 2021-12-23 | 2023-08-04 | 天翼云科技有限公司 | 一种智能调度分布式路径计算方法及系统 |
CN114553881B (zh) * | 2022-01-07 | 2024-04-02 | 优刻得科技股份有限公司 | 多数据中心流量调度方法及系统 |
CN115297059B (zh) * | 2022-07-18 | 2023-11-28 | 浙江大学 | 一种基于p4的传输层负载均衡系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067287A (zh) * | 2013-01-18 | 2013-04-24 | 浙江工商大学 | 在转发和控制分离架构下实现虚拟可编程路由器的方法 |
CN103200086A (zh) * | 2013-03-12 | 2013-07-10 | 浙江工商大学 | 一种ForCES系统中路由协议的信息交互方法 |
WO2015142969A1 (en) * | 2014-03-20 | 2015-09-24 | Microsoft Technology Licensing, Llc | Switch-based load balancer |
-
2015
- 2015-12-02 CN CN201510870847.XA patent/CN105357142B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067287A (zh) * | 2013-01-18 | 2013-04-24 | 浙江工商大学 | 在转发和控制分离架构下实现虚拟可编程路由器的方法 |
CN103200086A (zh) * | 2013-03-12 | 2013-07-10 | 浙江工商大学 | 一种ForCES系统中路由协议的信息交互方法 |
WO2015142969A1 (en) * | 2014-03-20 | 2015-09-24 | Microsoft Technology Licensing, Llc | Switch-based load balancer |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109960586A (zh) * | 2019-02-19 | 2019-07-02 | 北京邮电大学 | 一种服务器状态可感知的四层负载均衡器及均衡方法 |
CN109960586B (zh) * | 2019-02-19 | 2021-02-12 | 北京邮电大学 | 一种服务器状态可感知的四层负载均衡器及均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105357142A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105357142B (zh) | 一种基于ForCES的网络负载均衡器系统设计方法 | |
CN105684365B (zh) | 利用软件定义流映射和虚拟化的网络功能的网络控制 | |
CN108696402B (zh) | 虚拟路由器的基于会话的业务统计记录 | |
US10565001B2 (en) | Distributed virtual network controller | |
CN104521196B (zh) | 针对虚拟网络分组流的物理路径确定 | |
US9094308B2 (en) | Finding latency through a physical network in a virtualized network | |
CN104253770B (zh) | 实现分布式虚拟交换机系统的方法及设备 | |
US9231871B2 (en) | Flow distribution table for packet flow load balancing | |
Ghaznavi et al. | Service function chaining simplified | |
US20050060418A1 (en) | Packet classification | |
US9621431B1 (en) | Classification techniques to identify network entity types and determine network topologies | |
US20170171050A1 (en) | A system and method for integrating legacy flow-monitoring systems with sdn networks | |
JP2022532731A (ja) | スライスベースネットワークにおける輻輳回避 | |
CN105812257B (zh) | 业务链路由管理系统及其使用方法 | |
Rowshanrad et al. | Implementing NDN using SDN: a review on methods and applications | |
Liu et al. | An adaptive approach for elephant flow detection with the rapidly changing traffic in data center network | |
Kumar et al. | Study and analysis of various load balancing techniques for software-defined network (a systematic survey) | |
Buzhin et al. | An information security monitoring and management system for 5G and 6G Networks based on SDN/NFV | |
Wette et al. | HybridTE: traffic engineering for very low-cost software-defined data-center networks | |
Rajanarayanan | Analysis of link utilization using traffic engineering technique in data center network | |
Wang et al. | On the design of software-defined service-centric networking for mobile cloud computing | |
Ge et al. | Performance analysis of load-aware anycasting based on openflow | |
WO2024189410A1 (en) | Method and system for data processing pipeline planning | |
Zeng | Design and implementation QoS system based on OpenFlow | |
CN118175102A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180615 Termination date: 20211202 |
|
CF01 | Termination of patent right due to non-payment of annual fee |