首页> 中国专利> 一种基于软件定义网络SDN的虚拟网络控制方法和装置

一种基于软件定义网络SDN的虚拟网络控制方法和装置

摘要

本申请提出一种基于软件定义网络SDN的虚拟网络控制方法和装置,涉及虚拟网络领域,包括:核心P设备去掉接收报文的外层MPLS标签,并将所述报文的源媒体介入控制MAC地址修改为所述P设备的MAC地址,根据所述报文的外层多协议标签交换MPLS标签将修改后的报文转发至所述外层MPLS标签对应的网络侧边缘PE设备;所述PE设备根据所述报文的内层多协议标签交换MPLS标签和目的媒体介入控制MAC地址添加所述报文的虚拟局域网VLAN标签,并将修改后的报文转发至所述内层MPLS标签对应的虚拟网络交换机vSwitch;所述vSwitch去掉所述报文的VLAN标签,并根据所述报文的对应的目的MAC地址和VLAN标签确定所述报文对应的租户虚拟机。

著录项

  • 公开/公告号CN107666442A

    专利类型发明专利

  • 公开/公告日2018-02-06

    原文格式PDF

  • 申请/专利号CN201610620705.2

  • 发明设计人 周帅;

    申请日2016-07-29

  • 分类号H04L12/723(20130101);H04L12/741(20130101);

  • 代理机构11262 北京安信方达知识产权代理有限公司;

  • 代理人李红爽;凌齐文

  • 地址 100085 北京市海淀区小营西路33号3F02室

  • 入库时间 2023-06-19 04:27:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-09-17

    授权

    授权

  • 2018-03-06

    实质审查的生效 IPC(主分类):H04L12/723 申请日:20160729

    实质审查的生效

  • 2018-02-06

    公开

    公开

说明书

技术领域

本发明涉及虚拟网络领域,具体涉及一种基于软件定义网络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之间的路径等。

虽然本发明所揭示的实施方式如上,但其内容只是为了便于理解本发明的技术方案而采用的实施方式,并非用于限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭示的核心技术方案的前提下,可以在实施的形式和细节上做任何修改与变化,但本发明所限定的保护范围,仍须以所附的权利要求书限定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号