CN105103493B - 实现网络虚拟化的方法及相关装置和通信系统 - Google Patents
实现网络虚拟化的方法及相关装置和通信系统 Download PDFInfo
- Publication number
- CN105103493B CN105103493B CN201480000873.0A CN201480000873A CN105103493B CN 105103493 B CN105103493 B CN 105103493B CN 201480000873 A CN201480000873 A CN 201480000873A CN 105103493 B CN105103493 B CN 105103493B
- Authority
- CN
- China
- Prior art keywords
- forwarding device
- virtual
- port
- information
- physics
- 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/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- 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
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种实现网络虚拟化的方法及相关装置和通信系统。其中,实现网络虚拟化的方法可包括:SDN控制器接收携带虚拟网络拓扑信息的虚拟网络创建请求;创建虚拟网络以响应上述虚拟网络创建请求;上述SDN控制器建立设备映射关系,上述SDN控制器建立端口映射关系,上述SDN控制器为上述虚拟网络分配虚拟SDN控制器;上述SDN控制器将上述第一虚拟转发设备和上述第二虚拟转发设备注册到上述虚拟SDN控制器。本发明实施例的技术方案有利于提高业务组网灵活性、降低业务成本、缩短业务开通周期。
Description
技术领域
本发明涉及通信技术领域,具体涉及实现网络虚拟化的方法及相关装置和通信系统。
背景技术
随着云计算的逐步普及,越来越多的中小企业用户希望运营商提供私有网络服务。但目前的虚拟私有网络(VPN,Virtual Private Network)存在的许多问题。例如VPN只能提供星形拓扑、全网状拓扑或部分全网状拓扑,而不能根据用户需求部署任意拓扑的虚拟网络。VPN配置复杂,业务开通周期长(大约16天)。而现在云数据中心可实现即时申请即时创建,VPN的开通速度无法与云数据中心的创建速度相匹配。
VPN站点之间通过边界网关协议(BGP,Border Gateway Protocol)来实现路由交换,BGP路由传播交换受限,一台路由器最多支持4096个VPN,这样造成VPN业务成本高居不下,使得VPN业务价格昂贵,大多数中小企业并没有采用VPN业务。
现有VPN方案在业务开通周期、业务组网灵活性和成本等方面的特点越来越难以适应性多样化的客户需求。
发明内容
本发明实施例提供实现网络虚拟化的方法及相关装置和通信系统,以期提高业务组网灵活性、降低业务成本、缩短业务开通周期。
本发明实施例的第一方面提供一种实现网络虚拟化的方法,可包括:软件定义网络SDN控制器接收携带虚拟网络拓扑信息的虚拟网络创建请求;
所述SDN控制器创建虚拟网络以响应所述虚拟网络创建请求,其中,所述虚拟网络具有所述虚拟网络拓扑信息所描述的拓扑结构,所述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备;
所述SDN控制器建立设备映射关系,其中,所述设备映射关系包括所述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及所述第二虚拟转发设备与所述物理网络中的第二物理转发设备之间的映射关系;
所述SDN控制器建立端口映射关系,其中,所述端口映射关系包括所述第一虚拟转发设备的端口与所述第一物理转发设备的端口之间的映射关系、以及所述第二虚拟转发设备的端口与所述第二物理转发设备的端口之间的映射关系;
所述SDN控制器为所述虚拟网络分配虚拟SDN控制器;
所述SDN控制器将所述第一虚拟转发设备和所述第二虚拟转发设备注册到所述虚拟SDN控制器。
结合第一方面,在第一方面的第一种可能的实施方式中,在所述SDN控制器创建所述虚拟网络之后,所述方法还包括:所述SDN控制器为所述虚拟网络分配虚拟网络标识;所述SDN控制器建立所述虚拟网络标识和所述虚拟SDN控制器的标识之间的映射关系。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述第一虚拟转发设备的端口与所述第一物理转发设备的端口之间的映射关系,包括下述映射关系的至少一种:所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;和,所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息之间的映射关系。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述第一虚拟转发设备的入端口的信息包括所述第一虚拟转发设备的入端口的端口标识,所述第一虚拟转发设备的出端口的信息包括所述第一虚拟转发设备的出端口的端口标识;
其中,所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识,或者所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识和入口标签;
其中,所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识,或者所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识和出口标签。
结合第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述SDN控制器将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,所述方法还包括:
所述SDN控制器通过所述第一虚拟转发设备获得所述虚拟SDN控制器所下发的第一路由表项,所述第一路由表项的匹配域携带网络地址,所述网络地址为目的地址和/或源地址,所述第一路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;
所述SDN控制器基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的所述第一物理转发设备;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出与所述第一虚拟转发设备的出端口的信息具有映射关系的所述第一物理转发设备的出端口的信息;
所述SDN控制器向所述第一物理转发设备发送第二路由表项,其中,所述第二路由表项的匹配域携带所述网络地址,所述第二路由表项的动作域携带所述第一物理转发设备的出端口的信息。
结合第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,
若所述SDN控制器为所述虚拟网络分配虚拟网络标识,所述第二路由表项的匹配域还携带所述虚拟网络标识。
结合第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式,在第一方面的第六种可能的实施方式中,所述SDN控制器将所述第一虚拟转发设备注册到所述虚拟SDN控制器,所述方法还包括:
所述SDN控制器通过所述第一虚拟转发设备获得所述虚拟SDN控制器所下发的第三路由表项,所述第三路由表项的匹配域携带所述第一虚拟转发设备的入端口的信息,所述第三路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;
所述SDN控制器基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的所述第一物理转发设备;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出与所述第一虚拟转发设备的出端口的信息具有映射关系的所述第一物理转发设备的出端口的信息;基于所述端口映射关系和所述第一虚拟转发设备的入端口的信息,确定出与所述第一虚拟转发设备的入端口的信息具有映射关系的所述第一物理转发设备的入端口的信息;
所述SDN控制器向所述第一物理转发设备发送第四路由表项,其中,所述第四路由表项的匹配域携带所述第一物理转发设备的入端口的信息,所述第四路由表项的动作域携带所述第一物理转发设备的出端口的信息。
结合第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式,在第一方面的第七种可能的实施方式中,所述SDN控制器将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,所述方法还包括:
所述SDN控制器接收所述第一物理转发设备上报的第一控制消息,所述第一控制消息的匹配域携带所述第一物理转发设备的入端口的信息;
所述SDN控制器基于所述端口映射关系和所述第一物理转发设备的入端口的信息,确定出与所述第一物理转发设备的入端口的信息具有映射关系的所述第一虚拟转发设备的入端口的信息;
所述SDN控制器通过所述第一虚拟转发设备向所述虚拟SDN控制器发送第二控制消息,所述第二控制消息的匹配域携带所述第一虚拟转发设备的入端口的信息。
结合第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式或第一方面的第六种可能的实施方式,在第一方面的第八种可能的实施方式中,所述方法还包括:
所述SDN控制器若通过所述第一虚拟转发设备获得所述虚拟SDN控制器下发的所述第一路由表项,保存所述第一路由表项;
所述SDN控制器若通过所述第一虚拟转发设备获得所述虚拟SDN控制器下发的所述第三路由表项,保存所述第三路由表项。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式或第一方面的第六种可能的实施方式或第一方面的第七种可能的实施方式或第一方面的第八种可能的实施方式,在第一方面的第九种可能的实施方式中,
在所述SDN控制器创建所述虚拟网络之后,所述方法还包括:
所述SDN控制器为所述第一虚拟转发设备和所述第二虚拟转发设备分别分配设备标识;
其中,所述第一虚拟转发设备与所述物理网络中的第一物理转发设备之间的映射关系包括:所述第一虚拟转发设备的设备标识与所述第一物理转发设备的设备标识之间的映射关系;
其中,所述第二虚拟转发设备与所述物理网络中的第二物理转发设备之间的映射关系包括:所述第二虚拟转发设备的设备标识与所述第二物理转发设备的设备标识之间的映射关系。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式或第一方面的第六种可能的实施方式或第一方面的第七种可能的实施方式或第一方面的第八种可能的实施方式或第一方面的第九种可能的实施方式,在第一方面的第十种可能的实施方式中,
所述虚拟网络创建请求还携带链路属性信息,其中,在所述SDN控制器创建所述虚拟网络之后,所述方法还包括:
所述SDN控制器建立虚拟链路和链路隧道之间的映射关系;其中,所述链路隧道符合所述链路属性信息的约束,其中,所述虚拟链路为所述第一虚拟转发设备和所述第二虚拟转发设备之间的虚拟链路,所述链路隧道为所述第一物理转发设备和所述第二物理转发设备之间的链路隧道。
结合第一方面的第十种可能的实施方式,在第一方面的第十一种可能的实施方式中,所述链路属性信息包括如下信息的至少一个:
链路带宽信息、链路时延信息、链路丢包率信息和链路抖动信息。
结合第一方面的第十种可能的实施方式或第一方面的第十一种可能的实施方式,在第一方面的第十二种可能的实施方式中,用于描述所述虚拟链路的信息包括:第一虚拟转发设备的设备标识,第一虚拟转发设备中的链路源端口的端口标识、第二虚拟转发设备的设备标识和所述第二虚拟转发设备中的链路目的端口的端口标识。
本发明实施例第二方面提供一种实现网络虚拟化的方法,包括:
软件定义网络SDN控制器通过第一虚拟转发设备获得虚拟SDN控制器所下发的第一路由表项,其中,所述第一路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;其中,所述第一虚拟转发设备被注册到所述虚拟SDN控制器;
所述SDN控制器基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的第一物理转发设备,其中,所述设备映射关系包括所述第一虚拟转发设备与物理网络中的所述第一物理转发设备之间的映射关系;
所述SDN控制器基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出与所述第一虚拟转发设备的出端口的信息具有映射关系的所述第一物理转发设备的出端口的信息,其中,所述端口映射关系包括所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息之间的映射关系;
所述SDN控制器向所述第一物理转发设备发送第二路由表项,所述第二路由表项的动作域携带所述第一物理转发设备的出端口的信息。
结合第二方面,在第二方面的第一种可能的实施方式中,
所述第一虚拟转发设备的出端口的信息包括所述第一虚拟转发设备的出端口的端口标识;
其中,所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识,或者所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识和出口标签。
结合第二方面或第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述第一路由表项的匹配域携带网络地址,所述网络地址为目的地址和/或源地址,所述第二路由表项的匹配域携带所述网络地址。
结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述第二路由表项的匹配域携带所述第一虚拟转发设备所属虚拟网络的虚拟网络。
结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式,在第二方面的第四种可能的实施方式中,所述第一路由表项的匹配域携带所述第一虚拟转发设备的入端口的信息,
所述方法还包括:
所述SDN控制器基于所述端口映射关系和所述第一虚拟转发设备的入端口的信息,确定出与所述第一虚拟转发设备的入端口的信息具有映射关系的所述第一物理转发设备的入端口的信息,其中,所述端口映射关系还包括所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;
其中,所述第二路由表项的匹配域携带所述第一物理转发设备的入端口的信息。
本发明实施例第三方面提供一种实现网络虚拟化的方法,包括:
软件定义网络SDN控制器接收物理网络中的第一物理转发设备上报的第三控制消息,所述第三控制消息的匹配域携带所述第一物理转发设备的入端口的信息;
所述SDN控制器基于所述端口映射关系和所述第一物理转发设备的入端口的信息,确定出与所述第一物理转发设备的入端口的信息具有映射关系的所述第一虚拟转发设备的入端口的信息,其中,所述端口映射关系包括所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;
所述SDN控制器通过所述第一虚拟转发设备向虚拟SDN控制器发送第四控制消息,其中,所述第四控制消息的匹配域携带所述第一虚拟转发设备的入端口的信息,所述第一虚拟转发设备被注册到所述虚拟SDN控制器。
结合第三方面,在第三方面的第一种可能的实施方式中,
所述第一虚拟转发设备的入端口的信息包括所述第一虚拟转发设备的入端口的端口标识;
其中,所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识,或者所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识和入口标签。
本发明实施例的第四方面提供一种软件定义网络SDN控制器,包括:
接收单元,用于接收携带虚拟网络拓扑信息的虚拟网络创建请求;
创建单元,用于创建虚拟网络以响应所述虚拟网络创建请求,其中,所述虚拟网络具有所述虚拟网络拓扑信息所描述的拓扑结构,所述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备;
映射单元,用于建立设备映射关系和建立端口映射关系,其中,所述设备映射关系包括所述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及所述第二虚拟转发设备与所述物理网络中的第二物理转发设备之间的映射关系;其中,所述端口映射关系包括所述第一虚拟转发设备的端口与所述第一物理转发设备的端口之间的映射关系、以及所述第二虚拟转发设备的端口与所述第二物理转发设备的端口之间的映射关系;
分配单元,用于为所述虚拟网络分配虚拟SDN控制器;
注册单元,用于将所述第一虚拟转发设备和所述第二虚拟转发设备注册到所述虚拟SDN控制器。
结合第四方面,在第四方面的第一种可能的实施方式中,所述SDN控制器还包括:第二分配单元,用于在所述创建单元创建所述虚拟网络之后,为所述虚拟网络分配虚拟网络标识;
所述映射单元还用于,建立所述虚拟网络标识和所述虚拟SDN控制器的标识之间的映射关系。
结合第四方面或第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述第一虚拟转发设备的端口与所述第一物理转发设备的端口之间的映射关系,包括下述映射关系的至少一种:所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;和,所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息之间的映射关系。
结合第四方面的第二种可能的实施方式,在第四方面的第三种可能的实施方式中,所述第一虚拟转发设备的入端口的信息包括所述第一虚拟转发设备的入端口的端口标识,所述第一虚拟转发设备的出端口的信息包括所述第一虚拟转发设备的出端口的端口标识;
其中,所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识,或者所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识和入口标签;
其中,所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识,或者所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识和出口标签。
结合第四方面的第二种可能的实施方式或第四方面的第三种可能的实施方式,在第四方面的第四种可能的实施方式中,
所述SDN控制器还包括:
第一获得单元,用于在所述注册单元将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,通过所述第一虚拟转发设备获得所述虚拟SDN控制器所下发的第一路由表项,所述第一路由表项的匹配域携带网络地址,所述网络地址为目的地址和/或源地址,所述第一路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;
第一转换单元,用于基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的所述第一物理转发设备;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出与所述第一虚拟转发设备的出端口的信息具有映射关系的所述第一物理转发设备的出端口的信息;
发送单元,用于向所述第一物理转发设备发送第二路由表项,所述第二路由表项的匹配域携带所述网络地址,所述第二路由表项的动作域携带所述第一物理转发设备的出端口的信息。
结合第四方面的第四种可能的实施方式,在第四方面的第五种可能的实施方式中,若所述第二分配单元为所述虚拟网络分配虚拟网络标识,所述第二路由表项的匹配域还携带所述虚拟网络标识。
结合第四方面的第二种可能的实施方式或第四方面的第三种可能的实施方式,在第四方面的第六种可能的实施方式中,
所述SDN控制器还包括:
第二获得单元,用于在所述注册单元将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,通过所述第一虚拟转发设备获得所述虚拟SDN控制器所下发的第三路由表项,所述第三路由表项的匹配域携带所述第一虚拟转发设备的入端口的信息,所述第三路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;
第二转换单元,用于基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的所述第一物理转发设备;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出与所述第一虚拟转发设备的出端口的信息具有映射关系的所述第一物理转发设备的出端口的信息;基于所述端口映射关系和所述第一虚拟转发设备的入端口的信息,确定出与所述第一虚拟转发设备的入端口的信息具有映射关系的所述第一物理转发设备的入端口的信息;
发送单元,用于向所述第一物理转发设备发送第四路由表项,其中,所述第四路由表项的匹配域携带所述第一物理转发设备的入端口的信息,所述第四路由表项的动作域携带所述第一物理转发设备的出端口的信息。
结合第四方面的第二种可能的实施方式或第四方面的第三种可能的实施方式,在第四方面的第七种可能的实施方式中,
所述SDN控制器还包括:
第三获得单元,用于在所述注册单元将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,接收所述第一物理转发设备上报的第一控制消息,所述第一控制消息的匹配域携带所述第一物理转发设备的入端口的信息;
第三转换单元,用于基于所述端口映射关系和所述第一物理转发设备的入端口的信息,确定出与所述第一物理转发设备的入端口的信息具有映射关系的所述第一虚拟转发设备的入端口的信息;
发送单元,用于通过所述第一虚拟转发设备向所述虚拟SDN控制器发送第二控制消息,所述第二控制消息的匹配域携带所述第一虚拟转发设备的入端口的信息。
结合第四方面的第四种可能的实施方式或第四方面的第五种可能的实施方式或第四方面的第六种可能的实施方式,在第四方面的第八种可能的实施方式中,所述SDN控制器还包括:
保存单元,用于若所述第一获得单元通过所述第一虚拟转发设备获得所述虚拟SDN控制器下发的所述第一路由表项,保存所述第一路由表项;若所述第二获得单元通过所述第一虚拟转发设备获得所述虚拟SDN控制器下发的所述第三路由表项,保存所述第三路由表项。
结合第四方面或第四方面的第一种可能的实施方式或第四方面的第二种可能的实施方式或第四方面的第三种可能的实施方式或第四方面的第四种可能的实施方式或第四方面的第五种可能的实施方式或第四方面的第六种可能的实施方式或第四方面的第七种可能的实施方式或第四方面的第八种可能的实施方式,在第四方面的第九种可能的实施方式中,
SDN控制器还包括:
第三分配单元,用于在所述创建单元创建所述虚拟网络之后,为所述第一虚拟转发设备和所述第二虚拟转发设备分别分配设备标识;
其中,所述第一虚拟转发设备与所述物理网络中的第一物理转发设备之间的映射关系包括:所述第一虚拟转发设备的设备标识与所述第一物理转发设备的设备标识之间的映射关系;
其中,所述第二虚拟转发设备与所述物理网络中的第二物理转发设备之间的映射关系包括:所述第二虚拟转发设备的设备标识与所述第二物理转发设备的设备标识之间的映射关系。
结合第四方面或第四方面的第一种可能的实施方式或第四方面的第二种可能的实施方式或第四方面的第三种可能的实施方式或第四方面的第四种可能的实施方式或第四方面的第五种可能的实施方式或第四方面的第六种可能的实施方式或第四方面的第七种可能的实施方式或第四方面的第八种可能的实施方式或第四方面的第九种可能的实施方式,在第四方面的第十种可能的实施方式中,所述虚拟网络创建请求还携带链路属性信息,
其中,所述映射单元还用于在所述创建单元创建所述虚拟网络之后,建立虚拟链路和链路隧道之间的映射关系;其中,所述链路隧道符合所述链路属性信息的约束,其中,所述虚拟链路为所述第一虚拟转发设备和所述第二虚拟转发设备之间的虚拟链路,所述链路隧道为所述第一物理转发设备和所述第二物理转发设备之间的链路隧道。
结合第四方面的第十种可能的实施方式,在第四方面的第十一种可能的实施方式中,所述链路属性信息包括如下信息的至少一个:链路带宽信息、链路时延信息、链路丢包率信息和链路抖动信息。
结合第四方面的第十种可能的实施方式或第四方面的第十一种可能的实施方式,在第四方面的第十二种可能的实施方式中,用于描述所述虚拟链路的信息包括:第一虚拟转发设备的设备标识,第一虚拟转发设备中的链路源端口的端口标识、第二虚拟转发设备的设备标识和所述第二虚拟转发设备中的链路目的端口的端口标识。
本发明实施例第五方面提供一种软件定义网络SDN控制器,包括:
第一获得单元,用于通过第一虚拟转发设备获得虚拟SDN控制器所下发的第一路由表项,所述第一路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;其中,所述第一虚拟转发设备被注册到所述虚拟SDN控制器;
第一转换单元,基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的第一物理转发设备,其中,所述设备映射关系包括所述第一虚拟转发设备与物理网络中的所述第一物理转发设备之间的映射关系;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出与所述第一虚拟转发设备的出端口的信息具有映射关系的所述第一物理转发设备的出端口的信息,其中,所述端口映射关系包括所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息之间的映射关系;
发送单元,用于向所述第一物理转发设备发送第二路由表项,所述第二路由表项的匹配域携带所述网络地址,所述第二路由表项的动作域携带所述第一物理转发设备的出端口的信息。
结合第五方面,在第五方面的第一种可能的实施方式中,
所述第一虚拟转发设备的出端口的信息包括所述第一虚拟转发设备的出端口的端口标识;
其中,所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识,或者所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识和出口标签。
结合第五方面或第五方面的第一种可能的实施方式,在第五方面的第二种可能的实施方式中,所述第一路由表项的匹配域携带网络地址,所述网络地址为目的地址和/或源地址,所述第二路由表项的匹配域携带所述网络地址。
结合第五方面或第五方面的第一种可能的实施方式或第五方面的第二种可能的实施方式,在第五方面的第三种可能的实施方式中,所述第二路由表项的匹配域携带所述第一虚拟转发设备所属虚拟网络的虚拟网络。
结合第五方面或第五方面的第一种可能的实施方式或第五方面的第二种可能的实施方式,在第五方面的第四种可能的实施方式中,所述第一路由表项的匹配域携带所述第一虚拟转发设备的入端口的信息,
所述SDN控制器还包括:
第二转换单元,用于基于所述端口映射关系和所述第一虚拟转发设备的入端口的信息,确定出与所述第一虚拟转发设备的入端口的信息具有映射关系的所述第一物理转发设备的入端口的信息,其中,所述端口映射关系还包括所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;
其中,所述第二路由表项的匹配域携带所述第一物理转发设备的入端口的信息。
本发明实施例第六方面提供一种软件定义网络SDN控制器,包括:
第三获得单元,用于接收物理网络中的第一物理转发设备上报的第三控制消息,其中,所述第三控制消息的匹配域携带所述第一物理转发设备的入端口的信息;
第三转换单元,用于基于所述端口映射关系和所述第一物理转发设备的入端口的信息,确定出与所述第一物理转发设备的入端口的信息具有映射关系的所述第一虚拟转发设备的入端口的信息,其中,所述端口映射关系包括所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;
发送单元,用于通过所述第一虚拟转发设备向虚拟SDN控制器发送第四控制消息,其中,所述第四控制消息的匹配域携带所述第一虚拟转发设备的入端口的信息,所述第一虚拟转发设备被注册到所述虚拟SDN控制器。
结合第六方面,在第六方面的第一种可能的实施方式中,
所述第一虚拟转发设备的入端口的信息包括所述第一虚拟转发设备的入端口的端口标识;
其中,所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识,或者所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识和入口标签。
本发明实施例第七方面提供一种软件定义网络SDN控制器,包括:至少一个总线、与所述总线相连的至少一个处理器以及与所述总线相连的至少一个存储器。
其中,所述处理器通过所述总线调用所述存储器中存储的代码以用于接收携带虚拟网络拓扑信息的虚拟网络创建请求;创建虚拟网络以响应所述虚拟网络创建请求,其中,所述虚拟网络具有所述虚拟网络拓扑信息所描述的拓扑结构,所述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备;建立设备映射关系,其中,所述设备映射关系包括所述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及所述第二虚拟转发设备与所述物理网络中的第二物理转发设备之间的映射关系;建立端口映射关系,其中,所述端口映射关系包括所述第一虚拟转发设备的端口与所述第一物理转发设备的端口之间的映射关系、以及所述第二虚拟转发设备的端口与所述第二物理转发设备的端口之间的映射关系;为所述虚拟网络分配虚拟SDN控制器;将所述第一虚拟转发设备和所述第二虚拟转发设备注册到所述虚拟SDN控制器。
结合第七方面,在第七方面的第一种可能的实施方式中,在所述处理器创建所述虚拟网络之后,所述处理器还用于,为所述虚拟网络分配虚拟网络标识;建立所述虚拟网络标识和所述虚拟SDN控制器的标识之间的映射关系。
结合第七方面或第七方面的第一种可能的实施方式,在第七方面的第二种可能的实施方式中,所述第一虚拟转发设备的端口与所述第一物理转发设备的端口之间的映射关系,包括下述映射关系的至少一种:所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;和,所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息之间的映射关系。
结合第七方面的第二种可能的实施方式,在第七方面的第三种可能的实施方式中,所述第一虚拟转发设备的入端口的信息包括所述第一虚拟转发设备的入端口的端口标识,所述第一虚拟转发设备的出端口的信息包括所述第一虚拟转发设备的出端口的端口标识;
其中,所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识,或者所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识和入口标签;
其中,所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识,或者所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识和出口标签。
结合第七方面的第二种可能的实施方式或第七方面的第三种可能的实施方式,在第七方面的第四种可能的实施方式中,所述处理器将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,所述处理器还用于,通过所述第一虚拟转发设备获得所述虚拟SDN控制器所下发的第一路由表项,所述第一路由表项的匹配域携带网络地址,所述网络地址为目的地址和/或源地址,所述第一路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的所述第一物理转发设备;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出与所述第一虚拟转发设备的出端口的信息具有映射关系的所述第一物理转发设备的出端口的信息;向所述第一物理转发设备发送第二路由表项,其中,所述第二路由表项的匹配域携带所述网络地址,所述第二路由表项的动作域携带所述第一物理转发设备的出端口的信息。
结合第七方面的第四种可能的实施方式,在第七方面的第五种可能的实施方式中,
若所述处理器为所述虚拟网络分配虚拟网络标识,所述第二路由表项的匹配域还携带所述虚拟网络标识。
结合第七方面的第二种可能的实施方式或第七方面的第三种可能的实施方式,在第七方面的第六种可能的实施方式中,所述处理器将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,所述处理器还用于,通过所述第一虚拟转发设备获得所述虚拟SDN控制器所下发的第三路由表项,所述第三路由表项的匹配域携带所述第一虚拟转发设备的入端口的信息,所述第三路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的所述第一物理转发设备;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出与所述第一虚拟转发设备的出端口的信息具有映射关系的所述第一物理转发设备的出端口的信息;基于所述端口映射关系和所述第一虚拟转发设备的入端口的信息,确定出与所述第一虚拟转发设备的入端口的信息具有映射关系的所述第一物理转发设备的入端口的信息;向所述第一物理转发设备发送第四路由表项,其中,所述第四路由表项的匹配域携带所述第一物理转发设备的入端口的信息,所述第四路由表项的动作域携带所述第一物理转发设备的出端口的信息。
结合第七方面的第二种可能的实施方式或第七方面的第三种可能的实施方式,在第七方面的第七种可能的实施方式中,所述处理器将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,所述处理器还用于,接收所述第一物理转发设备上报的第一控制消息,所述第一控制消息的匹配域携带所述第一物理转发设备的入端口的信息;基于所述端口映射关系和所述第一物理转发设备的入端口的信息,确定出与所述第一物理转发设备的入端口的信息具有映射关系的所述第一虚拟转发设备的入端口的信息;通过所述第一虚拟转发设备向所述虚拟SDN控制器发送第二控制消息,所述第二控制消息的匹配域携带所述第一虚拟转发设备的入端口的信息。
结合第七方面的第四种可能的实施方式或第七方面的第五种可能的实施方式或第七方面的第六种可能的实施方式,在第七方面的第八种可能的实施方式中,所述处理器还用于,若通过所述第一虚拟转发设备获得所述虚拟SDN控制器下发的所述第一路由表项,保存所述第一路由表项;若通过所述第一虚拟转发设备获得所述虚拟SDN控制器下发的所述第三路由表项,保存所述第三路由表项。
结合第七方面或第七方面的第一种可能的实施方式或第七方面的第二种可能的实施方式或第七方面的第三种可能的实施方式或第七方面的第四种可能的实施方式或第七方面的第五种可能的实施方式或第七方面的第六种可能的实施方式或第七方面的第七种可能的实施方式或第七方面的第八种可能的实施方式,在第七方面的第九种可能的实施方式中,
在所述处理器创建所述虚拟网络之后,所述处理器还用于,为所述第一虚拟转发设备和所述第二虚拟转发设备分别分配设备标识;其中,所述第一虚拟转发设备与所述物理网络中的第一物理转发设备之间的映射关系包括:所述第一虚拟转发设备的设备标识与所述第一物理转发设备的设备标识之间的映射关系;其中,所述第二虚拟转发设备与所述物理网络中的第二物理转发设备之间的映射关系包括:所述第二虚拟转发设备的设备标识与所述第二物理转发设备的设备标识之间的映射关系。
结合第七方面或第七方面的第一种可能的实施方式或第七方面的第二种可能的实施方式或第七方面的第三种可能的实施方式或第七方面的第四种可能的实施方式或第七方面的第五种可能的实施方式或第七方面的第六种可能的实施方式或第七方面的第七种可能的实施方式或第七方面的第八种可能的实施方式或第七方面的第九种可能的实施方式,在第七方面的第十种可能的实施方式中,
所述虚拟网络创建请求还携带链路属性信息,其中,在所述处理器创建所述虚拟网络之后,所述处理器还用于,建立虚拟链路和链路隧道之间的映射关系;其中,所述链路隧道符合所述链路属性信息的约束,其中,所述虚拟链路为所述第一虚拟转发设备和所述第二虚拟转发设备之间的虚拟链路,所述链路隧道为所述第一物理转发设备和所述第二物理转发设备之间的链路隧道。
结合第七方面的第十种可能的实施方式,在第七方面的第十一种可能的实施方式中,所述链路属性信息包括如下信息的至少一个:
链路带宽信息、链路时延信息、链路丢包率信息和链路抖动信息。
结合第七方面的第十种可能的实施方式或第七方面的第十一种可能的实施方式,在第七方面的第十二种可能的实施方式中,用于描述所述虚拟链路的信息包括:第一虚拟转发设备的设备标识,第一虚拟转发设备中的链路源端口的端口标识、第二虚拟转发设备的设备标识和所述第二虚拟转发设备中的链路目的端口的端口标识。
本发明实施例第八方面提供一种软件定义网络SDN控制器,包括:至少一个总线、与所述总线相连的至少一个处理器以及与所述总线相连的至少一个存储器。
其中,所述处理器通过所述总线调用所述存储器中存储的代码以用于通过第一虚拟转发设备获得虚拟SDN控制器所下发的第一路由表项,其中,所述第一路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;其中,所述第一虚拟转发设备被注册到所述虚拟SDN控制器;基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的第一物理转发设备,其中,所述设备映射关系包括所述第一虚拟转发设备与物理网络中的所述第一物理转发设备之间的映射关系;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出与所述第一虚拟转发设备的出端口的信息具有映射关系的所述第一物理转发设备的出端口的信息,其中,所述端口映射关系包括所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息之间的映射关系;向所述第一物理转发设备发送第二路由表项,其中,所述第二路由表项的动作域携带所述第一物理转发设备的出端口的信息。
结合第八方面,在第八方面的第一种可能的实施方式中,
所述第一虚拟转发设备的出端口的信息包括所述第一虚拟转发设备的出端口的端口标识;
其中,所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识,或者所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识和出口标签。
结合第八方面或第八方面的第一种可能的实施方式,在第八方面的第二种可能的实施方式中,所述第一路由表项的匹配域携带网络地址,所述网络地址为目的地址和/或源地址,所述第二路由表项的匹配域携带所述网络地址。
结合第八方面或第八方面的第一种可能的实施方式或第八方面的第二种可能的实施方式,在第八方面的第三种可能的实施方式中,所述第二路由表项的匹配域携带所述第一虚拟转发设备所属虚拟网络的虚拟网络。
结合第八方面或第八方面的第一种可能的实施方式或第八方面的第二种可能的实施方式,在第八方面的第四种可能的实施方式中,所述第一路由表项的匹配域携带所述第一虚拟转发设备的入端口的信息,
所述所述处理器还用于,基于所述端口映射关系和所述第一虚拟转发设备的入端口的信息,确定出与所述第一虚拟转发设备的入端口的信息具有映射关系的所述第一物理转发设备的入端口的信息,其中,所述端口映射关系还包括所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;
其中,所述第二路由表项的匹配域携带所述第一物理转发设备的入端口的信息。
本发明实施例第九方面提供一种软件定义网络SDN控制器,包括:至少一个总线、与所述总线相连的至少一个处理器以及与所述总线相连的至少一个存储器。
其中,所述处理器通过所述总线调用所述存储器中存储的代码以用于接收物理网络中的第一物理转发设备上报的第三控制消息,所述第三控制消息的匹配域携带所述第一物理转发设备的入端口的信息;基于所述端口映射关系和所述第一物理转发设备的入端口的信息,确定出与所述第一物理转发设备的入端口的信息具有映射关系的所述第一虚拟转发设备的入端口的信息,其中,所述端口映射关系包括所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;通过所述第一虚拟转发设备向虚拟SDN控制器发送第四控制消息,其中,所述第四控制消息的匹配域携带所述第一虚拟转发设备的入端口的信息,所述第一虚拟转发设备被注册到所述虚拟SDN控制器。
结合第九方面,在第九方面的第一种可能的实施方式中,
所述第一虚拟转发设备的入端口的信息包括所述第一虚拟转发设备的入端口的端口标识;
其中,所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识,或者所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识和入口标签。
本发明第十方面提供一种通信系统,可包括:
第一物理转发设备、第二物理转发设备和如本发明实施例所述的任意一种SDN控制器。
本发明第十一方面提供一种通信系统,包括:第一物理转发设备如本发明实施例所述的任意一种SDN控制器。
由上可见,在本发明一些可行实施方式中,通过提供按需创建虚拟网络的机制,使得用户可根据自身需求来提出用于请求创建所需拓扑结构的虚拟网络的虚拟网络创建请求,并且使用虚拟网络的用户可以无需感知物理网络的具体拓扑结构,与现有VPN创建机制相比,本实施例提出的虚拟网络创建机制在业务组网灵活性等方式有较大提高,并且有利于降低业务成本、缩短业务的开通周期。并且SDN控制器在创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,这有利于在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN,引入虚拟SDN控制器和SDN控制器之后有利于简化业务配置复杂度,有利于进一步降低业务成本、缩短业务的开通周期。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1-a~图1-d为本发明实施例提供的几种网络架构的示意图;
图2为本发明实施例提供的一种实现网络虚拟化的方法的流程示意图;
图3为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图4为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图5-a为本发明实施例提供的另一实现网络虚拟化的方法的流程示意图;
图5-b和图5-c为本发明实施例提供的两种虚拟网络的架构示意图;
图6为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图7为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图8为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图9为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图10-a~图10-e为本发明实施例提供的几种SDN控制器的示意图;
图11为本发明实施例提供的另一种SDN控制器的示意图;
图12为本发明实施例提供的另一种SDN控制器的示意图;
图13-a~图13-b为本发明实施例提供的两种SDN控制器的示意图;
图14~18为本发明实施例提供的另几种SDN控制器的示意图;
图19~20为本发明实施例提供的两种通信系统的示意图。
具体实施方式
本发明实施例提供实现网络虚拟化的方法及相关装置和通信系统,以期提高业务组网灵活性、降低业务成本、缩短业务开通周期。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面通过具体实施例,分别进行详细的说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面先对开放流机制进行简单介绍。
开放流(OpenFlow)技术最早是由斯坦福大学提出,旨在基于传输控制协议/因特网互联协议(TCP/IP,Transmission Control Protocol/Internet Protocol)技术条件,以创新的网络互联理念,来解决当前网络面对新业务而产生的种种瓶颈问题。其中,OpenFlow技术的核心思想是将原本完全由交换机/路由器控制的数据包转发过程,转化为由OpenFlow交换机(OpenFlow Switch)和软件定义网络(SDN,Software Defined Network)控制器(Controller)分别完成的独立过程。
在SDN架构中,SDN控制器决定所有报文在网络中的传输路径。OpenFlow交换机在本地维护至少1个转发表。OpenFlow交换机接收待转发的报文,如果在转发表中找到与待转发的报文匹配的路由表项,则基于匹配的路由表项进行转发处理。若在转发表中找不到与待转发的报文匹配的路由表项,则OpenFlow交换机将该报文发送到SDN控制器进行传输路径的确认。SDN控制器向OpenFlow交换机传输新的路由表项,OpenFlow交换机根据SDN控制器下发的新路由表项进行报文转发。这种机制意味着SDN中的设备能够分布部署、集中管控,使网络变为软件可定义的形态。SDN控制器可提供可编程的接口,以便于让网络使用者可决定如何路由报文、以及如何实现负载均衡或者如何进行访问控制等。这就使得网络中部署一种新路由协议或安全算法,往往仅需要在SDN控制器上撰写数百行代码,其开放性有利于加快新网络应用的快速开发和部署。
首先参见图1-a~1-d,图1-a~1-d是本发明放入实施例提供的几种网络架构示意图,本发明实施例的技术方案可以在图1-a~1-d所示网络架构或其变形架构中具体实施。
其中,在图1-a~1-d所示网络架构中,物理网络中的物理转发设备(如物理交换机或物理路由器等)与SDN控制器通信连接,SDN控制器中可创建有至少1个虚拟网络,每个虚拟网络可分配有1个虚拟SDN控制器,每个虚拟网络可包括至少两个虚拟转发设备(如虚拟交换机或虚拟路由器等)。虚拟转发设备为软件实例。虚拟SDN控制器可以集成在SDN控制器中(例如图1-b和图1-c举例所示,图1-b举例示出所有虚拟SDN控制器均集成在SDN控制器中,图1-b举例示出部分虚拟SDN控制器可集成在SDN控制器,另一部分虚拟SDN控制器可不集成在SDN控制器),虚拟SDN控制器亦可是独立于SDN控制器的设备(如图1-b举例所示)。其中,例如虚拟SDN控制器例如可以是服务器、虚拟机或软件实例。
虚拟网络客户端可通过北向接口向SDN控制器发送携带虚拟网络拓扑信息的虚拟网络创建请求,以请求SDN控制器创建具有上述虚拟网络拓扑信息所描述的拓扑结构的虚拟网络。其中,虚拟网络客户端也可以称虚拟网络业务前端界面或运营商前端界面。
本发明实现网络虚拟化的方法的一个实施例,一种实现网络虚拟化的方法可包括:SDN控制器接收携带虚拟网络拓扑信息的虚拟网络创建请求;创建虚拟网络以响应上述虚拟网络创建请求,其中,上述虚拟网络具有上述虚拟网络拓扑信息所描述的拓扑结构,上述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备;建立设备映射关系,其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及上述第二虚拟转发设备与上述物理网络中的第二物理转发设备之间的映射关系;建立端口映射关系,其中,上述端口映射关系包括上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系、以及上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系;为上述虚拟网络分配虚拟SDN控制器;将上述第一虚拟转发设备和上述第二虚拟转发设备注册到上述虚拟SDN控制器。
参见图2,图2是本发明的一个实施例提供的一种实现网络虚拟化的方法的流程示意图。如图2所示,本发明的一个实施例提供的一种实现网络虚拟化的方法可包括以下内容:
201、SDN控制器接收携带虚拟网络拓扑信息的虚拟网络创建请求。
例如,当用户需要创建某拓扑结构的虚拟网络时,用户可通过虚拟网络客户端向SDN控制器发送携带虚拟网络拓扑信息的虚拟网络创建请求,以请求SDN控制器创建具有上述虚拟网络拓扑信息所描述的拓扑结构的虚拟网络。
202、SDN控制器创建虚拟网络以响应上述虚拟网络创建请求。
其中,上述虚拟网络具有上述虚拟网络拓扑信息所描述的拓扑结构,上述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备。某些极端情况下上述虚拟网络也可能只包括一个虚拟转发设备。
当然,上述虚拟网络可选的还可包括其它虚拟转发设备,例如上述虚拟网络可选的还可包括第三虚拟转发设备、第四虚拟转发设备等。其中,虚拟网络中的各虚拟转发设备为软件实例。虚拟转发设备可对外模拟物理转发设备的行为模式。
203、SDN控制器建立设备映射关系。
其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及上述第二虚拟转发设备与上述物理网络中的第二物理转发设备之间的映射关系。
在本发明的一些实施例中,可通过生成记录有第一虚拟转发设备和第一物理转发设备的设备标识的映射关系记录,来建立上述第一虚拟转发设备与第一物理转发设备之间的映射关系。同理,可通过生成记录有第二虚拟转发设备和第二物理转发设备的设备标识的映射关系记录,来建立上述第二虚拟转发设备与第二物理转发设备之间的映射关系。其它虚拟转发设备和其它物理转发设备之间的的映射关系的建立方式可以类似。当然,亦可通过其他方式来建立上述设备映射关系。
其中,第一物理转发设备可以是一个物理转发设备,也可以是多个物理转发设备所组成的物理转发设备组,同理,第二物理转发设备可以是一个物理转发设备,也可以是多个物理转发设备所组成的物理转发设备组。例如假设第一物理转发设备为由路由器A,则建立第一虚拟转发设备与第一物理转发设备之间的映射关系包括:建立路由器A与第一虚拟转发设备之间的映射关系。又举例来说,假设第一物理转发设备为由路由器A和路由器B所组成的物理转发设备组,建立第一虚拟转发设备与第一物理转发设备之间的映射关系包括:建立由路由器A和路由器B所组成的物理转发设备组与第一虚拟转发设备之间的映射关系。其它情况与之类似。
可以理解,不同虚拟网络中的不同虚拟转发设备可能与同一个物理转发设备具有映射关系。
204、SDN控制器建立端口映射关系。
其中,上述端口映射关系包括上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系、以及上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系。
205、SDN控制器为上述虚拟网络分配虚拟SDN控制器。
在本发明的一些实施例中,SDN控制器可以为不同的虚拟网络分配不同的虚拟SDN控制器,也就是说,虚拟SDN控制器与虚拟网络之间可以是一一对应的关系。在某些场景下,SDN控制器也可为至少两个虚拟网络分配同一个虚拟SDN控制器。
其中。虚拟SDN控制器可以集成在SDN控制器中,虚拟SDN控制器亦可是独立于SDN控制器的设备,例如,虚拟SDN控制器可为服务器、虚拟机或软件实例。
206、SDN控制器可将上述第一虚拟转发设备和上述第二虚拟转发设备注册到上述虚拟SDN控制器。
其中,SDN控制器可将上述虚拟网络中包括第一虚拟转发设备和上述第二虚拟转发设备之内的各虚拟转发设备注册到上述虚拟SDN控制器。通过将虚拟转发设备注册到虚拟SDN控制器,可以在虚拟SDN控制器和各虚拟转发设备之间建立起控制通道,虚拟SDN控制器可基于这些控制通道向虚拟转发设备下发例如路由表项等控制信息,虚拟SDN控制器还可利用这些控制通道,基于拓扑发现协议来发现虚拟网络的拓扑结构。虚拟转发设备可利用这些控制通道向虚拟SDN控制器上报虚拟设备上电/下电事件、端口激活/去激活事件、链路激活/去激活事件等。
可以理解,步骤203、步骤204与步骤205之间没有必然的先后顺序。
可以理解,步骤203、步骤204与步骤206之间也没有必然的先后顺序。
由上可见,本实施方案中,通过提供按需创建虚拟网络的机制,使得用户可根据自身需求来提出用于请求创建所需拓扑结构的虚拟网络的虚拟网络创建请求,并且使用虚拟网络的用户可以无需感知物理网络的具体拓扑结构,与现有VPN创建机制相比,本实施例提出的虚拟网络创建机制在业务组网灵活性等方式有较大提高,且有利于降低业务成本、缩短业务的开通周期。并且SDN控制器在创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,这就有利于在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比于现有的VPN机制,引入虚拟SDN控制器和SDN控制器之后有利于简化业务配置复杂,也有利于进一步降低业务成本、缩短业务的开通周期。
在本发明的一些实施例中,在上述创建虚拟网络之后,SDN控制器可选的还可为上述虚拟网络分配虚拟网络标识。SDN控制器可选的还可建立上述虚拟网络标识和上述虚拟SDN控制器的标识之间的映射关系。
在本发明一些实施例中,在上述创建虚拟网络之后,SDN控制器可选的还可以为上述第一虚拟转发设备和上述第二虚拟转发设备分别分配设备标识(当然SDN控制器可选的还可以为虚拟网络中的其它虚拟转发设备分别分配设备标识)。其中,上述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系可以包括:上述第一虚拟转发设备的设备标识与上述第一物理转发设备的设备标识之间的映射关系。其中,上述第二虚拟转发设备与上述物理网络中的第二物理转发设备之间的映射关系可包括:上述第二虚拟转发设备的设备标识与上述第二物理转发设备的设备标识之间的映射关系。可以理解,其它虚拟转发设备(若存在)和其它物理转发设备(若存在)之间的映射关系以此类推。
在本发明的一些实施例中,可选的,上述虚拟网络创建请求还可携带链路属性信息等,其中,在上述创建上述虚拟网络之后,SDN控制器可选的还可建立第一虚拟链路和第一链路隧道之间的映射关系;其中,上述第一链路隧道符合上述链路属性信息的约束,其中,上述第一虚拟链路为上述第一虚拟转发设备和上述第二虚拟转发设备之间的虚拟链路,上述链路隧道为上述第一物理转发设备和上述第二物理转发设备之间的链路隧道。其中,在本发明的一些实施例中,上述链路属性信息包括如下信息的至少一个:链路带宽信息、链路时延信息、链路丢包率信息和链路抖动信息等。
在本发明一些实施例中,用于描述第一虚拟链路的信息组可包括:第一虚拟转发设备(即源虚拟转发设备)的设备标识,第一虚拟转发设备中的链路源端口的端口标识、第二虚拟转发设备(即目的虚拟转发设备)的设备标识和上述第一虚拟转发设备中的链路目的端口的端口标识。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
本发明的各个实施例中的物理转发设备可以是物理路由器或物理交换机的具有报文转发功能的设备,其中,虚拟转发设备可以是虚拟路由器或虚拟交换机。
举例来说,SDN控制器将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,SDN控制器可选的还可通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第一路由表项,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;SDN控制器基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;SDN控制器基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;SDN控制器向上述第一物理转发设备发送第二路由表项,其中,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。其中,SDN控制器例如可基于第一路由表项变换得到第二路由表项,例如SDN控制器可通过将第一路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第二路由表项。可选的,若上述SDN控制器为上述虚拟网络分配了虚拟网络标识,上述第二路由表项的匹配域还可携带上述虚拟网络标识。
又举例来说,SDN控制器将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,SDN控制器可选的还可通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第一路由表项,其中,上述第一路由表项的匹配域携带网络地址,上述网络地址为目的地址和/或源地址,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;SDN控制器基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;SDN控制器基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;SDN控制器向上述第一物理转发设备发送第二路由表项,其中,上述第二路由表项的匹配域携带上述网络地址,上述网络地址为目的地址和/或源地址,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。其中,SDN控制器例如可基于第一路由表项变换得到第二路由表项,例如,SDN控制器可通过将第一路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第二路由表项。可选的,若上述SDN控制器为上述虚拟网络分配了虚拟网络标识,上述第二路由表项的匹配域还可携带上述虚拟网络标识。
又例如,SDN控制器将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,SDN控制器可选的还可通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第三路由表项,其中,上述第三路由表项的匹配域携带上述第一虚拟转发设备的入端口的信息,其中,上述第三路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;SDN控制器基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;SDN控制器基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;SDN控制器基于上述端口映射关系和上述第一虚拟转发设备的入端口的信息,确定出与上述第一虚拟转发设备的入端口的信息具有映射关系的上述第一物理转发设备的入端口的信息;SDN控制器向上述第一物理转发设备发送第四路由表项,其中,上述第四路由表项的匹配域可携带上述第一物理转发设备的入端口的信息,第四路由表项的动作域携带上述第一物理转发设备的出端口的信息。其中,SDN控制器例如可基于第三路由表项变换得到第四路由表项,SDN控制器例如可通过将第三路由表项的匹配域携带的上述第一虚拟转发设备的入端口的信息,替换为上述第一物理转发设备的入端口的信息,将第三路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第四路由表项。
还举例来说,SDN控制器将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,SDN控制器可选的还可接收上述第一物理转发设备上报的第一控制消息,其中,上述第一控制消息的匹配域携带上述第一物理转发设备的入端口的信息;SDN控制器基于上述第一物理转发设备和上述设备映射关系,确定出与上述第一物理转发设备具有映射关系的上述第一虚拟转发设备;SDN控制器基于上述端口映射关系和上述第一物理转发设备的入端口的信息,确定出与上述第一物理转发设备的入端口的信息具有映射关系的上述第一虚拟转发设备的入端口的信息;SDN控制器通过上述第一虚拟转发设备向上述虚拟SDN控制器发送第二控制消息,上述第二控制消息的匹配域可以携带上述第一虚拟转发设备的入端口的信息。其中,SDN控制器可基于第一控制消息变换得到第二控制消息,例如SDN控制器例如可通过将第一控制消息的匹配域携带的上述第一物理转发设备的入端口的信息,替换为上述第一虚拟转发设备的入端口的信息以得到第二控制消息,以得到第二控制消息。
还举例来说,SDN控制器将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,SDN控制器可选的还可接收上述第一物理转发设备上报的第三控制消息,其中,上述第三控制消息的匹配域可携带上述第一虚拟转发设备所属虚拟网络的虚拟网络标识;SDN控制器基于上述虚拟网络标识、第一物理转发设备和上述设备映射关系,确定出与上述第一物理转发设备具有映射关系的上述第一虚拟转发设备;SDN控制器去除第三控制消息的匹配域携带的第一虚拟转发设备所属虚拟网络的虚拟网络标识,以得到第四控制消息。SDN控制器通过上述第一虚拟转发设备向上述虚拟SDN控制器发送第四控制消息。
在本发明的一些实施例中,SDN控制器若通过上述第一虚拟转发设备获得上述虚拟SDN控制器下发的上述第一路由表项,SDN控制器可选的还可保存上述第一路由表项。其中,SDN控制器若通过上述第一虚拟转发设备获得上述虚拟SDN控制器下发的上述第三路由表项,SDN控制器可选的还可保存上述第三路由表项。
特别的,有些控制消息也可能只需要在虚拟控制器和虚拟转发设备之间进行传递。无需SDN控制器将这些控制消息转发给与虚拟转发设备具有映射关系的物理转发设备。例如,SDN控制器通过第一虚拟转发设备接收到虚拟SDN控制器发送的第五控制消息之后,可通过第一虚拟转发设备向该虚拟SDN控制器反馈第五控制消息的响应消息。或者,SDN控制器也可通过第一虚拟转发设备向虚拟SDN控制器发送第六控制消息,通过第一虚拟转发设备接收虚拟SDN控制器反馈的第六控制消息的响应消息。
本发明实现网络虚拟化的方法的另一个实施例,另一种实现网络虚拟化的方法可以包括:SDN控制器通过第一虚拟转发设备获得虚拟SDN控制器所下发的第一路由表项,其中,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;其中,上述第一虚拟转发设备被注册到上述虚拟SDN控制器;上述SDN控制器基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的第一物理转发设备,其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的上述第一物理转发设备之间的映射关系;上述SDN控制器基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息,其中,上述端口映射关系包括上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系;上述SDN控制器向上述第一物理转发设备发送第二路由表项,其中,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。
参见图3,图3是本发明的另一个实施例提供的另一种实现网络虚拟化的方法的流程示意图。如图3所示,本发明的另一个实施例提供的另一种实现网络虚拟化的方法可包括以下内容:
301、SDN控制器通过第一虚拟转发设备获得虚拟SDN控制器所下发的第一路由表项,其中,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息。
其中,上述第一虚拟转发设备被注册到上述虚拟SDN控制器。
此外,上述第一虚拟转发设备所属虚拟网络还可进一步包括第第二虚拟转发设备等。
302、上述SDN控制器基于第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的第一物理转发设备,其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的上述第一物理转发设备之间的映射关系。
303、上述SDN控制器基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息。其中,上述端口映射关系包括上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
304、上述SDN控制器向上述第一物理转发设备发送第二路由表项。
其中,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。
在本发明的一些实施例中,SDN控制器例如可基于第一路由表项变换得到第二路由表项,例如,SDN控制器可通过将第一路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第二路由表项。
本发明的各个实施例中的物理转发设备可以是物理路由器或物理交换机的具有报文转发功能的设备,其中,虚拟转发设备可以是虚拟路由器或虚拟交换机。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
在本发明的一些实施例中,可选的,上述第一路由表项的匹配域携带网络地址,上述网络地址为目的地址和/或源地址,上述第二路由表项的匹配域携带上述网络地址。
在本发明的一些实施例中,可选的,上述第二路由表项的匹配域携带上述第一虚拟转发设备所属虚拟网络的虚拟网络。
在本发明的另一些实施例中,可选的,上述第一路由表项的匹配域携带上述第一虚拟转发设备的入端口的信息,上述SDN控制器可选的还可基于上述端口映射关系和上述第一虚拟转发设备的入端口的信息,确定出与上述第一虚拟转发设备的入端口的信息具有映射关系的上述第一物理转发设备的入端口的信息,其中,上述端口映射关系还包括上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系。其中,上述第二路由表项的匹配域还可携带上述第一物理转发设备的入端口的信息。
由上可见,本实施方案中,SDN控制器创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器之后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
本发明实现网络虚拟化的方法的另一个实施例,其中,另一种实现网络虚拟化的方法可以包括:SDN控制器接收物理网络中的第一物理转发设备上报的第三控制消息,上述第三控制消息的匹配域携带上述第一物理转发设备的入端口的信息;上述SDN控制器基于上述端口映射关系和上述第一物理转发设备的入端口的信息,确定出与上述第一物理转发设备的入端口的信息具有映射关系的上述第一虚拟转发设备的入端口的信息,其中,上述端口映射关系包括上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;上述SDN控制器通过上述第一虚拟转发设备向虚拟SDN控制器发送第四控制消息,其中,上述第四控制消息的匹配域携带上述第一虚拟转发设备的入端口的信息,其中,上述第一虚拟转发设备被注册到上述虚拟SDN控制器。
参见图4,图4是本发明的另一个实施例提供的另一种实现网络虚拟化的方法的流程示意图。如图4所示,本发明的另一个实施例提供的另一种实现网络虚拟化的方法可包括以下内容:
401、SDN控制器接收物理网络中的第一物理转发设备上报的第三控制消息,上述第三控制消息的匹配域携带上述第一物理转发设备的第一入端口的信息所包含的信息。
402、SDN控制器基于端口映射关系和上述第一物理转发设备的第一入端口的信息,确定出与上述第一物理转发设备的第一入端口的信息具有映射关系的上述第一虚拟转发设备的第一入端口的信息。其中,上述端口映射关系包括上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系。
在本发明的一些实施例中,SDN控制器可基于上述第一物理转发设备和设备映射关系,确定出与上述第一物理转发设备具有映射关系的包括第一虚拟转发设备在内的至少1个第一虚拟转发设备(因为不同虚拟网络中的不同虚拟转发设备可能与同一个物理转发设备具有映射关系)。SDN控制器基于上述端口映射关系和上述第一物理转发设备的第一入端口的信息,确定出与上述第一物理转发设备的第一入端口的信息具有映射关系的上述第一虚拟转发设备的第一入端口的信息。
403、SDN控制器向虚拟SDN控制器发送第四控制消息,上述第四控制消息的匹配域携带上述第一虚拟转发设备的第一入端口的信息。
其中,上述第一虚拟转发设备所处的虚拟网络之中还可包括第二虚拟转发设备;上述第一虚拟转发设备和上述第二虚拟转发设备被注册到上述虚拟SDN控制器。
本发明的各个实施例中的物理转发设备可以是物理路由器或物理交换机的具有报文转发功能的设备,其中,虚拟转发设备可以是虚拟路由器或虚拟交换机。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
由上可见,本实施方案中,SDN控制器创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器之后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
为便于更好的理解和实施本发明实施例的上述方案,下面通过举例一些具体的应用场景进行说明。其中,下面以在图1-a~图1-d任意一图所示网络架构中实施图3~图5所对应方法为例进行描述。
参见图5-a,图5-a是本发明的另一个实施例提供的另一种实现网络虚拟化的方法的流程示意图。如图5-a所示,本发明的另一个实施例提供的另一种实现网络虚拟化的方法可包括以下内容:
501、虚拟网络客户端向SDN控制器发送携带虚拟网络拓扑信息的虚拟网络创建请求。
例如,当某用户需要创建某拓扑结构的虚拟网络时,该用户可通过虚拟网络客户端向SDN控制器发送携带虚拟网络拓扑信息的虚拟网络创建请求,以请求SDN控制器创建出至少1个具有上述虚拟网络拓扑信息所描述的拓扑结构的虚拟网络。
502、SDN控制器接收来自虚拟网络客户端的携带虚拟网络拓扑信息的上述虚拟网络创建请求。其中,SDN控制器创建虚拟网络以响应上述虚拟网络创建请求。其中,SDN控制器创建的上述虚拟网络具有上述虚拟网络拓扑信息所描述的拓扑结构。
下面以SDN控制器创建的上述虚拟网络拓扑信息所描述的拓扑结构的虚拟网络例如图5-b所示或者图5-c所示为例。其中,图5-b所示虚拟网络包括虚拟转发设备VD1和虚拟转发设备VD4。图5-c所示虚拟网络包括虚拟转发设备VD1、虚拟转发设备VD2、虚拟转发设备VD3和虚拟转发设备VD4。可以理解的是,图5-b和图5-c所示拓扑结构的虚拟网络仅为了示意,在实际应用中SDN控制器创建的虚拟网络的拓扑结构不限于此。
其中,虚拟网络中的各虚拟转发设备为软件实例。虚拟转发设备可对外模拟物理转发设备的行为模式。
503、SDN控制器为上述虚拟网络分配虚拟网络标识。
进一步的,SDN控制器还可为上述虚拟网络中的各虚拟转发设备分配设备标识。
例如,若SDN控制器创建的虚拟网络如图5-b所示,则SDN控制器还可以为虚拟转发设备VD1和虚拟转发设备VD4分别分配全局唯一的设备标识。若SDN控制器创建的虚拟网络如图5-c所示,SDN控制器还可为虚拟转发设备VD1、虚拟转发设备VD2、虚拟转发设备VD3和虚拟转发设备VD4分别分配全局唯一的设备标识。
SDN控制器可选的还可建立上述虚拟网络标识和上述虚拟SDN控制器的标识之间的映射关系。
504、SDN控制器建立设备映射关系。
其中,设备映射关系包括虚拟网络中的虚拟转发设备与物理网络中的物理转发设备之间的映射关系。
例如,若SDN控制器创建的虚拟网络如图5-b所示,则上述设备映射关系可以包括:虚拟转发设备VD1与物理网络中的物理转发设备D1之间的映射关系、和虚拟转发设备VD4与物理转发设备D4之间的映射关系。
又举例来说,若SDN控制器创建的虚拟网络如图5-c所示,则上述设备映射关系可以包括:虚拟转发设备VD1与物理网络中的物理转发设备D1之间的映射关系、虚拟转发设备VD2与上述物理网络中的物理转发设备D2之间的映射关系、虚拟转发设备VD3与上述物理网络中的物理转发设备D3之间的映射关系、和虚拟转发设备VD4与上述物理网络中的物理转发设备D4之间的映射关系。
在本发明的一些实施例中,上述虚拟转发设备VD1与物理网络中的物理转发设备D1之间的映射关系可包括:虚拟转发设备VD1的设备标识与物理转发设备D1的设备标识之间的映射关系。上述虚拟转发设备VD4与物理网络中的物理转发设备D4之间的映射关系可包括:虚拟转发设备VD4的设备标识与物理转发设备D4的设备标识之间的映射关系,其它虚拟转发设备和物理转发设备之间的映射关系以此类推。
505、SDN控制器建立端口映射关系。
其中,端口映射关系包括虚拟网络中的虚拟转发设备的端口与物理网络中的物理转发设备的端口之间的映射关系。
举例来说,若SDN控制器创建的虚拟网络如图5-b所示,则上述端口映射关系可以包括:虚拟转发设备VD1的入端口与物理转发设备D1的入端口之间的映射关系、虚拟转发设备VD1的出端口与物理转发设备D1的出端口之间的映射关系、虚拟转发设备VD4的入端口与物理转发设备D4的入端口之间的映射关系、虚拟转发设备VD4的出端口与物理转发设备D4的出端口之间的映射关系。
在本发明一些实施例中,上述虚拟转发设备VD1的端口与上述物理转发设备D1的端口之间的映射关系,可包括下述映射关系的至少一种:上述虚拟转发设备VD1的入端口的信息与上述物理转发设备D1的入端口的信息之间的映射关系;和,上述虚拟转发设备VD1的出端口的信息与上述物理转发设备D1的出端口的信息之间的映射关系。
类似的,上述虚拟转发设备VD4的端口与上述物理转发设备D4的端口之间的映射关系,可包括下述映射关系的至少一种:上述虚拟转发设备VD4的入端口的信息与上述物理转发设备D4的入端口的信息之间的映射关系;和,上述虚拟转发设备VD4的出端口的信息与上述物理转发设备D4的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述虚拟转发设备VD1的入端口的信息可包括上述虚拟转发设备VD1的入端口的端口标识(例如上述虚拟转发设备VD1的第一入端口的信息可包括上述虚拟转发设备VD1的第一入端口的端口标识)。上述虚拟转发设备VD1的出端口的信息可包括上述虚拟转发设备VD1的出端口的端口标识(例如上述虚拟转发设备VD1的第一出端口的信息可包括上述虚拟转发设备VD1的第一出端口的端口标识)。
举例来说,上述物理转发设备D1的入端口的信息包括上述物理转发设备D1的入端口的端口标识(例如物理转发设备D1的第一入端口的信息包括物理转发设备D1的第一入端口的端口标识),或者上述物理转发设备D1的入端口的信息包括上述物理转发设备D1的入端口的端口标识和入口标签(例如物理转发设备D1的第一入端口的信息包括物理转发设备D1的第一入端口的端口标识和入口标签)。其中,上述物理转发设备D1的出端口的信息可包括上述物理转发设备D1的出端口的端口标识(例如物理转发设备D1的第一出端口的信息包括物理转发设备D1的第一出端口的端口标识),或者上述物理转发设备D1的出端口的信息包括上述物理转发设备D1的出端口的端口标识和出口标签(例如物理转发设备D1的第一出端口的信息包括物理转发设备D1的第一出端口的端口标识和入口标签)。
举例来说,上述虚拟转发设备VD4的入端口的信息可包括上述虚拟转发设备VD4的入端口的端口标识(例如上述虚拟转发设备VD4的第一入端口的信息可包括上述虚拟转发设备VD4的第一入端口的端口标识)。上述虚拟转发设备VD4的出端口的信息可包括上述虚拟转发设备VD4的出端口的端口标识(例如上述虚拟转发设备VD4的第一出端口的信息可包括上述虚拟转发设备VD4的第一出端口的端口标识)。
举例来说,上述物理转发设备D4的入端口的信息包括上述物理转发设备D4的入端口的端口标识(例如物理转发设备D4的第一入端口的信息包括物理转发设备D4的第一入端口的端口标识),或者上述物理转发设备D4的入端口的信息包括上述物理转发设备D4的入端口的端口标识和入口标签(例如物理转发设备D4的第一入端口的信息包括物理转发设备D4的第一入端口的端口标识和入口标签)。其中,上述物理转发设备D4的出端口的信息可包括上述物理转发设备D4的出端口的端口标识(例如物理转发设备D4的第一出端口的信息包括物理转发设备D4的第一出端口的端口标识),或者上述物理转发设备D4的出端口的信息包括上述物理转发设备D4的出端口的端口标识和出口标签(例如物理转发设备D4的第一出端口的信息包括物理转发设备D4的第一出端口的端口标识和入口标签)。
本发明的各个实施例中的物理转发设备可以是物理路由器或物理交换机的具有报文转发功能的设备,其中,虚拟转发设备可以是虚拟路由器或虚拟交换机。
在本发明的一些实施例中,在创建上述虚拟网络之后,SDN控制器可选的还可建立虚拟链路和链路隧道之间的映射关系,其中,虚拟链路为上述虚拟转发设备之间的虚拟链路,其中,上述链路隧道为上述物理转发设备之间的链路隧道。
举例来说,若SDN控制器创建的虚拟网络如图5-b所示,SDN控制器建立虚拟链路和链路隧道之间的映射关系包括:虚拟链路vL14(其中,虚拟链路vL14为虚拟转发设备VD1和虚拟转发设备VD4之间的虚拟链路)和链路隧道L14(其中,链路隧道L14为物理转发设备D1和物理转发设备D4之间的链路隧道)之间的映射关系。
举例来说,若SDN控制器创建的虚拟网络如图5-c所示,SDN控制器建立虚拟链路和链路隧道之间的映射关系可以包括:虚拟链路vL14(其中虚拟链路vL14为虚拟转发设备VD1和虚拟转发设备VD4之间的虚拟链路)和链路隧道L14(其中,链路隧道L14为物理转发设备D1和物理转发设备D4之间的链路隧道)之间的映射关系、虚拟链路vL24(虚拟链路vL24为虚拟转发设备VD2和虚拟转发设备VD4之间的虚拟链路)和链路隧道L24(其中,链路隧道L24为物理转发设备D2和物理转发设备D4之间的链路隧道)之间的映射关系、虚拟链路vL34(虚拟链路vL34为虚拟转发设备VD3和虚拟转发设备VD4之间的虚拟链路)和链路隧道L34(其中,链路隧道L34为物理转发设备D3和物理转发设备D4之间的链路隧道)之间的映射关系。
可选的,上述虚拟网络创建请求还可携带一条或多条虚拟链路的链路属性信息,假设虚拟网络创建请求携带虚拟链路vL14对应的链路属性信息,则与虚拟链路vL14具有映射关系的链路隧道L14需要满足虚拟链路vL14对应的链路属性信息的约束,其它链路隧道的约束以此类推。
当然,上述虚拟网络创建请求携带的链路属性信息亦可是针对所有虚拟链路的,在此场景下,链路隧道L14、链路隧道L24、链路隧道L34均要求满足上述链路属性信息的约束。
其中,上述链路属性信息包括如下信息的至少1个:链路带宽信息、链路时延信息、链路丢包率信息和链路抖动信息。假设虚拟网络创建请求携带虚拟链路vL14对应的链路属性信息包括链路带宽信息,则与虚拟链路vL14具有映射关系的链路隧道L14的链路带宽就需要大于上述链路带宽信息所指示的链路带宽。
当然,若上述虚拟网络创建请求未携带虚拟链路的链路属性信息,则可认为没有约束与虚拟链路具有映射关系的链路隧道的链路属性,或者按照默认的链路属性(例如默认链路带宽大小、默认链路时延/丢包率等)来约束与虚拟链路具有映射关系的链路隧道的链路属性。
在本发明一些实施例中,用于描述虚拟链路的信息可包括:源虚拟转发设备的设备标识(例如虚拟转发设备VD1的设备标识),源虚拟转发设备中的链路源端口的端口标识、目的虚拟转发设备的设备标识(例如虚拟转发设备VD4的设备标识)和目的虚拟转发设备中的链路目的端口的端口标识。
506、SDN控制器为上述虚拟网络分配虚拟SDN控制器。
其中,SDN控制器可为不同的虚拟网络分配不同的虚拟SDN控制器,也就是说,虚拟SDN控制器与虚拟网络可以是一一对应的关系。
其中。虚拟SDN控制器可以集成在SDN控制器中,虚拟SDN控制器亦可是独立于SDN控制器的设备,例如虚拟SDN控制器可为服务器、虚拟机或软件实例。
507、SDN控制器将上述虚拟网络中的各虚拟转发设备注册到上述虚拟SDN控制器。
其中,SDN控制器可将上述虚拟网络中包括虚拟转发设备VD1和虚拟转发设备VD2之内的各虚拟转发设备注册到上述虚拟SDN控制器。通过将虚拟转发设备注册到虚拟SDN控制器,可以在虚拟SDN控制器和各虚拟转发设备之间建立起控制通道,虚拟SDN控制器可基于这些控制通道向虚拟转发设备下发例如路由表项等控制信息,虚拟SDN控制器还可利用这些控制通道,基于拓扑发现协议来发现虚拟网络的拓扑结构。虚拟转发设备可利用这些控制通道向虚拟SDN控制器上报虚拟设备上电/下电事件、端口激活/去激活事件、链路激活/去激活事件等。
由上可见,在本实施例方案中,通过提供按需创建虚拟网络的机制,使得用户可根据自身需求来提出用于请求创建所需拓扑结构的虚拟网络的虚拟网络创建请求,并且,使用虚拟网络的用户可以无需感知物理网络的具体拓扑结构,与现有VPN创建机制相比,本实施例提出的虚拟网络创建机制在业务组网灵活性等方式有较大提高,且有利于降低业务成本、缩短业务的开通周期。并且SDN控制器在创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,这有利于在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器之后有利于简化业务配置复杂度,有利于进一步降低业务成本、缩短业务的开通周期。
下面举例在实施图5-a所对应的实施例方案之后,物理转发设备、SDN控制器、虚拟SDN控制器和虚拟转发设备之间的一种信息交互场景。图6是本发明的另一个实施例提供的另一种实现网络虚拟化的方法的流程示意图。如图6所示,本发明的另一个实施例提供的另一种实现网络虚拟化的方法可包括以下内容:
601、虚拟SDN控制器下发第一路由表项。
602、SDN控制器通过虚拟转发设备VD1获得虚拟SDN控制器所下发的第一路由表项,其中,上述第一路由表项的匹配域携带有网络地址,该网络地址可为目的地址和/或源地址,其中,上述第一路由表项的动作域携带虚拟转发设备VD1的第一出端口的信息。
SDN控制器基于虚拟转发设备VD1和设备映射关系,确定出与虚拟转发设备VD1具有映射关系的物理转发设备D1;基于端口映射关系和上述虚拟转发设备VD1的第一出端口的信息,确定出与虚拟转发设备VD1的第一出端口的信息具有映射关系的上述物理转发设备D1的第一出端口的信息。
603、SDN控制器通过将第一路由表项的动作域携带的虚拟转发设备VD1的第一出端口的信息,替换为物理转发设备D1的第一出端口的信息,以得到第二路由表项,其中,上述第二路由表项的匹配域携带上述网络地址。
进一步的,上述第二路由表项的匹配域可选的还可携带虚拟转发设备VD1所属虚拟网络的虚拟网络标识。
604、SDN控制器向物理转发设备D1发送第二路由表项。
其中,物理转发设备D1接收到第二路由表项之后,若接收到的待转发的报文的相关信息(如待转发的报文的网络地址、入端口等)与第二路由表项的匹配域信息匹配,则物理转发设备D1可基于第二路由表项的动作域所包含的信息对待转发的报文进行转发处理。
在本发明的一些实施例中,虚拟转发设备VD1的第一出端口的信息可以包括虚拟转发设备VD1的第一出端口的端口标识。物理转发设备D1的第一出端口的信息可以包括物理转发设备D1的第一出端口的端口标识,或者,物理转发设备D1的第一出端口的信息可以包括物理转发设备D1的第一出端口的端口标识和出口标签等。
由上可见,本实施方案中,SDN控制器创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器之后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
下面举例在实施图5-a所对应的实施例方案之后,物理转发设备、SDN控制器、虚拟SDN控制器和虚拟转发设备之间的另一种信息交互场景。图7是本发明的另一实施例提供的另一种实现网络虚拟化的方法的流程示意图。如图7所示,本发明的另一个实施例提供的另一种实现网络虚拟化的方法可包括以下内容:
701、虚拟SDN控制器下发第三路由表项。
702、SDN控制器通过虚拟转发设备VD1获得虚拟SDN控制器所下发的第三路由表项,其中,上述第三路由表项的匹配域携带有虚拟转发设备VD1的第一入端口的信息,其中,上述第三路由表项的动作域携带虚拟转发设备VD1的第一出端口的信息。
SDN控制器基于虚拟转发设备VD1和设备映射关系,确定出与虚拟转发设备VD1具有映射关系的物理转发设备D1;基于端口映射关系和上述虚拟转发设备VD1的第一出端口的信息,确定出与虚拟转发设备VD1的第一出端口的信息具有映射关系的上述物理转发设备D1的第一出端口的信息;基于端口映射关系和上述虚拟转发设备VD1的第一入端口的信息,确定出与虚拟转发设备VD1的第一入端口的信息具有映射关系的上述物理转发设备D1的第一入端口的信息。
703、SDN控制器将第三路由表项的动作域携带的虚拟转发设备VD1的第一出端口的信息替换为物理转发设备D1的第一出端口的信息,将第三路由表项的动作域携带的虚拟转发设备VD1的第一入端口的信息替换为上述物理转发设备D1的第一入端口的信息,以得到第四路由表项。
704、SDN控制器向物理转发设备D1发送第四路由表项。
其中,物理转发设备D1接收到第四路由表项之后,若接收到的待转发的报文的相关信息(如物理转发设备D1接收待转发报文的入端口等)与第四路由表项的匹配域信息匹配,则物理转发设备D1可基于第四路由表项的动作域所包含的信息对待转发的报文进行转发处理。
其中,虚拟转发设备VD1的第一出端口的信息可以包括虚拟转发设备VD1的第一出端口的端口标识。虚拟转发设备VD1的第一入端口的信息可以包括虚拟转发设备VD1的第一入端口的端口标识。物理转发设备D1的第一出端口的信息可以包括物理转发设备D1的第一出端口的端口标识,或者,物理转发设备D1的第一出端口的信息可以包括物理转发设备D1的第一出端口的端口标识和出口标签等。其中,物理转发设备D1的第一入端口的信息可以包括物理转发设备D1的第一入端口的端口标识,或者,物理转发设备D1的第一入端口的信息可以包括物理转发设备D1的第一入端口的端口标识和入口标签等。
由上可见,本实施方案中,SDN控制器创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有的VPN机制,引入虚拟SDN控制器和SDN控制器之后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
下面举例在实施图5-a所对应的实施例方案之后,物理转发设备、SDN控制器、虚拟SDN控制器和虚拟转发设备之间的另一种信息交互场景。图8是本发明的另一实施例提供的另一种实现网络虚拟化的方法的流程示意图。如图8所示,本发明的另一个实施例提供的另一种实现网络虚拟化的方法可包括以下内容:
801、物理转发设备D1通过第一入端口接收报文p1。
802、物理转发设备D1以第一入端口的信息(其中,第一入端口的信息例如包括端口标识和入口标签等)为匹配索引,查找是否存在与报文p1匹配的路由表项。
本实施例假设物理转发设备D1未查找到与报文p1匹配的路由表项,因此物理转发设备D1向SDN控制器发送携带报文p1的第一控制消息,第一控制消息的匹配域携带物理转发设备D1的第一入端口的信息。
803、SDN控制器基于物理转发设备D1的第一入端口的信息和已建立的端口映射关系,确定出与物理转发设备D1的第一入端口的信息具有映射关系的虚拟转发设备VD1的第一入端口的信息。
804、SDN控制器将第一控制消息的匹配域携带的物理转发设备D1的第一入端口的信息替换为虚拟转发设备VD1的第一入端口的信息,以得到第二控制消息。
805、SDN控制器通过虚拟转发设备VD1向虚拟SDN控制器发送第二控制消息。
806、虚拟SDN控制器基于预设策略得到用于转发处理报文p1的转发处理规则。
807、虚拟SDN控制器发送第三路由表项,其中,第三路由表项的动作域携带上述转发处理规则,其中,第三路由表项的匹配域携带虚拟转发设备VD1的第一入端口的信息,其中,上述转发处理规则包含虚拟转发设备VD1的第一出端口的信息。
808、SDN控制器通过虚拟转发设备VD1接收来自虚拟SDN控制器的第三路由表项。
SDN控制器基于端口映射关系和虚拟转发设备VD1,确定出与虚拟转发设备VD1具有映射关系的物理转发设备D1。SDN控制器基于端口映射关系和虚拟转发设备VD1的第一出端口的信息,确定出与虚拟转发设备VD1的第一出端口的信息具有映射关系的物理转发设备D1的第一出端口的信息。
809、SDN控制器将第三路由表项的匹配域携带的虚拟转发设备VD1的第一入端口的信息替换为物理转发设备D1的第一入端口的信息,将第三路由表项的动作域携带的虚拟转发设备VD1的第一出端口的信息替换为物理转发设备D1的第一出端口的信息,以得到第四路由表项。
SDN控制器向物理转发设备D1发送第四路由表项。
物理转发设备D1接收到第四路由表项之后,物理转发设备D1基于第四路由表项的动作域所包含的转发处理规则,对后续接收到的与第四路由表项匹配的待转发报文进行转发处理。
其中,虚拟转发设备VD1的第一出端口的信息可以包括虚拟转发设备VD1的第一出端口的端口标识。虚拟转发设备VD1的第一入端口的信息可以包括虚拟转发设备VD1的第一入端口的端口标识。物理转发设备D1的第一出端口的信息可以包括物理转发设备D1的第一出端口的端口标识,或者,物理转发设备D1的第一出端口的信息可以包括物理转发设备D1的第一出端口的端口标识和出口标签等。其中,物理转发设备D1的第一入端口的信息可以包括物理转发设备D1的第一入端口的端口标识,或者,物理转发设备D1的第一入端口的信息可以包括物理转发设备D1的第一入端口的端口标识和入口标签等。
由上可见,本实施方案中,SDN控制器创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有的VPN机制,引入虚拟SDN控制器和SDN控制器之后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
下面举例在实施图5-a所对应的实施例方案之后,物理转发设备、SDN控制器、虚拟SDN控制器和虚拟转发设备之间的另一种信息交互场景。图9是本发明的另一实施例提供的另一种实现网络虚拟化的方法的流程示意图。如图9所示,本发明的另一个实施例提供的另一种实现网络虚拟化的方法可包括以下内容:
901、物理转发设备D1接收报文p1。
902、物理转发设备D1以第一入端口的信息(其中,第一入端口的信息包括第一入端口的端口标识和入口标签等)为匹配索引,查找是否存在于报文p1匹配的路由表项。
本实施例假设物理转发设备D1未查找到与报文p1匹配的路由表项,因此物理转发设备D1向SDN控制器发送携带报文p1的第七控制消息,第七控制消息的匹配域携带虚拟网络标识。
903、SDN控制器基于上述虚拟网络标识、物理转发设备D1和上述设备映射关系,确定出与物理转发设备D1具有映射关系的位于上述虚拟网络标识所表示虚拟网络之中的虚拟转发设备VD1。
904、SDN控制器通过虚拟转发设备VD1向虚拟SDN控制器发送第七控制消息。
905、虚拟SDN控制器基于预设策略得到用于转发处理报文p1的转发处理规则。
906、虚拟SDN控制器发送第一路由表项。
其中,第一路由表项的动作域携带上述转发处理规则。
907、SDN控制器通过虚拟转发设备VD1接收来自虚拟SDN控制器的第一路由表项。
SDN控制器基于端口映射关系和虚拟转发设备VD1,确定出与虚拟转发设备VD1具有映射关系的物理转发设备D1。SDN控制器基于端口映射关系和虚拟转发设备VD1的第一出端口的信息,确定出与虚拟转发设备VD1的第一出端口的信息具有映射关系的物理转发设备D1的第一出端口的信息。
908、SDN控制器将第一路由表项的动作域携带的虚拟转发设备VD1的第一出端口的信息替换为物理转发设备D1的第一出端口的信息,以得到第二路由表项。
SDN控制器向物理转发设备D1发送第二路由表项,第二路由表项的匹配域可携带上述虚拟网络标识。
物理转发设备D1接收到第二路由表项之后,基于第二路由表项的动作域所包含的转发处理规则,对后续接收到的与第二路由表项匹配的待转发报文进行转发处理。
其中,虚拟转发设备VD1的第一出端口的信息可以包括虚拟转发设备VD1的第一出端口的端口标识。虚拟转发设备VD1的第一入端口的信息可以包括虚拟转发设备VD1的第一入端口的端口标识。物理转发设备D1的第一出端口的信息可以包括物理转发设备D1的第一出端口的端口标识,或者,物理转发设备D1的第一出端口的信息可以包括物理转发设备D1的第一出端口的端口标识和出口标签等。其中,物理转发设备D1的第一入端口的信息可以包括物理转发设备D1的第一入端口的端口标识,或者,物理转发设备D1的第一入端口的信息可以包括物理转发设备D1的第一入端口的端口标识和入口标签等。
由上可见,本实施方案中,SDN控制器创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器之后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
可以理解,图5-a~图9所示实施例中的物理转发设备D1可看做是第一物理转发设备的一种举例实现,图5-a~图9所示实施例中的虚拟转发设备VD1可看做是第一虚拟转发设备的一种举例实现。
在现有VPN解决方案中,企业用户的路由由运营商网络代为管理,由现有物理转发设备的控制层通过分布式协议实现VPN路由传播和路由计算,这给网络设备的控制层带来极大的计算消耗,网络设备的计算能力已成为VPN业务进一步扩展的瓶颈。然而,在本发明实施例的一些方案中,可将虚拟网络的路由传播、路由计算、转发表维护等分离到虚拟网络中,物理网络可以只保留通用的报文转发功能,这有利于极大减轻物理转发设备的计算消耗,物理转发设备不存在虚拟网络路由计算带来的计算消耗,使得一台物理转发设备可以映射更多的虚拟设备,大大降低的虚拟网络所需的物理成本。
进一步的,在SDN控制器实现网络设备虚拟化,虚拟控制器可提供符合SDN标准的可编程接口,使得用户可以通过虚拟控制器,对虚拟网络进行更加灵活的定制,进而向用户提供完全虚拟化的虚拟控制器及虚拟网络。基于本发明实施例的一些方案,可大量的使用资源自动分配算法实现自动配置,在缩减人工成本的同时还可以大大减低了出错的概率,这也使得虚拟网络大规模部署成为可能。
下面还提供用于实施上述方案的相关装置
参见图10-a,图10-a是本发明实施例提供的SDN控制器1000的示意图,SDN控制器1000可包括:接收单元1010、创建单元1020、映射单元1030、分配单元1040和注册单元1050。
接收单元1010,用于接收携带虚拟网络拓扑信息的虚拟网络创建请求。
创建单元1020,用于创建虚拟网络以响应上述虚拟网络创建请求,上述虚拟网络具有上述虚拟网络拓扑信息所描述的拓扑结构,上述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备。
映射单元1030,用于建立设备映射关系和建立端口映射关系,其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及上述第二虚拟转发设备与上述物理网络中的第二物理转发设备之间的映射关系;其中,上述端口映射关系包括上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系、以及上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系。
分配单元1040,用于为上述虚拟网络分配虚拟SDN控制器。
注册单元1050,用于将上述第一虚拟转发设备和上述第二虚拟转发设备注册到上述虚拟SDN控制器。
参见图10-b,在本发明的一些实施例中,SDN控制器1000还可包括:第二分配单元1060,用于在上述创建单元创建上述虚拟网络之后,为上述虚拟网络分配虚拟网络标识;
其中,映射单元1030还可用于,建立上述虚拟网络标识和上述虚拟SDN控制器的标识之间的映射关系。
在本发明的一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
在本发明的一些实施例中,上述第一虚拟转发设备的入端口的信息包括上述第一虚拟转发设备的入端口的端口标识,上述第一虚拟转发设备的出端口的信息包括上述第一虚拟转发设备的出端口的端口标识。
其中,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识,或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签。
其中,上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识,或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签。
参见图10-c,在本发明的一些实施例中,SDN控制器1000还可包括:
第一获得单元1070、第一转换单元1080和发送单元1090。
第一获得单元1070,用于在注册单元1050将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第一路由表项,上述第一路由表项的匹配域携带网络地址,上述网络地址为目的地址和/或源地址,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;
第一转换单元1080,用于基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;
发送单元1090,用于向上述第一物理转发设备发送第二路由表项,上述第二路由表项的匹配域携带上述网络地址,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。
在本发明的一些实施例中,若上述第二分配单元为上述虚拟网络分配虚拟网络标识,上述第二路由表项的匹配域还携带上述虚拟网络标识。
参见图10-d,在本发明的另一些实施例中,SDN控制器1000还可包括:
第二获得单元1001、第二转换单元1002和发送单元1090。
第二获得单元1001,用于在上述注册单元将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第三路由表项,上述第三路由表项的匹配域携带上述第一虚拟转发设备的入端口的信息,上述第三路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;
第二转换单元1002,用于基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;基于上述端口映射关系和上述第一虚拟转发设备的入端口的信息,确定出与上述第一虚拟转发设备的入端口的信息具有映射关系的上述第一物理转发设备的入端口的信息;
发送单元1090,用于向上述第一物理转发设备发送第四路由表项,上述第四路由表项的匹配域携带上述第一物理转发设备的入端口的信息,上述第四路由表项的动作域携带上述第一物理转发设备的出端口的信息。
参见图10-e,在本发明的又一些实施例中,SDN控制器1000还可包括:
第三获得单元1003、第三转换单元1004和发送单元1090。
第三获得单元1003,用于在上述注册单元将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,接收上述第一物理转发设备上报的第一控制消息,上述第一控制消息的匹配域携带上述第一物理转发设备的入端口的信息。
第三转换单元1004,用于基于上述端口映射关系和上述第一物理转发设备的入端口的信息,确定出与上述第一物理转发设备的入端口的信息具有映射关系的上述第一虚拟转发设备的入端口的信息。
发送单元1090,用于通过上述第一虚拟转发设备向上述虚拟SDN控制器发送第二控制消息,上述第二控制消息的匹配域携带上述第一虚拟转发设备的入端口的信息。
在本发明的一些实施例中,SDN控制器1000还可包括:
保存单元,用于若第一获得单元1070通过上述第一虚拟转发设备获得上述虚拟SDN控制器下发的上述第一路由表项,保存上述第一路由表项;若上述第二获得单元1001通过上述第一虚拟转发设备获得上述虚拟SDN控制器下发的上述第三路由表项,保存上述第三路由表项。
在本发明的一些实施例中,SDN控制器1000还可包括:
第三分配单元,用于在创建单元创建上述虚拟网络之后,为上述第一虚拟转发设备和上述第二虚拟转发设备分别分配设备标识。
其中,上述第一虚拟转发设备与上述物理网络中的第一物理转发设备之间的映射关系包括:上述第一虚拟转发设备的设备标识与上述第一物理转发设备的设备标识之间的映射关系。
其中,上述第二虚拟转发设备与上述物理网络中的第二物理转发设备之间的映射关系包括:上述第二虚拟转发设备的设备标识与上述第二物理转发设备的设备标识之间的映射关系。
在本发明的一些实施例中,上述虚拟网络创建请求还携带链路属性信息,
其中,上述映射单元还用于在上述创建单元创建上述虚拟网络之后,建立虚拟链路和链路隧道之间的映射关系;其中,上述链路隧道符合上述链路属性信息的约束,其中,上述虚拟链路为上述第一虚拟转发设备和上述第二虚拟转发设备之间的虚拟链路,上述链路隧道为上述第一物理转发设备和上述第二物理转发设备之间的链路隧道。
在本发明的一些实施例中,上述链路属性信息包括如下信息的至少一个:链路带宽信息、链路时延信息、链路丢包率信息和链路抖动信息。
在本发明的一些实施例中,用于描述上述虚拟链路的信息包括:第一虚拟转发设备的设备标识,第一虚拟转发设备中的链路源端口的端口标识、第二虚拟转发设备的设备标识和上述第二虚拟转发设备中的链路目的端口的端口标识。
可以理解的是,本实施例的SDN控制器1000的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施方案中通过提供按需创建虚拟网络的机制,使得用户可根据自身需求来提出用于请求创建所需拓扑结构的虚拟网络的虚拟网络创建请求,并且使用虚拟网络的用户可以无需感知物理网络的具体拓扑结构,与现有VPN创建机制相比,本实施例提出的虚拟网络创建机制在业务组网灵活性等方式有较大提高,且有利于降低业务成本、缩短业务的开通周期。并且SDN控制器1000在创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,这就有利于在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比于现有的VPN机制,引入虚拟SDN控制器和SDN控制器1000之后有利于简化业务配置复杂,也有利于进一步降低业务成本、缩短业务的开通周期。
参见图11,图11为本发明实施例提供的SDN控制器1100的示意图,SDN控制器1100可包括至少一个总线1101、与总线1101相连的至少一个处理器1102以及与总线1101相连的至少一个存储器1103。
其中,处理器1102通过总线1101,调用存储器1103中存储的代码以用于接收携带虚拟网络拓扑信息的虚拟网络创建请求;创建虚拟网络以响应上述虚拟网络创建请求,其中,上述虚拟网络具有上述虚拟网络拓扑信息所描述的拓扑结构,上述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备;建立设备映射关系,其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及上述第二虚拟转发设备与上述物理网络中的第二物理转发设备之间的映射关系;建立端口映射关系,其中,上述端口映射关系包括上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系、以及上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系;为上述虚拟网络分配虚拟SDN控制器;将上述第一虚拟转发设备和上述第二虚拟转发设备注册到上述虚拟SDN控制器。
当然,上述虚拟网络可选的还可包括其它虚拟转发设备,例如上述虚拟网络可选的还可包括第三虚拟转发设备、第四虚拟转发设备等。其中,虚拟网络中的各虚拟转发设备为软件实例。虚拟转发设备可对外模拟物理转发设备的行为模式。
在本发明的一些实施例中,处理器1102可通过生成记录有第一虚拟转发设备和第一物理转发设备的设备标识的映射关系记录,来建立上述第一虚拟转发设备与第一物理转发设备之间的映射关系。同理,可通过生成记录有第二虚拟转发设备和第二物理转发设备的设备标识的映射关系记录,来建立上述第二虚拟转发设备与第二物理转发设备之间的映射关系。其它虚拟转发设备和其它物理转发设备之间的的映射关系的建立方式可以类似。当然,亦可通过其他方式来建立上述设备映射关系。
其中,第一物理转发设备可以是一个物理转发设备,也可以是多个物理转发设备所组成的物理转发设备组,同理,第二物理转发设备可以是一个物理转发设备,也可以是多个物理转发设备所组成的物理转发设备组。例如假设第一物理转发设备为由路由器A,则建立第一虚拟转发设备与第一物理转发设备之间的映射关系包括:建立路由器A与第一虚拟转发设备之间的映射关系。又举例来说,假设第一物理转发设备为由路由器A和路由器B所组成的物理转发设备组,建立第一虚拟转发设备与第一物理转发设备之间的映射关系包括:建立由路由器A和路由器B所组成的物理转发设备组与第一虚拟转发设备之间的映射关系。其它情况与之类似。
可以理解,不同虚拟网络中的不同虚拟转发设备可能与同一个物理转发设备具有映射关系。
在本发明的一些实施例中,处理器1102可以为不同的虚拟网络分配不同的虚拟SDN控制器,也就是说,虚拟SDN控制器与虚拟网络之间可以是一一对应的关系。在某些场景下,处理器1102也可为至少两个虚拟网络分配同一个虚拟SDN控制器。
其中。虚拟SDN控制器可以集成在SDN控制器中,虚拟SDN控制器亦可是独立于SDN控制器的设备,例如,虚拟SDN控制器可为服务器、虚拟机或软件实例。
其中,处理器1102可将上述虚拟网络中包括第一虚拟转发设备和上述第二虚拟转发设备之内的各虚拟转发设备注册到上述虚拟SDN控制器。通过将虚拟转发设备注册到虚拟SDN控制器,可以在虚拟SDN控制器和各虚拟转发设备之间建立起控制通道,虚拟SDN控制器可基于这些控制通道向虚拟转发设备下发例如路由表项等控制信息,虚拟SDN控制器还可利用这些控制通道,基于拓扑发现协议来发现虚拟网络的拓扑结构。虚拟转发设备可利用这些控制通道向虚拟SDN控制器上报虚拟设备上电/下电事件、端口激活/去激活事件、链路激活/去激活事件等。
在本发明的一些实施例中,在上述创建虚拟网络之后,处理器1102可选的还可为上述虚拟网络分配虚拟网络标识。SDN控制器可选的还可建立上述虚拟网络标识和上述虚拟SDN控制器的标识之间的映射关系。
在本发明一些实施例中,在上述创建虚拟网络之后,处理器1102可选的还可以为上述第一虚拟转发设备和上述第二虚拟转发设备分别分配设备标识(当然处理器1102可选的还可以为虚拟网络中的其它虚拟转发设备分别分配设备标识)。其中,上述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系可以包括:上述第一虚拟转发设备的设备标识与上述第一物理转发设备的设备标识之间的映射关系。其中,上述第二虚拟转发设备与上述物理网络中的第二物理转发设备之间的映射关系可包括:上述第二虚拟转发设备的设备标识与上述第二物理转发设备的设备标识之间的映射关系。可以理解,其它虚拟转发设备(若存在)和其它物理转发设备(若存在)之间的映射关系以此类推。
在本发明的一些实施例中,可选的,上述虚拟网络创建请求还可携带链路属性信息等,其中,在上述创建上述虚拟网络之后,处理器1102可选的还可建立第一虚拟链路和第一链路隧道之间的映射关系;其中,上述第一链路隧道符合上述链路属性信息的约束,其中,上述第一虚拟链路为上述第一虚拟转发设备和上述第二虚拟转发设备之间的虚拟链路,上述链路隧道为上述第一物理转发设备和上述第二物理转发设备之间的链路隧道。其中,在本发明的一些实施例中,上述链路属性信息包括如下信息的至少一个:链路带宽信息、链路时延信息、链路丢包率信息和链路抖动信息等。
在本发明一些实施例中,用于描述第一虚拟链路的信息组可包括:第一虚拟转发设备(即源虚拟转发设备)的设备标识,第一虚拟转发设备中的链路源端口的端口标识、第二虚拟转发设备(即目的虚拟转发设备)的设备标识和上述第一虚拟转发设备中的链路目的端口的端口标识。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
本发明的各个实施例中的物理转发设备可以是物理路由器或物理交换机的具有报文转发功能的设备,其中,虚拟转发设备可以是虚拟路由器或虚拟交换机。
举例来说,处理器1102将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,处理器1102可选的还可通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第一路由表项,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;处理器1102基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;处理器1102基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;处理器1102向上述第一物理转发设备发送第二路由表项,其中,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。其中,处理器1102例如可基于第一路由表项变换得到第二路由表项,例如处理器1102可通过将第一路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第二路由表项。可选的,若上述处理器1102为上述虚拟网络分配了虚拟网络标识,上述第二路由表项的匹配域还可携带上述虚拟网络标识。
又举例来说,处理器1102将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,处理器1102可选的还可通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第一路由表项,其中,上述第一路由表项的匹配域携带网络地址,上述网络地址为目的地址和/或源地址,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;处理器1102基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;处理器1102基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;处理器1102向上述第一物理转发设备发送第二路由表项,其中,上述第二路由表项的匹配域携带上述网络地址,上述网络地址为目的地址和/或源地址,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。其中,处理器1102例如可基于第一路由表项变换得到第二路由表项,例如,处理器1102可通过将第一路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第二路由表项。可选的,若处理器1102为上述虚拟网络分配了虚拟网络标识,上述第二路由表项的匹配域还可携带上述虚拟网络标识。
又例如,处理器1102将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,处理器1102可选的还可通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第三路由表项,其中,上述第三路由表项的匹配域携带上述第一虚拟转发设备的入端口的信息,其中,上述第三路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;处理器1102基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;处理器1102基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;处理器1102基于上述端口映射关系和上述第一虚拟转发设备的入端口的信息,确定出与上述第一虚拟转发设备的入端口的信息具有映射关系的上述第一物理转发设备的入端口的信息;处理器1102向上述第一物理转发设备发送第四路由表项,其中,上述第四路由表项的匹配域可携带上述第一物理转发设备的入端口的信息,第四路由表项的动作域携带上述第一物理转发设备的出端口的信息。其中,处理器1102例如可基于第三路由表项变换得到第四路由表项,处理器1102例如可通过将第三路由表项的匹配域携带的上述第一虚拟转发设备的入端口的信息,替换为上述第一物理转发设备的入端口的信息,将第三路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第四路由表项。
还举例来说,处理器1102将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,处理器1102可选的还可接收上述第一物理转发设备上报的第一控制消息,其中,上述第一控制消息的匹配域携带上述第一物理转发设备的入端口的信息;处理器1102基于上述第一物理转发设备和上述设备映射关系,确定出与上述第一物理转发设备具有映射关系的上述第一虚拟转发设备;处理器1102基于上述端口映射关系和上述第一物理转发设备的入端口的信息,确定出与上述第一物理转发设备的入端口的信息具有映射关系的上述第一虚拟转发设备的入端口的信息;处理器1102通过上述第一虚拟转发设备向上述虚拟SDN控制器发送第二控制消息,上述第二控制消息的匹配域可以携带上述第一虚拟转发设备的入端口的信息。其中,处理器1102可基于第一控制消息变换得到第二控制消息,例如处理器1102例如可通过将第一控制消息的匹配域携带的上述第一物理转发设备的入端口的信息,替换为上述第一虚拟转发设备的入端口的信息以得到第二控制消息,以得到第二控制消息。
还举例来说,处理器1102将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,处理器1102可选的还可接收上述第一物理转发设备上报的第三控制消息,其中,上述第三控制消息的匹配域可携带上述第一虚拟转发设备所属虚拟网络的虚拟网络标识;处理器1102基于上述虚拟网络标识、第一物理转发设备和上述设备映射关系,确定出与上述第一物理转发设备具有映射关系的上述第一虚拟转发设备;处理器1102去除第三控制消息的匹配域携带的第一虚拟转发设备所属虚拟网络的虚拟网络标识,以得到第四控制消息。处理器1102通过上述第一虚拟转发设备向上述虚拟SDN控制器发送第四控制消息。
在本发明的一些实施例中,处理器1102若通过上述第一虚拟转发设备获得上述虚拟SDN控制器下发的上述第一路由表项,处理器1102可选的还可保存上述第一路由表项。其中,处理器1102若通过上述第一虚拟转发设备获得上述虚拟SDN控制器下发的上述第三路由表项,处理器1102可选的还可保存上述第三路由表项。
特别的,有些控制消息也可能只需要在虚拟控制器和虚拟转发设备之间进行传递。无需处理器1102将这些控制消息转发给与虚拟转发设备具有映射关系的物理转发设备。例如,处理器1102通过第一虚拟转发设备接收到虚拟SDN控制器发送的第五控制消息之后,可通过第一虚拟转发设备向该虚拟SDN控制器反馈第五控制消息的响应消息。或者,处理器1102也可通过第一虚拟转发设备向虚拟SDN控制器发送第六控制消息,通过第一虚拟转发设备接收虚拟SDN控制器反馈的第六控制消息的响应消息。
可以理解的是,本实施例的SDN控制器1100的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施方案中通过提供按需创建虚拟网络的机制,使得用户可根据自身需求来提出用于请求创建所需拓扑结构的虚拟网络的虚拟网络创建请求,并且使用虚拟网络的用户可以无需感知物理网络的具体拓扑结构,与现有VPN创建机制相比,本实施例提出的虚拟网络创建机制在业务组网灵活性等方式有较大提高,且有利于降低业务成本、缩短业务的开通周期。并且SDN控制器1100在创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,这就有利于在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比于现有的VPN机制,引入虚拟SDN控制器和SDN控制器1100之后有利于简化业务配置复杂,也有利于进一步降低业务成本、缩短业务的开通周期。
参见图12,图12是本发明的另一个实施例提供的SDN控制器1200的结构框图。其中,SDN控制器1200可以包括:至少1个处理器1201,至少1个网络接口1204或其他用户接口1203,存储器1205,至少1个通信总线1202。通信总线1202用于实现这些组件之间的连接通信。其中,该SDN控制器1200可选的包含用户接口1203,包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等)、点击设备(例如鼠标、轨迹球(trackball)触感板或触摸屏等)、摄像头和/或拾音装置等。
其中,存储器1202可以包括只读存储器和随机存取存储器,并向处理器1201提供指令和数据。存储器1202中的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器1205存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统12051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
应用程序模块12052,包含各种应用程序,用于实现各种应用业务。
应用程序模块12052中包括但不限于图10-a~图10-g所示的结构中的至少一个单元。
在本发明实施例中,通过调用存储器1205存储的程序或指令,处理器1201用于接收携带虚拟网络拓扑信息的虚拟网络创建请求;创建虚拟网络以响应上述虚拟网络创建请求,其中,上述虚拟网络具有上述虚拟网络拓扑信息所描述的拓扑结构,上述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备;建立设备映射关系,其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及上述第二虚拟转发设备与上述物理网络中的第二物理转发设备之间的映射关系;建立端口映射关系,其中,上述端口映射关系包括上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系、以及上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系;为上述虚拟网络分配虚拟SDN控制器;将上述第一虚拟转发设备和上述第二虚拟转发设备注册到上述虚拟SDN控制器。
当然,上述虚拟网络可选的还可包括其它虚拟转发设备,例如上述虚拟网络可选的还可包括第三虚拟转发设备、第四虚拟转发设备等。其中,虚拟网络中的各虚拟转发设备为软件实例。虚拟转发设备可对外模拟物理转发设备的行为模式。
在本发明的一些实施例中,处理器1201可通过生成记录有第一虚拟转发设备和第一物理转发设备的设备标识的映射关系记录,来建立上述第一虚拟转发设备与第一物理转发设备之间的映射关系。同理,可通过生成记录有第二虚拟转发设备和第二物理转发设备的设备标识的映射关系记录,来建立上述第二虚拟转发设备与第二物理转发设备之间的映射关系。其它虚拟转发设备和其它物理转发设备之间的的映射关系的建立方式可以类似。当然,亦可通过其他方式来建立上述设备映射关系。
其中,第一物理转发设备可以是一个物理转发设备,也可以是多个物理转发设备所组成的物理转发设备组,同理,第二物理转发设备可以是一个物理转发设备,也可以是多个物理转发设备所组成的物理转发设备组。例如假设第一物理转发设备为由路由器A,则建立第一虚拟转发设备与第一物理转发设备之间的映射关系包括:建立路由器A与第一虚拟转发设备之间的映射关系。又举例来说,假设第一物理转发设备为由路由器A和路由器B所组成的物理转发设备组,建立第一虚拟转发设备与第一物理转发设备之间的映射关系包括:建立由路由器A和路由器B所组成的物理转发设备组与第一虚拟转发设备之间的映射关系。其它情况与之类似。
可以理解,不同虚拟网络中的不同虚拟转发设备可能与同一个物理转发设备具有映射关系。
在本发明的一些实施例中,处理器1201可以为不同的虚拟网络分配不同的虚拟SDN控制器,也就是说,虚拟SDN控制器与虚拟网络之间可以是一一对应的关系。在某些场景下,处理器1201也可为至少两个虚拟网络分配同一个虚拟SDN控制器。
其中。虚拟SDN控制器可以集成在SDN控制器中,虚拟SDN控制器亦可是独立于SDN控制器的设备,例如,虚拟SDN控制器可为服务器、虚拟机或软件实例。
其中,处理器1201可将上述虚拟网络中包括第一虚拟转发设备和上述第二虚拟转发设备之内的各虚拟转发设备注册到上述虚拟SDN控制器。通过将虚拟转发设备注册到虚拟SDN控制器,可以在虚拟SDN控制器和各虚拟转发设备之间建立起控制通道,虚拟SDN控制器可基于这些控制通道向虚拟转发设备下发例如路由表项等控制信息,虚拟SDN控制器还可利用这些控制通道,基于拓扑发现协议来发现虚拟网络的拓扑结构。虚拟转发设备可利用这些控制通道向虚拟SDN控制器上报虚拟设备上电/下电事件、端口激活/去激活事件、链路激活/去激活事件等。
在本发明的一些实施例中,在上述创建虚拟网络之后,处理器1201可选的还可为上述虚拟网络分配虚拟网络标识。处理器1201可选的还可建立上述虚拟网络标识和上述虚拟SDN控制器的标识之间的映射关系。
在本发明一些实施例中,在上述创建虚拟网络之后,处理器1201可选的还可以为上述第一虚拟转发设备和上述第二虚拟转发设备分别分配设备标识(当然处理器1201可选的还可以为虚拟网络中的其它虚拟转发设备分别分配设备标识)。其中,上述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系可以包括:上述第一虚拟转发设备的设备标识与上述第一物理转发设备的设备标识之间的映射关系。其中,上述第二虚拟转发设备与上述物理网络中的第二物理转发设备之间的映射关系可包括:上述第二虚拟转发设备的设备标识与上述第二物理转发设备的设备标识之间的映射关系。可以理解,其它虚拟转发设备(若存在)和其它物理转发设备(若存在)之间的映射关系以此类推。
在本发明的一些实施例中,可选的,上述虚拟网络创建请求还可携带链路属性信息等,其中,在上述创建上述虚拟网络之后,处理器1201可选的还可建立第一虚拟链路和第一链路隧道之间的映射关系;其中,上述第一链路隧道符合上述链路属性信息的约束,其中,上述第一虚拟链路为上述第一虚拟转发设备和上述第二虚拟转发设备之间的虚拟链路,上述链路隧道为上述第一物理转发设备和上述第二物理转发设备之间的链路隧道。其中,在本发明的一些实施例中,上述链路属性信息包括如下信息的至少一个:链路带宽信息、链路时延信息、链路丢包率信息和链路抖动信息等。
在本发明一些实施例中,用于描述第一虚拟链路的信息组可包括:第一虚拟转发设备(即源虚拟转发设备)的设备标识,第一虚拟转发设备中的链路源端口的端口标识、第二虚拟转发设备(即目的虚拟转发设备)的设备标识和上述第一虚拟转发设备中的链路目的端口的端口标识。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
本发明的各个实施例中的物理转发设备可以是物理路由器或物理交换机的具有报文转发功能的设备,其中,虚拟转发设备可以是虚拟路由器或虚拟交换机。
举例来说,处理器1201将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,处理器1201可选的还可通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第一路由表项,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;处理器1201基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;处理器1201基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;处理器1201向上述第一物理转发设备发送第二路由表项,其中,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。其中,处理器1201例如可基于第一路由表项变换得到第二路由表项,例如处理器1201可通过将第一路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第二路由表项。可选的,若上述处理器1201为上述虚拟网络分配了虚拟网络标识,上述第二路由表项的匹配域还可携带上述虚拟网络标识。
又举例来说,处理器1201将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,处理器1201可选的还可通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第一路由表项,其中,上述第一路由表项的匹配域携带网络地址,上述网络地址为目的地址和/或源地址,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;处理器1201基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;处理器1201基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;处理器1201向上述第一物理转发设备发送第二路由表项,其中,上述第二路由表项的匹配域携带上述网络地址,上述网络地址为目的地址和/或源地址,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。其中,处理器1201例如可基于第一路由表项变换得到第二路由表项,例如,处理器1201可通过将第一路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第二路由表项。可选的,若处理器1201为上述虚拟网络分配了虚拟网络标识,上述第二路由表项的匹配域还可携带上述虚拟网络标识。
又例如,处理器1201将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,处理器1201可选的还可通过上述第一虚拟转发设备获得上述虚拟SDN控制器所下发的第三路由表项,其中,上述第三路由表项的匹配域携带上述第一虚拟转发设备的入端口的信息,其中,上述第三路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;处理器1201基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的上述第一物理转发设备;处理器1201基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息;处理器1201基于上述端口映射关系和上述第一虚拟转发设备的入端口的信息,确定出与上述第一虚拟转发设备的入端口的信息具有映射关系的上述第一物理转发设备的入端口的信息;处理器1201向上述第一物理转发设备发送第四路由表项,其中,上述第四路由表项的匹配域可携带上述第一物理转发设备的入端口的信息,第四路由表项的动作域携带上述第一物理转发设备的出端口的信息。其中,处理器1201例如可基于第三路由表项变换得到第四路由表项,处理器1201例如可通过将第三路由表项的匹配域携带的上述第一虚拟转发设备的入端口的信息,替换为上述第一物理转发设备的入端口的信息,将第三路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第四路由表项。
还举例来说,处理器1201将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,处理器1201可选的还可接收上述第一物理转发设备上报的第一控制消息,其中,上述第一控制消息的匹配域携带上述第一物理转发设备的入端口的信息;处理器1201基于上述第一物理转发设备和上述设备映射关系,确定出与上述第一物理转发设备具有映射关系的上述第一虚拟转发设备;处理器1201基于上述端口映射关系和上述第一物理转发设备的入端口的信息,确定出与上述第一物理转发设备的入端口的信息具有映射关系的上述第一虚拟转发设备的入端口的信息;处理器1201通过上述第一虚拟转发设备向上述虚拟SDN控制器发送第二控制消息,上述第二控制消息的匹配域可以携带上述第一虚拟转发设备的入端口的信息。其中,处理器1201可基于第一控制消息变换得到第二控制消息,例如处理器1201例如可通过将第一控制消息的匹配域携带的上述第一物理转发设备的入端口的信息,替换为上述第一虚拟转发设备的入端口的信息以得到第二控制消息,以得到第二控制消息。
还举例来说,处理器1201将上述第一虚拟转发设备注册到上述虚拟SDN控制器之后,处理器1201可选的还可接收上述第一物理转发设备上报的第三控制消息,其中,上述第三控制消息的匹配域可携带上述第一虚拟转发设备所属虚拟网络的虚拟网络标识;处理器1201基于上述虚拟网络标识、第一物理转发设备和上述设备映射关系,确定出与上述第一物理转发设备具有映射关系的上述第一虚拟转发设备;处理器1201去除第三控制消息的匹配域携带的第一虚拟转发设备所属虚拟网络的虚拟网络标识,以得到第四控制消息。处理器1201通过上述第一虚拟转发设备向上述虚拟SDN控制器发送第四控制消息。
在本发明的一些实施例中,处理器1201若通过上述第一虚拟转发设备获得上述虚拟SDN控制器下发的上述第一路由表项,处理器1201可选的还可保存上述第一路由表项。其中,处理器1201若通过上述第一虚拟转发设备获得上述虚拟SDN控制器下发的上述第三路由表项,处理器1201可选的还可保存上述第三路由表项。
特别的,有些控制消息也可能只需要在虚拟控制器和虚拟转发设备之间进行传递。无需处理器1201将这些控制消息转发给与虚拟转发设备具有映射关系的物理转发设备。例如,处理器1201通过第一虚拟转发设备接收到虚拟SDN控制器发送的第五控制消息之后,可通过第一虚拟转发设备向该虚拟SDN控制器反馈第五控制消息的响应消息。或者,处理器1201也可通过第一虚拟转发设备向虚拟SDN控制器发送第六控制消息,通过第一虚拟转发设备接收虚拟SDN控制器反馈的第六控制消息的响应消息。
可以理解的是,本实施例的SDN控制器1200的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施方案中通过提供按需创建虚拟网络的机制,使得用户可根据自身需求来提出用于请求创建所需拓扑结构的虚拟网络的虚拟网络创建请求,并且使用虚拟网络的用户可以无需感知物理网络的具体拓扑结构,与现有VPN创建机制相比,本实施例提出的虚拟网络创建机制在业务组网灵活性等方式有较大提高,且有利于降低业务成本、缩短业务的开通周期。并且SDN控制器1200在创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,这就有利于在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比于现有的VPN机制,引入虚拟SDN控制器和SDN控制器1200之后有利于简化业务配置复杂,也有利于进一步降低业务成本、缩短业务的开通周期。
参见图13-a,图13-a是本发明实施例提供的SDN控制器1300的示意图,SDN控制器1300可包括:第一获得单元1301、第一转换单元1302和发送单元1303。
第一获得单元1301,用于通过第一虚拟转发设备获得虚拟SDN控制器所下发的第一路由表项,其中,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;其中,上述第一虚拟转发设备被注册到上述虚拟SDN控制器。
第一转换单元1302,基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的第一物理转发设备,其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的上述第一物理转发设备之间的映射关系;基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息,其中,上述端口映射关系包括上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
发送单元1303,用于向上述第一物理转发设备发送第二路由表项,上述第二路由表项的匹配域携带上述网络地址,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。
在本发明的一些实施例中,上述第一虚拟转发设备的出端口的信息包括上述第一虚拟转发设备的出端口的端口标识;
其中,上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识,或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签。
在本发明的一些实施例中,上述第一路由表项的匹配域携带网络地址,上述网络地址为目的地址和/或源地址,上述第二路由表项的匹配域携带上述网络地址。
在本发明的一些实施例中,上述第二路由表项的匹配域携带上述第一虚拟转发设备所属虚拟网络的虚拟网络。
在本发明的一些实施例中,上述第一路由表项的匹配域携带上述第一虚拟转发设备的入端口的信息。
参见图13-b,上述SDN控制器1300还可包括:
第二转换单元1304,用于基于上述端口映射关系和上述第一虚拟转发设备的入端口的信息,确定出与上述第一虚拟转发设备的入端口的信息具有映射关系的上述第一物理转发设备的入端口的信息,其中,上述端口映射关系还包括上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系。
其中,上述第二路由表项的匹配域可携带上述第一物理转发设备的入端口的信息。
在本发明的一些实施例中,发送单元1303例如可基于第一路由表项变换得到第二路由表项,例如,发送单元1303可通过将第一路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第二路由表项。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
可以理解的是,本实施例的SDN控制器1300的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施方案中,SDN控制器1300创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器1300在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器1300后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
参见图14,图14为本发明实施例提供的SDN控制器1400的示意图,SDN控制器1400可包括至少一个总线1401、与总线1401相连的至少一个处理器1402以及与总线1401相连的至少一个存储器1403。
其中,处理器1402通过总线1401,调用存储器1403中存储的代码以用于通过第一虚拟转发设备获得虚拟SDN控制器所下发的第一路由表项,其中,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;其中,上述第一虚拟转发设备被注册到上述虚拟SDN控制器;基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的第一物理转发设备,其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的上述第一物理转发设备之间的映射关系;基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息,其中,上述端口映射关系包括上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系;向上述第一物理转发设备发送第二路由表项,其中,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。
此外,上述第一虚拟转发设备所属虚拟网络还可进一步包括第第二虚拟转发设备等。
在本发明的一些实施例中,SDN控制器例如可基于第一路由表项变换得到第二路由表项,例如,SDN控制器可通过将第一路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第二路由表项。
本发明的各个实施例中的物理转发设备可以是物理路由器或物理交换机的具有报文转发功能的设备,其中,虚拟转发设备可以是虚拟路由器或虚拟交换机。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
在本发明的一些实施例中,可选的,上述第一路由表项的匹配域携带网络地址,上述网络地址为目的地址和/或源地址,上述第二路由表项的匹配域携带上述网络地址。
在本发明的一些实施例中,可选的,上述第二路由表项的匹配域携带上述第一虚拟转发设备所属虚拟网络的虚拟网络。
在本发明的另一些实施例中,可选的,上述第一路由表项的匹配域携带上述第一虚拟转发设备的入端口的信息,处理器1402可选的还可基于上述端口映射关系和上述第一虚拟转发设备的入端口的信息,确定出与上述第一虚拟转发设备的入端口的信息具有映射关系的上述第一物理转发设备的入端口的信息,其中,上述端口映射关系还包括上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系。其中,上述第二路由表项的匹配域还可携带上述第一物理转发设备的入端口的信息。
可以理解的是,本实施例的SDN控制器1400的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施方案中,SDN控制器1400创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器1400在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器1400后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
参见图15,图15是本发明的另一个实施例提供的SDN控制器1500的结构框图。其中,SDN控制器1500可以包括:至少1个处理器1501,至少1个网络接口1504或其他用户接口1503,存储器1505,至少1个通信总线1502。通信总线1502用于实现这些组件之间的连接通信。其中,该SDN控制器1500可选的包含用户接口1503,包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等)、点击设备(例如鼠标、轨迹球(trackball)触感板或触摸屏等)、摄像头和/或拾音装置等。
其中,存储器1502可以包括只读存储器和随机存取存储器,并向处理器1501提供指令和数据。存储器1502中的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器1505存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统15051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
应用程序模块15052,包含各种应用程序,用于实现各种应用业务。
应用程序模块15052中可包括但不限于第二转换单元1304、第一获得单元1301、第一转换单元1302和/或发送单元1303等。
在本发明实施例中,通过调用存储器1505存储的程序或指令,处理器1501用于通过第一虚拟转发设备获得虚拟SDN控制器所下发的第一路由表项,其中,上述第一路由表项的动作域携带上述第一虚拟转发设备的出端口的信息;其中,上述第一虚拟转发设备被注册到上述虚拟SDN控制器;基于上述第一虚拟转发设备和上述设备映射关系,确定出与上述第一虚拟转发设备具有映射关系的第一物理转发设备,其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的上述第一物理转发设备之间的映射关系;基于上述端口映射关系和上述第一虚拟转发设备的出端口的信息,确定出与上述第一虚拟转发设备的出端口的信息具有映射关系的上述第一物理转发设备的出端口的信息,其中,上述端口映射关系包括上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系;向上述第一物理转发设备发送第二路由表项,其中,上述第二路由表项的动作域携带上述第一物理转发设备的出端口的信息。
此外,上述第一虚拟转发设备所属虚拟网络还可进一步包括第第二虚拟转发设备等。
在本发明的一些实施例中,SDN控制器例如可基于第一路由表项变换得到第二路由表项,例如,SDN控制器可通过将第一路由表项的动作域携带的上述第一虚拟转发设备的出端口的信息,替换为上述第一物理转发设备的出端口的信息,以得到第二路由表项。
本发明的各个实施例中的物理转发设备可以是物理路由器或物理交换机的具有报文转发功能的设备,其中,虚拟转发设备可以是虚拟路由器或虚拟交换机。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
在本发明的一些实施例中,可选的,上述第一路由表项的匹配域携带网络地址,上述网络地址为目的地址和/或源地址,上述第二路由表项的匹配域携带上述网络地址。
在本发明的一些实施例中,可选的,上述第二路由表项的匹配域携带上述第一虚拟转发设备所属虚拟网络的虚拟网络。
在本发明的另一些实施例中,可选的,上述第一路由表项的匹配域携带上述第一虚拟转发设备的入端口的信息,处理器1501可选的还可基于上述端口映射关系和上述第一虚拟转发设备的入端口的信息,确定出与上述第一虚拟转发设备的入端口的信息具有映射关系的上述第一物理转发设备的入端口的信息,其中,上述端口映射关系还包括上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系。其中,上述第二路由表项的匹配域还可携带上述第一物理转发设备的入端口的信息。
可以理解的是,本实施例的SDN控制器1500的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施方案中,SDN控制器1500创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器1500在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器1500后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
参见图16,图16是本发明实施例提供的SDN控制器1600的示意图,SDN控制器1600可包括:
第三获得单元1601、第三转换单元1602和发送单元1603。
其中,第三获得单元1601,用于接收物理网络中的第一物理转发设备上报的第三控制消息,其中,上述第三控制消息的匹配域携带上述第一物理转发设备的入端口的信息。
第三转换单元1602,用于基于上述端口映射关系和上述第一物理转发设备的入端口的信息,确定出与上述第一物理转发设备的入端口的信息具有映射关系的上述第一虚拟转发设备的入端口的信息,其中,上述端口映射关系包括上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系。
发送单元1603,用于通过上述第一虚拟转发设备向虚拟SDN控制器发送第四控制消息,其中,上述第四控制消息的匹配域携带上述第一虚拟转发设备的入端口的信息,上述第一虚拟转发设备被注册到上述虚拟SDN控制器。
在本发明的一些实施例中,上述第一虚拟转发设备的入端口的信息包括上述第一虚拟转发设备的入端口的端口标识。
其中,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识,或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签。
在本发明一些实施例中,第三转换单元1602可基于上述第一物理转发设备和设备映射关系,确定出与上述第一物理转发设备具有映射关系的包括第一虚拟转发设备在内的至少1个第一虚拟转发设备(因为不同虚拟网络中的不同虚拟转发设备可能与同一个物理转发设备具有映射关系)。第三转换单元1602基于上述端口映射关系和上述第一物理转发设备的第一入端口的信息,确定出与上述第一物理转发设备的第一入端口的信息具有映射关系的上述第一虚拟转发设备的第一入端口的信息。
其中,上述第一虚拟转发设备所处的虚拟网络之中还可包括第二虚拟转发设备;上述第一虚拟转发设备和上述第二虚拟转发设备被注册到上述虚拟SDN控制器。
本发明的各个实施例中的物理转发设备可以是物理路由器或物理交换机的具有报文转发功能的设备,其中,虚拟转发设备可以是虚拟路由器或虚拟交换机。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
可以理解的是,本实施例的SDN控制器1600的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施方案中,SDN控制器1600创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器1600在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器1600后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
参见图17,图17为本发明实施例提供的SDN控制器1700的示意图,SDN控制器1700可包括至少一个总线1701、与总线1701相连的至少一个处理器1702以及与总线1701相连的至少一个存储器1703。
其中,处理器1702通过总线1701,调用存储器1703中存储的代码以用于接收物理网络中的第一物理转发设备上报的第三控制消息,上述第三控制消息的匹配域携带上述第一物理转发设备的入端口的信息;基于上述端口映射关系和上述第一物理转发设备的入端口的信息,确定出与上述第一物理转发设备的入端口的信息具有映射关系的上述第一虚拟转发设备的入端口的信息,其中,上述端口映射关系包括上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;通过上述第一虚拟转发设备向虚拟SDN控制器发送第四控制消息,其中,上述第四控制消息的匹配域携带上述第一虚拟转发设备的入端口的信息,其中,上述第一虚拟转发设备被注册到上述虚拟SDN控制器。
在本发明的一些实施例中,处理器1702可基于上述第一物理转发设备和设备映射关系,确定出与上述第一物理转发设备具有映射关系的包括第一虚拟转发设备在内的至少1个第一虚拟转发设备(因为不同虚拟网络中的不同虚拟转发设备可能与同一个物理转发设备具有映射关系)。处理器1702基于上述端口映射关系和上述第一物理转发设备的第一入端口的信息,确定出与上述第一物理转发设备的第一入端口的信息具有映射关系的上述第一虚拟转发设备的第一入端口的信息。
其中,上述第一虚拟转发设备所处的虚拟网络之中还可包括第二虚拟转发设备;上述第一虚拟转发设备和上述第二虚拟转发设备被注册到上述虚拟SDN控制器。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
可以理解的是,本实施例的SDN控制器1700的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施方案中,SDN控制器1700创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器1700在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器1700后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
参见图18,图18是本发明的另一个实施例提供的SDN控制器1800的结构框图。其中,SDN控制器1800可以包括:至少1个处理器1801,至少1个网络接口1804或其他用户接口1803,存储器1805,至少1个通信总线1802。通信总线1802用于实现这些组件之间的连接通信。其中,该SDN控制器1800可选的包含用户接口1803,包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等)、点击设备(例如鼠标、轨迹球(trackball)触感板或触摸屏等)、摄像头和/或拾音装置等。
其中,存储器1802可以包括只读存储器和随机存取存储器,并向处理器1801提供指令和数据。存储器1802中的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器1805存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统18051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
应用程序模块18052,包含各种应用程序,用于实现各种应用业务。
应用程序模块18052中可包括但不限于第三获得单元1601、第三转换单元1602和发送单元1603等。
在本发明实施例中,通过调用存储器1805存储的程序或指令,处理器1801用于接收物理网络中的第一物理转发设备上报的第三控制消息,上述第三控制消息的匹配域携带上述第一物理转发设备的入端口的信息;基于上述端口映射关系和上述第一物理转发设备的入端口的信息,确定出与上述第一物理转发设备的入端口的信息具有映射关系的上述第一虚拟转发设备的入端口的信息,其中,上述端口映射关系包括上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;通过上述第一虚拟转发设备向虚拟SDN控制器发送第四控制消息,其中,上述第四控制消息的匹配域携带上述第一虚拟转发设备的入端口的信息,其中,上述第一虚拟转发设备被注册到上述虚拟SDN控制器。
在本发明的一些实施例中,处理器1801可基于上述第一物理转发设备和设备映射关系,确定出与上述第一物理转发设备具有映射关系的包括第一虚拟转发设备在内的至少1个第一虚拟转发设备(因为不同虚拟网络中的不同虚拟转发设备可能与同一个物理转发设备具有映射关系)。处理器1801基于上述端口映射关系和上述第一物理转发设备的第一入端口的信息,确定出与上述第一物理转发设备的第一入端口的信息具有映射关系的上述第一虚拟转发设备的第一入端口的信息。
其中,上述第一虚拟转发设备所处的虚拟网络之中还可包括第二虚拟转发设备;上述第一虚拟转发设备和上述第二虚拟转发设备被注册到上述虚拟SDN控制器。
在本发明一些实施例中,上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第一虚拟转发设备的入端口的信息与上述第一物理转发设备的入端口的信息之间的映射关系;和,上述第一虚拟转发设备的出端口的信息与上述第一物理转发设备的出端口的信息之间的映射关系。
类似的,上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系,可包括下述映射关系的至少一种:上述第二虚拟转发设备的入端口的信息与上述第二物理转发设备的入端口的信息之间的映射关系;和,上述第二虚拟转发设备的出端口的信息与上述第二物理转发设备的出端口的信息之间的映射关系。
其中,出端口的信息可包括该出端口的一个或多个相关信息。入端口的信息可包括该如端口的一个或多个相关信息。
举例来说,上述第一虚拟转发设备的入端口的信息可包括上述第一虚拟转发设备的入端口的端口标识(例如上述第一虚拟转发设备的第一入端口的信息可包括上述第一虚拟转发设备的第一入端口的端口标识)。上述第一虚拟转发设备的出端口的信息可包括上述第一虚拟转发设备的出端口的端口标识(例如上述第一虚拟转发设备的第一出端口的信息可包括上述第一虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识),或者上述第一物理转发设备的入端口的信息包括上述第一物理转发设备的入端口的端口标识和入口标签(例如第一物理转发设备的第一入端口的信息包括第一物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第一物理转发设备的出端口的信息可包括上述第一物理转发设备的出端口的端口标识(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识),或者上述第一物理转发设备的出端口的信息包括上述第一物理转发设备的出端口的端口标识和出口标签(例如第一物理转发设备的第一出端口的信息包括第一物理转发设备的第一出端口的端口标识和入口标签)。
举例来说,上述第二虚拟转发设备的入端口的信息可包括上述第二虚拟转发设备的入端口的端口标识(例如上述第二虚拟转发设备的第一入端口的信息可包括上述第二虚拟转发设备的第一入端口的端口标识)。上述第二虚拟转发设备的出端口的信息可包括上述第二虚拟转发设备的出端口的端口标识(例如上述第二虚拟转发设备的第一出端口的信息可包括上述第二虚拟转发设备的第一出端口的端口标识)。
举例来说,上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识),或者上述第二物理转发设备的入端口的信息包括上述第二物理转发设备的入端口的端口标识和入口标签(例如第二物理转发设备的第一入端口的信息包括第二物理转发设备的第一入端口的端口标识和入口标签)。其中,上述第二物理转发设备的出端口的信息可包括上述第二物理转发设备的出端口的端口标识(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识),或者上述第二物理转发设备的出端口的信息包括上述第二物理转发设备的出端口的端口标识和出口标签(例如第二物理转发设备的第一出端口的信息包括第二物理转发设备的第一出端口的端口标识和入口标签)。
可以理解的是,本实施例的SDN控制器1800的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施方案中,SDN控制器1800创建出虚拟网络之后,在虚拟网络和物理网络之间建立起了设备映射关系和端口映射关系,并将虚拟网络中的虚拟转发设备注册到为其分配的虚拟SDN控制器,这就有利于使得虚拟SDN控制器像控制物理转发设备那样控制虚拟网络中的虚拟转发设备,而虚拟SDN控制器可通过控制虚拟转发设备来控制对应物理转发设备,SDN控制器1800在虚拟SDN控制器和物理转发设备之间进行信息转换,这在一定程度上实现将物理网络的控制面和数据转发面进行分离,相比现有VPN机制,引入虚拟SDN控制器和SDN控制器1800后有利于简化业务配置,有利于降低业务成本、缩短业务的开通周期。
参见图19,本发明实施例还提供一种通信系统,可包括:第一物理转发设备1901、第二物理转发设备1902和SDN控制器1903。其中,SDN控制器1903可如上述实施例上述的任意一种SDN控制器。
参见图20,本发明实施例还提供另一种通信系统,可包括:第一物理转发设备2001和SDN控制器2002。其中,SDN控制器2002可如上述实施例上述的任意一种SDN控制器。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任意一种或至少一种实现网络虚拟化的方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上上述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (42)
1.一种实现网络虚拟化的方法,其特征在于,包括:
软件定义网络SDN控制器接收携带虚拟网络拓扑信息的虚拟网络创建请求;
所述SDN控制器创建虚拟网络以响应所述虚拟网络创建请求,其中,所述虚拟网络具有所述虚拟网络拓扑信息所描述的拓扑结构,所述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备;
所述SDN控制器建立设备映射关系,其中,所述设备映射关系包括所述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及所述第二虚拟转发设备与所述物理网络中的第二物理转发设备之间的映射关系;
所述SDN控制器建立端口映射关系,其中,所述端口映射关系包括所述第一虚拟转发设备的端口与所述第一物理转发设备的端口之间的映射关系、以及所述第二虚拟转发设备的端口与所述第二物理转发设备的端口之间的映射关系;
所述SDN控制器为所述虚拟网络分配虚拟SDN控制器;
所述SDN控制器将所述第一虚拟转发设备和所述第二虚拟转发设备注册到所述虚拟SDN控制器。
2.根据权利要求1所述的方法,其特征在于,在所述SDN控制器创建所述虚拟网络之后,所述方法还包括:所述SDN控制器为所述虚拟网络分配虚拟网络标识;所述SDN控制器建立所述虚拟网络标识和所述虚拟SDN控制器的标识之间的映射关系。
3.根据权利要求1或2所述的方法,其特征在于,所述第一虚拟转发设备的端口与所述第一物理转发设备的端口之间的映射关系,包括下述映射关系的至少一种:
所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;和
所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息之间的映射关系。
4.根据权利要求3所述的方法,其特征在于,
所述第一虚拟转发设备的入端口的信息包括所述第一虚拟转发设备的入端口的端口标识,所述第一虚拟转发设备的出端口的信息包括所述第一虚拟转发设备的出端口的端口标识;
其中,所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识,或者所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识和入口标签;
其中,所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识,或者所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识和出口标签。
5.根据权利要求3所述的方法,其特征在于,所述SDN控制器将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,所述方法还包括:
所述SDN控制器通过所述第一虚拟转发设备获得所述虚拟SDN控制器所下发的第一路由表项,所述第一路由表项的匹配域携带网络地址,所述网络地址为目的地址和/或源地址,所述第一路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;
所述SDN控制器基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的所述第一物理转发设备;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出所述第一物理转发设备的出端口的信息,所述第一物理转发设备的出端口的信息与所述第一虚拟转发设备的出端口的信息具有映射关系;
所述SDN控制器向所述第一物理转发设备发送第二路由表项,其中,所述第二路由表项的匹配域携带所述网络地址,所述第二路由表项的动作域携带所述第一物理转发设备的出端口的信息。
6.根据权利要求5所述的方法,其特征在于,
若所述SDN控制器为所述虚拟网络分配虚拟网络标识,所述第二路由表项的匹配域还携带所述虚拟网络标识。
7.根据权利要求3所述的方法,其特征在于,所述SDN控制器将所述第一虚拟转发设备注册到所述虚拟SDN控制器,所述方法还包括:
所述SDN控制器通过所述第一虚拟转发设备获得所述虚拟SDN控制器所下发的第三路由表项,所述第三路由表项的匹配域携带所述第一虚拟转发设备的入端口的信息,所述第三路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;
所述SDN控制器基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的所述第一物理转发设备;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出所述第一物理转发设备的出端口的信息,所述第一物理转发设备的出端口的信息与所述第一虚拟转发设备的出端口的信息具有映射关系;基于所述端口映射关系和所述第一虚拟转发设备的入端口的信息,确定出所述第一物理转发设备的入端口的信息,所述第一物理转发设备的入端口的信息与所述第一虚拟转发设备的入端口的信息具有映射关系;
所述SDN控制器向所述第一物理转发设备发送第四路由表项,其中,所述第四路由表项的匹配域携带所述第一物理转发设备的入端口的信息,所述第四路由表项的动作域携带所述第一物理转发设备的出端口的信息。
8.根据权利要求3所述的方法,其特征在于,所述SDN控制器将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,所述方法还包括:
所述SDN控制器接收所述第一物理转发设备上报的第一控制消息,所述第一控制消息的匹配域携带所述第一物理转发设备的入端口的信息;
所述SDN控制器基于所述端口映射关系和所述第一物理转发设备的入端口的信息,确定出所述第一虚拟转发设备的入端口的信息,所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息具有映射关系;
所述SDN控制器通过所述第一虚拟转发设备向所述虚拟SDN控制器发送第二控制消息,所述第二控制消息的匹配域携带所述第一虚拟转发设备的入端口的信息。
9.根据权利要求1或2所述的方法,其特征在于,
在所述SDN控制器创建所述虚拟网络之后,所述方法还包括:
所述SDN控制器为所述第一虚拟转发设备和所述第二虚拟转发设备分别分配设备标识;
其中,所述第一虚拟转发设备与所述物理网络中的第一物理转发设备之间的映射关系包括:所述第一虚拟转发设备的设备标识与所述第一物理转发设备的设备标识之间的映射关系;
其中,所述第二虚拟转发设备与所述物理网络中的第二物理转发设备之间的映射关系包括:所述第二虚拟转发设备的设备标识与所述第二物理转发设备的设备标识之间的映射关系。
10.根据权利要求1或2所述的方法,其特征在于,所述虚拟网络创建请求还携带链路属性信息,
其中,在所述SDN控制器创建所述虚拟网络之后,所述方法还包括:
所述SDN控制器建立虚拟链路和链路隧道之间的映射关系;其中,所述链路隧道符合所述链路属性信息的约束,其中,所述虚拟链路为所述第一虚拟转发设备和所述第二虚拟转发设备之间的虚拟链路,所述链路隧道为所述第一物理转发设备和所述第二物理转发设备之间的链路隧道。
11.根据权利要求10所述的方法,其特征在于,所述链路属性信息包括如下信息的至少一个:链路带宽信息、链路时延信息、链路丢包率信息和链路抖动信息。
12.根据权利要求10所述的方法,其特征在于,用于描述所述虚拟链路的信息包括:第一虚拟转发设备的设备标识,第一虚拟转发设备中的链路源端口的端口标识、第二虚拟转发设备的设备标识和所述第二虚拟转发设备中的链路目的端口的端口标识。
13.一种实现网络虚拟化的方法,其特征在于,包括:
软件定义网络SDN控制器通过第一虚拟转发设备获得虚拟SDN控制器所下发的第一路由表项,其中,所述第一路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;其中,所述第一虚拟转发设备被注册到所述虚拟SDN控制器;
所述SDN控制器基于所述第一虚拟转发设备和设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的第一物理转发设备,其中,所述设备映射关系包括所述第一虚拟转发设备与物理网络中的所述第一物理转发设备之间的映射关系;
所述SDN控制器基于端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出所述第一物理转发设备的出端口的信息,所述第一物理转发设备的出端口的信息与所述第一虚拟转发设备的出端口的信息具有映射关系,其中,所述端口映射关系包括所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息之间的映射关系;
所述SDN控制器向所述第一物理转发设备发送第二路由表项,所述第二路由表项的动作域携带所述第一物理转发设备的出端口的信息。
14.根据权利要求13所述的方法,其特征在于,
所述第一虚拟转发设备的出端口的信息包括所述第一虚拟转发设备的出端口的端口标识;
其中,所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识,或者所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识和出口标签。
15.根据权利要求13或14所述的方法,其特征在于,所述第一路由表项的匹配域携带网络地址,所述网络地址为目的地址和/或源地址,所述第二路由表项的匹配域携带所述网络地址。
16.根据权利要求13或14所述的方法,其特征在于,所述第二路由表项的匹配域携带所述第一虚拟转发设备所属虚拟网络的虚拟网络标识。
17.根据权利要求13或14所述的方法,其特征在于,所述第一路由表项的匹配域携带所述第一虚拟转发设备的入端口的信息,
所述方法还包括:
所述SDN控制器基于所述端口映射关系和所述第一虚拟转发设备的入端口的信息,确定出所述第一物理转发设备的入端口的信息,所述第一物理转发设备的入端口的信息与所述第一虚拟转发设备的入端口的信息具有映射关系,其中,所述端口映射关系还包括所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;
其中,所述第二路由表项的匹配域携带所述第一物理转发设备的入端口的信息。
18.一种实现网络虚拟化的方法,其特征在于,包括:
软件定义网络SDN控制器接收物理网络中的第一物理转发设备上报的第三控制消息,所述第三控制消息的匹配域携带所述第一物理转发设备的入端口的信息;
所述SDN控制器基于端口映射关系和所述第一物理转发设备的入端口的信息,确定出第一虚拟转发设备的入端口的信息,所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息具有映射关系,其中,所述端口映射关系包括所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;
所述SDN控制器通过所述第一虚拟转发设备向虚拟SDN控制器发送第四控制消息,其中,所述第四控制消息的匹配域携带所述第一虚拟转发设备的入端口的信息,所述第一虚拟转发设备被注册到所述虚拟SDN控制器。
19.根据权利要求18所述的方法,其特征在于,
所述第一虚拟转发设备的入端口的信息包括所述第一虚拟转发设备的入端口的端口标识;
其中,所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识,或者所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识和入口标签。
20.一种软件定义网络SDN控制器,其特征在于,包括:
接收单元,用于接收携带虚拟网络拓扑信息的虚拟网络创建请求;
创建单元,用于创建虚拟网络以响应所述虚拟网络创建请求,其中,所述虚拟网络具有所述虚拟网络拓扑信息所描述的拓扑结构,所述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备;
映射单元,用于建立设备映射关系和建立端口映射关系,其中,所述设备映射关系包括所述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及所述第二虚拟转发设备与所述物理网络中的第二物理转发设备之间的映射关系;其中,所述端口映射关系包括所述第一虚拟转发设备的端口与所述第一物理转发设备的端口之间的映射关系、以及所述第二虚拟转发设备的端口与所述第二物理转发设备的端口之间的映射关系;
第一分配单元,用于为所述虚拟网络分配虚拟SDN控制器;
注册单元,用于将所述第一虚拟转发设备和所述第二虚拟转发设备注册到所述虚拟SDN控制器。
21.根据权利要求20所述的SDN控制器,其特征在于,
所述SDN控制器还包括:第二分配单元,用于在所述创建单元创建所述虚拟网络之后,为所述虚拟网络分配虚拟网络标识;
所述映射单元还用于,建立所述虚拟网络标识和所述虚拟SDN控制器的标识之间的映射关系。
22.根据权利要求21所述的SDN控制器,其特征在于,所述第一虚拟转发设备的端口与所述第一物理转发设备的端口之间的映射关系,包括下述映射关系的至少一种:
所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;和
所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息之间的映射关系。
23.根据权利要求22所述的SDN控制器,其特征在于,
所述第一虚拟转发设备的入端口的信息包括所述第一虚拟转发设备的入端口的端口标识,所述第一虚拟转发设备的出端口的信息包括所述第一虚拟转发设备的出端口的端口标识;
其中,所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识,或者所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识和入口标签;
其中,所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识,或者所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识和出口标签。
24.根据权利要求22或23所述的SDN控制器,其特征在于,
所述SDN控制器还包括:
第一获得单元,用于在所述注册单元将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,通过所述第一虚拟转发设备获得所述虚拟SDN控制器所下发的第一路由表项,所述第一路由表项的匹配域携带网络地址,所述网络地址为目的地址和/或源地址,所述第一路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;
第一转换单元,用于基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的所述第一物理转发设备;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出所述第一物理转发设备的出端口的信息,所述第一物理转发设备的出端口的信息与所述第一虚拟转发设备的出端口的信息具有映射关系;
发送单元,用于向所述第一物理转发设备发送第二路由表项,所述第二路由表项的匹配域携带所述网络地址,所述第二路由表项的动作域携带所述第一物理转发设备的出端口的信息。
25.根据权利要求24所述的SDN控制器,其特征在于,
若所述第二分配单元为所述虚拟网络分配虚拟网络标识,所述第二路由表项的匹配域还携带所述虚拟网络标识。
26.根据权利要求22或23所述的SDN控制器,其特征在于,
所述SDN控制器还包括:
第二获得单元,用于在所述注册单元将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,通过所述第一虚拟转发设备获得所述虚拟SDN控制器所下发的第三路由表项,所述第三路由表项的匹配域携带所述第一虚拟转发设备的入端口的信息,所述第三路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;
第二转换单元,用于基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的所述第一物理转发设备;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出所述第一物理转发设备的出端口的信息,所述第一物理转发设备的出端口的信息与所述第一虚拟转发设备的出端口的信息具有映射关系;基于所述端口映射关系和所述第一虚拟转发设备的入端口的信息,确定出所述第一物理转发设备的入端口的信息,所述第一物理转发设备的入端口的信息与所述第一虚拟转发设备的入端口的信息具有映射关系;
发送单元,用于向所述第一物理转发设备发送第四路由表项,其中,所述第四路由表项的匹配域携带所述第一物理转发设备的入端口的信息,所述第四路由表项的动作域携带所述第一物理转发设备的出端口的信息。
27.根据权利要求22或23所述的SDN控制器,其特征在于,
所述SDN控制器还包括:
第三获得单元,用于在所述注册单元将所述第一虚拟转发设备注册到所述虚拟SDN控制器之后,接收所述第一物理转发设备上报的第一控制消息,所述第一控制消息的匹配域携带所述第一物理转发设备的入端口的信息;
第三转换单元,用于基于所述端口映射关系和所述第一物理转发设备的入端口的信息,确定出所述第一虚拟转发设备的入端口的信息,所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息具有映射关系;
发送单元,用于通过所述第一虚拟转发设备向所述虚拟SDN控制器发送第二控制消息,所述第二控制消息的匹配域携带所述第一虚拟转发设备的入端口的信息。
28.根据权利要求24所述的SDN控制器,其特征在于,
所述SDN控制器还包括:
保存单元,用于若所述第一获得单元通过所述第一虚拟转发设备获得所述虚拟SDN控制器下发的所述第一路由表项,保存所述第一路由表项。
29.根据权利要求26所述的SDN控制器,其特征在于,
所述SDN控制器还包括:
保存单元,用于若所述第二获得单元通过所述第一虚拟转发设备获得所述虚拟SDN控制器下发的所述第三路由表项,保存所述第三路由表项。
30.根据权利要求20至23任一项所述的SDN控制器,其特征在于,
SDN控制器还包括:
第三分配单元,用于在所述创建单元创建所述虚拟网络之后,为所述第一虚拟转发设备和所述第二虚拟转发设备分别分配设备标识;
其中,所述第一虚拟转发设备与所述物理网络中的第一物理转发设备之间的映射关系包括:所述第一虚拟转发设备的设备标识与所述第一物理转发设备的设备标识之间的映射关系;
其中,所述第二虚拟转发设备与所述物理网络中的第二物理转发设备之间的映射关系包括:所述第二虚拟转发设备的设备标识与所述第二物理转发设备的设备标识之间的映射关系。
31.根据权利要求20所述的SDN控制器,其特征在于,
所述虚拟网络创建请求还携带链路属性信息,
其中,所述映射单元还用于在所述创建单元创建所述虚拟网络之后,建立虚拟链路和链路隧道之间的映射关系;其中,所述链路隧道符合所述链路属性信息的约束,其中,所述虚拟链路为所述第一虚拟转发设备和所述第二虚拟转发设备之间的虚拟链路,所述链路隧道为所述第一物理转发设备和所述第二物理转发设备之间的链路隧道。
32.根据权利要求31所述的SDN控制器,其特征在于,所述链路属性信息包括如下信息的至少一个:链路带宽信息、链路时延信息、链路丢包率信息和链路抖动信息。
33.根据权利要求31或32所述的SDN控制器,其特征在于,用于描述所述虚拟链路的信息包括:第一虚拟转发设备的设备标识,第一虚拟转发设备中的链路源端口的端口标识、第二虚拟转发设备的设备标识和所述第二虚拟转发设备中的链路目的端口的端口标识。
34.一种软件定义网络SDN控制器,其特征在于,包括:
第一获得单元,用于通过第一虚拟转发设备获得虚拟SDN控制器所下发的第一路由表项,所述第一路由表项的动作域携带所述第一虚拟转发设备的出端口的信息;其中,所述第一虚拟转发设备被注册到所述虚拟SDN控制器;
第一转换单元,基于所述第一虚拟转发设备和所述设备映射关系,确定出与所述第一虚拟转发设备具有映射关系的第一物理转发设备,其中,所述设备映射关系包括所述第一虚拟转发设备与物理网络中的所述第一物理转发设备之间的映射关系;基于所述端口映射关系和所述第一虚拟转发设备的出端口的信息,确定出所述第一物理转发设备的出端口的信息,其中,所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息具有映射关系,所述端口映射关系包括所述第一虚拟转发设备的出端口的信息与所述第一物理转发设备的出端口的信息之间的映射关系;
发送单元,用于向所述第一物理转发设备发送第二路由表项,所述第二路由表项的匹配域携带所述网络地址,所述第二路由表项的动作域携带所述第一物理转发设备的出端口的信息。
35.根据权利要求34所述的SDN控制器,其特征在于,
所述第一虚拟转发设备的出端口的信息包括所述第一虚拟转发设备的出端口的端口标识;
其中,所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识,或者所述第一物理转发设备的出端口的信息包括所述第一物理转发设备的出端口的端口标识和出口标签。
36.根据权利要求34或35所述的SDN控制器,其特征在于,所述第一路由表项的匹配域携带网络地址,所述网络地址为目的地址和/或源地址,所述第二路由表项的匹配域携带所述网络地址。
37.根据权利要求34所述的SDN控制器,其特征在于,所述第二路由表项的匹配域携带所述第一虚拟转发设备所属虚拟网络的虚拟网络。
38.根据权利要求34所述的SDN控制器,其特征在于,所述第一路由表项的匹配域携带所述第一虚拟转发设备的入端口的信息,
所述SDN控制器还包括:
第二转换单元,用于基于所述端口映射关系和所述第一虚拟转发设备的入端口的信息,确定出所述第一物理转发设备的入端口的信息,其中,所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息具有映射关系,所述端口映射关系还包括所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;
其中,所述第二路由表项的匹配域携带所述第一物理转发设备的入端口的信息。
39.一种软件定义网络SDN控制器,其特征在于,包括:
第三获得单元,用于接收物理网络中的第一物理转发设备上报的第三控制消息,其中,所述第三控制消息的匹配域携带所述第一物理转发设备的入端口的信息;
第三转换单元,用于基于端口映射关系和所述第一物理转发设备的入端口的信息,确定出第一虚拟转发设备的入端口的信息,其中,所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息具有映射关系,所述端口映射关系包括所述第一虚拟转发设备的入端口的信息与所述第一物理转发设备的入端口的信息之间的映射关系;
发送单元,用于通过所述第一虚拟转发设备向虚拟SDN控制器发送第四控制消息,其中,所述第四控制消息的匹配域携带所述第一虚拟转发设备的入端口的信息,所述第一虚拟转发设备被注册到所述虚拟SDN控制器。
40.根据权利要求39所述的SDN控制器,其特征在于,
所述第一虚拟转发设备的入端口的信息包括所述第一虚拟转发设备的入端口的端口标识;
其中,所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识,或者所述第一物理转发设备的入端口的信息包括所述第一物理转发设备的入端口的端口标识和入口标签。
41.一种通信系统,其特征在于,包括:
第一物理转发设备、第二物理转发设备和如权利要求20至33任一项所述的SDN控制器。
42.一种通信系统,其特征在于,包括:第一物理转发设备和如权利要求34至40任一项所述的SDN控制器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/072425 WO2015123879A1 (zh) | 2014-02-23 | 2014-02-23 | 实现网络虚拟化的方法及相关装置和通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105103493A CN105103493A (zh) | 2015-11-25 |
CN105103493B true CN105103493B (zh) | 2019-04-26 |
Family
ID=53877563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480000873.0A Active CN105103493B (zh) | 2014-02-23 | 2014-02-23 | 实现网络虚拟化的方法及相关装置和通信系统 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10419326B2 (zh) |
EP (2) | EP3096490B1 (zh) |
CN (1) | CN105103493B (zh) |
WO (1) | WO2015123879A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105103493B (zh) | 2014-02-23 | 2019-04-26 | 华为技术有限公司 | 实现网络虚拟化的方法及相关装置和通信系统 |
US9866468B2 (en) | 2015-03-31 | 2018-01-09 | Verizon Patent And Licensing Inc. | Discovery and admission control of forwarding boxes in a software-defined network |
US10237176B2 (en) * | 2016-06-30 | 2019-03-19 | Juniper Networks, Inc. | Auto discovery and auto scaling of services in software-defined network environment |
US11405335B2 (en) * | 2017-01-13 | 2022-08-02 | Nicira, Inc. | Managing network traffic in virtual switches based on logical port identifiers |
US10491503B2 (en) * | 2017-04-03 | 2019-11-26 | Dell Products L.P. | Application-policy-based virtual SDN controller system |
US10686665B2 (en) * | 2017-08-11 | 2020-06-16 | Avaya Inc. | Discovery and configuration of an open networking adapter in a fabric network |
WO2019052406A1 (en) * | 2017-09-13 | 2019-03-21 | Telefonaktiebolaget Lm Ericsson (Publ) | METHODS, NODES, AND COMPUTER-READABLE MEDIA FOR TRUNK TUNNEL ESTABLISHMENT |
KR102592206B1 (ko) * | 2018-06-25 | 2023-10-20 | 현대자동차주식회사 | 차량 내 sdn 기반의 네트워크 관리 장치 및 그 제어 방법 |
CN108923979B (zh) * | 2018-07-11 | 2021-04-23 | 重庆邮电大学 | 软件定义网络虚拟网络映射方法 |
US11398968B2 (en) | 2018-07-17 | 2022-07-26 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for testing virtualized network functions and related infrastructure |
US11323354B1 (en) | 2020-10-09 | 2022-05-03 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for network testing using switch emulation |
US11483227B2 (en) | 2020-10-13 | 2022-10-25 | Keysight Technologies, Inc. | Methods, systems and computer readable media for active queue management |
CN112702269B (zh) * | 2021-01-21 | 2022-11-04 | 国网新疆电力有限公司信息通信公司 | Sdn与非sdn互通方法及互通系统 |
US11483228B2 (en) | 2021-01-29 | 2022-10-25 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for network testing using an emulated data center environment |
US11405302B1 (en) | 2021-03-11 | 2022-08-02 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for network testing using configurable test infrastructure |
US11388081B1 (en) | 2021-03-30 | 2022-07-12 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for impairment testing using an impairment device |
US11729087B2 (en) | 2021-12-03 | 2023-08-15 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for providing adaptive background test traffic in a test environment |
US11765068B2 (en) | 2021-12-22 | 2023-09-19 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for programmable data plane processor based traffic impairment |
US12056028B2 (en) | 2022-09-15 | 2024-08-06 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for using an impairment configuration manager |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013146829A1 (ja) * | 2012-03-27 | 2013-10-03 | 日本電気株式会社 | 制御装置、物理ノード、端末装置、通信システム、ポート状態表示方法及びプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4803116B2 (ja) * | 2007-05-31 | 2011-10-26 | 富士ゼロックス株式会社 | 仮想ネットワーク接続装置及びプログラム |
JPWO2010084529A1 (ja) * | 2009-01-23 | 2012-07-12 | 株式会社日立製作所 | 情報処理システム |
KR101460848B1 (ko) * | 2009-04-01 | 2014-11-20 | 니시라, 인크. | 가상 스위치를 구현 및 관리하는 방법 및 장치 |
US9350671B2 (en) * | 2012-03-22 | 2016-05-24 | Futurewei Technologies, Inc. | Supporting software defined networking with application layer traffic optimization |
CN102710432B (zh) * | 2012-04-27 | 2015-04-15 | 北京云杉世纪网络科技有限公司 | 云计算数据中心中的虚拟网络管理系统及方法 |
US9710762B2 (en) * | 2012-06-06 | 2017-07-18 | Juniper Networks, Inc. | Dynamic logging |
JP5958164B2 (ja) * | 2012-08-07 | 2016-07-27 | 富士通株式会社 | 制御装置、方法及びプログラム、並びにシステム及び情報処理方法 |
US9584369B2 (en) * | 2013-03-13 | 2017-02-28 | Futurewei Technologies, Inc. | Methods of representing software defined networking-based multiple layer network topology views |
CN105103493B (zh) * | 2014-02-23 | 2019-04-26 | 华为技术有限公司 | 实现网络虚拟化的方法及相关装置和通信系统 |
-
2014
- 2014-02-23 CN CN201480000873.0A patent/CN105103493B/zh active Active
- 2014-02-23 EP EP14882883.3A patent/EP3096490B1/en active Active
- 2014-02-23 EP EP18215043.3A patent/EP3522451B1/en active Active
- 2014-02-23 WO PCT/CN2014/072425 patent/WO2015123879A1/zh active Application Filing
-
2016
- 2016-08-22 US US15/243,351 patent/US10419326B2/en active Active
-
2019
- 2019-08-14 US US16/541,052 patent/US11005747B2/en active Active
-
2021
- 2021-04-21 US US17/236,363 patent/US11563669B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013146829A1 (ja) * | 2012-03-27 | 2013-10-03 | 日本電気株式会社 | 制御装置、物理ノード、端末装置、通信システム、ポート状態表示方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US11005747B2 (en) | 2021-05-11 |
US20160359721A1 (en) | 2016-12-08 |
US10419326B2 (en) | 2019-09-17 |
EP3522451A2 (en) | 2019-08-07 |
US11563669B2 (en) | 2023-01-24 |
EP3096490A1 (en) | 2016-11-23 |
WO2015123879A1 (zh) | 2015-08-27 |
EP3096490A4 (en) | 2017-01-11 |
EP3096490B1 (en) | 2018-12-26 |
US20190372881A1 (en) | 2019-12-05 |
CN105103493A (zh) | 2015-11-25 |
US20210243108A1 (en) | 2021-08-05 |
EP3522451A3 (en) | 2019-10-16 |
EP3522451B1 (en) | 2023-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105103493B (zh) | 实现网络虚拟化的方法及相关装置和通信系统 | |
CN112751826B (zh) | 算力应用流量转发方法及装置 | |
CN107147509B (zh) | 虚拟专用网业务实现方法、装置及通信系统 | |
CN105359470B (zh) | 流表管理方法及相关设备和系统 | |
CN112187517B (zh) | 一种数据中心sdn虚拟路由的配置方法、平台及控制器 | |
US10630508B2 (en) | Dynamic customer VLAN identifiers in a telecommunications network | |
CN104348724B (zh) | 一种支持多租户的数据转发方法和装置 | |
CN109150685B (zh) | 一种面向异构网络的智能互联方法及系统 | |
CN105610714B (zh) | Sdn网络的控制方法和装置以及sdn控制器 | |
CN103369027A (zh) | 混合云环境中的位置感知虚拟服务配备 | |
CN106850435A (zh) | 一种跨域端到端标签交换路径建立方法和系统 | |
CN102244614B (zh) | 报文转发方法、系统及路由交换机 | |
CN113839995B (zh) | 跨域资源纳管系统、方法、设备及存储介质 | |
CN107483141B (zh) | 以太网链路建立方法和控制器 | |
CN116055394B (zh) | 一种基于矢量化骨干网的边缘路由编排系统 | |
CN115277578B (zh) | 一种业务编排方法、装置及存储介质 | |
CN114650290B (zh) | 网络连通的方法、处理装置、终端及存储介质 | |
Shin et al. | Transport SDN: Trends, standardization and architecture | |
CN112995035A (zh) | 业务链转发控制方法及装置、业务组网 | |
CN109660461A (zh) | 一种HQoS实现方法及装置 | |
CN102487356B (zh) | 用于Hub-Spoke网络的路由分发方法及装置 | |
CN101252779A (zh) | 策略执行点选择方法及设备 | |
CN106330487A (zh) | 自动配置方法、控制器及设备 | |
CN114513447A (zh) | Sd-wan业务发放系统、方法、装置和网络设备 | |
CN113965464A (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 |