自动配置虚拟路由器的制造方法
【专利说明】
【背景技术】
[0001]随着企业寻求处理动态商业环境的灵活性,计算机网络变得逐渐重要。已经帮助公司适应其客户不断变化的计算需求的技术之一是虚拟化。虚拟化允许产生诸如硬件平台、存储资源、网络接口卡等的虚拟资源,这些虚拟资源可以在不同的虚拟机之间例如通过虚拟网络共享。虚拟网络是一种通过虚拟资源而非物理资源起作用的计算机网络。
【附图说明】
[0002]为了更好地理解本技术方案,现在将参考附图仅以示例的方式描述实施例,其中在附图中:
[0003]图1图示根据一个示例的用于自动配置虚拟路由器的系统。
[0004]图2示出根据一个示例的用于自动配置虚拟路由器的方法的流程图。
[0005]图3示出根据一个示例的用于自动配置虚拟路由器的方法的流程图。
【具体实施方式】
[0006]企业在一时间段内可能增长并且扩张至不同的地理位置,或者该企业可能发展与位于世界不同地方的其他组织相关联的商业。组织的计算机网络通过向组织的管理者、员工、客户、供应商、搭档等提供及时的应用和服务而期望与该组织的扩张保持同步。换言之,计算机网络需要适应商业的需求。
[0007]虚拟网络提供了企业在动态环境中竞争所需要的灵活性。虚拟网络相对于物理计算机网络提供大量益处。这些益处可以包括,例如,网络可扩展性和灵活性、成本节约、易于部署和使用、增强的安全性、远程控制、改善的网络性能和效率等。因此,不必惊讶,组织正逐渐在他们的网络中部署越来越多的虚拟资源(诸如虚拟机、虚拟交换机等),从而支持各种应用和服务。
[0008]尽管虚拟网络通过提供虚拟网络资源按需的部署而向企业提供更多所需要的灵活性,但是如果虚拟网络交换机由网络的各个用户按需创建(或移除),可能导致路由器配置问题。将需要手动配置(一个或多个)虚拟路由器以在网络上的新创建的网络交换机之间路由通信量,这是因为不存在自动配置虚拟路由器的机制。它是耗时、容易产生误差的并且重复的手动处理。如果存在多个主机、主机的多个虚拟交换机以及在主机之间的多个路由器,则这种问题变得进一步复杂化。用户(例如,网络管理员)将需要手动将路由器配置在所有主机上。更不用说,随着网络复杂性增加,手动配置虚拟路由器变得难以管理。
[0009]提出了一种用于自动配置虚拟路由器的技术方案。在一个示例中,在将新的虚拟网络交换机添加至网络上的主机之后,确定虚拟网络交换机的网络或子网络。如果网络或子网络不存在于虚拟路由器的路由表中,则将与虚拟网络交换机有关的路由信息添加至该虚拟路由器的路由表中。针对添加至计算机网络上的主机的每个虚拟交换机执行该过程。在一个示例中,前述网络是私有网络。
[0010]图1图示了根据一个示例用于自动配置虚拟路由器的系统100。系统100包括可经由计算机网络150可操作地耦接的主机计算系统102和104。
[0011]主机计算系统102和104例如可以是计算机服务器、台式计算机、笔记本计算机、平板计算机、移动电话、个人数字助理(PDA)等等。主机计算系统102和104可以包括用于执行机器可读指令的处理器和用于存储机器可读指令的存储器(存储介质)。在一个示例中,主机计算系统102和104受不同用户的控制和管理。
[0012]主机计算系统102包括虚拟机(VM) 106、108、110、112、114、116、118和120、虚拟交换机122和124、虚拟路由器126和虚拟路由器配置模块128。主机计算系统104包括虚拟机(VM) 132、134、136和138、虚拟交换机140、虚拟路由器142和虚拟路由器配置模块144。虚拟机(VM) 106、108、110、112、114、116、118、120、132、134、136 和 138 可以创建在主机计算系统102 和 104 上。
[0013]虚拟机(VM) 106、108、110和112连接至虚拟交换机122,以形成虚拟网络128(网络1-10.1.0.0/24),虚拟机(VM) 114、116、118和120连接至虚拟交换机124,以形成虚拟网络130(网络2-20.1.0.0/24),并且虚拟机(颗)132、134、136和138连接至虚拟交换机140,以形成虚拟网络146(网络3-30.1.0.0/24)。虚拟交换机122、124和140允许一个虚拟机与另一个虚拟机通信。在本示例中,虚拟交换机122允许虚拟机(VM) 106、108、110和112彼此通信,SP在虚拟网络128(网络1-10.1.0.0/25)内。类似地,虚拟交换机124允许虚拟机(VM)114、116、118和120彼此通信,即在虚拟网络130(网络2-20.1.0.0/24)内。虚拟交换机140允许虚拟机(VM) 132、134、136和138彼此通信,即在虚拟网络146(网络3-30.1.0.0/24)内。
[0014]虚拟路由器126和142将不同的网络联接在一起,并且允许计算系统跨越不同网络彼此通信。虚拟路由器126和142能够创建在(主机的)管理程序上,并且可以包括用于跨越使用虚拟交换机创建的网络来路由通信量的各种路由协议。例如,虚拟路由器126可以通过虚拟网络交换机122和124跨越虚拟网络128(网络1-10.1.0.0/24)和130(网络2-20.1.0.0/24)在虚拟机(颗)106、108、110、112、114、116、118和120之间路由通信量。虚拟路由器126和142可以跨越虚拟网络 128(网络 1-10.1.0.0/24)、130(网络2-20.1.0.0/24)和 146(网络3-30.1.0.0/24)在主机计算系统102和104上的虚拟机(VM)之间路由通信量。在一个示例中,虚拟路由器126和142是虚拟层的核心网络模块,用作第三层路由器。
[0015]计算机网络150可以是有线(例如,同轴电缆)或无线(例如,W1-Fi)网络。在一种实施方式中,计算机网络150是因特网。然而,在另一些实施方式中,它可以是内联网、局域网(LAN)、广域网(WAN)等。
[0016]虚拟路由器配置模块128和144分别作用于虚拟路由器126和142。在一种实施方式中,在将新的虚拟网络交换机添加至网络上的主机计算系统之后,虚拟路由器配置模块(诸如128和144)确定虚拟网络交换机的网络或子网络,并且确定该网络或子网络是否存在于虚拟路由器的路由表中。如果网络或子网络不存在于虚拟路由器的路由表中,则虚拟服务器模块将与虚拟网络交换机子网络有关的路由信息添加至虚拟路由器的路由表中。在一个示例中,虚拟路由器配置模块(诸如128和144)对主机计算系统上的管理程序进行操作。
[0017]虚拟路由器配置模块128和144可以以包括诸如程序代码的计算机可执行指令的计算机程序产品的形式执行,计算机可执行指令可以运行在任何合适的计算环境和合适的操作系统(诸如Microsoft Windows、Linux或UNIX操作系统)上。本技术方案范围内的实施例还可以包括程序产品,该程序产品包含用于承载或具有存储在其上的计算机可执行指令或数据结构的计算机可读媒介。这种计算机可读媒介可以是可由通用计算机或专用计算机访问的任何可用媒介。作为示例,这种计算机可读媒介可以包括ROM、RAM、EPROM、EEPROM、CD-ROM、磁盘存储转置或其他存储装置,或是能够用于承载或存储计算机可执行指令形式的期望的程序代码并且能够由通用计算机或专用计算机访问的任何其他介质。在一种实施方式中,虚拟路由器配置模块128和144可以从另一个计算机可读介质(诸如数据存储装置)或通过通信接口从另一个装置读取到装置存储器中。
[0018]为了清楚,如在本文档使用的术语“模块”可以意为包括软件组件、硬件组件或其组合。作为示例,模块可以包括诸如软件组件、进程、任务、协同例程、函数、属性、步骤、驱动器、固件、数据、数据库、数据结构、专用集成电路(ASIC)和其他计算装置。模块可以驻留在易失性或非易失性存储介质上,并且被配置成与计算机系统的处理器交互。进一步地,系统100可以包括附加的客户计算机系统、计算机服务器和其他装置。
[0019]将认识到,图1中示出的系统组件仅用于图示说明的目的,而实际的组件可以根据为本技术方案的实施方式而部署的计算系统和架构变化。如上所述的各种组件可以托管在单个计算系统或通过合适装置连接在一起的包括服