CN111464454B - 一种数据中心内虚拟bras设备负载分担方法及*** - Google Patents

一种数据中心内虚拟bras设备负载分担方法及*** Download PDF

Info

Publication number
CN111464454B
CN111464454B CN202010136756.4A CN202010136756A CN111464454B CN 111464454 B CN111464454 B CN 111464454B CN 202010136756 A CN202010136756 A CN 202010136756A CN 111464454 B CN111464454 B CN 111464454B
Authority
CN
China
Prior art keywords
control plane
virtual
plane
forwarding
vms
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.)
Active
Application number
CN202010136756.4A
Other languages
English (en)
Other versions
CN111464454A (zh
Inventor
吴比
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Information And Communication Technology Group Co ltd
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
China Information And Communication Technology Group Co ltd
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Information And Communication Technology Group Co ltd, Fiberhome Telecommunication Technologies Co Ltd filed Critical China Information And Communication Technology Group Co ltd
Priority to CN202010136756.4A priority Critical patent/CN111464454B/zh
Publication of CN111464454A publication Critical patent/CN111464454A/zh
Application granted granted Critical
Publication of CN111464454B publication Critical patent/CN111464454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/287Remote access server, e.g. BRAS
    • H04L12/2874Processing of data for distribution to the subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

本发明公开了一种数据中心内虚拟BRAS设备负载分担方法及***,涉及网络功能虚拟化技术领域,本发明按照工作性质的不同,分别建立控制面VM和转发面VM;将控制面VM和转发面VM统一到一张基于VXLAN构建的overlay虚拟业务控制网中,并将VM角色和VM负载权重值作为MP‑BGP更新消息的扩展属性,实现了VM节点的自动发现及负载权重交换过程;以负载权重值为基础,控制面VM将用户三层业务流合理分摊在不同转发面VM上处理,转发面VM将用户接入信令流分摊在不同控制面VM上处理,实现全***的负载分担,提升整体并发度和可靠性。

Description

一种数据中心内虚拟BRAS设备负载分担方法及***
技术领域
本发明涉及网络功能虚拟化技术领域,具体涉及一种数据中心内虚拟BRAS设备负载分担方法及***。
背景技术
随着NFV(NetworkFunctionVirtualization,网络功能虚拟化)技术的不断深入,越来越多的传统电信网元设备都开始向纯软件化、虚拟化的方向发展。其中,作为用户接入电信运营商网络的控制点:BRAS(BroadbandRemoteAccessServer,宽带远程接入服务器)设备,是非常适合进行虚拟化并放置到运营商的数据中心中运行的。这是由于BRAS设备直接处理用户接入的AAA认证流程和计费流程,和运营商的营账***关系密切,放在DC(DataCenter,数据中心)内集中进行管控管理效率最高,成本最低。
传统的BRAS设备必须要对用户接入网络的三层流量进行直接管控,这意味着BRAS设备本质上是一台接入网路由器,这一点和普通的应用服务器非常不同。由于用户接入网的三层流量全部要通过BRAS设备进行路由转发,因此其转发面的性能压力往往非常大。这就导致了目前VBRAS(VirtualBroadbandRemoteAccessServer,虚拟宽带远程接入服务器)设备一般具有以下两种实现方案:
方案1:VBRAS纯软件化,部署在DC中。运行在多个VM(virtual machine,虚拟机)中的VBRAS软件构成资源池,由控制器统一管理。在DC入口采用专门的核心/汇聚交换机,通过私有协议感知VBRAS资源池的资源情况,在用户接入的二层流上进行分流,实现负载分担。
方案2:VBRAS部分软件化。传统BRAS中路由处理部分由实体路由器承担,形成转发面;用户接入控制部分抽离出来形成控制面,部署在多个VM中。控制面和转发面之间通过远程隧道技术关联在一起。在需要扩容时,转发面通过传统的扩展物理板卡或子框的方式进行;控制面通过在DC隧道端部署传统负载均衡器实现负载均衡。
以上两种处理方案都有一定的缺陷:方案1虽然完全实现了VBRAS的NFV化,但是必须依赖特殊定制的核心/汇聚交换机,如果DC在建立初期没有选购这样的交换机,则无法开展业务;方案2中并未实现VBRAS的整体虚拟化,另外需要对现网运行的实体路由器进行软件升级改造,这对于规模较小的运营单位来说,推进难度非常大。且转发平面的扩容需要管理员手动增加硬件板卡并在网管上进行比较复杂的配置过程,不能实现智能动态扩缩容。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种数据中心内虚拟BRAS设备负载分担方法及***,实现全***的负载分担,提升整体并发度和可靠性。
为达到以上目的,本发明采取的技术方案是:一种数据中心内虚拟BRAS设备负载分担方法,包括以下步骤:
控制器在数据中心内启动两台VM,将两台VM配置为控制面VM,并配置其BGP参数与虚拟IP地址;
所述两台控制面VM根据BGP参数与虚拟IP地址建立MP-BGP关联关系,建立基于VXLAN的虚拟业务控制网络;
所述两台控制面VM将VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性,根据虚拟IP地址建立两台所述控制面VM之间的数据同步通道,并向控制器请求启动转发面VM;
控制器启动新VM并配置为转发面VM,转发面VM通过建立VXLAN隧道加入虚拟业务控制网络,并采用VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性;控制面VM学习转发面VM的虚拟IP地址,建立基于虚拟IP的控制关系;
根据各VM的负载权重值,控制面VM将用户三层业务流分摊至多个转发面VM上处理,转发面VM将用户接入信令流分摊至多个控制面VM上处理。
在上述技术方案的基础上,所述两台控制面VM将VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性,根据虚拟IP地址建立两台所述控制面VM之间的数据同步通道,具体包括以下步骤:
所述两台控制面VM将本VM的VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性,其中一台VM收到对端的MP-BGP更新消息时,从扩展属性中获取对端VM的VM角色和VM负载权重值,决定控制面的集群管理主节点;
集群管理主节点根据双方虚拟IP地址,建立内部集群数据同步协议,作为两台所述控制面VM之间的数据同步通道。
在上述技术方案的基础上,所述转发面VM通过建立VXLAN隧道加入虚拟业务控制网络,并采用VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性;控制面VM学习转发面VM的虚拟IP地址,建立基于虚拟IP的控制关系,具体包括以下步骤:
转发面VM启动后,通过MP-BGP更新消息获得底层VXLAN隧道参数,建立VXLAN隧道,接入虚拟业务控制网络;
将本VM的VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性对外发布;
控制面VM从虚拟业务控制网络中转发面VM发出的MP-BGP更新消息学习到该VM上线和该VM的虚拟IP地址,通过SDN接口采用虚拟IP地址控制转发面VM的行为。
在上述技术方案的基础上,所述根据各VM的负载权重值,控制面VM将用户三层业务流分摊至多个转发面VM上处理,转发面VM将用户接入信令流分摊至多个控制面VM上处理,具体包括以下步骤:
其中一个转发面VM收到用户接入信令,选出负载权重最低的控制面VM,将用户接入信令通过VXLAN隧道传递至被选中的控制面VM;
被选中的控制面VM收到用户接入信令,进行用户认证,若用户认证通过,将用户接入数据通过集群数据同步协议传递给控制面中的所有在线的控制面VM;
被选中的控制面VM选出负载权重最低的转发面VM,将选中的转发面VM分配为该用户的默认三层网关,向被选中的转发面VM配置路由数据,开启路由转发;
被选中的控制面VM向收到用户接入信令的转发面VM回复地址分配信息信令;该转发面VM将返回的地址分配信息信令剥去VXLAN封装,发送至用户。
在上述技术方案的基础上,所述方法还包括以下步骤:
控制面VM根据性能统计信息,计算得出需增加转发面VM或控制面VM时,向控制器发送容量扩展申请事件;
控制器在数据中心网络中启动一个新VM,并向新VM下发网络基础配置参数,网络基础配置参数包括其VM角色、网络接口参数、MP-BGP协议基本参数;
控制器将新转发面VM或控制面VM的接口地址信息告知控制面中的所有在线的控制面VM;
新转发面VM或控制面VM通过建立MP-BGP协议通道、建立VXLAN隧道,接入虚拟业务控制网;
新转发面VM或控制面VM根据当前VM的负载,计算本地负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布;并从MP-BGP协议模块中,获取MP-BGP更新消息的扩展属性,学习其他VM的ID编号、VM角色、虚拟IP地址和VM负载权重值;
若为新转发面VM,控制面VM根据学习到的新转发面VM的虚拟IP地址,建立基于虚拟IP的控制关系。
在上述技术方案的基础上,所述性能统计信息由当前网络中转发面VM通过已建立的Openflow通道汇总到控制面VM。
在上述技术方案的基础上,所述控制器在数据中心网络中启动一个新VM,具体包括以下步骤:
控制器进行扩容决策,如果符合扩容条件,则通过编排器,在数据中心中启动一个新的VM。
本发明还提供一种数据中心内虚拟BRAS设备负载分担***,包括:
控制器,其用于:在数据中心内启动VM或销毁VM,向VM下发网络基础配置参数,网络基础配置参数包括VM角色、网络接口参数、MP-BGP协议基本参数;根据VM请求决定是否启动新VM;
控制面VM,其用于:根据BGP参数与虚拟IP地址建立MP-BGP关联关系,建立基于VXLAN的虚拟业务控制网络及内部集群数据同步协议,并向控制器请求启动转发面VM;通过虚拟IP地址控制转发面VM的行为;将本VM的VM角色和负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布;获取其他VM的MP-BGP更新消息的扩展属性,学习其他VM的ID编号、VM角色、虚拟IP地址和VM负载权重值;根据转发面VM的负载权重值,将用户三层业务流分摊至多个转发面VM上处理;
转发面VM,其用于:通过建立VXLAN隧道加入虚拟业务控制网络;将本VM的VM角色和负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布;获取其他VM的MP-BGP更新消息的扩展属性,学习其他VM的ID编号、VM角色、虚拟IP地址和VM负载权重值;根据控制面VM的负载权重值,将用户接入信令流分摊至多个控制面VM上处理。
在上述技术方案的基础上,所述控制面VM包括:
集群协同模块,其用于:从MP-BGP协议模块中,获取MP-BGP更新消息的扩展属性,学习其他VM的ID编号、VM角色、虚拟IP地址和VM负载权重值;根据当前VM的负载,计算本地负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布;
虚拟端口管理模块,其用于:将所有转发面VM的实际物理接口映射到控制面VM上形成虚拟接口并进行统一编号;
数据同步模块,其用于:在控制面VM之间进行***配置数据和后台产生的用户数据的同步;
MP-BGP协议模块,其用于:通过MP-BGP协议通信,扩展MP-BGP更新消息以支持集群学习;
VXLAN模块,其用于:维护底层VXLAN隧道,进行VXLAN头部报文封装/解封装;
Openflow服务端,其用于:从控制面VM中将已认证通过的用户表转换为转发表传递给转发面;
软转发模块,其用于:在VM的多个虚拟网卡间根据路由表和快速转发算法进行三层转发。
在上述技术方案的基础上,所述转发面VM包括:
集群协同模块,其用于:从MP-BGP协议模块中,获取MP-BGP更新消息的扩展属性,学习其他VM的ID编号、VM角色、虚拟IP地址和VM负载权重值;根据当前VM的负载,计算本地负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布;
MP-BGP协议模块,其用于:通过MP-BGP协议通信,扩展MP-BGP更新消息以支持集群学习;
VXLAN模块,其用于:维护底层VXLAN隧道,进行VXLAN头部报文封装/解封装;
Openflow客户端,其用于:接收控制面VM发送的已认证通过的用户数据,形成转发表;
软转发模块,其用于:在VM的多个虚拟网卡间根据路由表和快速转发算法进行三层转发。
与现有技术相比,本发明的优点在于:
本发明按照工作性质的不同,分别建立控制面VM和转发面VM;将控制面VM和转发面VM统一到一张基于VXLAN构建的overlay虚拟业务控制网中,并将VM角色和VM负载权重值作为MP-BGP(Multi-ProtocolBorderGatewayProtocol,多协议边界网关协议)更新消息的扩展属性,实现了VM节点的自动发现及负载权重交换过程;以负载权重值为基础,控制面VM将用户三层业务流合理分摊在不同转发面VM上处理,转发面VM将用户接入信令流分摊在不同控制面VM上处理,实现全***的负载分担,提升整体并发度和可靠性。
附图说明
图1是本发明实施例的数据中心内虚拟BRAS设备负载分担方法的总体组网实例图;
图2是本发明实施例的数据中心内虚拟BRAS设备负载分担方法的虚拟业务控制网初始建立步骤图;
图3是本发明实施例的数据中心内虚拟BRAS设备负载分担方法的某用户接入***时的处理示例图;
图4是本发明实施例的数据中心内虚拟BRAS设备负载分担方法的转发面VM动态建立流程交互图;
图5是本发明实施例的数据中心内虚拟BRAS设备负载分担方法的控制面VM动扩充流程交互图;
图6是本发明实施例的数据中心内虚拟BRAS设备负载分担方法的以DHCP用户接入***为例的处理流程交互图;
图7是本发明实施例的数据中心内虚拟BRAS设备负载分担***的VM中模块划分图。
具体实施方式
本发明实施例提供一种数据中心内虚拟BRAS设备负载分担方法,包括以下步骤:
控制器在数据中心内启动两台VM,将两台VM配置为控制面VM,并配置其BGP(BorderGatewayProtocol,边界网关协议)参数与虚拟IP地址;
两台所述控制面VM根据BGP参数与虚拟IP地址建立MP-BGP关联关系,建立基于VXLAN(VirtualExtensibleLAN,虚拟扩展局域网)的虚拟业务控制网络及内部集群数据同步协议,并向控制器请求启动转发面VM;
控制器启动新VM并配置为转发面VM,转发面VM通过建立VXLAN隧道加入虚拟业务控制网络,控制面VM学习转发面VM的虚拟IP地址,建立基于虚拟IP的控制关系;
根据各VM的负载权重值,控制面VM将用户三层业务流分摊至多个转发面VM上处理,转发面VM将用户接入信令流分摊至多个控制面VM上处理。
本发明实施例中两台控制面VM之间的通信按照EVPN(EthernetVirtualPrivateNetwork,以太专用私有网络)overVXLAN的规范处理。EVPNoverVXLAN是一种应用场景,即在VXLAN通道上叠加EVPN技术,需要扩展MP-BGP更新消息中扩展属性以支持集群学习。
作为优选的实施方式,两台所述控制面VM将VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性,根据虚拟IP地址建立两台所述控制面VM之间的数据同步通道,具体包括以下步骤:
两台所述控制面VM将本VM的VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性,其中一台VM收到对端的MP-BGP更新消息时,从扩展属性中获取对端VM的VM角色和VM负载权重值,决定控制面的集群管理主节点,集群管理主节点根据双方虚拟IP地址,采用内部集群数据同步协议,建立两台所述控制面VM之间的数据同步通道。
作为优选的实施方式,转发面VM通过建立VXLAN隧道加入虚拟业务控制网络,并将VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性;控制面VM学习转发面VM的虚拟IP地址,建立基于虚拟IP的控制关系,具体包括以下步骤:
转发面VM启动后,通过MP-BGP更新消息获得底层VXLAN隧道参数,建立VXLAN隧道,接入虚拟业务控制网络;将本VM的VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性对外发布;
控制面VM从虚拟业务控制网络中转发面VM发出的MP-BGP更新消息学习到该VM上线和该VM的虚拟IP地址,通过SDN接口采用虚拟IP地址控制转发面VM的行为。
以下结合附图对本发明的实施例作进一步详细说明。
如图1和图2所示,在数据中心内启动两台VM,并建立虚拟业务控制网络的具体包括以下步骤:
步骤01,由控制器在数据中心DC内启动两台VM。
步骤02,由控制器将两台VM配置为控制面VM节点,并配置BGP参数与本机虚拟IP地址。
步骤03,控制面的两台VM根据配置建立MP-BGP关联关系,通过MP-BGP(Multiprotocol-BorderGatewayProtocol,多协议边界网关协议)消息,得知底层VXLAN隧道参数,完成VXLAN通道的自动发现,从而建立起最原始虚拟业务控制网络。
步骤04,控制面的两台VM将本VM的VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性,其中一台VM收到对端的MP-BGP更新消息时,从扩展属性中获取对端VM的VM角色和VM负载权重值,选出VM负载权重值最低的VM作为控制面的集群管理主节点(Leader)(若VM负债权重值相等,可通过负载权重值含有的时间戳进行比较)。控制面的集群管理主节点根据双方虚拟IP地址,建立内部集群数据同步协议,作为两台所述控制面VM之间的数据同步通道,确保控制面VM间数据的一致性。
步骤05,控制面VMLeader发现当前网络中不存在转发节点,于是要求控制器启动一个转发面VM。
步骤06,转发面VM启动后,通过MP-BGP更新消息,通告底层VXLAN隧道参数,从而接入虚拟业务控制网络。
步骤07,控制面VM从虚拟业务控制网络中转发面VM发出的MP-BGP更新消息学习到该VM上线和该VM的虚拟IP地址,可通过NETCONF/Openflow等SDN接口通过虚拟IP地址控制转发面VM的行为。
上述步骤中的VXLAN通道是用于将接入用户的用户信令从数据面提取到控制面而采用的一种VPN技术,采用VXLAN通道比较方便原始用户数据包的传递。
上述步骤中的MP-BGP协议用于管理所有的VXLAN通道,实现VXLAN通道的自动发现和建立,以实现在数据中心内部VM的自动上线关联。
上述步骤中的Openflow通道是一种配置通道,在用户信令被控制面处理之后,控制面上就会形成各种转发表和用户表,均需要下发到转发面生效。采用Openflow通道就以实现与现有SDN的标准保持一致。
上述步骤中的控制面VM之间的集群同步协议:这个是内部私有协议,用于在不同的控制面节点中同步用户数据。
进一步的,在虚拟业务控制网络在具备一对控制面VM和不少于1个的转发面VM之后,就可以处理用户接入请求。根据各VM的负载权重值,控制面VM会将用户三层业务流分摊至多个转发面VM上处理,而转发面VM会将用户接入信令流分摊至多个控制面VM上处理,具体步骤如图3所示:
步骤①,转发面VM3收到用户的初始接入信令,请求***分配IP地址。
步骤②,转发面VM3根据均衡算法,将用户初始信令通过VXLAN隧道传递到被选中的控制面VM上去,这里假设转发面VM3选中了控制面VM1。
步骤③,控制面VM1进行用户认证过程,如用户认证通过,则将用户接入信息通过集群数据同步协议传递给控制面中的所有在线VM上(比如图中的控制面VM2)。
步骤④,控制面VM1决定分配转发面VM4作为此用户的默认三层网关,于是通过NETCONF(NetworkConfigurationProtocol,网络配置协议)/Openflow等SDN接口向转方面VM4配置路由,ACL,QoS等数据,为此用户开启路由转发并预留***资源。
步骤⑤,控制面VM1向转发面VM3回复用户的初始接入信令,分配用户IP地址和网关地址。
步骤⑥,转发面VM3将返回的用户接入信令剥去VXLAN封装,发送到用户接口上。
图4是由控制面VM触发***中增加转发面VM,并接入虚拟业务控制网的详细处理流程图:
步骤1,控制面VM根据性能统计信息,计算得出需要在网络中增加转发面VM。性能统计信息由当前网络中转发面VM通过已建立的Openflow通道汇总到控制面。
步骤2,控制面VM通过NETCONF事件上报的方式,向控制器发送容量扩展申请事件。
步骤3,控制器进行扩容决策,如果符合扩容条件,则开始通过内置或外接编排器,在DC网络中启动一个新的VM。按照虚拟化网络标准,启动新的VM这种任务是由编排器这种网元来负责的。但是在具体组网时,一些运营商和厂家将控制器和编排器合设了,就称之为内置编排器,否则为外置编排器。
步骤4-5,VM启动,完成操纵***加载、VBRAS设备软件加载,并使VBRAS设备默认配置生效。
步骤6,转发面VM按预制的默认配置,向控制器发起配置申请。
步骤7-10,控制器按照预制的配置模板,按自动编号规则计算转发面VM的各项必备网络基础配置参数,包括其VM角色(即该VM是控制面VM还是转发面VM),网络接口参数,MP-BGP协议基本参数,然后将这些数据通过NETCONF下发到转发面VM上生效。
步骤11,控制器通过NETCONF更新控制面VM中的MP-BGP协议基本参数,将新加入的转发面VM接口地址信息告知它。同时也告知***中其他的控制面VM。(如果控制器本身作为MP-BGP协议的路由反射器,则此步骤可简化)
步骤12,控制面VM和转发面VM之间建立MP-BGP协议通道。
步骤13,转发面VM根据本地当前负载情况,计算本地VM负载权重值。
步骤14,转发面VM扩展EVPN中,收到MP-BGP的更新(update)消息,当MP-BGP更新消息携带type3NLRI(NetworkLayer ReachabilityInformatica网络层可达消息)字段,在其中增加扩展属性。type3NLRI这个字段是标准字段,字段中的具体格式允许存在厂商自定义内容,因此可以增加扩展属性,扩展属性包含VM角色和VM负载权重值。其中,扩展EVPN就是指扩展MP-BGP协议(EVPN的管理协议),在其中增补了节点的角色信息和负载权重信息交互的流程。
步骤15,控制面VM从MP-BGP更新消息中可以学习到对端的VXLAN隧道信息,同时通过扩展属性学习到对端的VM角色是转发面VM,以及它当前的负载权重。负载权重低的,在控制面VM分配用户默认网关时,优先级较高。
步骤16-17,控制面VM通过类似的方式通知转发面VM其VXLAN隧道信息和负载权重。转发面VM在向VXLAN通道中传递用户初始接入信令时,将优先选择负载权重值较低的控制面VM。
步骤18,VXLAN隧道建立。由于转发面VM会和***中存在的所有控制面VM重复以上流程,因此相当于将转发面VM接入了一个基于VXLAN的虚拟业务控制网。
步骤19,转发面VM和控制面VM之间可以利用VXLAN虚拟IP,建立基于虚拟IP的Openflow控制关系。后续当用户接入时,可通过此通道从控制面VM向转发面VM传递转发表。
控制面VM触发***中另外增加控制面VM的情况与以上步骤类似,区别在于不必进行步骤19,因为控制面VM之间不具备Openflow通道,但需要另外开启后台数据同步通道,即建立基于VXLAN内部集群数据同步协议。
控制面VM触发***中另外增加控制面VM的步骤见图5:
步骤1,控制面VM收集自身处理统计信息。判断是否已达预制的处理性能容量门限。
步骤2,若控制面已达到性能门限,则通过NETCONF事件上报的方式,向控制器发送容量扩展申请事件。
步骤3,控制器进行扩容决策,如果符合扩容条件,则在DC网络中启动一个新的VM,即控制面VM2。
步骤4-5,VM启动,完成操纵***加载、VBRAS设备软件加载,并使VBRAS设备默认配置生效。
步骤6,新VM按预制的默认配置,向控制器发起配置申请。
步骤7-10,控制器按照预制的配置模板,按自动编号规则计算控制面VM的各项必备网络基础配置参数,包括其VM角色,网络接口参数,MP-BGP协议基本参数,然后将这些数据通过NETCONF下发到新VM上生效。
步骤11,控制器通过NETCONF更新控制面VM中的MP-BGP协议参数,将新加入的控制面VM2接口地址信息告知它。同时也告知***中其他的控制面VM。(如果控制器本身作为MP-BGP协议的路由反射器,则此步骤可简化)
步骤12,控制面VM1新增加的控制面VM2之间建立MP-BGP协议通道。
步骤13,控制面VM2根据本地当前负载情况,计算本地VM负载权重值。
步骤14,控制面VM2扩展EVPN中,收到MP-BGP的更新(update)消息时,若MP-BGP更新消息携带type3NLRI,在其中增加扩展属性,扩展属性包含VM角色和VM负载权重值。
步骤15,控制面VM1从MP-BGP更新消息中可以学习到VM2的VXLAN隧道信息,同时通过扩展属性学习到VM2的VM角色是控制面。
步骤16-17,控制面VM1通过类似的方式通知VM2其VXLAN隧道信息和VM角色信息。
步骤18,基于VXLAN隧道,建立控制面VM间的集群数据同步协议。
需要说明的是,控制面和转发面VM一般只在出现异常情况下减少,减少则***中其他节点将通过MP-BGP协议定时检测到异常情况,此时将对应VM节点的权重调整为最低即可。
下面以DHCP用户接入VBRAS***为例,结合图6,详细描述负荷分担的整个过程。此时假定***已按照图4所示的步骤建立起了完整的虚拟业务控制网,并且网络中各个VM节点都交换了权重信息。当存在用户接入请求时,具体的处理步骤为:
步骤1,用户设备发出DHCPDiscover报文。
步骤2,转发面VM1接收了此报文,进行报文分析匹配,了解到此消息为用户接入信令,需要转入虚拟业务控制网。
步骤3,根据从控制面VM发来的MP-BGP更新消息的扩展属性中学习到的控制面VM节点权重,选择负载最轻的VM控制节点。
步骤4,由于DHCPDiscover包为一个广播报文,因此可能有其他转发面VM也同时收到了这条报文。为了避免造成一致性问题,这里采用一个集群随机退火算法:转发面VM根据其他转发面VM节点权重,随机延时一段时间后再处理此报文,保证负载最轻的转发面VM能负责此DHCP流程的全过程。
步骤5,转发面VM1将此DHCPDiscover(请求)消息封装成VXLAN报文,发送到选中的控制面VM节点上。
步骤6,控制面VM对此用户,通过DHCPDiscover中携带的option信息或其他字段值进行AAA鉴权认证。
步骤7,如果用户认证通过,则控制面VM根据当前记录的,它学习到的所有转发面VM权重值,找出负载最低的转发面VM,这里假设是VM2。从IP地址池中分配和转发面VM2用户接口IP一致的IP地址给用户,并在DHCPoffer包中携带转发面VM2用户接口IP地址作为默认网关地址。
步骤8,控制面VM在VXLAN通道中回复DHCPOffer(应答)消息给转发面VM1。
步骤9,转发面VM1剥离VXLAN头,将普通DHCPOffer消息发出给用户。
步骤10,用户接纳此IP地址,发DHCPRequest消息进行确认。
步骤11-13,转发面VM1将此DHCPRequest仍然选择到控制面VM,因为这时控制面VM的权重值并未更新,因此能保证Request消息的选择和Discover时是一致的。当然,如果这期间权重值发生了更新导致控制面VM的优先级变化,这里可能出现选择不一致。这时Request报文将被新的控制面VM收取并丢弃,导致DHCP超时,引发用户重新发送DHCPDiscover报文重新处理。因此总的来说,只要权重值更新频率不高,就不影响用户接入效果。
步骤14,控制面VM向真正被选定的转发面VM2,通过Openflow下发转发表,开启针对此用户的转发通道。
步骤15-16,DHCP的最终确认。
步骤17,控制面VM将用户接入稳态信息,稳态信息即为在一段较长时间内(秒级)中稳定不变的数据,利用数据同步子***同步到全控制面中。这样保证了任何一个控制面VM如果因为异常挂死,其他控制面VM可以正常接管此用户,提高了***可靠性。
图7描述了VM中包含的各种模块,根据VM角色的不同,控制面VM和转发面VM中含有的模块有一定区别。图7中只描述了和VM集群处理直接相关的模块。各个模块的功能和交互方式为:
集群协同模块:负责从MP-BGP协议模块中,获取MP-BGP更新消息的扩展属性,学习集群中其他VM的ID编号、VM角色、虚拟IP地址,VM负载权重值。同时根据当前VM节点的负载,计算合理的本地负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布。
虚拟端口管理模块:此模块只在控制面VM中出现。它负责将所有转发面VM的实际物理接口(子接口)映射到控制面VM上形成虚拟接口并进行统一编号,使得在控制器、命令行中出现的***呈现为一个整体。
数据同步模块:此模块只在控制面VM中出现。它负责在控制面VM之间同步***配置数据和后台产生的用户数据。
MP-BGP协议模块:流程上按照EVPNoverVXLAN(EVPNover VXLAN是一种应用场景,即在VXLAN通道上叠加EVPN技术)的规范处理,但需要扩展MP-BGP更新消息中扩展属性以支持集群学习。
VXLAN模块:负责维护底层VXLAN隧道。承担隧道发现,报文封装/解封装VXLAN头部任务。
Openflow服务端和客户端:Openflow协议栈。控制面VM运行服务端,转发面VM运行客户端。Openflow协议栈在控制面VM和转发面VM之间承担流表的收发任务。它的工作任务是从控制面VM中将已认证通过的用户数据,形成转发表传递给转发面,这样转发面VM就可以为认证通过的用户提供转发服务;反之,对认证没有通过的用户,三层转发不通。这样的机制起到了对用户接入网络的管控作用。
软转发模块:采用DPDK(DataPlaneDevelopmentKit,数据平面开发套件)高速驱动等方式,在VM的多个虚拟网卡间根据路由表和快速转发算法进行三层转发,为VBRAS的软件转发基础。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种数据中心内虚拟BRAS设备负载分担方法,其特征在于,包括以下步骤:
控制器在数据中心内启动两台VM,将两台VM配置为控制面VM,并配置其BGP参数与虚拟IP地址;
所述两台控制面VM根据BGP参数与虚拟IP地址建立MP-BGP关联关系,建立基于VXLAN的虚拟业务控制网络;
所述两台控制面VM将VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性,根据虚拟IP地址建立两台所述控制面VM之间的数据同步通道,并向控制器请求启动转发面VM;
控制器启动新VM并配置为转发面VM,转发面VM通过建立VXLAN隧道加入虚拟业务控制网络,并采用VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性;控制面VM学习转发面VM的虚拟IP地址,建立基于虚拟IP的控制关系;
根据各VM的负载权重值,控制面VM将用户三层业务流分摊至多个转发面VM上处理,转发面VM将用户接入信令流分摊至多个控制面VM上处理。
2.如权利要求1所述的方法,其特征在于,所述两台控制面VM将VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性,根据虚拟IP地址建立两台所述控制面VM之间的数据同步通道,具体包括以下步骤:
所述两台控制面VM将本VM的VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性,其中一台VM收到对端的MP-BGP更新消息时,从扩展属性中获取对端VM的VM角色和VM负载权重值,决定控制面的集群管理主节点;
集群管理主节点根据双方虚拟IP地址,建立内部集群数据同步协议,作为两台所述控制面VM之间的数据同步通道。
3.如权利要求1所述的方法,其特征在于,所述转发面VM通过建立VXLAN隧道加入虚拟业务控制网络,并采用VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性;控制面VM学习转发面VM的虚拟IP地址,建立基于虚拟IP的控制关系,具体包括以下步骤:
转发面VM启动后,通过MP-BGP更新消息获得底层VXLAN隧道参数,建立VXLAN隧道,接入虚拟业务控制网络;
将本VM的VM角色和VM负载权重值作为MP-BGP更新消息的扩展属性对外发布;
控制面VM从虚拟业务控制网络中转发面VM发出的MP-BGP更新消息学习到该VM上线和该VM的虚拟IP地址,通过SDN接口采用虚拟IP地址控制转发面VM的行为。
4.如权利要求1所述的方法,其特征在于,所述根据各VM的负载权重值,控制面VM将用户三层业务流分摊至多个转发面VM上处理,转发面VM将用户接入信令流分摊至多个控制面VM上处理,具体包括以下步骤:
其中一个转发面VM收到用户接入信令,选出负载权重最低的控制面VM,将用户接入信令通过VXLAN隧道传递至被选中的控制面VM;
被选中的控制面VM收到用户接入信令,进行用户认证,若用户认证通过,将用户接入数据通过集群数据同步协议传递给控制面中的所有在线的控制面VM;
被选中的控制面VM选出负载权重最低的转发面VM,将选中的转发面VM分配为该用户的默认三层网关,向被选中的转发面VM配置路由数据,开启路由转发;
被选中的控制面VM向收到用户接入信令的转发面VM回复地址分配信息信令;该转发面VM将返回的地址分配信息信令剥去VXLAN封装,发送至用户。
5.如权利要求4所述的方法,其特征在于,所述方法还包括以下步骤:
控制面VM根据性能统计信息,计算得出需增加转发面VM或控制面VM时,向控制器发送容量扩展申请事件;
控制器在数据中心网络中启动一个新VM,并向新VM下发网络基础配置参数,网络基础配置参数包括其VM角色、网络接口参数、MP-BGP协议基本参数;
控制器将新转发面VM或控制面VM的接口地址信息告知控制面中的所有在线的控制面VM;
新转发面VM或控制面VM通过建立MP-BGP协议通道、建立VXLAN隧道,接入虚拟业务控制网;
新转发面VM或控制面VM根据当前VM的负载,计算本地负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布;并从MP-BGP协议模块中,获取MP-BGP更新消息的扩展属性,学习其他VM的ID编号、VM角色、虚拟IP地址和VM负载权重值;
若为新转发面VM,控制面VM根据学习到的新转发面VM的虚拟IP地址,建立基于虚拟IP的控制关系。
6.如权利要求5所述的方法,其特征在于,所述性能统计信息由当前网络中转发面VM通过已建立的Openflow通道汇总到控制面VM。
7.如权利要求5所述的方法,其特征在于,所述控制器在数据中心网络中启动一个新VM,具体包括以下步骤:
控制器进行扩容决策,如果符合扩容条件,则通过编排器,在数据中心中启动一个新的VM。
8.一种数据中心内虚拟BRAS设备负载分担***,其特征在于,包括:
控制器,其用于:在数据中心内启动VM或销毁VM,向VM下发网络基础配置参数,网络基础配置参数包括VM角色、网络接口参数、MP-BGP协议基本参数;根据VM请求决定是否启动新VM;
控制面VM,其用于:根据BGP参数与虚拟IP地址建立MP-BGP关联关系,建立基于VXLAN的虚拟业务控制网络及内部集群数据同步协议,并向控制器请求启动转发面VM;通过虚拟IP地址控制转发面VM的行为;将本VM的VM角色和负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布;获取其他VM的MP-BGP更新消息的扩展属性,学习其他VM的ID编号、VM角色、虚拟IP地址和VM负载权重值;根据转发面VM的负载权重值,将用户三层业务流分摊至多个转发面VM上处理;
转发面VM,其用于:通过建立VXLAN隧道加入虚拟业务控制网络;将本VM的VM角色和负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布;获取其他VM的MP-BGP更新消息的扩展属性,学习其他VM的ID编号、VM角色、虚拟IP地址和VM负载权重值;根据控制面VM的负载权重值,将用户接入信令流分摊至多个控制面VM上处理。
9.如权利要求8所述的***,其特征在于,所述控制面VM包括:
集群协同模块,其用于:从MP-BGP协议模块中,获取MP-BGP更新消息的扩展属性,学习其他VM的ID编号、VM角色、虚拟IP地址和VM负载权重值;根据当前VM的负载,计算本地负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布;
虚拟端口管理模块,其用于:将所有转发面VM的实际物理接口映射到控制面VM上形成虚拟接口并进行统一编号;
数据同步模块,其用于:在控制面VM之间进行***配置数据和后台产生的用户数据的同步;
MP-BGP协议模块,其用于:通过MP-BGP协议通信,扩展MP-BGP更新消息以支持集群学习;
VXLAN模块,其用于:维护底层VXLAN隧道,进行VXLAN头部报文封装/解封装;
Openflow服务端,其用于:从控制面VM中将已认证通过的用户表转换为转发表传递给转发面;
软转发模块,其用于:在VM的多个虚拟网卡间根据路由表和快速转发算法进行三层转发。
10.如权利要求8所述的***,其特征在于,所述转发面VM包括:
集群协同模块,其用于:从MP-BGP协议模块中,获取MP-BGP更新消息的扩展属性,学习其他VM的ID编号、VM角色、虚拟IP地址和VM负载权重值;根据当前VM的负载,计算本地负载权重值,携带在MP-BGP更新消息的扩展属性中对外发布;
MP-BGP协议模块,其用于:通过MP-BGP协议通信,扩展MP-BGP更新消息以支持集群学习;
VXLAN模块,其用于:维护底层VXLAN隧道,进行VXLAN头部报文封装/解封装;
Openflow客户端,其用于:接收控制面VM发送的已认证通过的用户数据,形成转发表;
软转发模块,其用于:在VM的多个虚拟网卡间根据路由表和快速转发算法进行三层转发。
CN202010136756.4A 2020-03-02 2020-03-02 一种数据中心内虚拟bras设备负载分担方法及*** Active CN111464454B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010136756.4A CN111464454B (zh) 2020-03-02 2020-03-02 一种数据中心内虚拟bras设备负载分担方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010136756.4A CN111464454B (zh) 2020-03-02 2020-03-02 一种数据中心内虚拟bras设备负载分担方法及***

Publications (2)

Publication Number Publication Date
CN111464454A CN111464454A (zh) 2020-07-28
CN111464454B true CN111464454B (zh) 2022-03-18

Family

ID=71684963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010136756.4A Active CN111464454B (zh) 2020-03-02 2020-03-02 一种数据中心内虚拟bras设备负载分担方法及***

Country Status (1)

Country Link
CN (1) CN111464454B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220357938A1 (en) * 2021-05-04 2022-11-10 Red Hat, Inc. Automatically configuring and deploying a software operator in a distributed computing environment from a package

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367197B (zh) * 2020-10-30 2022-08-30 新华三技术有限公司 网络设备的迁移方法及装置
CN113766032A (zh) * 2021-09-14 2021-12-07 烽火通信科技股份有限公司 转控分离架构vbras的业务保护方法及***
CN114301823B (zh) * 2021-12-29 2024-01-02 中国电信股份有限公司 一种路由通告方法、装置、设备及存储介质
CN114301833A (zh) * 2021-12-29 2022-04-08 中国电信股份有限公司 路由通告方法、路由通告装置、设备以及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209121B (zh) * 2013-03-15 2019-02-01 中兴通讯股份有限公司 基于开放流协议的控制面设备的发现处理方法及装置
CN105577723B (zh) * 2014-10-16 2019-04-05 新华三技术有限公司 虚拟化网络中实现负载分担的方法和装置
CN105610632B (zh) * 2016-02-14 2019-12-24 华为技术有限公司 一种虚拟网络设备及相关方法
US10237176B2 (en) * 2016-06-30 2019-03-19 Juniper Networks, Inc. Auto discovery and auto scaling of services in software-defined network environment
US10637717B2 (en) * 2017-03-27 2020-04-28 A10 Networks, Inc. Fault resilient virtual broadband gateway
CN108616456A (zh) * 2018-03-20 2018-10-02 北京优帆科技有限公司 一种基于vxlan的负载均衡方法及负载均衡器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220357938A1 (en) * 2021-05-04 2022-11-10 Red Hat, Inc. Automatically configuring and deploying a software operator in a distributed computing environment from a package

Also Published As

Publication number Publication date
CN111464454A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111464454B (zh) 一种数据中心内虚拟bras设备负载分担方法及***
US11563602B2 (en) Method and apparatus for providing a point-to-point connection over a network
US10298449B2 (en) Automatically generated virtual network elements for virtualized packet networks
US10063470B2 (en) Data center network system based on software-defined network and packet forwarding method, address resolution method, routing controller thereof
US8958340B2 (en) System and methods for open fabric management
US11336973B2 (en) Optical line terminal OLT device virtualization method and related device
US11005752B2 (en) Packet transmission
US9032054B2 (en) Method and apparatus for determining a network topology during network provisioning
WO2016107418A1 (zh) 云化网络通信路径的分配方法、装置及***
US11398956B2 (en) Multi-Edge EtherChannel (MEEC) creation and management
US11706088B2 (en) Analyzing and configuring workload distribution in slice-based networks to optimize network performance
US20130223444A1 (en) System and methods for managing network packet forwarding with a controller
WO2019047740A1 (zh) 区域互联控制器、区域互联控制方法以及计算机存储介质
WO2014000292A1 (zh) 跨数据中心的虚拟机迁移方法、服务控制网关及***
EP3493483A1 (en) Virtual broadband access method, controller, and system
EP3413511A1 (en) Vnfm determining method and network function virtualization orchestrator
US11223597B2 (en) Network and network management method
WO2017114363A1 (zh) 报文处理方法、bng及bng集群***
US11522754B2 (en) Systems and methods for Zero-Touch Provisioning of a switch in intermediate distribution frames and main distribution frames
US20220350637A1 (en) Virtual machine deployment method and related apparatus
US11582102B2 (en) Systems and methods for integrating network switch management with computing resource management
CN113254148A (zh) 一种虚拟机的迁移方法及云管理平台
US9876689B1 (en) Automatically generated virtual network elements for virtualized local area networks
CN114124902B (zh) 多激活检测方法及***
CN115987778A (zh) 一种基于Kubernetes集群的容器通信方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant