虚拟网络隧道终点映射表管理方法和系统转让专利

申请号 : CN201510939900.7

文献号 : CN106888275B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王爱俊张鹏

申请人 : 中国电信股份有限公司

摘要 :

本发明公开了一种虚拟网络隧道终点映射表管理方法和系统,涉及云计算领域。其中方法包括:物理机VTEP模块接收源虚拟机的待转发数据;物理机VTEP模块查询待转发数据的目的虚拟机是否在物理机VTEP映射表中;若目的虚拟机在物理机VTEP映射表中,则物理机VTEP模块根据物理机VTEP映射表将待转发数据发送至目的虚拟机;若目的虚拟机不在物理机VTEP映射表中,则物理机VTEP模块将待转发数据发送至相应的架顶交换机TOR VTEP模块。本发明通过对VTEP映射表进行分层管理,减少了VTEP映射表对各级VTEP的存储、查询压力,配置灵活、可扩展性强,便于实现租户跨网络大二层的灵活组网和规模扩展。

权利要求 :

1.一种虚拟网络隧道终点映射表管理方法,其特征在于,包括:

物理机虚拟可扩展局域网隧道终点VTEP模块接收源虚拟机的待转发数据;

物理机VTEP模块查询所述待转发数据的目的虚拟机是否在物理机VTEP映射表中;

若所述目的虚拟机在所述物理机VTEP映射表中,则所述物理机VTEP模块根据所述物理机VTEP映射表将所述待转发数据发送至所述目的虚拟机;

若所述目的虚拟机不在所述物理机VTEP映射表中,则所述物理机VTEP模块将所述待转发数据发送至相应的架顶交换机TOR VTEP模块;

其中,所述方法还包括:

所述TOR VTEP模块查询所述目的虚拟机是否在TOR VTEP映射表中;

若所述目的虚拟机在所述TOR VTEP映射表中,则所述TOR VTEP模块在所述TOR VTEP映射表中提取出所述目的虚拟机的映射信息,将所述待转发数据重新封装后发送至所述目的虚拟机;

若所述目的虚拟机不在所述TOR VTEP映射表中,则所述TOR VTEP模块将所述待转发数据发送至相应的核心路由器CR VTEP模块。

2.根据权利要求1所述的方法,其特征在于,还包括:

所述CR VTEP模块查询所述目的虚拟机是否在CR VTEP映射表中;

若所述目的虚拟机在所述CR VTEP映射表中,则所述CR VTEP模块在所述CR VTEP映射表中提取出所述目的虚拟机的映射信息,将所述待转发数据重新封装后发送至所述目的虚拟机;

若所述目的虚拟机不在所述CR VTEP映射表中,则所述CRVTEP模块将所述待转发数据丢弃。

3.根据权利要求2所述的方法,其特征在于,还包括:

管理器接收物理机VTEP模块上报的虚拟机映射信息和物理机、TOR和CR上报的连接信息;

所述管理器向所述物理机VTEP模块下发物理机VTEP映射表,所述物理机VTEP映射表包括与所述物理机相应的TOR下各物理机的虚拟机映射信息;

所述管理器向所述TOR VTEP模块下发与所述TOR相应的CR下各TOR的虚拟机映射信息;

所述管理器向所述CR VTEP模块下发各CR的虚拟机映射信息。

4.根据权利要求3所述的方法,其特征在于,所述虚拟机映射信息包括:虚拟机的介质访问控制层MAC信息、地址和归属虚拟网络信息。

5.一种虚拟网络隧道终端映射表管理系统,其特征在于,包括位于物理机的物理机虚拟可扩展局域网隧道终点VTEP模块和位于架顶交换机TOR的TOR VTEP模块,其中:所述物理机VTEP模块,用于接收源虚拟机的待转发数据;查询所述待转发数据的目的虚拟机是否在物理机VTEP映射表中;若所述目的虚拟机在所述物理机VTEP映射表中,则根据所述物理机VTEP映射表将所述待转发数据发送至所述目的虚拟机;若所述目的虚拟机不在所述物理机VTEP映射表中,则将所述待转发数据发送至相应的TOR VTEP模块;

所述TOR VTEP模块,用于接收所述物理机VTEP模块发送的所述待转发数据;

其中,所述系统还包括位于核心路由器CR的CR VTEP模块,其中,所述TOR VTEP模块,还用于查询所述目的虚拟机是否在TOR VTEP映射表中;若所述目的虚拟机在所述TOR VTEP映射表中,则在所述TOR VTEP映射表中提取出所述目的虚拟机的映射信息,将所述待转发数据重新封装后发送至所述目的虚拟机;若所述目的虚拟机不在所述TOR VTEP映射表中,则将所述待转发数据发送至相应的CR VTEP模块;

所述CR VTEP模块,用于接收所述TOR VTEP模块发送的所述待转发数据。

6.根据权利要求5所述的系统,其特征在于,

所述CR VTEP模块,还用于查询所述目的虚拟机是否在CR VTEP映射表中;若所述目的虚拟机在所述CR VTEP映射表中,则在所述CR VTEP映射表中提取出所述目的虚拟机的映射信息,将所述待转发数据重新封装后发送至所述目的虚拟机;若所述目的虚拟机不在所述CR VTEP映射表中,则将所述待转发数据丢弃。

7.根据权利要求6所述的系统,其特征在于,还包括:

管理器,用于接收所述物理机VTEP模块上报的虚拟机映射信息和物理机、TOR和CR上报的连接信息;向所述物理机VTEP模块下发物理机VTEP映射表,所述物理机VTEP映射表包括与所述物理机相应的TOR下各虚拟机映射信息;向所述TOR VTEP模块下发与所述TOR相应的CR下各TOR的虚拟机映射信息;向所述CR VTEP模块下发各CR的虚拟机映射信息。

8.根据权利要求7所述的系统,其特征在于,所述虚拟机映射信息包括:虚拟机的介质访问控制层MAC信息、地址和归属虚拟网络信息。

说明书 :

虚拟网络隧道终点映射表管理方法和系统

技术领域

[0001] 本发明涉及云计算领域,尤其涉及一种虚拟网络隧道终点映射表管理方法和系统。

背景技术

[0002] 目前云计算技术发展迅速,在云计算环境下,通常采用隧道方式来搭建跨主机、跨机架以及跨IDC(Internet Data Center,互联网数据中心)的大二层网络,常用的隧道技术有VxLAN(Virtual extensible Local Area Network,虚拟可扩展局域网)、nvGRE(network virtual Generic Routing Encapsulation,网络虚拟通用路由封装)等。其典型的部署方式如图1所示的TOR(Top of Rack,架顶)架构。在同一IDC 100下具有多个TOR 101,每个TOR 101下具有多个物理机102,每个物理机102一般会提供一个VTEP(VxLAN Tunneling End Point,VxLAN隧道端点)模块1021,VTEP模块1021为软件实现的,物理机102下的虚拟机(Virtual Machine,简称:VM)1022在与位于其它物理机的下的虚拟机通信时,数据需要通过该VTEP模块1021进行VxLAN隧道封装,封装后的数据由底层的网络设备转发到对应VxLAN隧道终点,将隧道数据解封并转发给目标虚拟机。
[0003] 由于相互通信的、位于不同VxLAN通道的虚拟机可能位于任何一台物理服务器上,各物理机的VTEP模块就需要保存其下各虚拟机的MAC(Media Access Control,介质访问控制)、其所对应的VTEP IP(Internet Protocol,网络之间互连的协议)地址以及其所处的VxLAN等信息,即VTEP映射表,这样才能保证其在收到相应的二层数据包后,能快速找到目标隧道终点、目标VxLAN的VNI等信息,并依据这些信息进行隧道数据的封装。
[0004] 这样,在一个大规模的二层网络环境下,当虚拟机数量、物理机数量很多时,由于每个VTEP模块所保存的信息基本一致,各VTEP的映射表都会快速膨胀,对物理主机的性能以及后续的查找速度都会很快形成很大的压力。

发明内容

[0005] 本发明的发明人发现了上述现有技术中存在问题,并因此针对上述问题中的至少一个问题提出了一种新的技术方案。
[0006] 根据本发明的一个方面,公开了一种虚拟网络隧道终点映射表管理方法,包括:
[0007] 物理机虚拟可扩展局域网隧道终点VTEP模块接收源虚拟机的待转发数据;
[0008] 物理机VTEP模块查询待转发数据的目的虚拟机是否在物理机VTEP映射表中;
[0009] 若目的虚拟机在物理机VTEP映射表中,则物理机VTEP模块根据物理机VTEP映射表将待转发数据发送至目的虚拟机;
[0010] 若目的虚拟机不在物理机VTEP映射表中,则物理机VTEP模块将待转发数据发送至相应的架顶交换机TOR VTEP模块。
[0011] 在一个实施例中,本发明的方法还包括:
[0012] TOR VTEP模块查询目的虚拟机是否在TOR VTEP映射表中;
[0013] 若目的虚拟机在TOR VTEP映射表中,则TOR VTEP模块在TOR VTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;
[0014] 若目的虚拟机不在TOR VTEP映射表中,则TOR VTEP模块将待转发数据发送至相应的CR(Core Router,核心路由器)VTEP模块。
[0015] 在一个实施例中,本发明的方法还包括:
[0016] 还包括:
[0017] CR VTEP模块查询目的虚拟机是否在CR VTEP映射表中;
[0018] 若目的虚拟机在CR VTEP映射表中,则CR VTEP模块在CR VTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;
[0019] 若目的虚拟机不在CR VTEP映射表中,则CR VTEP模块将待转发数据丢弃。
[0020] 在一个实施例中,本发明的方法还包括:
[0021] 管理器接收物理机VTEP模块上报的虚拟机映射信息和物理机、TOR和CR上报的连接信息;
[0022] 管理器向物理机VTEP模块下发物理机VTEP映射表,物理机VTEP映射表包括与物理机相应的TOR下各物理机的虚拟机映射信息;
[0023] 管理器向TOR VTEP模块下发与TOR相应的CR下各TOR的虚拟机映射信息;
[0024] 管理器向CR VTEP模块下发各CR的虚拟机映射信息。
[0025] 在一个实施例中,虚拟机映射信息包括:虚拟机的介质访问控制层MAC信息、地址和归属虚拟网络信息。
[0026] 根据本发明的另一方面,公开了一种虚拟网络隧道终端映射表管理系统,包括位于物理机的物理机虚拟可扩展局域网隧道终点VTEP模块和位于架顶交换机TOR的TOR VTEP模块,其中:
[0027] 物理机VTEP模块,用于接收源虚拟机的待转发数据;查询待转发数据的目的虚拟机是否在物理机VTEP映射表中;若目的虚拟机在物理机VTEP映射表中,则根据物理机VTEP映射表将待转发数据发送至目的虚拟机;若目的虚拟机不在物理机VTEP映射表中,则将待转发数据发送至相应的TOR VTEP模块;
[0028] TOR VTEP模块,用于接收物理机VTEP模块发送的待转发数据。
[0029] 在一个实施例中,还包括位于核心路由器CR的CR VTEP模块,其中,[0030] TOR VTEP模块,还用于查询目的虚拟机是否在TOR VTEP映射表中;若目的虚拟机在TOR VTEP映射表中,则在TOR VTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;若目的虚拟机不在TOR VTEP映射表中,则将待转发数据发送至相应的CR VTEP模块;
[0031] CR VTEP模块,用于接收TOR VTEP模块发送的待转发数据。
[0032] 在一个实施例中,CR VTEP模块,还用于查询目的虚拟机是否在CR VTEP映射表中;若目的虚拟机在CR VTEP映射表中,则在CR VTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;若目的虚拟机不在CR VTEP映射表中,则将待转发数据丢弃。
[0033] 在一个实施例中,还包括:管理器,用于接收物理机VTEP模块上报的虚拟机映射信息和物理机、TOR和CR上报的连接信息;向物理机VTEP模块下发物理机VTEP映射表,物理机VTEP映射表包括与物理机相应的TOR下各虚拟机映射信息;向TOR VTEP模块下发与TOR相应的CR下各TOR的虚拟机映射信息;向CR VTEP模块下发各CR的虚拟机映射信息。
[0034] 在一个实施例中,虚拟机映射信息包括:虚拟机的介质访问控制层MAC信息、地址和归属虚拟网络信息。
[0035] 本发明的虚拟网络隧道终端映射表管理方法和系统,通过对VTEP映射表进行分层管理,减少了VTEP映射表对各级VTEP的存储、查询压力,配置灵活、可扩展性强,便于实现租户跨网络大二层的灵活组网和规模扩展。

附图说明

[0036] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0037] 图1为现有技术中IDC架构的示意图。
[0038] 图2为本发明的虚拟网络隧道终端映射表管理方法的一个实施例的流程图。
[0039] 图3为本发明的虚拟网络隧道终端映射表管理方法的另一个实施例的流程图。
[0040] 图4为本发明的虚拟网络隧道终端映射表管理方法的又一个实施例的流程图。
[0041] 图5为本发明的虚拟网络隧道终端映射表管理系统的一个实施例的示意图。

具体实施方式

[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043] 图2为本发明的虚拟网络隧道终端映射表管理方法的一个实施例的流程图。如图2所示,本实施例的方法步骤如下:
[0044] 步骤201,物理机VTEP模块接收源虚拟机的待转发数据。
[0045] 步骤202,物理机VTEP模块查询待转发数据的目的虚拟机是否在物理机VTEP映射表中。若目的虚拟机在物理机VTEP映射表中则进入步骤203,若目的虚拟机不在物理机VTEP映射表中,则进入步骤204。
[0046] 在一个实施例中,物理机VTEP映射表中包括了该物理机下的虚拟机映射信息以及与该物理机在同一TOR下的其他物理机下的虚拟机映射信息。虚拟机映射信息可以包括虚拟机的MAC信息、IP地址和归属虚拟网络信息,其中,归属虚拟网络信息可以包括但不限于归属的物理机VTEP模块ID、归属的VLAN/VNI(VxLAN Network Identifier,VxLAN网络标识符)信息等。例如ID为VTEP-1的物理机VTEP模块的物理机VTEP映射表如表1所示:
[0047]VTEP-ID VLAN/VNI IP MAC
VTEP-1 1000 1.1.1.1 aa-bb-cc-dd-ee-ff
VTEP-2 1000 2.2.2.2 ab-cd-ef-gh-ij-kl
[0048] 表1
[0049] 其中,VTEP-2为同一TOR下的另一物理机的物理机VTEP模块ID。
[0050] 步骤203,物理机VTEP模块根据物理机VTEP映射表将待转发数据发送至目的虚拟机。当目的虚拟机在物理机VTEP映射表中,则物理机VTEP直接将待转发数据发送至目的虚拟机。
[0051] 步骤204,物理机VTEP模块将待转发数据发送至相应的TOR VTEP模块,以便通过TOR VTEP模块将待转发数据发送至目的虚拟机。当物理机VTEP模块在其物理机VTEP映射表中没有查找到目的虚拟机时,说明目的虚拟机不在同一TOR下的物理机中,因此将待转发数据发送至TOR中的TOR VTEP模块,以便通过TOR VTEP模块将待转发数据发送至目的虚拟机。
[0052] 图2所示实施例中,物理机VTEP模块仅负责将待转发数据发送至同一TOR下的目的虚拟机中,对于不同TOR下的目的虚拟机,则将数据转发至TOR VTEP模块,由TOR VTEP模块进行相应的处理。因此,在物理机VTEP模块中,仅需保存同一TOR下的虚拟机映射信息,而无需将同一IDC下的全部虚拟机映射信息都进行保存。与现有技术相比,本发明对虚拟机映射信息采用了层次化管理方式,尤其有效减轻了物理机VTEP模块中软件实现的物理机VTEP映射表容量压力,提升了物理机VTEP模块映射查找速度。
[0053] 图3为本发明的虚拟网络隧道终端映射表管理方法的另一个实施例的流程图。如图3所示,本实施例的方法步骤如下:
[0054] 步骤301,物理机VTEP模块接收源虚拟机的待转发数据。
[0055] 步骤302,物理机VTEP模块查询待转发数据的目的虚拟机是否在物理机VTEP映射表中。若目的虚拟机在物理机VTEP映射表中则进入步骤303,若目的虚拟机不在物理机VTEP映射表中,则进入步骤304。在一个实施例中,物理机VTEP映射表可以如表1所示。
[0056] 步骤303,物理机VTEP模块根据物理机VTEP映射表将待转发数据发送至目的虚拟机。
[0057] 步骤304,物理机VTEP模块将待转发数据发送至相应的TOR VTEP模块。
[0058] 步骤305,TOR VTEP模块查询目的虚拟机是否在TOR VTEP映射表中。若目的虚拟机在TOR VTEP映射表中,则进入步骤306;否则,进入步骤307。
[0059] 步骤306,TOR VTEP模块在TOR VTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至所述目的虚拟机。
[0060] 在一个实施例中,TOR VTEP映射表如表2所示,其中包括了该TOR下的虚拟机映射信息以及与该TOR在同一CR的其他TOR下的虚拟机映射信息。虚拟机映射信息可以包括虚拟机的MAC信息、IP地址和归属虚拟网络信息,还包括归属的TOR ID等信息,以便TOR VTEP模块根据TOR VTEP映射表中的目的虚拟机的映射信息,将待转发数据重新封装,转发至目的虚拟机。
[0061]TOR-ID VTEP-ID VLAN/VNI IP MAC
T1 VTEP-1 1000 1.1.1.1 aa-bb-cc-dd-ee-ff
  VTEP-2 1000 2.2.2.2 ab-cd-ef-gh-ij-kl
T2 …… …… …… ……
[0062] 表2
[0063] 其中,如表2所示,在同一CR下,具有两个TOR,对应的TOR VTEP模块的TOR-ID分别为T1和T2,其中T1中物理机VTEP模块为VTEP-1和VTEP-2,T2中也具有物理机VTEP模块(表2中省略),由于TOR VTEP模块T1和T2属于相同的CR,因此T1和T2的TOR VTEP映射表包括二者下面的所有虚拟机的映射信息。例如,当TOR VTEP模块T1在接收到目的虚拟机属于T2的待转发数据后,查询TOR VTEP映射表获取目的虚拟机映射信息,将待转发数据重新封装后发送给T2下的目的虚拟机。
[0064] 步骤307,TOR VTEP模块将待转发数据发送至相应的CR VTEP模块。当TOR VTEP模块没有查询到目的虚拟机的映射信息时,表明目的虚拟机与该TOR不在同一CR下,因此将待转发数据发送至其所属CR的CR VTEP模块,以便CR VTEP模块进一步将数据转发至目的虚拟机。
[0065] 在一个实施例中,当CR VTEP模块接收到待转发数据后,还包括:
[0066] 步骤308,CR VTEP模块查询目的虚拟机是否在CR VTEP映射表中。若目的虚拟机在CR VTEP映射表中,则进入步骤309;否则,进入步骤310。
[0067] 例如,CR VTEP映射表可以如表3所示,其中包括了该CR下的虚拟机映射信息以及与该CR在同一管理器的其他CR下的虚拟机映射信息。还包括归属的CR ID和IDC ID等信息,以便CR VTEP模块根据CR VTEP映射表中的目的虚拟机的映射信息,将待转发数据重新封装,转发至目的虚拟机。
[0068]IDC ID CR-ID TOR-ID VTEP-ID VLAN/VNI IP MAC
1 CR1 T1 VTEP-1 1000 1.1.1.1 aa-bb-cc-dd-ee-ff
      VTEP-2 1000 2.2.2.2 ab-cd-ef-gh-ij-kl
    T2 …… …… …… ……
             
2 CR2 T3 …… …… …… ……
    T4 …… …… …… ……
[0069] 表3
[0070] 步骤309,CR VTEP模块将待转发数据重新封装后发送至目的虚拟机。当CR VTEP模块查询目的虚拟机在CR VTEP映射表中时,将待转发数据重新封装后发送至目的虚拟机。
[0071] 步骤310,将待转发数据丢弃。当CR VTEP模块查询目的虚拟机不在CR VTEP映射表中时,将待转发数据丢弃。
[0072] 如图3所示的实施例中,对虚拟机映射信息进行分层管理。CR VTEP模块的CR VTEP映射表中具有同一管理器下的所有虚拟机的映射信息,而TOR VTEP模块的TOR VTEP映射表仅具有同一CR下的虚拟机的映射信息,物理机VTEP模块的物理机VTEP映射表仅具有同一TOR下的虚拟机的映射信息。当接收到源虚拟机的待转发数据时,可以通过查询相应的映射表,当目的虚拟机不在映射表中时,将待转发数据发送至上一层的VTEP模块中进行相应的处理,从而减小了映射表容量,提高了查询速度。同时,可以满足大二层网络的规模扩展需求,满足不同IDC的虚拟机之间的通信,还可以适配不同类型、不同层次的VTEP。
[0073] 图4为本发明的虚拟网络隧道终点映射表管理方法中映射信息下发方法的一个实施例的流程图。如图4所示,包括:
[0074] 步骤401,管理器接收物理机VTEP模块上报的虚拟机映射信息和物理机、TOR和CR上报的连接信息。其中虚拟机映射信息包括虚拟机的MAC信息、IP地址和归属虚拟网络信息,其中,归属虚拟网络信息可以包括但不限于归属的物理机VTEP模块ID、归属的VLAN/VNI信息等。连接信息包括物理机、TOR和CR之间的拓扑连接关系,以及层次归属关系。
[0075] 步骤402,管理器向物理机VTEP模块下发物理机VTEP映射表。例如表1所示的物理机VTEP映射表。
[0076] 步骤403,管理器向TOR VTEP模块下发与TOR相应的CR下各TOR的虚拟机映射信息。例如表2所示的TOR VTEP映射表。
[0077] 步骤404,管理器向CR VTEP模块下发个CR的虚拟机映射信息。例如表3所示的CR VTEP映射表。
[0078] 如图4所示的实施例中,管理器将虚拟机的映射信息进行分层下发,能够有效减少物理机VTEP映射表和TOR VTEP映射表的容量,其结构便于快速查找,提高数据转发效率,可扩展性强,可以适配不同类型、不同层次的VTEP。
[0079] 图5为本发明的虚拟网络隧道终端映射表管理系统的一个实施例的示意图。包括位于物理机501的物理机VTEP模块5011和位于TOR 502的TOR VTEP模块5021,其中:
[0080] 物理机VTEP模块5011其下有虚拟机5012,接收源虚拟机的待转发数据;查询待转发数据的目的虚拟机是否在物理机VTEP映射表中;若目的虚拟机在物理机VTEP映射表中,则根据物理机VTEP映射表将待转发数据发送至目的虚拟机;若目的虚拟机不在物理机VTEP映射表中,则将待转发数据发送至相应的TOR VTEP模块5021。其中,物理机VTEP映射表可以如表1所示。
[0081] TOR VTEP模块5021用于接收物理机VTEP模块5011发送的待转发数据。
[0082] 本实施例中,物理机VTEP模块5011仅负责将待转发数据发送至同一TOR下的目的虚拟机中,对于不同TOR下的目的虚拟机,则将数据转发至TOR VTEP模块5021,由TOR VTEP模块5021进行相应的处理。因此,在物理机VTEP模块5011中,仅需保存表1所示的同一TOR下的虚拟机映射信息,而无需将同一IDC下的全部虚拟机映射信息都进行保存。同现有技术相比,本发明的管理系统对虚拟机映射信息采用了层次化管理方式,尤其有效减轻了物理机VTEP模块5011中软件实现的物理机VTEP映射表容量压力,提升了物理机VTEP模块映射查找速度。
[0083] 在一个实施例中,还包括位于CR 503的CR VTEP模块5031,其中:
[0084] TOR VTEP模块5021还用于查询目的虚拟机是否在TOR VTEP映射表中;若目的虚拟机在TOR VTEP映射表中,则在TOR VTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;若目的虚拟机不在TOR VTEP映射表中,则将所述待转发数据发送至相应的CR VTEP模块5031。其中,TOR VTEP映射表可以表2所示。
[0085] CR VTEP模块5031用于接收TOR VTEP模块5021发送的待转发数据。
[0086] 在一个实施例中,CR VTEP模块,在接收到到待转发数据后,查询目的虚拟机是否在CR VTEP映射表中;若目的虚拟机在CR VTEP映射表中,则在CR VTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;若目的虚拟机不在CR VTEP映射表中,则将待转发数据丢弃。其中,CR VTEP映射表可以如表3所示。
[0087] 在一个实施例中,本发明的管理系统还包括管理器504用于接收物理机VTEP模块5011上报的虚拟机映射信息和物理机501、TOR502和CR 503上报的连接信息;向物理机VTEP模块5011下发物理机VTEP映射表,物理机VTEP映射表包括与所述物理机相应的TOR 502下各虚拟机映射信息;向TOR VTEP模块5021下发与TOR502相应的CR 503下各TOR的虚拟机映射信息;向CR VTEP模块5031下发各CR的虚拟机映射信息。其中虚拟机映射信息包括:虚拟机的MAC信息、地址和归属虚拟网络信息。
[0088] 如图5所示的实施例中,通过管理器对虚拟机映射信息进行分层管理。CR VTEP模块的CR VTEP映射表中具有同一管理器下的所有虚拟机的映射信息,而TOR VTEP模块的TOR VTEP映射表仅具有同一CR下的虚拟机的映射信息,物理机VTEP模块的物理机VTEP映射表仅具有同一TOR下的虚拟机的映射信息。当各VTEP模块接收到源虚拟机的待转发数据时,可以通过查询相应的映射表,当目的虚拟机不在映射表中时,将待转发数据发送至上一层的VTEP模块中进行相应的处理,从而减小了映射表容量,提高了查询速度。同时,可以满足大二层网络的规模扩展需求,满足不同IDC的虚拟机之间的通信,还可以适配不同类型、不同层次的VTEP。
[0089] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0090] 本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。