优化物理网络的虚拟网络的制作方法

文档序号:7782908阅读:120来源:国知局
优化物理网络的虚拟网络的制作方法
【专利摘要】本公开内容总体上涉及优化物理网络的虚拟网络。一个或多个设备被配置为接收关于与物理网络关联的网络设备的信息。该一个或多个设备还被配置为基于关于该网络设备的该信息而生成配置数据。该一个或多个设备还被配置为基于该配置数据而生成虚拟网络。该一个或多个设备被配置为向客户端设备发送关于该虚拟网络的信息。该一个或多个设备被配置为从该客户端设备接收对该虚拟网络的改变;以及引起在该物理网络中发生与在该虚拟网络中的该改变对应的改变。
【专利说明】优化物理网络的虚拟网络
【背景技术】
[0001]物理网络可以包括不同类型的网络设备,这些网络设备用来从物理网络中的一个位置向物理网络中的另一位置传送信息。不同类型的网络设备可以包括路由器、交换机、网桥和/或其它类型的网络设备。

【发明内容】

[0002]根据一些示例实现方式,一个或多个设备可以接收关于与物理网络关联的网络设备的信息;基于关于该网络设备的该信息而生成配置数据;基于该配置数据而生成虚拟网络,其中该虚拟网络可以仿真该物理网络;向客户端设备发送关于该虚拟网络的信息;从该客户端设备接收对该虚拟网络的改变;以及引起在该物理网络中发生与在该虚拟网络中的该改变对应的改变。
[0003]根据一些示例实现方式,由设备执行的方法可以包括接收关于与物理网络关联的网络设备的信息;基于关于该网络设备的该信息而生成配置数据;基于该网络配置数据而生成虚拟网络,其中该虚拟网络可以仿真该物理网络并且其中该虚拟网络可以使用被连接作为数据中心的虚拟机而被实现;向客户端设备发送关于该虚拟网络的信息;从该客户端设备接收对该虚拟网络的改变;以及引起在该物理网络中发生与在该虚拟网络中的该改变对应的改变。
[0004]根据一些示例实现方式,一种计算机可读介质可以包括一组指令,当由一个或多个设备的一个或多个处理器执行该一组指令时,引起该一个或多个处理器接收关于与物理网络关联的网络设备的信息;基于关于该网络设备的该信息而生成虚拟网络,其中该虚拟网络可以仿真该物理网络并且其中该虚拟网络是使用虚拟机实现的;向客户端设备发送关于该虚拟网络的信息;从该客户端设备接收对该虚拟网络的改变;以及引起在该物理网络中发生与在该虚拟网络中的该改变对应的改变。
【专利附图】

【附图说明】
[0005]并入本说明书并且构成本说明书的一部分的各个附图图示了本文描述的一个或多个实现方式,以及与该描述一起说明这些实现方式。在图中:
[0006]图1是本文描述的实现方式的总览的示图;
[0007]图2是可以其中实现本文描述的系统和/或方法的示例环境的示图;
[0008]图3是图2的一个或多个设备的示例部件的示图;
[0009]图4是用于创建虚拟网络的示例过程的流程图;
[0010]图5是用于改变虚拟网络的示例过程的流程图;
[0011]图6是用于改变物理网络的示例过程的流程图;以及
[0012]图7A-图7D是图示本文描述的系统和/或方法的示例的示图。
【具体实施方式】[0013]以下详细描述涉及附图。在不同附图中的相同附图标记可以标识相同或相似的元件。
[0014]本文描述的一个实现方式可以允许虚拟机管理器服务器(被称为“VMM服务器”)接收关于物理网络的信息并且基于关于物理网络的信息而生成虚拟网络。该VMM服务器可以接收对虚拟网络进行的任何改变并且该VMM服务器可以引起在该物理网络中发生该改变。
[0015]图1是本文描述的实现方式的总览的示图。如图1中所示,VMM服务器与物理网络通信。该VMM服务器可以接收关于物理网络的拓扑以及在物理网络内操作的网络设备的信息。该VMM服务器可以基于关于该物理网络和各网络设备的拓扑的信息而使用虚拟机数据中心(被称为“VM数据中心”并且未在图1中示出)中的虚拟机来创建虚拟网络。该虚拟网络可以仿真该物理网络。该VMM服务器可以向客户端设备发送与该虚拟网络关联的信息。该客户端设备可以获得经由安全通道链路对该虚拟网络(和该虚拟网络中的虚拟机)的接入。该VMM服务器可以向客户端设备的用户提供该虚拟网络的虚拟表示。该虚拟网络的虚拟表示可以允许用户对该虚拟网络中的虚拟机进行改变。该用户可以经由该客户端设备对该虚拟网络中的虚拟机进行改变(例如,改变网络设备或各网络设备之间的连接)。该VMM服务器可以通过基于(从该客户端设备接收的)关于对该虚拟网络的改变的信息而改变该物理网络来实现这些改变。
[0016]通过创建虚拟网络并且允许用户对该虚拟网络进行改变,该用户可以能够当在该物理网络内实现该改变之前确定该改变可能如何影响虚拟网络(它是该物理网络的虚拟表示)。这可以允许该用户在改变该物理网络之前模拟对该物理网络的改变,诸如模拟如何校正该物理网络内的问题;模拟用一个网络设备取代另一网络设备的影响;模拟添加或去除网络设备的影响;模拟在网络设备之间添加、禁用或去除连接的影响;和/或该虚拟网络内可能进行的另一类型的改变。
[0017]图2是其中可以实现本文描述的系统和/或方法的示例环境200的示图。如图2中所示,环境200可以包括VMM服务器210、VM数据中心220和客户端设备230。此外,如在环境200中所示,VMM服务器210可以连接至物理网络。
[0018]该物理网络可以包括一个或多个网络,诸如广域网(WAN)、局域网(LAN)、城域网(MAN)、蜂窝网或各网络的组合。该物理网络可以包括一个或多个网络设备,诸如交换设备、路由设备、网关设备、网桥设备、防火墙设备、服务器设备、数据加速设备、数据聚合设备、接入点设备、分析设备、测量设备等。虽然将图2中的物理网络示出为具有三个网络设备,但是实际上,该物理网络可以具有附加的网络设备。
[0019]VMM服务器210可以包括一个或多个服务器设备。在其中VMM服务器210包括多个服务器设备的一个示例实现方式中,该多个服务器设备可以同地协作。在其中VMM服务器210包括多个服务器设备的另一示例实现方式中,该多个服务器设备中的一个或多个服务器设备可以被定位在远程。
[0020]VMM服务器210可以使用VM数据中心220来创建虚拟网络。VMM服务器210可以经由与(VMM服务器210中的)网络管理系统关联的接口从该物理网络接收信息,该网络管理系统可以通过监控该物理网络(例如,监控网络流量、监控网络安全性等)来提供网络管理服务并且可以基于管理该物理网络的操作来对该物理网络进行改变(例如,改变协议、策略、接口等)。该网络管理系统可以(从该物理网络)向与VM数据中心220交互的VMM服务器210中的虚拟机管理系统发送信息以使用虚拟机224来创建虚拟网络。该网络管理系统可以由与VMM服务器210关联的一个服务器设备来存储并且该虚拟管理器系统可以由与VMM服务器210关联的另一服务器设备来存储。
[0021]VM数据中心220可以包括一个或多个VM服务器222,由VMM服务器210使用该VM服务器222以创建虚拟网络。在一些实现方式中,VM数据中心220内的VM服务器222可以连接至VM数据中心220内的每个其它VM服务器222。在一些示例实现方式中,每个VM服务器222可以连接至少于每个其它VM服务器222。VM服务器222可以经由以太网连接、光连接、无线连接或另一类型的连接而连接至另一 VM服务器222。虽然图2示出了三个VM服务器222,但是VM数据中心220可以具有更小或更大数量的VM服务器222。此外,VM服务器222可以与VM数据中心220内的其它VM服务器222直接连接。
[0022]在一些实现方式中,在VM数据中心220内,VMM服务器210可以被实现为VM服务器222或VM服务器222的汇集。例如,VM服务器222或VM服务器222的汇集可以执行被描述为由VMM服务器210所执行的功能。
[0023]VM服务器222可以包括一个或多个虚拟机224-1……224_N(N≥I)个虚拟机224(总体地被称为“各虚拟机224”并且分别地被称为“虚拟机224”)。虚拟机224可以被配置为仿真网络设备或者该物理网络内的网络设备的一个或多个功能。虚拟机224可以通过使用虚拟分布式以太网或另一类型的连接而连接至其它虚拟机224。
[0024]客户端设备230可以包括一个或多个设备。例如,客户端设备230可以包括个人计算机、膝上型计算机、服务器、工作站、移动设备和/或能够与网络通信的任何其它类型的设备。在一些实现方式中,VMM服务器210和客户端设备230可以是相同设备。客户端设备可以经由安全通信通道而从VMM服务器210请求与该虚拟网络(和该虚拟机224)关联的信息。
[0025]为简单起见而提供了图2中图示的设备的示例数量和配置。实际上,与图2中所图示的相比,可以有附加设备和/或网络;更少设备和/或网络;不同设备和/或网络;或者不同布置的设备和/或网络。此外,在一些实现方式中,环境200的一个或多个设备可以执行被描述为由环境200的另一或多个设备执行的一个或多个功能。环境200的设备可以经由有线连接、无线连接或者有线连接和无线连接的组合而互相连接。
[0026]图3是图示设备300的示例部件的示图。设备300可以对应于图2中所图示的一个或多个设备。例如,VMM服务器210、VM数据中心220、VM服务器222和/或客户端设备230可以包括一个或多个设备300和/或设备300的一个或多个部件。
[0027]如图3中所示,设备300可以包括总线310、处理器320、存储器330、存储设备340、输入/输出设备350和通信接口 360。总线310可以包括路径或路径的汇集,其允许在设备300的部件之中的通信。
[0028]处理器320可以包括处理器、微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者解译并执行指令的其它类型的处理部件。存储器330可以包括存储用于由处理器320执行的信息和/或指令的随机存取存储器(RAM)或另一类型的动态存储设备;存储用于由处理器320使用的静态信息和/或指令的只读存储器(ROM)或另一类型的静态存储设备;和/或另一类型的存储器,诸如硬盘驱动器、高速缓存、闪速存储器。存储设备340可以包括记录介质以存储可以由处理器320使用的数据。[0029]输入/输出设备350可以包括允许操作者向设备300输入信息部件,诸如按钮、键盘、小型键盘、触摸屏显示器等;和/或向操作者输出信息的部件,诸如发光二极管(LED)、显示器、扬声器等。
[0030]通信接口 360可以包括使得设备300能够与其它设备和/或系统通信的任何类似收发器的部件。例如,通信接口 360可以包括分离的发射器和接收器,或者将发射器和接收器二者的功能组合的收发器。通信接口 360可以包括有线接口、无线接口或者有线接口和无线接口二者。
[0031]设备300可以执行如以下详细描述的特定操作。根据示例实现方式,设备300可以响应于处理器320执行在计算机可读介质(诸如存储器330)中包含的指令序列而执行这些操作。计算机可读介质可以被定义为非瞬态存储器设备。存储器设备可以包括单独的物理存储设备或遍布多个物理存储设备的存储器空间。
[0032]软件指令可以经由通信接口 360从另一计算机可读介质(诸如存储设备340)或从另一设备而被读取到存储器330中。存储器330中所包含的软件指令可以引起处理器320执行后续将描述的各个过程。备选地,硬接线的电路可以代替软件指令或者与软件指令组合被使用以实现本文描述的各个过程。因此,本文描述的实现方式并不限于硬件电路和软件的任何特定的组合。
[0033]虽然图3将设备300示出为具有特定数量和布置的部件,但是在一些实现方式中,设备300可以包括附加部件、更少部件、不同部件或者不同布置的部件。
[0034]图4是用于创建虚拟网络的示例过程400的流程图。在一个示例实现方式中,过程400可以由VMM服务器210执行。在另一示例实现方式中,过程400的一个或多个框可以由一个或多个其它设备(诸如VM服务器222和/或客户端设备230)执行。
[0035]过程400可以包括接收关于物理网络的信息(框410)。例如,VMM服务器210可以接收关于物理网络内容的一个或多个网络设备的信息。VMM服务器210可以基于请求来自该物理网络的该信息来接收该信息。该请求可以基于VMM服务器210从客户端设备230的用户和/或VMM服务器210接收用于请求来自该物理网络的该信息的指令。备选地,该请求可以基于VMM服务器210被配置为周期性地请求来自该物理网络的信息(例如,每小时、每三小时、每六小时请求信息等)。
[0036]VMM服务器210可以与该物理网络内的网络设备通信。VMM服务器210可以具有与该网络设备通信的接口。该网络设备可以被配置有允许该网络设备与VMM服务器210通信的接口。
[0037]该网络设备可以接收对来自VMM服务器210的信息的请求并且可以向VMM服务器210发送配置文件(例如,文本文件、二进制文件、HTML文件等)。该配置文件可以包括关于协议(例如,开放式最短路径优先(OSPF)、边界网关协议(BGP )等)、服务(例如,防火墙、网络区域转换(MT)等)、策略(例如,与转发表信息关联的路由策略)、接口类型(例如,以太网、IG以太网、IOG以太网等)、底盘配置(例如,卡、端口、接口类型、机架)的信息、对其他网络设备的连接性信息(例如,哪个端口用来连接至另一网络设备)、服务质量(QoS)信息和/或关于网络设备或物理网络的其它信息。该网络设备可以与标识符关联。该网络设备可以向VMM服务器210发送它的标识符信息。VMM服务器210可以将(如以上描述的)配置文件与该网络设备的标识符一起存储为关于该物理网络的信息。[0038]在一些示例实现方式中,VMM服务器210可以转译从物理网络接收的信息,从而使得该信息可以由VMM服务器210和/或虚拟机224使用以生成该虚拟网络。
[0039]VMM服务器可以接收关于物理网络的拓扑信息。该拓扑信息可以与连接性信息关联,该连接性信息与该物理网络内的所有网络设备关联。该拓扑信息可以包括关于网络设备(例如,路由器、网桥、交换机等)的类型和/或功能的信息和用于该物理网络内的网络设备的标识符信息。
[0040]在一些实现方式中,VMM服务器210可以从与由VMM服务器210支持的虚拟机类型不兼容的网络设备接收配置文件。在这些情况中,VMM服务器210可以向用户提供选项以重新配置网络设备的接口、以允许网络设备发送配置文件信息。备选地,VMM服务器210可以维护该不兼容的网络设备的接口并且可以不对该网络设备进行任何改变。
[0041]在一些实现方式中,VMM服务器210可以自动地确定关于非兼容网络设备的行动方针。在一些实现方式中,VMM服务器210可以(例如,经由客户端设备230)接收关于非兼容网络设备将采取的行动步骤的指令。
[0042]过程400可以包括分析物理网络的拓扑信息并且生成拓扑文件(框420)。例如,VMM服务器210可以分析(关于框410所描述的)从物理网络接收的拓扑信息。
[0043]VMM服务器210可以分析物理网络内的不同网络设备之间的连接。VMM服务器210可以分析与网络设备关联的端口信息并且确定该网络设备的端口中的任何端口是否用来连接至其它网络设备。该端口信息可以与物理端口、逻辑端口、虚拟端口和/或另一类型的端口关联。该网络设备可以具有允许该网络设备连接到多个其它网络设备的多个端口。VMM服务器210可以生成包括该物理网络内的不同网络设备之间的连接的拓扑文件。
[0044]过程400可以包括使用配置文件和拓扑文件来创建虚拟网络配置数据(框430)。例如,VMM服务器可以通过使用用于物理网络中的每个网络设备的配置文件和/或其它信息以及去往在该拓扑文件中提供的网络设备的连接来创建虚拟网络配置数据。该虚拟网络配置数据可以包括该物理网络的拓扑和用于该物理网络中的网络设备的配置文件信息(例如,关于框410所描述的接口、策略、协议等)。
[0045]过程400可以包括对VM数据中心内的虚拟机进行配置和开动以形成虚拟网络(框440)。例如,VMM服务器210可以与VM数据中心220交互以对由VM数据中心220内的一个或多个VM服务器222所实现的一个或多个虚拟机224进行配置和开动。在一些实现方式中,VMM服务器210可以经由应用编程接口(API)或另一类型的接口与VM数据中心220的VM服务器222通信。
[0046]在一些实现方式中,VMM服务器210可以向VM数据中心220发送该虚拟网络配置数据。VM数据中心220可以接收该虚拟网络配置数据并且确定将利用该虚拟网络配置数据配置哪些VM服务器222。VM数据中心220可以基于信息量(例如,与虚拟网络配置数据关联的存储器的量)和VM服务器222的存储器容量的量来分配VM服务器222的数目。
[0047]一个或多个VM服务器222可以接收该虚拟网络配置数据并且可以基于该虚拟网络配置数据来配置一个或多个虚拟机224。一个或多个虚拟机可以被配置以使得一个或多个虚拟机224可以按照与一个或多个网络设备在该物理网络内操作的方式相同的方式而运行。
[0048]在一些实现方式中,多个虚拟机224可以被配置为仿真物理网络中的单独网络设备的不同功能。例如,第一虚拟机可以被配置有用于网络设备的协议信息并且第二虚拟机224可以被配置有网络设备的路由策略信息。在这一情形中,该第一虚拟机224和第二虚拟机224可以一起操作以仿真该网络设备。
[0049]在一些实现方式中,一个或多个虚拟机224可以使用由物理网络中的网络设备使用的相同的控制平面(例如控制平面软件)。具有相同的控制平面软件可以允许虚拟机224具有如物理网络中的网络设备的相同的路由功能(和/或其它功能)。该控制平面可以通过使用该虚拟网络配置数据被配置。
[0050]在一些实现方式中,一个或多个虚拟机224可以由一个或多个虚拟服务器222复制和/或存储。在一些实现方式中,拓扑(或该拓扑的部分)可以由一个或多个虚拟服务器222复制和/或存储。在一些实现方式中,虚拟机224可以被配置为执行由其它虚拟机224、虚拟服务器222、网络设备和/或其它设备使用的应用。
[0051]虚拟机224还可以被配置为以与网络设备与其它网络设备通信的方式相同的方式而与其它虚拟机224通信。例如,物理网络中的第一路由器可以连接至第二路由器,并且该第二路由器可以连接至第三路由器。第一虚拟机224可以被配置为仿真第一路由器,第二虚拟机224可以被配置为仿真第二路由器,以及第三虚拟机224可以被配置为仿真第三路由器。因此,该第一虚拟机224可以与该第二虚拟机224通信并且该第二虚拟机224可以与该第三虚拟机224通信。
[0052]随着通过使用虚拟网络配置数据来配置一个或多个虚拟机224,VM数据中心220可以向VMM服务器210发送关于配置的虚拟机224的信息。VMM服务器210可以通过向虚拟机224和/或VM服务器222发送命令来对虚拟机224进行开动。通过对多个虚拟机224进行开动,VMM服务器210可以生成虚拟网络。(具有该虚拟机224)的该虚拟网络可以具有与物理网络相同的配置并且可以按照与该物理网络相同的方式运行。在一些实现方式中,该虚拟网络可以仿真该物理网络的数据平面。
[0053]VMM服务器可以存储关于该虚拟网络的信息。如果关于该虚拟网络的信息与客户端设备230的用户的请求关联,则VMM服务器210可以将该信息和与客户端设备230的用户关联的标识符一起存储。VMM服务器210可以存储该虚拟网络的多个副本。该VMM服务器210可以被配置为自动地创建该虚拟网络的多个副本,或者该VMM服务器210可以由客户端设备230的用户请求以创建该虚拟网络的多个副本。
[0054]过程400可以包括提供去往虚拟网络的接入(框450)。例如,VMM服务器210可以向客户端设备230提供去往虚拟网络的接入。用户使用客户端设备230可以从VMM服务器210请求信息(例如,通过使用超文本传输协议安全(HTTPS)地址和/或与虚拟网络关联的另一类型的地址)。此外,用户使用客户端设备230可以对虚拟网络内的(可能具有其自身的地址并且对应于该物理网络的一部分的)特定的虚拟机224请求信息。客户端设备230可以接收该信息并且向客户端设备230的用户显示关于该虚拟网络的信息。该信息可以与该虚拟网络的虚拟表示关联。该虚拟表示可以包括图形信息、文本信息和/或描述该虚拟网络的其它信息。虚拟网络的虚拟表示内显示的每个节点可以与一个或多个虚拟机224关联(其中虚拟机224可以表示该物理网络中的网络设备)。该信息可以经由客户端设备230上的用户接口被显示。该用户使用该用户接口可以分析该虚拟网络。客户端设备230可以存储关于该虚拟网络的信息并且允许用户在以后的时间分析该虚拟网络。[0055]虽然关于生成虚拟网络而描述图4,但是VMM服务器210可以生成该虚拟网络的多个副本并且可以存储该虚拟网络的该多个副本。客户端设备230的用户可以使用不同方法来分析该虚拟网络的不同副本。例如,该用户可以分析该虚拟网络的一个副本以用于改正该物理网络内的问题并且该用户可以分析该虚拟网络的另一副本以确定该物理网络的未来增长的需求。
[0056]虽然图4将过程400示出为包括特定数量和布置的框,但是在一些实现方式中,过程400可以包括更少的框、附加的框、或不同顺序的框。附加地或者备选地,一些框可以被并行地执行。
[0057]图5是用于改变虚拟网络的示例过程500的流程图。在一个示例实现方式中,过程500可以由VMM服务器210执行。在另一不例实现方式中,过程500的一个或多个框可以由一个或多个其它设备(诸如客户端设备230和/或VM服务器222)执行。
[0058]过程500可以包括引起模拟运行(框510)。例如,VMM服务器210可以(基于客户端设备230的用户的请求)从客户端设备230接收指令以引起虚拟网络(诸如关于图4描述的由VMM服务器210生成的虚拟网络)的模拟运行。VMM服务器210可以通知虚拟网络内的虚拟机224以与物理网络内的网络设备相同的方式来运行。例如,(例如,与物理网络关联的)网络流量可以被插入到该虚拟网络中。
[0059]例如,VMM服务器210可以接收通知以用如下网络流量的量运行该虚拟网络的模拟,该网络流量会在与该物理网络关联的特定时间段内发生。在特定时间段期间,VMM服务器210可以经由VM数据中心220向虚拟机224发送通知以好像虚拟机224运行为网络设备那样运行。
[0060]过程500可以包括提供模拟结果(框520)。例如,VMM服务器210可以向客户端设备230提供该模拟结果。该模拟结果可以基于(关于框510描述的)从客户端设备230接收的通知。该模拟结果可以包括关于该虚拟网络中的不同节点之间的网络流量的比率的信息、与网络流量关联的缓冲问题、与从一个节点向另一节点路由网络流量关联的时间量和/或与该虚拟网络的操作有关的其它信息。
[0061]过程500可以包括接收对虚拟网络的改变(框530)。例如,VMM服务器210可以从客户端设备230接收请求以对虚拟网络进行改变。例如,客户端设备230的用户可以决定断开该虚拟网络内的一个节点和另一节点之间的连接。
[0062]过程500可以包括引起VM数据中心内的改变(框540)。例如,VMM服务器210可以向VM数据中心220发送通知,其造成与该虚拟网络关联的一个或多个虚拟机224的操作的改变。例如,如果用户请求将该虚拟网络内的节点断开连接,则VM数据中心220可以向(VM数据中心220中的)一个或多个虚拟机224发送通知以基于用户的请求而去除两个节点之间的连接。
[0063]过程500可以包括基于对VM数据中心的改变而提供模拟结果(框550)。例如,VMM服务器可以重新运行该模拟(或者继续该模拟)并且可以基于对该虚拟网络中的节点的改变而向客户端设备230发送模拟结果。客户端设备230的用户可以(例如经由在客户端设备230上显示的用户界面)查看该模拟结果。该模拟结果可以包括关于对该物理网络的改变的(对该用户的)建议。
[0064]虽然图5将过程500示出为包括特定数量和布置的框,但是在一些实现方式中,过程500可以包括更少的框、附加的框、或不同顺序的框。附加地或者备选地,一些框可以被并行地执行。
[0065]图6是用于改变物理网络的示例过程600的流程图。在一个示例实现方式中,过程600可以由VMM服务器210执行。在另一不例实现方式中,过程600的一个或多个框可以由一个或多个其它设备(诸如客户端设备230和/或VM服务器222)执行。
[0066]过程600可以包括接收基于改变的虚拟网络而对物理网络进行改变的请求(框610)。例如,VMM服务器210可以从客户端设备230接收命令以改变物理网络。该命令可以基于用户设备230的用户(使用用户设备230)分析虚拟网络(该虚拟网络是该物理网络的虚拟表示)以及基于对该虚拟网络的分析而确定对物理网络进行改变。该命令可以包括基于对该虚拟网络进行的改变而对物理网络进行改变的指令。例如,该改变可以与改变(该物理网络中的)网络设备去往另一网络设备的连接关联。备选地,例如,该改变可以与改变该物理网络内的网络设备的IP地址关联。备选地,例如,该改变可以与向该物理网络添加网络设备或者从该物理网络去除网络设备关联。
[0067]过程600可以包括分析与改变的虚拟网络对应的虚拟网络配置数据(框620)。例如,VMM服务器210可以分析该虚拟网络配置数据并且基于该虚拟网络中的改变而改变该虚拟网络配置数据。例如,VMM服务器210可以分析该虚拟网络配置数据并且确定基于该虚拟网络配置数据而对该物理网络进行改变。
[0068]过程600可以包括引起在该物理网络中发生改变(框630)。例如,VMM服务器210可以向物理网络中的网络设备发送指示,其可以造成对该物理网络的改变。
[0069]在一些实现方式中,VMM服务器210可以经由该网络设备的接口向该网络设备发送命令,并且该网络设备可以实现该命令。例如,VMM服务器210可以向路由器发送该路由器不再向另一路由器发送网络流量的命令。该路由器可以接收该命令并且可以停止向另一路由器发送网络流量。备选地,例如,VMM服务器210可以向路由器发送该路由器不再执行特定服务(诸如特定分组处理服务)的命令。
[0070]在一些实现方式中,VMM服务器210可以向该网络设备发送更新的配置文件。例如,VMM服务器210可以改变与网络关联的配置文件内的路由协议或防火墙协议。VMM服务器210可以向该网络设备发送该更新的配置文件。该网络设备可以接收该更新的配置文件并且可以用该更新的配置文件取代由该网络设备存储的该配置文件。
[0071]在一些实现方式中,VMM服务器210可以基于用户改变物理网络以包括附加网络设备而与另一服务器和/或设备通信以针对附加网络设备下订单。客户端设备230的用户可以针对该附加网络设备而(使用客户端设备230)来监控该订单的状态。
[0072]虽然图6将过程600示出为包括特定数量和布置的框,但是在一些实现方式中,过程600可以包括更少的框、附加的框、或不同顺序的框。附加地或者备选地,一些框可以被并行地执行。
[0073]图7A-图7D是图示本文描述的系统和/或方法的示例的示图。如图7A中所示,VMM服务器210可以从物理网络接收信息。假设如图7A中示出的物理网络具有六个网络设备(被示出为节点N1-N6)。假设该六个网络设备中的每个网络设备向VMM服务器210发送相应的配置文件。VNN服务器210可以接收该配置文件。假设该六个网络设备中的每个网络设备(基于来自客户端设备230的请求)向其它网络设备发送关于它的连接性的信息。VMM服务器210可以接收该连接性信息并且创建描述该物理网络的拓扑的拓扑文件。VMM服务器210可以基于该配置文件和该拓扑文件而生成虚拟网络配置数据。
[0074]如图7B中所示,VMM服务器210可以向VM数据中心220发送虚拟网络配置数据。VM数据中心220可以用该虚拟网络配置数据来配置一个或多个虚拟机224。假设虚拟机224可以仿真该网络设备中的对应的一个网络设备。VM数据中心220可以向VMM服务器210发送关于配置的虚拟机224的信息。该虚拟机可以被配置为形成与该物理网络对应的虚拟网络。VMM服务器210可以向客户端设备230发送关于该虚拟网络的信息。客户端设备230可以向客户端设备230的用户显示该虚拟网络的虚拟表示。
[0075]该用户可以决定在虚拟网络中模拟该物理网络的操作。如图7C中所示,用户可以将节点NI从节点N2断开连接并且将节点N3从节点N5断开连接。客户端设备230可以向VMM服务器210发送对该虚拟网络进行改变的请求。VMM服务器210可以接收该改变并且可以向VM数据中心220发送指令。VM数据中心220可以改变虚拟机224以对应于由用户进行的改变。因此,可以将与节点NI关联的虚拟机224从与节点N2关联的虚拟机224断开连接。基于该改变,客户端设备230可以接收关于具有所请求的改变的虚拟网络的信息,如图7D中所示。
[0076]客户端设备230的用户可以基于该改变的虚拟网络而确定用户想要对该物理网络实现(如以上描述的)相同的改变。该用户使用客户端设备230可以向VMM服务器210发送命令以基于对该虚拟网络进行的改变而对该物理网络进行相同的改变。VMM服务器210可以接收命令并且向该物理网络发送指令。该指令可以被发送至节点NI和节点N3,从而指示节点NI从节点N2断开连接并且指示节点N3从节点N5断开连接。
[0077]本文描述的实现方式可以提供用于在实现物理网络内的改变之前创建虚拟网络、允许对该虚拟网络进行改变以及确定该改变可能如何影响虚拟网络(计算环境内的该物理网络的虚拟表示)的系统和/或方法。
[0078]虽然前面的描述提供了图示和描述,但是其并不旨在成为详尽性的或者将实现方式限定于所公开的精确形式。根据以上公开内容的修改和变化是可能的,或者这些修改和变化可以从对实现方式的实践中获得。
[0079]应当明白,本文所描述的各方面能够以附图中所图示的实现方式的许多不同形式的软件、固件和硬件来实现。用来实现这些方面的实际软件代码或专用控制硬件并不限制这些实现方式。因此,该各方面的操作和行为是在未参考特定软件代码的情况下来描述的一应当理解,可以基于本文的描述而设计软件和控制硬件来实现该各方面。
[0080]虽然在权利要求中陈述了和/或在说明书中公开了特征的特定组合,但是这些组合并不旨在限制可能的实现方式的公开内容。事实上,这些特征中的许多特征能够以未特别在权利要求中陈述和/或在说明书中公开的方式被组合。虽然下列每个从属权利要求可以直接从属于仅一个其它权利要求,但可能的实现方式的公开内容包括与整套权利要求中的每个其它权利要求组合的每个从属权利要求。
[0081]本申请中所使用的任何元件、动作,或指令均不应被解释为是关健的或必需的,除非被如此明确地描述。另外,本文所使用的量词“一”旨在包括一个或多个项并且可以与“一个或多个”互换地使用。在意指仅一项的情况下,使用术语“一个”或相似的词语。此外,除非另有明确声明,否则短语“基于”旨在意味“至少部分基于”。
【权利要求】
1.一种系统,包括: 用于接收关于与物理网络关联的网络设备的信息的装置; 用于基于关于所述网络设备的所述信息而生成配置数据的装置; 用于基于所述配置数据而生成虚拟网络的装置, 所述虚拟网络仿真所述物理网络; 用于向客户端设备发送关于所述虚拟网络的信息的装置; 用于从所述客户端设备接收对所述虚拟网络的改变的装置;以及 用于引起在所述物理网络中发生与在所述虚拟网络中的所述改变对应的改变的装置。
2.根据权利要求1所述的系统,其中用于生成所述虚拟网络的所述装置包括: 用于配置第一虚拟机以执行与第一网络设备关联的功能的装置, 所述第一网络设备是与所述物理网络关联的所述网络设备中的一个网络设备; 用于配置第二虚拟机以执行与第二网络设备关联的功能的装置;以及 用于基于配置所述第一虚拟机和所述第二虚拟机而生成所述虚拟网络的装置, 所述虚拟网络是使 用所述第一虚拟机和所述第二虚拟机形成的。
3.根据权利要求1所述的系统,其中用于生成所述虚拟网络的所述装置包括: 用于配置第一虚拟机以执行与特定网络设备关联的第一功能的装置, 所述特定网络设备是与所述物理网络关联的所述网络设备中的一个网络设备; 用于配置第二虚拟机以执行与所述特定网络设备关联的第二功能的装置;以及 用于基于配置所述第一虚拟机和所述第二虚拟机而生成所述虚拟网络的装置, 所述虚拟网络是使用所述第一虚拟机和所述第二虚拟机形成的。
4.根据权利要求1所述的系统,其中用于接收关于与所述物理网络关联的所述网络设备的所述信息的所述装置包括: 用于接收关于定义所述网络设备之间的连接的连接性信息的信息的装置; 用于基于所述连接性信息而配置多个虚拟机的装置;以及 其中用于生成所述虚拟网络的所述装置包括: 用于基于配置所述多个虚拟机而生成所述虚拟网络的装置, 所述虚拟网络是使用所述多个虚拟机形成的。
5.根据权利要求1所述的系统,其中用于接收关于与所述物理网络关联的所述网络设备的所述信息的所述装置包括: 用于接收与所述物理网络关联的拓扑信息和用于所述网络设备的配置信息的装置; 所述拓扑信息标识所述物理网络的拓扑,以及 所述配置信息包括与所述网络设备关联的配置文件。
6.根据权利要求1所述的系统,还包括: 用于从所述客户端设备接收对所述虚拟网络的另一改变的装置;以及用于引起在所述物理网络中发生与对所述虚拟网络的所述另一改变对应的特定改变的装置。
7.根据权利要求6所述的系统,其中所述特定改变与从所述物理网络去除第一网络设备或者向所述物理网络添加第二网络设备关联。
8.一种方法,包括:由设备接收关于与物理网络关联的网络设备的信息; 由所述设备基于关于所述网络设备的所述信息而生成配置数据; 由所述设备基于所述网络配置数据而生成虚拟网络, 所述虚拟网络仿真所述物理网络, 所述虚拟网络是使用形成数据中心的多个虚拟机而实现的; 由所述设备向客户端设备发送关于所述虚拟网络的信息; 由所述设备从所述客户端设备接收对所述虚拟网络的改变;以及 由所述设备引起在所述物理网络中发生与在所述虚拟网络中的所述改变对应的改变。
9.根据权利要求8所述的方法,其中引起在所述物理网络中发生所述改变包括: 引起与所述物理网络关联的所述网络设备的数量的改变。
10.根据权利要求8所述的方法,其中引起在所述物理网络中发生所述改变包括: 引起所述物理网络的拓扑的改变。
11.根据权利要求8所述的方法,还包括: 从所述客户端设备接收对所述虚拟网络的特定改变;以及 引起在所述物理网络中发生与对所述虚拟网络的所述特定改变对应的特定改变。
12.根据权利要求8所述的方法,其中生成所述配置数据包括: 基于关于与所述物理网络关联的所述网络设备的配置文件信息以及所述物理网络的所述拓扑信息而生成所述配置数据。
13.根据权利要求8所述的方法,还包括: 接收定义所述网络设备之间的连接的连接性信息; 基于所述连接性信息而配置所述多个虚拟机;以及 其中生成所述虚拟网络包括: 基于配置所述多个虚拟机而生成所述虚拟网络。
14.一个或多个设备,包括: 用于接收关于与物理网络关联的网络设备的信息的装置; 用于基于关于所述网络设备的所述信息而生成虚拟网络的装置; 所述虚拟网络仿真所述物理网络; 所述虚拟网络是使用多个虚拟机实现的; 用于向客户端设备发送关于所述虚拟网络的信息的装置; 用于从所述客户端设备接收对所述虚拟网络的改变的装置;以及 用于引起在所述物理网络中发生与在所述虚拟网络中的所述改变对应的改变的装置。
15.根据权利要求14所述的一个或多个设备,其中用于生成所述虚拟网络的所述装置包括: 用于配置所述多个虚拟机中的第一虚拟机和所述多个虚拟机中的第二虚拟机以执行与第一网络设备关联的功能的装置, 所述第一网络设备是与物理网 络关联的所述网络设备中的 一个网络设备;以及 用于使用所述第一虚拟机和所述第二虚拟机而生成所述虚拟网络的装置。
16.根据权利要求14所述的一个或多个设备,其中用于生成所述虚拟网络的所述装置包括: 用于配置所述多个虚拟机中的第一虚拟机以执行与特定网络设备关联的第一功能的装置, 所述特定网络设备是与所述物理网络关联的所述网络设备中的一个网络设备; 用于配置所述多个虚拟机中的第二虚拟机以执行与所述特定网络设备关联的第二功能的装置;以及 用于基于使用所述第一虚拟机和所述第二虚拟机而生成所述虚拟网络的装置。
17.根据权利要求14所述的一个或多个设备,其中用于接收关于所述网络设备的所述信息的所述装置包括: 用于接收关于用于所述网络设备的配置信息的信息的装置;以及 用于接收与所述物理网络关联的拓扑信息的装置。
18.根据权利要求14所述的一个或多个设备,还包括: 用于接收对所述虚拟网络的另一改变的装置;以及 用于引起在所述物理网络中发生与对所述虚拟网络的所述另一改变对应的特定改变的装置。
19.根据权利要求18所述的一个或多个设备,其中所述特定改变与从所述物理网络去除第一网络设备或者向所述物理网络添加第二网络设备关联。
20.根据权利要求14所述的一个或多个设备,还包括: 用于接收对所述虚拟网络的另一改变的装置, 所述另一改变是对所述虚拟网络的拓扑的改变;以及 用于引起在所述物理网络中发生与对所述虚拟网络的所述另一改变对应的特定改变的装置。
【文档编号】H04L12/26GK103916264SQ201310744416
【公开日】2014年7月9日 申请日期:2013年12月30日 优先权日:2012年12月28日
【发明者】P·索莫哈诺, B·P·奥萨利万, H·L·斯特恩, M·耶普, A·L·明茨 申请人:瞻博网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1