专利名称:一种实现虚拟网络的方法和虚拟网络的制作方法
技术领域:
本发明涉及数据交换技木,特别是指ー种实现虚拟网络的方法和虚拟网络。
背景技术:
数据中心提供资源出租业务,针对不同的租户,数据中心需要提供ー个虚拟网络实现数据交换,使租户在虚拟网络中互不干扰的使用资源。同时,数据中心业务的发展,使数据中心对网络的要求日益提高,需要更大带宽,更可靠的数据网络。租户的数量可能达到数十万以上,现有技术中,一般采用虚拟局域网(vLan,Virtual Local Area Network)来隔离租户,由于vLan的个数最大为4096,因而限制了租户的数量,不能满足数据中心为多租户提供业务的需求。如图I所示,在IP网上叠加ニ层网 络,将以太网包封装在M)P包中,添加ー个VXLan包头,包头中添加24位的VXLan网络标识以区分不同的虚拟网络;UDP包转发路径由路由协议来确定;这种方式能够支持大量租户,多路径支持依靠下层IP网络实现。IP网络106中,原始数据包101从源Hostl04发送到通道端点(VTEP,VXLAN tunnel end point) 105,VTEP将原始数据包101封装在UDP包中形成封装后的数据包102,在数据包102中附加ー个VXLan Header,VXLan Header内部包含ー个VNI (VXLan Network IDentifier)来标识不同的虚拟网络。封装后的数据包102通过IP网络106发送到对端VTEP,VTEP解封装,还原出原始数据包103,再转发给目的Hostl07。可以看出,原始数据包101封装进UDP包后,底层IP网络将其作为载荷进行转发,不能识别原始数据包101属于哪个租户,也不能识别原始数据包101内部的IP地址等信息,因而,不能根据这些信息做任何的优化和控制。现有技术存在如下问题底层IP网络和虚拟网络是分离的,当虚拟网络的数据包在底层IP网络中传输吋,IP网络并不能识别数据包内部封装的信息,不能针对租户的需求实施优化措施或其他策略;虚拟网络也不识别数据包在底层IP网络中的转发方式,无法对转发过程进行控制。
发明内容
本发明要解决的技术问题是提供ー种实现虚拟网络的方法和虚拟网络,解决由于底层IP网络和虚拟网络分离,当虚拟网络的数据包在底层IP网络中传输吋,IP网络并不能识别数据包内部封装的信息,不能针对租户的需求实施优化或其他策略;虚拟网络也不识别数据包在底层IP网络中的转发方式,无法对转发过程进行控制的缺陷。为解决上述技术问题,本发明的实施例提供ー种实现虚拟网络的方法,包括步骤一,虚拟网络的控制器获取由主机发出的数据包的传送类型,来源地和目的地;步骤ニ,根据所述传送类型、来源地的端ロ标识、目的地的目的标识制定转发策略;步骤三,将所述转发策略发送给所述数据包将要经过的各个虚拟访问交換机和中间交换机;由所述虚拟访问交換机和中间交换机对接收到的数据包,执行所述转发策略。所述的方法中,执行所述转发策略包括将接收到的数据包作为第一数据包,将所述目的标识与所述第一数据包封装后形成第二数据包;发送所述第二数据包。所述的方法中,所述传送类型为同一个子网内转发数据包;发送数据包的主机与接收数据包的目的主机位于同一个子网;所述目的标识包括根据所述端ロ标识确定的发送数据包的主机所在子网的目的虚拟网络标识,以及目的虚拟访问交换机的目的路由标识。
所述的方法中,所述传送类型为子网之间转发数据包;所述目的标识包括目的子网的目的虚拟网络标识,以及目的虚拟访问交换机的目的路由标识。所述的方法中,传送类型为单播;步骤ニ还包括计算出发送数据包的主机与目的地之间的至少一条优化路径;所述转发策略中包括所述至少一条优化路径;执行所述转发策略包括由所述目的子网的目的虚拟访问交换机将所述第二数据包还原为第一数据包,将还原后的所述第一数据包发给目的主机。所述的方法中,所述传送类型为广播;步骤一之前包括在每ー个子网中建立覆盖整个所述子网的第一类广播树;或者,在每ー个子网中建立第二类广播树,每ー个所述第ニ类广播树中,选定所述子网中的一个与主机有连接的虚拟访问交换机作为该第二类广播树的根节点。所述的方法中,所述目的标识包括目的地的第一类广播树或者第二类广播树对应的目的子网的目的标识;执行所述转发策略包括由所述目的子网的目的虚拟访问交换机将所述第二数据包还原为第一数据包,将所述第一数据包发给目的主机。所述的方法中,所述控制器采用Openflow协议下发所述转发策略;所述转发策略由流表实现;或者,所述控制器采用网管接口下载协议下发所述转发策略;所述转发策略由网管配置条目实现;或者,所述控制器采用选定的私有协议下发所述转发策略。一种控制器,包括信息获取单元,用于获取由主机发出的数据包的传送类型,来源地和目的地;策略制定単元,用于根据所述传送类型、来源地的端ロ标识、目的地的目的标识制定转发策略;策略下发单元,用于将所述转发策略发送给所述数据包将要经过的各个所述虚拟访问交换机和中间交换机;由所述虚拟访问交换机和中间交换机对接收到的数据包执行所述转发策略。所述的控制器中,策略制定単元包括第一制定模块,用于当所述传送类型为同一个子网内转发数据包时;设置所述目的标识包括根据所述端ロ标识确定的发送数据包的主机所在子网的目的虚拟网络标识,以及目的虚拟访问交换机的目的路由标识。所述的控制器中,策略制定単元包括第二制定模块,用于当所述传送类型为子网之间转发数据包吋,设置所述目的标识包括目的子网的目的虚拟网络标识,以及目的虚拟访问交換机的目的路由标识。所述的控制器中,策略制定単元包括第三制定模块,用于当所述传送类型为单播时,计算出发送数据包的主机与目的地之间的至少一条优化路径;所述转发策略中包括所述至少一条优化路径。所述的控制器中,还包括广播树単元,用于在每一个子网中建立覆盖整个所述子网的第一类广播树;或者,在每ー个子网中建立第二类广播树,每ー个所述第二类广播树中,选定所述子网中的一个与主机有连接的虚拟访问交换机作为该第二类广播树的根节点。
所述的控制器中,策略制定単元包括第四制定模块,用于当所述传送类型为广播吋,设置所述目的标识包括目的地的第一类广播树或者第二类广播树对应的目的子网的目的标识。
ー种虚拟网络,包括虚拟访问交换机、中间交换机和控制器;每一个虚拟访问交换机具有一个路由标识,并与所述控制器连接;每ー个中间交换机与虚拟访问交换机连接,并与所述控制器连接;每ー个主机均位于ー个子网中,子网内的所有主机在ー个ニ层广播域内,ニ层广播域具有虚拟网络标识;一个主机一个与虚拟访问交換机通过端ロ连接,端ロ具有端ロ标识;还包括控制器,控制器包括信息获取单元,用于获取由主机发出的数据包的传送类型,来源地和目的地;策略制定単元,用于根据所述传送类型、来源地的端ロ标识、目的地的目的标识制定转发策略;策略下发单元,用于将所述转发策略发送给所述数据包将要经过的各个所述虚拟访问交換机和中间交換机;由所述虚拟访问交換机和中间交換机对接收到的数据包执行所述转发策略。所述的虚拟网络中,虚拟访问交换机包括第一策略执行单元,用于将接收到的数据包作为第一数据包,将所述目的标识与所述第一数据包封装后形成第二数据包;发送所述第二数据包;以及,第二中间交换机包括策略执行单元,用于将接收到的数据包作为第ー数据包,将所述目的标识与所述第一数据包封装后形成第二数据包;发送所述第二数据包。本发明的上述技术方案的有益效果如下在数据包转发过程中,控制器能够获取数据包的各种属性,如Broadcast ID,Route ID、以太网包头、IP包头、TCP/UDP端口号等作为目的标识,根据目的标识制定转发策略,更精细和灵活的转发数据包;支持了多租户、多路径转发、流量负载均衡,更有效的利用了网络资源。
图I表示现有vxLan技术的工作原理示意图;图2表示本发明的虚拟网络的系统架构图;图3表示本发明的数据包封装结构示意图;图4表示本发明的子网间路由功能示意图;图5表示本发明的子网内单播示意图;图6表示本发明的实现最优路径流程图;图7表示本发明的子网内广播流程图;图8表示本发明的一种控制器的结构示意图。
具体实施例方式为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。软件定义网络(SDN, Software Defined Network)技术是一种通信网络实现方法,核心思想是控制-转发-分离。SDN的控制面由集中的控制器(Forwarding Policy Server)组成,并通过Open flow协议控制转发面的行为,控制方式是下发流表,流表包括匹配规则和行为,指示与匹配规则相匹配的数据包所应采取的行为。SDN的转发面收到数据包后,按顺序匹配流表项,发现匹配项后执行相应的指令;如果未匹配,可以将数据包转发给控制器,由控制器处理。租户可以拥有多个子网,租户的每台主机(Host)都属于某个子网,子网作为ー个ニ层广播域,每个ニ层广播域都分配有ー个虚拟网络标识Broadcast ID (又称为广播域标识)。姆台主机连接在一台虚拟访问交换机(Virtual Access Switch)的ー个端口上,姆个端ロ有一个卩隹一的端ロ标识,姆个Virtual Access Switch都由控制器分配ー个路由标识 Route ID0本发明实施例提供了ー种实现虚拟网络的方法,如图2所示,包括步骤一,虚拟网络的控制器获取由主机发出的数据包的传送类型,来源地和目的地; 步骤ニ,根据所述传送类型、来源地的端ロ标识、目的地的目的标识制定转发策略;步骤三,将所述转发策略发送给所述数据包将要经过的各个虚拟访问交換机和中间交换机;由所述虚拟访问交換机和中间交换机对接收到的数据包,执行所述转发策略。应用本发明实施例提供的技术,在数据包转发过程中,控制器能够获取数据包的各种属性,如fcoadcast ID,Route ID、以太网包头、IP包头、TCP/UDP端口号等作为目的标识,根据目的标识制定转发策略,由转发面更精细和灵活的转发数据包;支持了多租户、多路径转发、流量负载均衡,更有效的利用了网络资源。虚拟网络的结构如图2所示,虚拟网络包括转发面和控制面转发面,包括虚拟访问交换机202和中间交换机206 ;中间交换机206不直接连接主机203,负责中间转发数据包。主机203通过虚拟访问交换机202接入虚拟网络,主机203包括物理机和虚拟机。控制面,包括控制器201,它与虚拟访问交换机202和中间交换机206互联,向虚拟访问交換机202和中间交换机206下发转发策略,以控制转发面的转发行为;转发策略包括控制数据包从哪个具体的端ロ转发、修改数据包的属性等。虚拟网络中各个器件的工作原理包括控制器201,是组成控制面的设备,整个虚拟网络的控制逻辑都在控制器201上制定,控制器201对来自转发面的网络事件进行响应,根据虚拟网络需求下发转发策略到各个虚拟访问交换机202和中间交换机206上,以实现对整个虚拟网络的控制。虚拟访问交换机202,是组成转发面的设备,负责将主机203接入到虚拟网络。中间交换机206,是组成转发面的设备,是虚拟网络的中间节点,不直接接入主机203。虚拟访问交换机202和中间交换机206根据控制器201下载的转发策略对数据包进行转发。主机203,每个主机203连接在ー个虚拟访问交换机202的端口上。控制器201与转发面的接ロ 204,可采用开放流(Openflow)协议、网管协议或者私有协议。虚拟机管理器(VM Manager) 205,负责管理主机203,将主机203的信息-包括Broadcast ID、所在端ロ的端ロ标识,以及Route ID等,传送给控制器201。
主机203的标识,端ロ标识,以及主机203所属的子网的虚拟网络标识,以及它们之间的对应关系都存储在控制器201中。在数据包的各种属性中,目的标识至少包括虚拟网络标识Broadcast ID,还可以包括目的路由标识Route ID0来源地是指发出数据包的源主机,源主机所在的子网;目的地是指接收数据包的目的主机,目的主机所在的子网。在一个优选实施例中,这些信息由其他系统,如虚拟化管理平台(VM Manager),通过接ロ 204传送给控制器201。
数据包进入虚拟网络时,打上虚拟网络标识、路由标识;数据包在虚拟网络传输过程中,转发面根据数据包的路由标识进行转发;转发面根据数据包的虚拟网络标识区分不同的虚拟网络,只能将数据包发送给同一个虚拟网络的主机。数据包的封装方式如图3所示,源主机304发出的数据包301,包括ニ层包头(L2Header)和数据(Data),在虚拟访问交换机202封装为数据包302,这ー过程中,采用实际存在的网络标签,如MPLS 20bit标签来实现Broadcast ID和Route ID,与数据包301封装在一起形成数据包302,或者只将Broadcast ID与数据包301封装在一起形成数据包303 broadcast ID和Route ID,分别表示虚拟网络标识和目的虚拟访问交换机202b ;此时MPLS标签仅作为Broadcast ID和Route ID的载体,不具有MPLS tag原本的意义。20bit的Broadcast ID能够支持超过100万独立子网,因此能够支持大量租户。目的虚拟访问交换机202b接到数据包302后,去除Broadcast ID和Route ID的数据包304,恢复到了初始的数据包301的状态,发送给目的主机305。广播数据包303由于不是具体转发给特定的Host,而是发给广播域内所有Host,所以不需要封装Route ID,仅仅封装Broadcast ID。控制器201与转发面之间的接ロ 204协议可有多种选择,如可采用Openf low协议,转发策略通过流表实现;也可以采用网管接口下载策略,转发策略由网管配置条目实现。在一个优选实施例中,控制器201采用Openflow协议下发所述转发策略;所述转发策略由流表实现;或者,所述控制器采用网管接口下载协议下发所述转发策略;所述转发策略由网管配置条目实现;或者,所述控制器采用私有协议下发所述转发策略。在一个优选实施例中,执行所述转发策略包括将接收到的数据包作为第一数据包,将所述目的标识与所述第一数据包封装后形成第二数据包;发送所述第二数据包。所提供的技术方案能够在同ー个子网内转发数据包。在一个优选实施例中,所述传送类型为同一个子网内转发数据包;所述目的标识包括根据所述端ロ标识找出的发送数据包的主机所在子网的目的虚拟网络标识Broadcast ID,以及目的虚拟访问交换机的目的路由标识Route ID。在ー个应用场景中,在虚拟网络中转发数据包时,控制器201通过下发的转发策略为数据包打上两种目的标识Broadcast ID和Route ID。步骤01,当主机发送数据包时,控制器201根据主机所在端ロ查询数据库,找出主机所在子网对应的Broadcast ID,以及目的虚拟访问交换机的目的路由标识Route ID,以此形成转发策略;步骤02,控制器201下发转发策略给主机所连接的第一虚拟访问交換机,以及中间交换机,中间交换机与第一虚拟访问交換机或者其他的中间交换机连接。步骤03,执行转发策略时将Broadcast ID和Route ID封转在第一数据包中形成
第二数据包。在同一个子网内转发需要打上虚拟网络标识Broadcast ID,否则就无法区分此数据包是哪个虚拟网络的。带有Broadcast ID和Route ID的第二数据包在子网内传输时,中间交换机匹配此目的标识,保证此数据包只会发到同一子网内的目的主机,以此实现在同一个子网内传输数据包以及子网之间的隔离。所提供的技术方案能够在不同的子网之间转发数据包。在数据包中封装目的主机所在的虚拟网络的虚拟网络标识,以保证只有目的虚拟网络内的主机能够收到此数据包。在一个优选实施例中,传送类型为子网之间转发数据包;目的标识包括目的子网的目的虚拟网络标识,以及目的虚拟访问交换机的目的路由标识Route ID。目的虚拟访问交换机位于目的子网内。子网间路由过程类似子网内单播流程,不同的是,子网间路由要替换数据包的Mac地址,这是因为数据包发出时,源Mac地址为源主机的Mac地址,目的Mac地址为路由器Mac地址;其中,路由器Mac地址是主机配置的路由器的MAC地址(不是虚拟访问交換机202a的Mac地址),主机配置的路由器是虚拟的,每个主机会配置路由器IP地址,当主机要发送子网间的数据包吋,主机会通过ARP协议获取此路由器IP对应的Mac地址,控制器201此时代替虚拟的路由器应答这一 ARP请求,给主机返回虚拟路由器的路由器Mac地址。数据包经过虚拟访问交换机,源Mac地址替换为路由器Mac地址,目的Mac地址替换为目的主机Mac地址。这ー过程中需要设置ー个虚拟路由器地址,但不需设置物理路由器,仅通过Mac地址的替换来完成路由功能。在ー个应用场景中,如图4所示,以openflow协议作为控制器201与转发面之间的接ロ协议为例进行说明,转发策略对应openflow协议所定义的流表,步骤包括步骤401,源主机发送第一数据包给与它相连的源虚拟访问交换机202a。步骤402,源虚拟访问交换机202a由于没有匹配的流表,将第一数据包通过PacketIn消息转发给控制器201。步骤403,控制器201向源虚拟访问交换机202a下发流表,流表负责封装Broadcast ID、Route ID和替换Mac地址,包括将源Mac地址替换为路由器Mac地址,目的地址替换为目的主机Mac地址。步骤404,控制器201向目的虚拟访问交换机202b下发流表,这些流表负责从接收到的第二数据包中弹出Broadcast ID和Route ID以实现还原数据包,以及转发还原后的数据包到合适的目的主机。
步骤405,控制器201将第一数据包通过PacketOut消息发回给源虚拟访问交换机202a。步骤406,源虚拟访问交换机202a匹配步骤403中提到的流表,给数据包封装Broadcast ID和Route ID,将源Mac地址替换为路由器Mac地址,目的地址替换为目的主机Mac地址,形成第二数据包。步骤407,源虚拟访问交换机202a匹配步骤403中提到的流表,按最优路径转发第
ニ数据包。步骤408,中间交换机206匹配流表,按最优路径转发第二数据包。步骤409,目的虚拟访问交换机202b匹配步骤404中提到的流表,弹出BroadcastID和Route ID,从第二数据包中还原出第一数据包;
步骤410,目的虚拟访问交换机202b匹配流表,转发第一数据包到目的主机。所提供的技术方案也能够转发单播的数据包。在一个优选实施例中,传送类型为单播;步骤ニ还包括计算出发送数据包的主机与目的地之间的至少一条优化路径;所述转发策略中包括所述至少一条优化路径;执行所述转发策略包括由所述目的子网的目的虚拟访问交换机将所述第二数据包还原为第一数据包,将所述第一数据包发给目的主机。主机发送单播数据包时,控制器201查询目的主机所在虚拟访问交换机的RouteID,下发相应转发策略,虚拟访问交换机执行转发策略时将此Route ID封装在数据包中。控制器201在每两个虚拟访问交换机之间计算最优路径,井下发转发策略,转发策略匹配数据包中的Route ID,使其沿着特定路径转发,直到到达目的虚拟访问交换机202b,由目的虚拟访问交换机202b转发给目的主机。控制器201也可以同时计算多条路径,让当前的数据包按预定义的转发策略选择一条路径转发,从而实现多路径负载均衡。由控制器201决定采用不同的转发方式,可以根据需要随时确定不同的选择。子网内单播包需要打上Broadcast ID和Route ID,这两个标识都由MPLS标签实现,Route ID用于标识目的虚拟访问交换机202b,Broadcast ID用于唯一标识ー个ニ层广播域(子网),保证同一个子网内的主机才能收到此数据包,良好地实现子网之间的隔离。在ー个应用场景中,如图5所示,以openflow协议作为控制器201与转发面之间的接ロ协议进行说明,转发策略对应openflow协议定义的流表,步骤包括步骤501,源主机发送第一数据包到与它相连的源虚拟访问交换机202a。步骤502,第一数据包在源虚拟访问交换机202a上没有匹配的流表,源虚拟访问交换机202a向控制器201发送PacketIn消息,消息包含第一数据包的内容和输入端ロ。步骤503,控制器201根据PacketIn消息的内容判断需要匹配的流表,向源虚拟访问交换机202a下发流表,这些流表负责封装Broadcast ID和Route ID ;步骤504,控制器201向目的虚拟访问交换机202b下发流表,这些流表负责从第二数据包中弹出Broadcast ID和Route ID,以及转发第一数据包到合适的主机;流表可以在收到PacketIn消息时下载,也可以选择在主机发送数据包前下载。步骤505,控制器201将原数据包通过PacketOut消息发回给源虚拟访问交换机202a ;步骤506,源虚拟访问交换机202a将此数据包匹配流表,执行流表规定的行为,给第一数据包封装Broadcast ID和Route ID形成第二数据包;步骤507,源虚拟访问交换机202a匹配流表,按最优路径转发第二数据包;步骤508,中间交换机206匹配流表,按最优路径转发第二数据包;步骤509,目的虚拟访问交换机202b将第二数据包匹配流表,从第二数据包中弹出Broadcast ID和Route ID,还原出第一数据包;
步骤510,目的虚拟访问交换机202b匹配流表,转发还原后的第一数据包到目的主机。每个数据包都采用最优路径转发,也可以根据租户对应的特定策略转发,具体地,可以根据租户所属的级别来选择不同路由路径,这ー过程中需要在路由路径中的各节点上设置相应的流表。各实施例中,下发实现最优路径的转发策略的方式有多种,可以是在网络拓扑结构发生变化时即刻下发转发策略,也可以先计算出最优路径,当有数据包发送时再下发转发策略,如图6所示,实现最优路径的流程包括步骤601,控制器201为每个虚拟访问交换机202分配Route ID,并探测网络拓扑结构。当采用openflow作为控制面和转发面之间的协议时,控制器201探测网络拓扑结构包括控制器201可以指示姆个端ロ发送链路层发现协议(LLDP,Link Layer DiscoveryProtocol)包,如果在转发面的另ー个端ロ收到此LLDP包,则认为两个端ロ之间有一条链路。步骤602,计算每个虚拟访问交換机202到其他虚拟访问交換机202之间的最优路径。步骤603,控制器201向相应的虚拟访问交换机202和中间交换机206下发转发策略,转发策略中指示了从ー个虚拟访问交换机202到目的虚拟访问交换机202b的数据包应输出的所述端ロ,匹配字段为Route ID。所提供的技术方案也能够转发广播数据包。在一个优选实施例中,传送类型为广播;步骤一之前包括在每ー个子网中建立覆盖整个所述子网的第一类广播树;或者,在每ー个子网中建立第二类广播树,每ー个所述第二类广播树中,选定所述子网中的一个与主机有连接的虚拟访问交换机作为该第二类广播树的根节点。建立广播树的方式有多种,可以在发送广播包时建立广播树,也可以预先建立广播树;广播树可以每个子网建立ー个,也可以以每个子网中与每个主机相连的VirtualAccess Switch为根建立多个。由于广播树的节点与主机的位置相关,因此主机位置变更时,要重新建立广播树,并更新流表。在一个优选实施例中,目的标识包括目的地的第一类广播树或者第二类广播树对应的目的子网的目的标识;执行所述转发策略包括由所述目的子网的目的虚拟访问交换机将所述第二数据包还原为第一数据包,将所述第一数据包发给目的主机。在ー个应用场景中,如图7所示,子网内广播包需要封装上由MPLS标签实现的Broadcast ID。以openflow协议为控制器201与转发面之间的接ロ协议为例进行说明,转发策略对应openflow协议定义的流表。控制器201通过下发流表建立ー个广播树,使数据包按广播树传播,步骤包括步骤701,源主机发送第一数据包给与源主机相连接的源虚拟访问交换机202a。步骤702,源虚拟访问交换机202a没有匹配的流表,将第一数据包通过PacketIn消息转发给控制器201。步骤703,控制器201向源虚拟访问交换机202a下发流表,这些流表负责为第一数据包封装Broadcast ID。 步骤704,控制器201根据网络拓扑建立广播树,根据建立广播树的结果向广播树节点对应的中间交换机206下发流表,这些流表负责第二数据包在广播树中转发。步骤705,控制器201向目的虚拟访问交换机202b下发流表;这些流表负责从第ニ数据包中弹出Broadcast ID,以及转发第二数据包到合适的目的主机。步骤706,控制器201将原第一数据包通过PacketOut消息发回给源虚拟访问交换机 202a。步骤707,源虚拟访问交换机202a匹配流表,给第一数据包封装上Broadcast ID形成第二数据包。步骤708,源虚拟访问交换机202a匹配流表,按广播树转发第二数据包。步骤709,中间交换机206配流表,按广播树转发数据包;数据包会到达目的虚拟访问交換机202b。步骤710,目的虚拟访问交换机202b匹配流表,从第二数据包中弹出BroadcastID,还原出第一数据包。步骤711,目的虚拟访问交换机202b匹配流表,转发第一数据包到目的主机。本发明实施例提供一种控制器,如图8所示,包括信息获取单元801,用于获取由主机发出的数据包的传送类型,来源地和目的地;策略制定単元802,用于根据所述传送类型、来源地的端ロ标识、目的地的目的标识制定转发策略;策略下发单元803,用于将所述转发策略发送给所述数据包将要经过的各个所述虚拟访问交换机和中间交换机;由所述虚拟访问交換机和中间交换机对接收到的数据包执行所述转发策略。在一个优选实施例中,策略制定单元802包括第一制定模块,用于当所述传送类型为同一个子网内转发数据包时;设置所述目的标识包括根据所述端ロ标识确定的发送数据包的主机所在子网的目的虚拟网络标识,以及目的虚拟访问交换机的目的路由标识。在一个优选实施例中,策略制定单元802包括第二制定模块,用于当所述传送类型为子网之间转发数据包吋,设置所述目的标识包括目的子网的目的虚拟网络标识,以及目的虚拟访问交换机的目的路由标识。
在一个优选实施例中,策略制定单元802包括第三制定模块,用于当所述传送类型为单播吋,计算出发送数据包的主机与目的地之间的至少一条优化路径;所述转发策略中包括所述至少一条优化路径。在一个优选实施例中,还包括广播树単元,用于在每一个子网中建立覆盖整个所述子网的第一类广播树;或者,在每ー个子网中建立第二类广播树,每ー个所述第二类广播树中,选定所述子网中的一个与主机有连接的虚拟访问交换机作为该第二类广播树的根节点。在一个优选实施例中,策略制定单元802包括 第四制定模块,用于当所述传送类型为广播吋,设置所述目的标识包括目的地的第一类广播树或者第二类广播树对应的目的子网的目的标识。本发明实施例提供ー种虚拟网络,如图2所示,包括虚拟访问交换机、中间交换机和控制器;每ー个虚拟访问交换机具有一个路由标识,并与所述控制器连接;每ー个中间交换机与虚拟访问交换机连接,并与所述控制器连接; 每ー个主机均位于ー个子网中,子网内的所有主机在一个ニ层广播域内,ニ层广播域具有虚拟网络标识;一个主机一个与虚拟访问交換机通过端ロ连接,端ロ具有端ロ标识;还包括控制器,如图8所示,控制器中信息获取单元801,用于获取由主机发出的数据包的传送类型,来源地和目的地;策略制定単元802,用于根据所述传送类型、来源地的端ロ标识、目的地的目的标识制定转发策略;策略下发单元803,用于将所述转发策略发送给所述数据包将要经过的各个所述虚拟访问交换机和中间交换机;由所述虚拟访问交換机和中间交换机对接收到的数据包执行所述转发策略。在一个优选实施例中,虚拟访问交换机包括第一策略执行单元,用于将接收到的数据包作为第一数据包,将所述目的标识与所述第一数据包封装后形成第二数据包;发送所述第二数据包;以及,第二中间交换机包括策略执行单元,用于将接收到的数据包作为第一数据包,将所述目的标识与所述第一数据包封装后形成第二数据包;发送所述第二数据包。采用本方案之后的优势是通过为数据包打上虚拟网络标签和路由标签,提供多租户支持、多路径、流量负载均衡能力,而且能够对数据网络进行更全面的管理,实施更灵活的数据转发策略,甚至针对特定租户的需求实施流量的优化和控制。以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.ー种实现虚拟网络的方法,其特征在于,包括 步骤一,虚拟网络的控制器获取由主机发出的数据包的传送类型,来源地和目的地;步骤ニ,根据所述传送类型、来源地的端ロ标识、目的地的目的标识制定转发策略;步骤三,将所述转发策略发送给所述数据包将要经过的各个虚拟访问交換机和中间交换机; 由所述虚拟访问交換机和中间交换机对接收到的数据包,执行所述转发策略。
2.根据权利要求I所述的方法,其特征在于,执行所述转发策略包括 将接收到的数据包作为第一数据包,将所述目的标识与所述第一数据包封装后形成第ニ数据包; 发送所述第二数据包。
3.根据权利要求2所述的方法,其特征在于,所述传送类型为同一个子网内转发数据包;发送数据包的主机与接收数据包的目的主机位于同一个子网; 所述目的标识包括根据所述端ロ标识确定的发送数据包的主机所在子网的目的虚拟网络标识,以及目的虚拟访问交换机的目的路由标识。
4.根据权利要求2所述的方法,其特征在于,所述传送类型为子网之间转发数据包; 所述目的标识包括目的子网的目的虚拟网络标识,以及目的虚拟访问交换机的目的路由标识。
5.根据权利要求I所述的方法,其特征在于,所述传送类型为单播; 步骤ニ还包括计算出发送数据包的主机与目的地之间的至少一条优化路径;所述转发策略中包括所述至少一条优化路径; 执行所述转发策略包括由所述目的子网的目的虚拟访问交换机将所述第二数据包还原为第一数据包,将还原后的所述第一数据包发给目的主机。
6.根据权利要求I所述的方法,其特征在于,所述传送类型为广播; 步骤一之前包括 在每ー个子网中建立覆盖整个所述子网的第一类广播树; 或者,在每ー个子网中建立第二类广播树,每ー个所述第二类广播树中,选定所述子网中的一个与主机有连接的虚拟访问交换机作为该第二类广播树的根节点。
7.根据权利要求6所述的方法,其特征在干, 所述目的标识包括目的地的第一类广播树或者第二类广播树对应的目的子网的目的标识; 执行所述转发策略包括由所述目的子网的目的虚拟访问交换机将所述第二数据包还原为第一数据包,将所述第一数据包发给目的主机。
8.根据权利要求I所述的方法,其特征在干, 所述控制器采用Openflow协议下发所述转发策略;所述转发策略由流表实现; 或者, 所述控制器采用网管接ロ下载协议下发所述转发策略;所述转发策略由网管配置条目实现; 或者, 所述控制器采用选定的私有协议下发所述转发策略。
9.一种控制器,其特征在于,包括 信息获取单元,用于获取由主机发出的数据包的传送类型,来源地和目的地; 策略制定单元,用于根据所述传送类型、来源地的端口标识、目的地的目的标识制定转发策略; 策略下发单元,用于将所述转发策略发送给所述数据包将要经过的各个所述虚拟访问交换机和中间交换机; 由所述虚拟访问交换机和中间交换机对接收到的数据包执行所述转发策略。
10.根据权利要求9所述的控制器,其特征在于,策略制定单元包括 第一制定模块,用于当所述传送类型为同一个子网内转发数据包时; 设置所述目的标识包括根据所述端口标识确定的发送数据包的主机所在子网的目的虚拟网络标识,以及目的虚拟访问交换机的目的路由标识。
11.根据权利要求9所述的控制器,其特征在于,策略制定单元包括 第二制定模块,用于当所述传送类型为子网之间转发数据包时, 设置所述目的标识包括目的子网的目的虚拟网络标识,以及目的虚拟访问交换机的目的路由标识。
12.根据权利要求9所述的控制器,其特征在于,策略制定单元包括 第三制定模块,用于当所述传送类型为单播时, 计算出发送数据包的主机与目的地之间的至少一条优化路径;所述转发策略中包括所述至少一条优化路径。
13.根据权利要求9所述的控制器,其特征在于,还包括 广播树单元,用于在每一个子网中建立覆盖整个所述子网的第一类广播树; 或者,在每一个子网中建立第二类广播树,每一个所述第二类广播树中,选定所述子网中的一个与主机有连接的虚拟访问交换机作为该第二类广播树的根节点。
14.根据权利要求12所述的控制器,其特征在于,策略制定单元包括 第四制定模块,用于当所述传送类型为广播时, 设置所述目的标识包括目的地的第一类广播树或者第二类广播树对应的目的子网的目的标识。
15.一种虚拟网络,其特征在于,包括虚拟访问交换机、中间交换机和控制器; 每一个虚拟访问交换机具有一个路由标识,并与所述控制器连接; 每一个中间交换机与虚拟访问交换机连接,并与所述控制器连接; 每一个主机均位于一个子网中,子网内的所有主机在一个二层广播域内,二层广播域具有虚拟网络标识; 一个主机一个与虚拟访问交换机通过端口连接,端口具有端口标识; 还包括如权利要求扩14中的控制器。
16.根据权利要求15所述的虚拟网络,其特征在于, 虚拟访问交换机包括 第一策略执行单元,用于将接收到的数据包作为第一数据包,将所述目的标识与所述第一数据包封装后形成第二数据包;发送所述第二数据包; 以及,第二中间交换机包括 策略执行单元,用于将接收到的数据包作为第一数据包,将所述目的标识与所述第一数据包封装后形成第二数据包;发送所述第二数据包。
全文摘要
本发明实施例提供一种实现虚拟网络的方法和虚拟网络,方法包括步骤一,虚拟网络的控制器获取由主机发出的数据包的传送类型,来源地和目的地;步骤二,根据所述传送类型、来源地的端口标识、目的地的目的标识制定转发策略;步骤三,将所述转发策略发送给所述数据包将要经过的各个虚拟访问交换机和中间交换机;由所述虚拟访问交换机和中间交换机对接收到的数据包,执行所述转发策略。在数据包转发过程中,控制器能够获取数据包的各种属性作为目的标识,根据目的标识制定转发策略,更精细和灵活的转发数据包;支持了多租户、多路径转发、流量负载均衡,更有效的利用了网络资源。
文档编号H04L12/701GK102857416SQ20121034645
公开日2013年1月2日 申请日期2012年9月18日 优先权日2012年9月18日
发明者马苏安, 汪军, 胡永生, 梁亮 申请人:中兴通讯股份有限公司