CN107666442B - 一种基于软件定义网络sdn的虚拟网络控制方法和装置 - Google Patents
一种基于软件定义网络sdn的虚拟网络控制方法和装置 Download PDFInfo
- Publication number
- CN107666442B CN107666442B CN201610620705.2A CN201610620705A CN107666442B CN 107666442 B CN107666442 B CN 107666442B CN 201610620705 A CN201610620705 A CN 201610620705A CN 107666442 B CN107666442 B CN 107666442B
- Authority
- CN
- China
- Prior art keywords
- message
- equipment
- outer layer
- mpls label
- label
- 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
Links
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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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/74—Address processing for routing
Abstract
本申请提出一种基于软件定义网络SDN的虚拟网络控制方法和装置,涉及虚拟网络领域,包括:核心P设备去掉接收报文的外层MPLS标签,并将所述报文的源媒体介入控制MAC地址修改为所述P设备的MAC地址,根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备;所述PE设备根据所述报文的内层多协议标签交换MPLS标签和目的媒体介入控制MAC地址添加所述报文的虚拟局域网VLAN标签,并将修改后的报文转发至所述内层MPLS标签对应的虚拟网络交换机vSwitch;所述vSwitch去掉所述报文的VLAN标签,并根据所述报文的对应的目的MAC地址和VLAN标签确定所述报文对应的租户虚拟机。
Description
技术领域
本发明涉及虚拟网络领域,具体涉及一种基于软件定义网络SDN的虚拟网络控制方法和装置。
背景技术
近年来,传统网络架构已不足以应对人们对网络灵活,复杂的需求,现有网络方案往往过于复杂,维护成本高,SDN(Software Define Network,软件定义网络)的概念随之兴起,得到了很多业内人士的追崇。SDN核心思想为软件可编程,将网络的控制和转发分离。改变了传统网络分布式系统的设计,将网络的控制层逻辑集中到SDN控制器去管理和维护,大大降低了网络的管理复杂性,解放了运维人员,同时,由软件实现网络转发逻辑,也大大增加了网络的灵活性,为未来网络控制提供了一个先进性架构。
基于SDN的概念,还出现了一种新的无分层的网络控制方式-openflow网络,可以说openflow是SDN概念的一种革命性的实现,OpenFlow网络由OpenFlow Switch(OpenFlow交换机)和Controller(控制器)两部分组成。
OpenFlow交换机是整个OpenFlow网络的核心部件,主要管理数据层的转发。OpenFlow交换机Switch拥有一个或多个FlowTable(流表),它只按照流表进行转发,FlowTable的生成、维护和下发由Controller来实现。这里的FlowTable并非是指IP(Internet Protocol,网络互连协议)五元组(IP源地址、IP目的地址、协议号、源端口、目的端口),而是涵括了二到七层网络的几乎所有网络字段,FlowTable中的每个关键字都可以通配,网络的运营商可以决定使用何种粒度的流,比如运营商只需要根据目的IP进行路由,那么FlowTable中就可以只有IP目的地址字段是有效的,其它全为通配。传统网络中数据包的流向是人为指定的,虽然交换机、路由器拥有控制权,却没有数据流的概念,只进行数据包级别的交换;而在OpenFlow网络中,统一的Controller取代路由,决定了所有数据包在网络中传输路径。OpenFlow采用控制和转发分离的架构,意味着MAC(Media Access Control,介质访问控制)地址的学习由Controller来实现,VLAN(Virtual Local Area Network,虚拟局域网)和基本的路由配置也由Controller下发给OpenFlow Switch。对于三层网络设备,各类路由器运行在Controller之上,Controller根据需要下发给相应的路由器。当一个Controller同时控制多个OpenFlow Switch时,它们看起来就像一个大的逻辑交换机。
FlowTable的下发可以是主动的,也可以是被动的。主动模式下,Controller将自己收集的FlowTable信息主动下发给OpenFlow Switch,随后OpenFlow Switch可以直接根据FlowTable进行转发。被动模式下OpenFlow Switch收到数据包后,首先在本地的FlowTable上查找转发目标端口,如果没有匹配,则把数据包转发给Controller,由控制层决定转发端口,并下发相应的FlowTable。被动模式的好处是网络设备无需维护全部的FlowTable,只有当实际的流量产生时才向Controller获取FlowTable记录并存储,当记录老化时可以删除相应FlowTable,故可以大大节省存储器空间。
相关的数据中心配置复杂,维护难度大,并且灵活性差,网络需求稍有改动,对于网络的修改往往都非常巨大,并且由于不同型号和厂家的设备操作命令一般都有所差异,网络配置不能完全实现自动化,需要有人介入,往往会因为操作疏忽,配置错误,往往导致不必要的损失。传统数据中心的网络架构已不能满足对于网络的控制实现自动化和灵活定制。
发明内容
本发明提供一种基于SDN的虚拟网络控制方法和装置,实现了基于openflow控制器和硬件交换机平台,采用SDN架构提供高性能的方案,实现了云计算和园区网的基本需求,用户可以根据业务类型实现不同的虚拟网络。
为了实现上述发明目的,本发明采取的技术方案如下:
一种基于软件定义网络SDN的虚拟网络控制方法,包括:
核心P设备去掉接收报文的外层MPLS标签,并将所述报文的源媒体介入控制MAC地址修改为所述P设备的MAC地址,根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备;
所述PE设备根据所述报文的内层多协议标签交换MPLS标签和目的媒体介入控制MAC地址添加所述报文的虚拟局域网VLAN标签,并将修改后的报文转发至所述内层MPLS标签对应的虚拟网络交换机vSwitch;
所述vSwitch去掉所述报文的VLAN标签,并根据所述报文的对应的目的MAC地址和VLAN标签确定所述报文对应的租户虚拟机。
可选地,核心P设备包括:包括多个第一P设备和多个第二P设备;
核心P设备根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备包括:
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第二P设备;
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
可选地,核心P设备包括:包括多个第三P设备;
核心P设备根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备包括:
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
本发明实施例还提供一种基于软件定义网络SDN的虚拟网络控制方法,包括:
所述vSwitch根据租户虚拟机发送的以太网报文对应的源端口标识和目的媒体介入控制MAC地址将所述报文转发至所述报文的虚拟局域网VLAN标签对应的网络侧边缘PE设备;
所述PE设备去掉所述报文的VLAN标签,根据所述报文的源端口标识和目的媒体介入控制MAC地址添加所述报文的内层多协议标签交换MPLS标签和外层MPLS标签,并将所述报文转发至对应的核心P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备。
可选地,核心P设备包括:包括多个第一P设备和多个第二P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备包括:
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第一P设备;
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
可选地,核心P设备包括:包括多个第三P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备包括:
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
本发明实施例还提供一种基于软件定义网络SDN的虚拟网络控制系统,包括:核心P设备、网络侧边缘PE设备和虚拟网络交换机vSwitch,
核心P设备去掉接收报文的外层MPLS标签,并将所述报文的源媒体介入控制MAC地址修改为所述P设备的MAC地址,根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备;
所述PE设备根据所述报文的内层多协议标签交换MPLS标签和目的媒体介入控制MAC地址添加所述报文的虚拟局域网VLAN标签,并将修改后的报文转发至所述内层MPLS标签对应的虚拟网络交换机vSwitch;
所述vSwitch去掉所述报文的VLAN标签,并根据所述报文的对应的目的MAC地址和VLAN标签确定所述报文对应的租户虚拟机。
可选地,核心P设备包括:包括多个第一P设备和多个第二P设备;
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第二P设备;
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
可选地,核心P设备包括:包括多个第三P设备;
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
本发明实施例还提供一种基于软件定义网络SDN的虚拟网络控制系统,包括:核心P设备、网络侧边缘PE设备和虚拟网络交换机vSwitch;
所述vSwitch根据租户虚拟机发送的以太网报文对应的源端口标识和目的媒体介入控制MAC地址将所述报文转发至所述报文的虚拟局域网VLAN标签对应的网络侧边缘PE设备;
所述PE设备去掉所述报文的VLAN标签,根据所述报文的源端口标识和目的媒体介入控制MAC地址添加所述报文的内层多协议标签交换MPLS标签和外层MPLS标签,并将所述报文转发至对应的核心P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备。
可选地,核心P设备包括:包括多个第一P设备和多个第二P设备;
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第一P设备;
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
可选地,核心P设备包括:包括多个第三P设备;
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
本发明和现有技术相比,具有如下有益效果:
本发明结合硬件设备,比纯软件的云计算虚拟网络方案具有无法替代的高性能和稳定性,并且支持的网络拓扑规模巨大,而且随着规模的扩大,转发效率完全不受影响。
附图说明
图1为本发明实施例的基于软件定义网络SDN的虚拟网络控制方法的流程图;
图2为本发明实施例的基于软件定义网络SDN的虚拟网络控制方法的流程图;
图3为本发明实施例的基于软件定义网络SDN的虚拟网络控制系统的结构示意图;
图4为本发明实施例的SDN转发拓扑结构示意图;
图5为本发明实施例6的SDN转发数据流示意图;
图6为本发明实施例7的SDN控制器示意图;
图7为本发明实施例7的SDN网络说明场景图;
图8为本发明实施例8的交换机接入时序图;
图9为本发明实施例8的交换机角色接入时序图;
图10为本发明实施例8的链路状态变化处理时序图。
具体实施方式
为使本发明的发明目的、技术方案和有益效果更加清楚明了,下面结合附图对本发明的实施例进行说明,需要说明的是,在不冲突的情况下,本申请中的实施例和实施例中的特征可以相互任意组合。
如图1所示,本发明实施例提供一种基于软件定义网络SDN的虚拟网络控制方法,在报文下行时,包括:
核心P设备去掉接收报文的外层MPLS标签,并将所述报文的源媒体介入控制MAC地址修改为所述P设备的MAC地址,根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备;
所述PE设备根据所述报文的内层多协议标签交换MPLS标签和目的媒体介入控制MAC地址添加所述报文的虚拟局域网VLAN标签,并将修改后的报文转发至所述内层MPLS标签对应的虚拟网络交换机vSwitch;
所述vSwitch去掉所述报文的VLAN标签,并根据所述报文的对应的目的MAC地址和VLAN标签确定所述报文对应的租户虚拟机。
本发明实施例中P设备作为数据中心核心层交换机;PE设备作为数据中心接入层交换机,vSwitch作为二层交换机,并支持openflow协议,利用MPLS实现快速数据包交换和路由。与相关技术相比,相关技术中基于软件的SDN方案无法很好的提供大规模集群部署以及高性能保障,基于硬件的SDN方案大都对硬件设备有需求,无法适配原有的老旧交换机。本发明实施例的方法,主要是基于两层MPLS标签和openflow协议的转发流程设计,通过在交换机上适配openvswitch的方式,能够支持原有大部分传统的交换机,比其他纯软件的云计算虚拟网络方案具有无法替代的高性能和稳定性,并且支持的网络拓扑规模巨大,而且随着规模的扩大,转发效率完全不受影响。
如图4所示,本发明实施例中可以为两层P设备,提供无阻塞转发,核心P设备包括:包括多个第一P设备和多个第二P设备;
核心P设备根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备包括:
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第二P设备;
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
本发明实施例中可以为一层P设备,核心P设备包括:包括多个第三P设备;
核心P设备根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备包括:
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE
设备并剥离所述外层MPLS标签。
如图2所示,本发明实施例还提供一种基于软件定义网络SDN的虚拟网络控制方法,在报文上行时,包括:
所述vSwitch根据租户虚拟机发送的以太网报文对应的源端口标识和目的媒体介入控制MAC地址将所述报文转发至所述报文的虚拟局域网VLAN标签对应的网络侧边缘PE设备;
所述PE设备去掉所述报文的VLAN标签,根据所述报文的源端口标识和目的媒体介入控制MAC地址添加所述报文的内层多协议标签交换MPLS标签和外层MPLS标签,并将所述报文转发至对应的核心P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备。
本发明实施例在报文上行时,PE设备添加内层和外层MPLS标签,在P设备上匹配源端口和外层标签。
本发明实施例中可以为两层P设备,提供无阻塞转发,核心P设备包括:包括多个第一P设备和多个第二P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备包括:
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第一P设备;
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
本发明实施例中可以为两层P设备,核心P设备包括:包括多个第三P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备包括:
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
如图4所示,本发明实施例还提供一种基于软件定义网络SDN的虚拟网络控制系统,包括:核心P设备、网络侧边缘PE设备和虚拟网络交换机vSwitch,
核心P设备去掉接收报文的外层MPLS标签,并将所述报文的源媒体介入控制MAC地址修改为所述P设备的MAC地址,根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备;
所述PE设备根据所述报文的内层多协议标签交换MPLS标签和目的媒体介入控制MAC地址添加所述报文的虚拟局域网VLAN标签,并将修改后的报文转发至所述内层MPLS标签对应的虚拟网络交换机vSwitch;
所述vSwitch去掉所述报文的VLAN标签,并根据所述报文的对应的目的MAC地址和VLAN标签确定所述报文对应的租户虚拟机。
核心P设备包括:包括多个第一P设备和多个第二P设备;
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第二P设备;
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
核心P设备包括:包括多个第三P设备;
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
本发明实施例还提供一种基于软件定义网络SDN的虚拟网络控制系统,包括:核心P设备、网络侧边缘PE设备和虚拟网络交换机vSwitch;
所述vSwitch根据租户虚拟机发送的以太网报文对应的源端口标识和目的媒体介入控制MAC地址将所述报文转发至所述报文的虚拟局域网VLAN标签对应的网络侧边缘PE设备;
所述PE设备去掉所述报文的VLAN标签,根据所述报文的源端口标识和目的媒体介入控制MAC地址添加所述报文的内层多协议标签交换MPLS标签和外层MPLS标签,并将所述报文转发至对应的核心P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备。
核心P设备包括:包括多个第一P设备和多个第二P设备;
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第一P设备;
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
核心P设备包括:包括多个第三P设备;
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
实施例1
如图4所示,本实施例数据中心网络以三层网络为例,中间两层为full mesh连接的网络能提供无阻塞转发,接入层设备双上行到中间汇聚层网络,这里以两层P设备为示例,一层P设备的拓扑也同样支持。
P设备可以采用32*40G口的DC(data center)Core,PE设备可以采用48*10G+4*40G的TOR,这种拓扑使用48台DC Core和128台TOR最多可以提供3:1收敛的6144个10GE接入口,下面连接x86服务器,服务器上运行一个vswitch,作为转发使用,在这种拓扑规模下,按照24核128G内存的服务器配置,大致可提供约十万规模虚拟机的服务。
在本系统中上面的两层交换机作为P设备使用mpls的外层标签(Tunnel label)进行转发,系统中为每个P和PE设备分配一个全局唯一的tunnel label。
接入交换机作为PE设备连接服务器对于服务器上vSwitch(openvswitch,下面不做其他说明,都表示openvswitch)上来的报文查找目的mac或者目的ip进行转发,如果发给P设备则增加双层标签(外层标签为目的PE,内层标签为租户标识),如果发给本交换机其它服务器则做本地桥接转发不增加标签。
Inner label作用域在PE上,不同PE上的inner label可以相同,下面接口同时有Push inner label和Pop inner label操作只是通知这个流在对应处理它PE上的转发域。
为了上层控制器提供统一管理,需要在P和PE设备上封装一个openvswitch,这个openvswitch只是作为一个接口适配器来使用。
是基于BCM芯片的mpls转发流程符合OPENFLOW标准接口进行的,尽量使用芯片mpls的常用转发流程,基于BCM 56840、56850和56640三款芯片的盒式交换机进行设计,虽然对上使用的是OPENFLOW标准接口,但由于这三款芯片不是按OPENFLOW标准设计的芯片而是传统意义的以太网交换芯片,所以本设计受限于这三款芯片具体的功能实现流程细节和规格。
实施例2
P设备处理流程
1、P设备之间报文处理流程
P设备接收到的报文为带双层标签的mpls报文,报文的目的mac加上端口缺省vid(vlan id)查找后走mpls转发,匹配外层的Tunnel标签查找出口并修改标签前面的源mac为P设备的系统mac,目的mac和标签不修改,修改后的报文以untag形式从出口发出。如果SourcePort为0则表示不需要匹配源端口。
对应的openflow流表匹配项和动作为:
Match:DMac+SourcePort+Tunnel Label(mpls tag)
Action:DestPort+Set SMac
对应的openflow接口,都可以从报文处理流程中推理得到,不再详细写明。
2、P设备发给PE设备的报文处理流程
P设备接收到的报文为带双层标签的mpls报文,报文的目的mac加上端口缺省vid查找后走mpls转发,匹配外层的Tunnel标签查找出口并修改标签前面的源mac为设备的系统mac,目的mac不修改,删除Tunnel label,修改后的报文以untag形式从出口发出。如果SourcePort为0则表示不需要匹配源端口。
实施例3
PE设备2层报文处理流程
1、L2(2层报文)ingress(上行,入PE设备)报文处理流程
PE设备接收到的报文为带一个VDid(virtual device id,vlan id,区分虚拟网络中的vrouter和vbridge设备)的以太网报文,PE设备依据SourcePort和VDid为报文分配一个SVp并得到VFI,依据DMac+VFI查找mac表项得出报文需要增加的两层标签(Tunnel Label为代表目的PE的Label,内层标签为代表租户的inner Label)和出口,标签前二层头的目的mac为统一的mpls二层头mac,源mac为设备的系统mac,EtherType为mpls的类型0x8847,修改后的报文从出口以untag格式发出。
2、L2egress报文处理流程
PE设备接收到的报文为带一层标签的mpls报文,报文的目的mac(mpls标签前面的目的mac)加上端口缺省vid查找后走mpls转发,PE设备查找mpls标签表根据inner Label得到VFI,依据DMac(mpls标签后面的负载报文的目的mac)+VFI查找mac表项得出报文出口和VDid,修改后的报文从出口以tag格式发出。
由于OPENFLOW标准不支持如上动作所以接口需要修改如下,删除mpls前二层头为默认动作,匹配mpls头前面的mac也为默认动作。
实施例4
PE设备3层报文处理流程
1、L3ingress PE报文处理流程
PE设备接收到的报文为带一个VDid的以太网报文,PE设备依据SourcePort和VDid为报文分配一个L3IIF并得到VRF,PE设备依据DMac+VDid查表决定报文走三层转发,依据Dip+VRF查找路由表项得出报文需要增加的两层标签(Tunnel Label为代表目的PE的Label,内层标签为代表租户和虚拟交换机的inner Label)和出口,标签前二层头的目的mac为统一的mpls二层头mac,源mac为设备的系统mac,EtherType为mpls的类型0x8847,原始的二层头需要删除,修改后的报文从出口以untag格式发出。
2、L3egress PE报文处理流程
PE设备接收到的报文为带一层标签的mpls报文,报文的目的mac(mpls标签前面的目的mac)加上端口缺省vid查找后走mpls转发,PE设备查找mpls标签表根据inner Label得到VRF,依据Dip+VRF查找路由表项得出报文出口、VDid和源mac目的mac,修改后的报文从出口以tag格式发出。
实施例5
vSwitch设备处理流程
1、上行报文处理流程
vSwitch接收到VM发来的不带tag的以太网报文,vSwitch依据Source Port和目的mac得到上行的出口并增加一个VDid,依据目的mac不同vSwitch可以区别出报文需要进行二层转发还是三层转发,二层转发和三层转发各分配一个VDid(由控制器根据虚拟机所在vbridge或者vrouter分配,VDid在vswitch设备内唯一),修改后的报文从出口以tag格式发出。
2、下行报文处理流程
vSwitch接收到PE发来的带tag的以太网报文,vSwitch依据Source Port、VDid和目的mac得到出口并删除VDid,修改后的报文从出口以untag格式发出。
实施例6
如图5所示,VM1发出的报文经vSwitch1加上VDid后发给PE1,PE1走L2Ingress PE报文处理流程把带双层标签的报文发给P21,P21走P设备之间报文处理流程发给P11,P11走P设备之间报文处理流程发给P23,P23走P设备发给PE设备报文处理流程把单层标签报文发给PE2,PE2走L2Egress PE报文处理流程把带VDid的报文发给vSwitch3然后转发给VM5。
实施例7
服务器上的虚拟机网卡都对应一个vswitch的port,在控制器中,如图6和图7所示,提供一个虚拟网络的概念,为用户提供vbridge,vrouter等相关资源的增删改查的restful api,并且通过PortMapping的概念将bridge上的virtual port与虚拟机以及对应的vswitch的port对应起来,PortMapping数据结构基本信息包括vbridge uuid,vm uuid,vm mac,vswitch uuid,vswitch port,vlan等。
控制器需要根据交换机角色,维护标签域物理拓扑,进行TunnelLabel的分配并进行基于TunnelLabel的标签域流表的下发,在标签域流表涉及的Link线(包括Port、交换机发生状态变化引发的)状态变化(Up/Down)时,进行标签域流表的切换。因此控制器需要包括如下功能划分:交换机角色管理,标签域拓扑管理,标签域流量路径流表管理等。
虚拟机创建时,需要将虚拟机的mac和ip信息以及对应的vswitch和port信息上报控制器。PE设备之间的流表由控制器主动下发,服务器上vswitch的流表等待控制器被动下发。
当控制器收到openflows的package-in报文时,根据目的mac或者目的ip,从已有的PortMapping信息里面找到目的虚拟机对应的vswitch port,由于PE之间的路径已经知道,再加上vswitch,就得到了一整条流量的路径,这个时候,只需要在对应的vswitch上下发相应流表,虚拟机就可以通信了。
实施例8
交换机的角色包括第一层DC Core交换机P1,第二层DC Core交换机P2,TOR交换机PE,以及默认的普通交换机(服务器上的openvswitch)。控制器需要根据角色维护标签域物理拓扑,为PE交换机分配Tunnel Label,并在PE交换机之间计算路径,向P交换机下发标签域流表。普通角色(默认)交换机不参与标签域PE设备之间的选路。
交换机的角色仅用于控制器,对物理交换机透明。switchRoleManager维护交换机与角色的对应关系。用户可以通过Restful API查看所有交换机的角色信息,或者设定/删除某个交换机的角色配置。
标签域拓扑和流表管理
由标签域拓扑管理器(TunnelLabelDomainTopologyManager)来进行标签域拓扑管理和标签域流表管理,根据角色和拓扑管理模块对交换机角色和物理Link线的发现进行标签域拓扑管理,因此需要对SwitchRoleManager产生的角色设定/删除事件,以及由TopologyManager产生的LinkUp/LinkDown事件进行监听和处理。
SwitchRoleManager产生的PE交换机角色设定时,为PE交换机分配TunnelLabel后进行标签域路径的计算和流表的下发;PE交换机角色删除时,进行关联流表的删除。在TopologyManager产生的网络拓扑发生变化通知时,如果拓扑变化事件影响到既已下发的标签域流表,则需要删除残留流表并重新计算该TunnelLabel对应流表,进行重新下发;未有影响的网络拓扑变化,不进行重新计算下发;如果新的拓扑变更使得原来无法选出路径的PE之间可以选择出路径,则需要选路和流表下发。此外为了均衡路径,需要维护路径的权重并选择最小权重路径。
控制器会维护全局拓扑(link)信息,交换机角色信息(P,PE,OVS,默认为普通角色),以及路径信息(PE之间的路径会事先计算,并下发流表,理论上两两PE之间都可联通),控制器会为每个PE设备分配一个tunnel-label,在P设备上通过匹配这个标签(外层mplstag),决定转发到那个PE设备。其中,图8表示新交换机加入控制器可能触发的动作,首先看角色信息,有的话,就做对应配置,然后处理先的link,修改网络拓扑,然后在看之前没有选出路径的两个PE现在是否能够联通了,是就在PE和P交换机设备上下发对应的流表。图9与图8相似,是处理用户配置交换机角色后的变化,包括link变更,重新计算PE之间的路径,下发对应刘表等。图10是处理交换机端口up/down的情况,这个同样会触发网络拓扑的变化,需要对应重新计算PE之间的路径等。
虽然本发明所揭示的实施方式如上,但其内容只是为了便于理解本发明的技术方案而采用的实施方式,并非用于限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭示的核心技术方案的前提下,可以在实施的形式和细节上做任何修改与变化,但本发明所限定的保护范围,仍须以所附的权利要求书限定的范围为准。
Claims (12)
1.一种基于软件定义网络SDN的虚拟网络控制方法,其特征在于,包括:
核心P设备去掉接收报文的外层MPLS标签,并将所述报文的源媒体介入控制MAC地址修改为所述P设备的MAC地址,根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备;
所述PE设备根据所述报文的内层多协议标签交换MPLS标签和目的媒体介入控制MAC地址添加所述报文的虚拟局域网VLAN标签,并将修改后的报文转发至所述内层MPLS标签对应的虚拟网络交换机vSwitch;
所述vSwitch去掉所述报文的VLAN标签,并根据所述报文的对应的目的MAC地址和VLAN标签确定所述报文对应的租户虚拟机。
2.如权利要求1所述的方法,其特征在于:核心P设备包括:包括多个第一P设备和多个第二P设备;
核心P设备根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备包括:
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第二P设备;
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
3.如权利要求1所述的方法,其特征在于:核心P设备包括:包括多个第三P设备;
核心P设备根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备包括:
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
4.一种基于软件定义网络SDN的虚拟网络控制方法,其特征在于,包括:
虚拟网络交换机vSwitch根据租户虚拟机发送的以太网报文对应的源端口标识和目的媒体介入控制MAC地址将所述报文转发至所述报文的虚拟局域网VLAN标签对应的网络侧边缘PE设备;
所述PE设备去掉所述报文的VLAN标签,根据所述报文的源端口标识和目的媒体介入控制MAC地址添加所述报文的内层多协议标签交换MPLS标签和外层MPLS标签,并将所述报文转发至对应的核心P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备。
5.如权利要求4所述的方法,其特征在于:核心P设备包括:包括多个第一P设备和多个第二P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备包括:
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第一P设备;
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
6.如权利要求4所述的方法,其特征在于:核心P设备包括:包括多个第三P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备包括:
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
7.一种基于软件定义网络SDN的虚拟网络控制系统,其特征在于,包括:核心P设备、网络侧边缘PE设备和虚拟网络交换机vSwitch,
核心P设备去掉接收报文的外层MPLS标签,并将所述报文的源媒体介入控制MAC地址修改为所述P设备的MAC地址,根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备;
所述PE设备根据所述报文的内层多协议标签交换MPLS标签和目的媒体介入控制MAC地址添加所述报文的虚拟局域网VLAN标签,并将修改后的报文转发至所述内层MPLS标签对应的虚拟网络交换机vSwitch;
所述vSwitch去掉所述报文的VLAN标签,并根据所述报文的对应的目的MAC地址和VLAN标签确定所述报文对应的租户虚拟机。
8.如权利要求7所述的系统,其特征在于:核心P设备包括:包括多个第一P设备和多个第二P设备;
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第二P设备;
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
9.如权利要求7所述的系统,其特征在于:核心P设备包括:包括多个第三P设备;
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
10.一种基于软件定义网络SDN的虚拟网络控制系统,其特征在于,包括:核心P设备、网络侧边缘PE设备和虚拟网络交换机vSwitch;
所述vSwitch根据租户虚拟机发送的以太网报文对应的源端口标识和目的媒体介入控制MAC地址将所述报文转发至所述报文的虚拟局域网VLAN标签对应的网络侧边缘PE设备;
所述PE设备去掉所述报文的VLAN标签,根据所述报文的源端口标识和目的媒体介入控制MAC地址添加所述报文的内层多协议标签交换MPLS标签和外层MPLS标签,并将所述报文转发至对应的核心P设备;
核心P设备根据接收报文的外层MPLS标签将所述报文转发至对应的PE设备。
11.如权利要求10所述的系统,其特征在于:核心P设备包括:包括多个第一P设备和多个第二P设备;
第二P设备根据所述报文的外层MPLS标签将所述报文转发至对应的第一P设备;
第一P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
12.如权利要求10所述的系统,其特征在于:核心P设备包括:包括多个第三P设备;
第三P设备根据所述报文的外层MPLS标签将所述报文转发至对应的PE设备并剥离所述外层MPLS标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610620705.2A CN107666442B (zh) | 2016-07-29 | 2016-07-29 | 一种基于软件定义网络sdn的虚拟网络控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610620705.2A CN107666442B (zh) | 2016-07-29 | 2016-07-29 | 一种基于软件定义网络sdn的虚拟网络控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107666442A CN107666442A (zh) | 2018-02-06 |
CN107666442B true CN107666442B (zh) | 2019-09-17 |
Family
ID=61121910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610620705.2A Active CN107666442B (zh) | 2016-07-29 | 2016-07-29 | 一种基于软件定义网络sdn的虚拟网络控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107666442B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246200B (zh) * | 2018-08-17 | 2021-07-06 | 下一代互联网重大应用技术(北京)工程研究中心有限公司 | 一种基于虚拟cdn的服务系统和方法 |
CN109218161A (zh) * | 2018-10-24 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种虚拟交换机转发数据的方法及装置 |
CN111404797B (zh) * | 2019-01-02 | 2022-02-11 | 中国移动通信有限公司研究院 | 控制方法、sdn控制器、sdn接入点、sdn网关及ce |
CN111865801B (zh) * | 2019-04-24 | 2021-10-22 | 厦门网宿有限公司 | 一种基于Virtio端口传输数据的方法和系统 |
CN112737947B (zh) * | 2020-12-29 | 2022-08-30 | 优刻得科技股份有限公司 | 基于mpls的虚拟网络跨域传输方法、系统、设备和介质 |
CN113839894B (zh) * | 2021-07-28 | 2023-10-27 | 新华三大数据技术有限公司 | 报文处理方法及系统 |
CN115134232B (zh) * | 2022-07-04 | 2024-02-23 | 深信服科技股份有限公司 | 一种虚拟路由器管理方法、设备、系统和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103607348A (zh) * | 2013-11-27 | 2014-02-26 | 北京邮电大学 | 一种基于OpenFlow协议的虚拟网络流量分类方法 |
CN103841026A (zh) * | 2014-02-21 | 2014-06-04 | 烽火通信科技股份有限公司 | 一种路由器ip协议栈的vpn路由管理系统及方法 |
CN103973568A (zh) * | 2013-02-05 | 2014-08-06 | 上海贝尔股份有限公司 | 用于在mpls核心网上转发sdn流的方法和设备 |
CN104734955A (zh) * | 2013-12-19 | 2015-06-24 | 华为技术有限公司 | 网络功能虚拟化的实现方法、宽带网络网关以及控制装置 |
CN105306333A (zh) * | 2014-06-30 | 2016-02-03 | 瞻博网络公司 | 跨越多个网络的服务链接 |
CN105376158A (zh) * | 2015-10-12 | 2016-03-02 | 上海斐讯数据通信技术有限公司 | 基于mpls报文中exp值的sdn流转方法及其装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341232B2 (en) * | 2012-11-13 | 2019-07-02 | Netronome Systems, Inc. | Packet prediction in a multi-protocol label switching network using openflow messaging |
US9699116B2 (en) * | 2015-01-26 | 2017-07-04 | Telefonaktiebolaget L M Ericsson (Publ) | SDN based interdomain and intradomain traffic engineering |
-
2016
- 2016-07-29 CN CN201610620705.2A patent/CN107666442B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973568A (zh) * | 2013-02-05 | 2014-08-06 | 上海贝尔股份有限公司 | 用于在mpls核心网上转发sdn流的方法和设备 |
CN103607348A (zh) * | 2013-11-27 | 2014-02-26 | 北京邮电大学 | 一种基于OpenFlow协议的虚拟网络流量分类方法 |
CN104734955A (zh) * | 2013-12-19 | 2015-06-24 | 华为技术有限公司 | 网络功能虚拟化的实现方法、宽带网络网关以及控制装置 |
CN103841026A (zh) * | 2014-02-21 | 2014-06-04 | 烽火通信科技股份有限公司 | 一种路由器ip协议栈的vpn路由管理系统及方法 |
CN105306333A (zh) * | 2014-06-30 | 2016-02-03 | 瞻博网络公司 | 跨越多个网络的服务链接 |
CN105376158A (zh) * | 2015-10-12 | 2016-03-02 | 上海斐讯数据通信技术有限公司 | 基于mpls报文中exp值的sdn流转方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107666442A (zh) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107666442B (zh) | 一种基于软件定义网络sdn的虚拟网络控制方法和装置 | |
CN103227843B (zh) | 一种物理链路地址管理方法及装置 | |
CN104584491B (zh) | 提供分布式虚拟路由和交换(dvrs)的系统和方法 | |
US11005781B2 (en) | Networking method for data center network and data center network | |
US20180026884A1 (en) | Cloud overlay for operations administration and management | |
US20120155453A1 (en) | Methods and apparatus related to a switch fabric system having a multi-hop distributed control plane and a single-hop data plane | |
CN104780088A (zh) | 一种业务报文的传输方法和设备 | |
US9008080B1 (en) | Systems and methods for controlling switches to monitor network traffic | |
CN105429870A (zh) | Sdn环境下的vxlan安全网关装置及其应用方法 | |
CN107395532A (zh) | 一种基于sdn的多租户虚拟网络隔离方法 | |
JP2014135721A (ja) | データセンタネットワークのトラフィックを分配するための装置および方法 | |
CN106899478B (zh) | 电力测试业务通过云平台实现资源弹性扩展的方法 | |
CN107332683A (zh) | 一种链路切换方法及系统 | |
EP4239973A1 (en) | Packet sending method, device, and system | |
CN105393511A (zh) | 一种交换机模式切换方法、设备及系统 | |
CN106656905A (zh) | 防火墙集群实现方法及装置 | |
WO2016045368A1 (zh) | 一种扩展三层转发设备的路由表容量的方法及转发设备 | |
CN105306365A (zh) | 一种电力通信网络及其扩容与抗毁路由路径确定方法 | |
CN104660574A (zh) | 数据中心的配置方法、控制实体和转发实体 | |
CN105471747A (zh) | 一种智能路由器选路方法和装置 | |
CN110191042B (zh) | 一种报文转发方法及装置 | |
CN103346950B (zh) | 一种机架式无线控制器用户业务板间负载均摊方法及装置 | |
US20150301571A1 (en) | Methods and apparatus for dynamic mapping of power outlets | |
CN103841026A (zh) | 一种路由器ip协议栈的vpn路由管理系统及方法 | |
CN103916321A (zh) | 定义软件定义网络的网络元件的查找表实现的方法和设备 |
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 |