CN104065553B - 虚拟网络迁移方法和相关设备 - Google Patents

虚拟网络迁移方法和相关设备 Download PDF

Info

Publication number
CN104065553B
CN104065553B CN201410306536.6A CN201410306536A CN104065553B CN 104065553 B CN104065553 B CN 104065553B CN 201410306536 A CN201410306536 A CN 201410306536A CN 104065553 B CN104065553 B CN 104065553B
Authority
CN
China
Prior art keywords
forwarding device
virtual
physical
port
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410306536.6A
Other languages
English (en)
Other versions
CN104065553A (zh
Inventor
胡士辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410306536.6A priority Critical patent/CN104065553B/zh
Publication of CN104065553A publication Critical patent/CN104065553A/zh
Application granted granted Critical
Publication of CN104065553B publication Critical patent/CN104065553B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了虚拟网络迁移方法和相关设备。其中,一种虚拟网络迁移的方法包括:软件定义网络SDN控制器监控物理网络的运行状态;当SDN控制器监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设的迁移条件,所述SDN控制器修改所述第一虚拟网络与所述物理网络之间的映射关系。本发明实施例提供技术方案有利于降低因物理网络的容量发生变化而对网络业务稳定性所造成的影响。

Description

虚拟网络迁移方法和相关设备
技术领域
本发明涉及网络技术领域,具体涉及虚拟网络迁移方法和相关设备。
背景技术
通常的物理网络中,报文路由与具体物理转发设备紧密耦合,例如物理路由器或物理交换机等物理转发设备完成具体的数据报文转发功能。
目前,当物理网络的容量发生变化时,例如,物理网络中的某物理路由器故障(即缩容)或者物理网络中新增了物理路由器(即扩容)时,会引起域内物理路由器重新计算路由、重新传播路由,即引发路由收敛问题。有时候一个物理路由器故障可能影响域内其它每一台物理路由器。而重要位置的设备故障引出边界网关协议路由收敛问题,甚至可能引发全球互联网络的路由收敛,给网络的稳定性和可靠性带来影响,进而影响网络业务的稳定性。
物理网络的快速路由收敛对网络业务稳定性的影响,是通常的物理网络中面临的重要热点问题。
发明内容
本发明实施例提供虚拟网络迁移方法和相关设备,以期降低因物理网络的容量发生变化而对网络业务稳定性所造成的影响。
第一方面,一种虚拟网络迁移的方法,包括:
软件定义网络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控制器修改第一虚拟网络与所述物理网络之间的映射关系。通过引入映射到物理网络的虚拟网络,有利于使得虚拟网络的用户可无需感知物理网络的具体拓扑结构,而当物理网络的容量发生变化时,通过修改虚拟网络与物理网络之间的映射关系,有利于使虚拟网络中的虚拟转发设备重新映射到物理网络中未故障的物理转发设备或新增的物理转发设备,而修改虚拟网络与物理网络之间的映射关系基本不影响虚拟网络中虚拟转发设备之间的已有路由关系,因为虚拟网络中各虚拟转发设备之间的拓扑关系基本未变化,因此基本不会引发虚拟网络的路由收敛问题,而网络业务是承载在虚拟网络上的,虚拟网络不出现路由收敛问题则对相关网络业务稳定性影响就不大,可见,上述方案有利于降低因物理网络的容量发生变化而对网络业务稳定性所造成的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-a~图1-d为本发明实施例提供的几种网络架构的示意图;
图2为本发明实施例提供的一种实现网络虚拟化的方法的流程示意图;
图3为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图4为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图5-a为本发明实施例提供的另一实现网络虚拟化的方法的流程示意图;
图5-b和图5-c为本发明实施例提供的两种虚拟网络的架构示意图;
图6为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图7为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图8为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图9为本发明实施例提供的另一种实现网络虚拟化的方法的流程示意图;
图10为本发明实施例提供的一种虚拟网络迁移方法的流程示意图;
图11为本发明实施例提供的另一种虚拟网络迁移方法的流程示意图;
图12为本发明实施例提供的一种软件定义网络控制器的示意图;
图13为本发明实施例提供的另一种软件定义网络控制器的示意图。
具体实施方式
本发明实施例提供虚拟网络迁移方法和相关设备,以期降低因物理网络的容量发生变化而对网络业务稳定性所造成的影响。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面先对开放流机制进行简单介绍。
开放流(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任意一图所示网络架构中实施图5-a、图6~图9所对应方法为例进行描述。
参见图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标准的可编程接口,使得用户可以通过虚拟控制器,对虚拟网络进行更加灵活的定制,进而向用户提供完全虚拟化的虚拟控制器及虚拟网络。基于本发明实施例的一些方案,可大量的使用资源自动分配算法实现自动配置,在缩减人工成本的同时还可以大大减低了出错的概率,这也使得虚拟网络大规模部署成为可能。
本发明虚拟网络迁移的方法的一个实施例,其中,一种虚拟网络迁移的方法可包括:SDN控制器监控物理网络的运行状态;当所述SDN控制器监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设的迁移条件,所述SDN控制器修改所述第一虚拟网络与所述物理网络之间的映射关系。
参见图10,图10是本发明的一个实施例提供的一种虚拟网络迁移的方法的流程示意图。如图10所示,本发明的一个实施例提供的一种虚拟网络迁移的方法可包括以下内容:
1001、SDN控制器监控物理网络的运行状态。
1002、当所述SDN控制器监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设的迁移条件,所述SDN控制器修改所述第一虚拟网络与所述物理网络之间的映射关系。
其中,物理网络的容量发生变化可能是物理网络缩容了,例如可能是物理网络中的物理转发设备发生故障、可能是物理网络中的物理转发设备的至少一个端口发生故障、物理网络中的物理转发设备之间的链路隧道发生故障。物理网络的容量发生变化也可能是物理网络扩容了,例如物理网络中的新增了至少一台物理转发设备。其中,某物理转发设备断电也可看成是该物理转发设备发生了故障。
SDN控制器可基于物理网络的物理转发设备反馈的状态报告来确定物理网络运行状态,例如当物理网络的某物理转发设备的某端口故障,该物理转发设备或与该端口具有连接关系的其他物理转发设备可向SDN控制器反馈端口故障报告,SDN控制器可据此获知相应端口故障。又例如,当物理网络的某物理转发设备故障,物理网络中与该物理转发设备具有连接关系的其他物理转发设备可向SDN控制器反馈设备故障报告,SDN控制器可据此获知相应物理转发设备故障。
可以看出,本实施例方案中,当SDN控制器监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设迁移条件,SDN控制器修改第一虚拟网络与所述物理网络之间的映射关系。通过引入映射到物理网络的虚拟网络,有利于使得虚拟网络的用户可无需感知物理网络的具体拓扑结构,而当物理网络的容量发生变化时,通过修改虚拟网络与物理网络之间的映射关系,有利于使虚拟网络中的虚拟转发设备重新映射到物理网络中未故障的物理转发设备或新增的物理转发设备,而修改虚拟网络与物理网络之间的映射关系基本不影响虚拟网络中虚拟转发设备之间的已有路由关系,因为虚拟网络中各虚拟转发设备之间的拓扑关系基本未变化,因此基本不会引发虚拟网络的路由收敛问题,可见上述方案有利于降低因物理网络的容量发生变化而对网络业务稳定性所造成的影响。
其中,第一虚拟网络符合预设的迁移条件,可能是指物理网络的物理转发设备发生故障使得第一虚拟网络中的虚拟转发设备也故障,或者可能是物理网络中的物理转发设备的某端口发生故障使得第一虚拟网络中的虚拟转发设备的某端口也故障,或可能是物理网络中的物理转发设备之间的链路隧道发生故障使得第一虚拟网络中的虚拟转发设备之间的虚拟链路也故障等,或者是为第一虚拟网络中的第一虚拟转发设备提供服务的所述第一物理转发设备的剩余容量,小于物理网络新增的第六物理转发设备的剩余容量,或者可能是物理网络新增的第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费(cost),小于第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费,或者可能是是物理网络新增的第六物理转发设备为第一虚拟网络中的第一虚拟转发设备提供服务时该物理网络的拥塞度,小于第一物理转发设备为第一虚拟网络中的第一虚拟转发设备提供服务时该物理网络的拥塞度等。
具体例如,当所述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控制器修改所述第二虚拟网络与所述物理网络之间的映射关系。
可以理解的是,引入迁移优先级有利于保障重要业务对应的虚拟网络优先迁移,进而有利于减少故障对重要业务的影响。
其中,本实施例中的虚拟网络可基于上述实施例中提供的任意一种实现网络虚拟化的方法来创建得到。
为便于更好的理解和实施本发明实施例的上述方案,下面通过举例一些具体的应用场景进行说明。其中,下面以在图1-a~图1-d任意一图所示网络架构中实施图11所对应方法为例进行描述。
1101、SDN控制器接收携带虚拟网络拓扑信息的虚拟网络创建请求。
例如当用户需创建某拓扑结构的虚拟网络时,用户可通过虚拟网络客户端向SDN控制器发送携带虚拟网络拓扑信息的虚拟网络创建请求,以请求SDN控制器创建具有上述虚拟网络拓扑信息所描述的拓扑结构的虚拟网络。
1102、SDN控制器创建第一虚拟网络以响应上述虚拟网络创建请求。
其中,第一虚拟网络具有上述虚拟网络拓扑信息所描述的拓扑结构,上述虚拟网络包括第一虚拟转发设备和第二虚拟转发设备。某些极端情况下第一虚拟网络也可能只包括一个虚拟转发设备。
当然,第一虚拟网络可选的还可包括其它虚拟转发设备,例如第一虚拟网络可选的还可包括第三虚拟转发设备、第四虚拟转发设备等。其中,第一虚拟网络中的各虚拟转发设备为软件实例。虚拟转发设备可对外模拟物理转发设备的行为模式。
1103、SDN控制器建立设备映射关系。
其中,上述设备映射关系包括上述第一虚拟转发设备与物理网络中的第一物理转发设备之间的映射关系、以及上述第二虚拟转发设备与上述物理网络中的第二物理转发设备之间的映射关系。
在本发明的一些实施例中,可通过生成记录有第一虚拟转发设备和第一物理转发设备的设备标识的映射关系记录,来建立上述第一虚拟转发设备与第一物理转发设备之间的映射关系。同理,可通过生成记录有第二虚拟转发设备和第二物理转发设备的设备标识的映射关系记录,来建立上述第二虚拟转发设备与第二物理转发设备之间的映射关系。其它虚拟转发设备和其它物理转发设备之间的映射关系的建立方式可以类似。当然,亦可通过其他方式来建立上述设备映射关系。
其中,第一物理转发设备可以是一个物理转发设备,也可以是多个物理转发设备所组成的物理转发设备组,同理,第二物理转发设备可以是一个物理转发设备,也可以是多个物理转发设备所组成的物理转发设备组。例如假设第一物理转发设备为由路由器A,则建立第一虚拟转发设备与第一物理转发设备之间的映射关系包括:建立路由器A与第一虚拟转发设备之间的映射关系。又举例来说,假设第一物理转发设备为由路由器A和路由器B所组成的物理转发设备组,建立第一虚拟转发设备与第一物理转发设备之间的映射关系包括:建立由路由器A和路由器B所组成的物理转发设备组与第一虚拟转发设备之间的映射关系。其它情况与之类似。
可以理解,不同虚拟网络中的不同虚拟转发设备可能与同一个物理转发设备具有映射关系。
1104、SDN控制器建立端口映射关系。
其中,上述端口映射关系包括上述第一虚拟转发设备的端口与上述第一物理转发设备的端口之间的映射关系、以及上述第二虚拟转发设备的端口与上述第二物理转发设备的端口之间的映射关系。
1105、SDN控制器为第一虚拟网络分配虚拟SDN控制器。
在本发明的一些实施例中,SDN控制器可以为不同的虚拟网络分配不同的虚拟SDN控制器,也就是说,虚拟SDN控制器与虚拟网络之间可以是一一对应的关系。在某些场景下,SDN控制器也可为至少两个虚拟网络分配同一个虚拟SDN控制器。
其中。虚拟SDN控制器可以集成在SDN控制器中,虚拟SDN控制器亦可是独立于SDN控制器的设备,例如,虚拟SDN控制器可为服务器、虚拟机或软件实例。
1106、SDN控制器可将上述第一虚拟转发设备和上述第二虚拟转发设备注册到上述虚拟SDN控制器。
其中,SDN控制器可将第一虚拟网络中包括第一虚拟转发设备和上述第二虚拟转发设备之内的各虚拟转发设备注册到上述虚拟SDN控制器。通过将虚拟转发设备注册到虚拟SDN控制器,可以在虚拟SDN控制器和各虚拟转发设备之间建立起控制通道,虚拟SDN控制器可基于这些控制通道向虚拟转发设备下发例如路由表项等控制信息,虚拟SDN控制器还可利用这些控制通道,基于拓扑发现协议来发现第一虚拟网络的拓扑结构。虚拟转发设备可利用这些控制通道向虚拟SDN控制器上报虚拟设备上电/下电事件、端口激活/去激活事件、链路激活/去激活事件等。
可以理解,步骤1103、步骤1104与步骤1105之间没有必然的先后顺序。
可以理解,步骤1103、步骤1104与步骤1106之间也没有必然的先后顺序。
1107、SDN控制器监控物理网络的运行状态。
1108、当所述SDN控制器监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设的迁移条件,所述SDN控制器修改所述第一虚拟网络与所述物理网络之间的映射关系。
由上可见,本实施方案中,通过提供按需创建虚拟网络的机制,使得用户可根据自身需求来提出用于请求创建所需拓扑结构的虚拟网络的虚拟网络创建请求,并且使用虚拟网络的用户可以无需感知物理网络的具体拓扑结构,与现有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控制器释放所述第一物理转发设备与所述第一虚拟网络中的第一虚拟转发设备之间的设备映射关系,释放所述第一物理转发设备的端口与所述第一虚拟网络中的第一虚拟转发设备的端口之间的端口映射关系;所述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控制器建立所述第六物理转发设备与所述第一虚拟网络中的第一虚拟转发设备之间的设备映射关系,建立所述第六物理转发设备的端口与所述第一虚拟网络中的第一虚拟转发设备的端口之间的端口映射关系。可选的,预设的迁移条件例如可包括如下条件的至少一种:为所述第一虚拟网络中的第一虚拟转发设备提供服务的所述第一物理转发设备的剩余容量,小于所述第六物理转发设备的剩余容量、所述第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费,小于所述第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费、所述第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务时所述物理网络的拥塞度,小于所述第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务时所述物理网络的拥塞度。
下面还提供用于实施上述方案的相关装置。
参见图12,本发明实施例提供一种SDN控制器1200,可包括:
监控单元1210,用于监控物理网络的运行状态;
虚拟网络迁移单元1220,用于当监控单元1210监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设的迁移条件,修改所述第一虚拟网络与所述物理网络之间的映射关系。
其中,物理网络的容量发生变化可能是物理网络缩容了,例如可能是物理网络中的物理转发设备发生故障、可能是物理网络中的物理转发设备的至少一个端口发生故障、物理网络中的物理转发设备之间的链路隧道发生故障。物理网络的容量发生变化也可能是物理网络扩容了,例如物理网络中的新增了至少一台物理转发设备。其中,某物理转发设备断电也可看成是该物理转发设备发生了故障。
监控单元1210可基于物理网络的物理转发设备反馈的状态报告来确定物理网络运行状态,例如当物理网络的某物理转发设备的某端口故障,该物理转发设备或与该端口具有连接关系的其他物理转发设备可向SDN控制器1200反馈端口故障报告,监控单元1210可据此获知相应端口故障。又例如当物理网络的某物理转发设备故障,物理网络中与该物理转发设备具有连接关系的其他物理转发设备可向SDN控制器1200反馈设备故障报告,监控单元1210可据此获知相应物理转发设备故障。
其中,第一虚拟网络符合预设的迁移条件,可能是指物理网络的物理转发设备发生故障使得第一虚拟网络中的虚拟转发设备也故障,或者可能是物理网络中的物理转发设备的某端口发生故障使得第一虚拟网络中的虚拟转发设备的某端口也故障,或可能是物理网络中的物理转发设备之间的链路隧道发生故障使得第一虚拟网络中的虚拟转发设备之间的虚拟链路也故障等,或者是为第一虚拟网络中的第一虚拟转发设备提供服务的所述第一物理转发设备的剩余容量,小于物理网络新增的第六物理转发设备的剩余容量,或者可能是物理网络新增的第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费(cost),小于第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费,或者可能是是物理网络新增的第六物理转发设备为第一虚拟网络中的第一虚拟转发设备提供服务时该物理网络的拥塞度,小于第一物理转发设备为第一虚拟网络中的第一虚拟转发设备提供服务时该物理网络的拥塞度等。
例如,所述虚拟网络迁移单元1220可具体用于,当所述监控单元1210监控到所述物理网络中的第一物理转发设备的第一端口发生故障,并且所述第一物理转发设备与第一虚拟网络中的第一虚拟转发设备之间具有设备映射关系,并且所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间具有端口映射关系,释放所述第一物理转发设备与所述第一虚拟转发设备之间的设备映射关系,释放所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系;建立所述第一虚拟转发设备与所述物理网络中的第三物理转发设备之间的设备映射关系;建立所述第一虚拟转发设备的端口与所述第三物理转发设备的端口之间的端口映射关系;
又例如,所述虚拟网络迁移单元1220具体用于,当所述监控单元1210监控到所述物理网络中的第一物理转发设备的第一端口发生故障,并且所述第一物理转发设备的第一端口与第一虚拟网络中的第一虚拟转发设备的第一端口之间具有端口映射关系,释放所述第一物理转发设备的第一端口与所述第一虚拟转发设备的第一端口之间的端口映射关系,建立所述第一虚拟转发设备的第一端口与所述第一物理转发设备的第二端口之间的端口映射关系。
又例如,所述虚拟网络迁移单元1220具体用于,当所述监控单元1210监控到所述物理网络中的第一物理转发设备发生故障,且所述第一物理转发设备与第一虚拟网络中的第一虚拟转发设备之间具有设备映射关系,且所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间具有端口映射关系,释放所述第一物理转发设备与所述第一虚拟转发设备之间的设备映射关系,释放所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系;建立所述第一虚拟转发设备与所述物理网络中的第三物理转发设备之间的设备映射关系,建立所述第一虚拟转发设备的端口与所述第三物理转发设备的端口之间的端口映射关系。
可选的,所述虚拟网络迁移单元1220还用于,当所述物理网络中的第二物理转发设备与所述第一虚拟网络中的第二虚拟转发设备之间具有设备映射关系,且所述第二虚拟转发设备的端口与所述第二物理转发设备的端口之间的端口映射关系,释放所述第二物理转发设备与所述第二虚拟转发设备之间的设备映射关系,释放所述第二虚拟转发设备的端口与所述第二物理转发设备的端口之间的端口映射关系;建立所述第二虚拟转发设备与所述物理网络中的第四物理转发设备之间的设备映射关系;建立所述第二虚拟转发设备的端口与所述第四物理转发设备的端口之间的端口映射关系。
又例如,所述虚拟网络迁移单元1220具体用于,当所述监控单元1210监控到所述物理网络中的第一物理转发设备和第二物理转发设备之间的第一链路隧道发生故障,并且所述第一链路隧道与第一虚拟链路之间具有链路映射关系,释放所述第一链路隧道与第一虚拟链路之间的链路映射关系,建立所述第一物理转发设备和所述第二物理转发设备之间的第二链路隧道,与所述第一虚拟链路之间的链路映射关系,其中,所述第一虚拟链路为第一虚拟网络中的第一虚拟转发设备和第二虚拟转发设备之间的虚拟链路。
又例如,所述虚拟网络迁移单元1220具体用于,当所述监控单元1210监控到所述物理网络中新增了第六物理转发设备,且所述第一虚拟网络符合预设的迁移条件,并且所述物理网络中的第一物理转发设备与所述第一虚拟网络中的第一虚拟转发设备之间具有设备映射关系,且所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间具有端口映射关系,释放所述第一物理转发设备与所述第一虚拟转发设备之间的设备映射关系,释放所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系,建立所述第六物理转发设备与所述第一虚拟转发设备之间的设备映射关系,建立所述第六物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系。
例如,所述预设的迁移条件包括如下条件的至少一种:为所述第一虚拟网络中的第一虚拟转发设备提供服务的所述第一物理转发设备的剩余容量,小于所述第六物理转发设备的剩余容量、所述第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费,小于所述第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费、所述第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务时所述物理网络的拥塞度,小于所述第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务时所述物理网络的拥塞度。
可选的,所述虚拟网络迁移单元1220还用于,当所述监控单元1210监控到所述物理网络的容量发生变化,且第二虚拟网络符合预设的迁移条件,且所述第二虚拟网络的迁移优先级低于所述第一虚拟网络的迁移优先级,在修改所述第一虚拟网络与所述物理网络之间的映射关系之后,修改所述第二虚拟网络与所述物理网络之间的映射关系。其中,修改所述第二虚拟网络与所述物理网络之间的映射关系的方式可类似于修改所述第一虚拟网络与所述物理网络之间的映射关系的方式。
或者,所述虚拟网络迁移单元1220还用于,当所述监控单元1210监控到所述物理网络的容量发生变化,且第二虚拟网络符合预设的迁移条件,且所述第二虚拟网络的迁移优先级高于所述第一虚拟网络的迁移优先级,在修改所述第一虚拟网络与所述物理网络之间的映射关系之前,修改所述第二虚拟网络与所述物理网络之间的映射关系。
可以理解的是,本实施例的SDN控制器1200的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以看出,本实施例方案中,当SDN控制器1200监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设迁移条件,SDN控制器1200修改第一虚拟网络与所述物理网络之间的映射关系。通过引入映射到物理网络的虚拟网络,有利于使得虚拟网络的用户可无需感知物理网络的具体拓扑结构,而当物理网络的容量发生变化时,通过修改虚拟网络与物理网络之间的映射关系,有利于使虚拟网络中的虚拟转发设备重新映射到物理网络中未故障的物理转发设备或新增的物理转发设备,而修改虚拟网络与物理网络之间的映射关系基本不影响虚拟网络中虚拟转发设备之间的已有路由关系,因为虚拟网络中各虚拟转发设备之间的拓扑关系基本未变化,因此基本不会引发虚拟网络的路由收敛问题,可见上述方案有利于降低因物理网络的容量发生变化而对网络业务稳定性所造成的影响。
参见图13,图13是本发明的另一个实施例提供的SDN控制器1300的结构框图。其中,SDN控制器1300可以包括:至少1个处理器1301、至少1个网络接口1304、存储器1305和至少1个通信总线1302。通信总线1302用于实现这些组件之间的连接通信。其中,该SDN控制器1300可选的包含用户接口1303,包括显示器(例如,触摸屏、液晶显示器、全息成像(Holographic)或者投影(Projector)等)、点击设备(例如鼠标、轨迹球(trackball)触感板或触摸屏等)、摄像头和/或拾音装置等。
其中,存储器1305可以包括只读存储器和随机存取存储器,并向处理器1301提供指令和数据。存储器1305中的一部分还可以包括非易失性随机存取存储器。
在一些实施方式中,存储器1305存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统13051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
应用程序模块13052,包含各种应用程序,用于实现各种应用业务。
应用程序模块13052中可包括但不限于虚拟网络迁移单元1220和/或监控单元1210等。
在本发明实施例中,通过调用存储器1305存储的程序或指令,处理器1301监控物理网络的运行状态;当监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设的迁移条件,修改所述第一虚拟网络与所述物理网络之间的映射关系。
其中,物理网络的容量发生变化可能是物理网络缩容了,例如可能是物理网络中的物理转发设备发生故障、可能是物理网络中的物理转发设备的至少一个端口发生故障、物理网络中的物理转发设备之间的链路隧道发生故障。物理网络的容量发生变化也可能是物理网络扩容了,例如物理网络中的新增了至少一台物理转发设备。其中,某物理转发设备断电也可看成是该物理转发设备发生了故障。
处理器1301可基于物理网络的物理转发设备反馈的状态报告来确定物理网络运行状态,例如当物理网络的某物理转发设备的某端口故障,该物理转发设备或与该端口具有连接关系的其他物理转发设备可向SDN控制器1300反馈端口故障报告,处理器1301可据此获知相应端口故障。又例如当物理网络的某物理转发设备故障,物理网络中与该物理转发设备具有连接关系的其他物理转发设备可向SDN控制器1300反馈设备故障报告,处理器1301可据此获知相应物理转发设备故障。
其中,第一虚拟网络符合预设的迁移条件,可能是指物理网络的物理转发设备发生故障使得第一虚拟网络中的虚拟转发设备也故障,或者可能是物理网络中的物理转发设备的某端口发生故障使得第一虚拟网络中的虚拟转发设备的某端口也故障,或可能是物理网络中的物理转发设备之间的链路隧道发生故障使得第一虚拟网络中的虚拟转发设备之间的虚拟链路也故障等,或者是为第一虚拟网络中的第一虚拟转发设备提供服务的所述第一物理转发设备的剩余容量,小于物理网络新增的第六物理转发设备的剩余容量,或者可能是物理网络新增的第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费(cost),小于第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费,或者可能是是物理网络新增的第六物理转发设备为第一虚拟网络中的第一虚拟转发设备提供服务时该物理网络的拥塞度,小于第一物理转发设备为第一虚拟网络中的第一虚拟转发设备提供服务时该物理网络的拥塞度等。
例如,所述处理器1301可具体用于,当监控到所述物理网络中的第一物理转发设备的第一端口发生故障,并且所述第一物理转发设备与第一虚拟网络中的第一虚拟转发设备之间具有设备映射关系,并且所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间具有端口映射关系,释放所述第一物理转发设备与所述第一虚拟转发设备之间的设备映射关系,释放所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系;建立所述第一虚拟转发设备与所述物理网络中的第三物理转发设备之间的设备映射关系;建立所述第一虚拟转发设备的端口与所述第三物理转发设备的端口之间的端口映射关系;
又例如,所述处理器1301可具体用于,当监控到所述物理网络中的第一物理转发设备的第一端口发生故障,并且所述第一物理转发设备的第一端口与第一虚拟网络中的第一虚拟转发设备的第一端口之间具有端口映射关系,释放所述第一物理转发设备的第一端口与所述第一虚拟转发设备的第一端口之间的端口映射关系,建立所述第一虚拟转发设备的第一端口与所述第一物理转发设备的第二端口之间的端口映射关系。
又例如,所述处理器1301可具体用于,当监控到所述物理网络中的第一物理转发设备发生故障,且所述第一物理转发设备与第一虚拟网络中的第一虚拟转发设备之间具有设备映射关系,且所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间具有端口映射关系,释放所述第一物理转发设备与所述第一虚拟转发设备之间的设备映射关系,释放所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系;建立所述第一虚拟转发设备与所述物理网络中的第三物理转发设备之间的设备映射关系,建立所述第一虚拟转发设备的端口与所述第三物理转发设备的端口之间的端口映射关系。
可选的,处理器1301还用于,当所述物理网络中的第二物理转发设备与所述第一虚拟网络中的第二虚拟转发设备之间具有设备映射关系,且所述第二虚拟转发设备的端口与所述第二物理转发设备的端口之间的端口映射关系,释放所述第二物理转发设备与所述第二虚拟转发设备之间的设备映射关系,释放所述第二虚拟转发设备的端口与所述第二物理转发设备的端口之间的端口映射关系;建立所述第二虚拟转发设备与所述物理网络中的第四物理转发设备之间的设备映射关系;建立所述第二虚拟转发设备的端口与所述第四物理转发设备的端口之间的端口映射关系。
又例如,所述处理器1301可具体用于,当监控到所述物理网络中的第一物理转发设备和第二物理转发设备之间的第一链路隧道发生故障,并且所述第一链路隧道与第一虚拟链路之间具有链路映射关系,释放所述第一链路隧道与第一虚拟链路之间的链路映射关系,建立所述第一物理转发设备和所述第二物理转发设备之间的第二链路隧道,与所述第一虚拟链路之间的链路映射关系,其中,所述第一虚拟链路为第一虚拟网络中的第一虚拟转发设备和第二虚拟转发设备之间的虚拟链路。
又例如,所述处理器1301可具体用于,当监控到所述物理网络中新增了第六物理转发设备,且所述第一虚拟网络符合预设的迁移条件,并且所述物理网络中的第一物理转发设备与所述第一虚拟网络中的第一虚拟转发设备之间具有设备映射关系,且所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间具有端口映射关系,释放所述第一物理转发设备与所述第一虚拟转发设备之间的设备映射关系,释放所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系,建立所述第六物理转发设备与所述第一虚拟转发设备之间的设备映射关系,建立所述第六物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系。
例如,所述预设的迁移条件包括如下条件的至少一种:为所述第一虚拟网络中的第一虚拟转发设备提供服务的所述第一物理转发设备的剩余容量,小于所述第六物理转发设备的剩余容量、所述第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费,小于所述第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费、所述第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务时所述物理网络的拥塞度,小于所述第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务时所述物理网络的拥塞度。
可选的,处理器1301还用于,当监控到所述物理网络的容量发生变化,且第二虚拟网络符合预设的迁移条件,且所述第二虚拟网络的迁移优先级低于所述第一虚拟网络的迁移优先级,在修改所述第一虚拟网络与所述物理网络之间的映射关系之后,修改所述第二虚拟网络与所述物理网络之间的映射关系。其中,修改所述第二虚拟网络与所述物理网络之间的映射关系的方式可类似于修改所述第一虚拟网络与所述物理网络之间的映射关系的方式。
或者,处理器1301还用于,当监控到所述物理网络的容量发生变化,且第二虚拟网络符合预设的迁移条件,且所述第二虚拟网络的迁移优先级高于所述第一虚拟网络的迁移优先级,在修改所述第一虚拟网络与所述物理网络之间的映射关系之前,修改所述第二虚拟网络与所述物理网络之间的映射关系。
可以理解的是,本实施例的SDN控制器1300的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以看出,本实施例方案中,当SDN控制器1300监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设迁移条件,SDN控制器1300修改第一虚拟网络与所述物理网络之间的映射关系。通过引入映射到物理网络的虚拟网络,有利于使得虚拟网络的用户可无需感知物理网络的具体拓扑结构,而当物理网络的容量发生变化时,通过修改虚拟网络与物理网络之间的映射关系,有利于使虚拟网络中的虚拟转发设备重新映射到物理网络中未故障的物理转发设备或新增的物理转发设备,而修改虚拟网络与物理网络之间的映射关系基本不影响虚拟网络中虚拟转发设备之间的已有路由关系,因为虚拟网络中各虚拟转发设备之间的拓扑关系基本未变化,因此基本不会引发虚拟网络的路由收敛问题,可见上述方案有利于降低因物理网络的容量发生变化而对网络业务稳定性所造成的影响。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种虚拟网络迁移的方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种虚拟网络迁移的方法,其特征在于,包括:
软件定义网络SDN控制器监控物理网络的运行状态;
当所述SDN控制器监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设的迁移条件,所述SDN控制器修改所述第一虚拟网络与所述物理网络之间的映射关系;
其中,所述第一虚拟网络符合预设的迁移条件包括如下至少一种:
所述物理网络新增的第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费,小于第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费;
或,所述物理网络新增的第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务时所述物理网络的拥塞度,小于第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务时所述物理网络的拥塞度。
2.根据权利要求1所述的方法,其特征在于,
所述当所述SDN控制器监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设的迁移条件,所述SDN控制器修改所述第一虚拟网络与所述物理网络之间的映射关系,包括:
当监控到所述物理网络中新增了第六物理转发设备,且所述第一虚拟网络符合预设的迁移条件,并且所述物理网络中的第一物理转发设备与所述第一虚拟网络中的第一虚拟转发设备之间具有设备映射关系,且所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间具有端口映射关系,所述SDN控制器释放所述第一物理转发设备与所述第一虚拟转发设备之间的设备映射关系,释放所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系,所述SDN控制器建立所述第六物理转发设备与所述第一虚拟转发设备之间的设备映射关系,建立所述第六物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系。
3.根据权利要求1至2任意一项所述的方法,其特征在于,
所述方法包括:
当所述SDN控制器监控到所述物理网络的容量发生变化,且第二虚拟网络符合预设的迁移条件,且所述第二虚拟网络的迁移优先级低于所述第一虚拟网络的迁移优先级,在所述SDN控制器修改所述第一虚拟网络与所述物理网络之间的映射关系之后,所述SDN控制器修改所述第二虚拟网络与所述物理网络之间的映射关系;
或者,
当所述SDN控制器监控到所述物理网络的容量发生变化,且第二虚拟网络符合预设的迁移条件,且所述第二虚拟网络的迁移优先级高于所述第一虚拟网络的迁移优先级,在所述SDN控制器修改所述第一虚拟网络与所述物理网络之间的映射关系之前,所述SDN控制器修改所述第二虚拟网络与所述物理网络之间的映射关系。
4.一种软件定义网络SDN控制器,其特征在于,包括:
监控单元,用于监控物理网络的运行状态;
虚拟网络迁移单元,用于当所述监控单元监控到所述物理网络的容量发生变化,且第一虚拟网络符合预设的迁移条件,修改所述第一虚拟网络与所述物理网络之间的映射关系;
其中,所述第一虚拟网络符合预设的迁移条件包括如下至少一种:
所述物理网络新增的第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费,小于第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务的花费;
或,所述物理网络新增的第六物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务时所述物理网络的拥塞度,小于第一物理转发设备为所述第一虚拟网络中的第一虚拟转发设备提供服务时所述物理网络的拥塞度。
5.根据权利要求4所述的SDN控制器,其特征在于,
所述虚拟网络迁移单元具体用于,当所述监控单元监控到所述物理网络中新增了第六物理转发设备,且所述第一虚拟网络符合预设的迁移条件,并且所述物理网络中的第一物理转发设备与所述第一虚拟网络中的第一虚拟转发设备之间具有设备映射关系,且所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间具有端口映射关系,释放所述第一物理转发设备与所述第一虚拟转发设备之间的设备映射关系,释放所述第一物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系,建立所述第六物理转发设备与所述第一虚拟转发设备之间的设备映射关系,建立所述第六物理转发设备的端口与所述第一虚拟转发设备的端口之间的端口映射关系。
6.根据权利要求4至5任意一项所述的SDN控制器,其特征在于,
所述虚拟网络迁移单元还用于,当所述监控单元监控到所述物理网络的容量发生变化,且第二虚拟网络符合预设的迁移条件,且所述第二虚拟网络的迁移优先级低于所述第一虚拟网络的迁移优先级,在修改所述第一虚拟网络与所述物理网络之间的映射关系之后,修改所述第二虚拟网络与所述物理网络之间的映射关系;
或者,
所述虚拟网络迁移单元还用于,当所述监控单元监控到所述物理网络的容量发生变化,且第二虚拟网络符合预设的迁移条件,且所述第二虚拟网络的迁移优先级高于所述第一虚拟网络的迁移优先级,在修改所述第一虚拟网络与所述物理网络之间的映射关系之前,修改所述第二虚拟网络与所述物理网络之间的映射关系。
CN201410306536.6A 2014-06-30 2014-06-30 虚拟网络迁移方法和相关设备 Active CN104065553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410306536.6A CN104065553B (zh) 2014-06-30 2014-06-30 虚拟网络迁移方法和相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410306536.6A CN104065553B (zh) 2014-06-30 2014-06-30 虚拟网络迁移方法和相关设备

Publications (2)

Publication Number Publication Date
CN104065553A CN104065553A (zh) 2014-09-24
CN104065553B true CN104065553B (zh) 2018-05-18

Family

ID=51553093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410306536.6A Active CN104065553B (zh) 2014-06-30 2014-06-30 虚拟网络迁移方法和相关设备

Country Status (1)

Country Link
CN (1) CN104065553B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515992B (zh) * 2014-09-26 2019-01-11 新华三技术有限公司 Vxlan网络中的流表项处理方法及装置
CN104468397B (zh) * 2014-11-06 2018-06-12 新华三技术有限公司 一种虚拟机热迁移转发不丢包的方法和装置
CN104639372B (zh) * 2015-02-13 2018-11-09 中国联合网络通信集团有限公司 基于sdn的覆盖网络和物理网络的关联方法及系统
US9866483B2 (en) * 2015-07-20 2018-01-09 Schweitzer Engineering Laboratories, Inc. Routing of traffic in network through automatically generated and physically distinct communication paths
CN108809684A (zh) * 2017-05-05 2018-11-13 中国航空无线电电子研究所 一种用于航电系统的光纤网络系统
US11153194B2 (en) * 2019-04-26 2021-10-19 Juniper Networks, Inc. Control plane isolation for software defined network routing services
CN111083050B (zh) * 2019-12-26 2021-07-23 北京邮电大学 一种基于软件定义网络的数据流传输方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102204187A (zh) * 2011-04-28 2011-09-28 华为技术有限公司 一种虚拟网络迁移方法、相关装置以及系统
EP2568672A1 (en) * 2011-08-24 2013-03-13 Alcatel Lucent Method for managing network resources within a plurality of datacenters
CN103457852A (zh) * 2013-09-13 2013-12-18 电子科技大学 一种多播虚拟网络的抗毁性映射方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009108721A2 (en) * 2008-02-25 2009-09-03 Rivermine Software, Inc. System and method for using lifecycle telecommunications expense management (tem) data to predict the outcome of changes to telecommunications infrastruture
CN102223281B (zh) * 2011-06-24 2013-09-04 清华大学 基于虚拟网络资源需求动态变化的再映射方法
CN102868733A (zh) * 2012-08-29 2013-01-09 北京邮电大学 虚拟网络资源再映射方法
CN102904794A (zh) * 2012-09-27 2013-01-30 北京邮电大学 一种虚拟网络映射方法和装置
CN103259744A (zh) * 2013-03-26 2013-08-21 北京航空航天大学 一种基于分簇的移动虚拟网络映射方法
CN103475504B (zh) * 2013-08-23 2016-05-25 北京邮电大学 基于拓扑感知的虚拟网络重映射方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102204187A (zh) * 2011-04-28 2011-09-28 华为技术有限公司 一种虚拟网络迁移方法、相关装置以及系统
EP2568672A1 (en) * 2011-08-24 2013-03-13 Alcatel Lucent Method for managing network resources within a plurality of datacenters
CN103457852A (zh) * 2013-09-13 2013-12-18 电子科技大学 一种多播虚拟网络的抗毁性映射方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
优化的虚拟网络两阶段协同映射算法;郑永伟,等;《计算机与现代化》;20140227(第2期);第154页右栏至第156页左栏 *

Also Published As

Publication number Publication date
CN104065553A (zh) 2014-09-24

Similar Documents

Publication Publication Date Title
US11563669B2 (en) Method for implementing network virtualization and related apparatus and communications system
CN104065553B (zh) 虚拟网络迁移方法和相关设备
US11863351B2 (en) Logical router comprising disaggregated network elements
EP3143733B1 (en) Virtual flow network in a cloud environment
CN102821044B (zh) 一种配置服务器集群的方法和装置
US20130058250A1 (en) Hierarchical managed switch architecture
CN105052113A (zh) 针对网络设备的共同代理框架
US10904130B2 (en) Method for scalable computer network partitioning
CN104243196A (zh) 一种sdn架构下的虚拟网络映射保护方法及系统
CN106209634B (zh) 地址映射关系的学习方法及装置
CN106533720B (zh) 网络服务请求的编译方法、编译装置和控制器
US20180109472A1 (en) Controller, control method and program

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