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

文档序号:12731261阅读:383来源:国知局
虚拟网络隧道终点映射表管理方法和系统与流程
本发明涉及云计算领域,尤其涉及一种虚拟网络隧道终点映射表管理方法和系统。
背景技术
:目前云计算技术发展迅速,在云计算环境下,通常采用隧道方式来搭建跨主机、跨机架以及跨IDC(InternetDataCenter,互联网数据中心)的大二层网络,常用的隧道技术有VxLAN(VirtualextensibleLocalAreaNetwork,虚拟可扩展局域网)、nvGRE(networkvirtualGenericRoutingEncapsulation,网络虚拟通用路由封装)等。其典型的部署方式如图1所示的TOR(TopofRack,架顶)架构。在同一IDC100下具有多个TOR101,每个TOR101下具有多个物理机102,每个物理机102一般会提供一个VTEP(VxLANTunnelingEndPoint,VxLAN隧道端点)模块1021,VTEP模块1021为软件实现的,物理机102下的虚拟机(VirtualMachine,简称:VM)1022在与位于其它物理机的下的虚拟机通信时,数据需要通过该VTEP模块1021进行VxLAN隧道封装,封装后的数据由底层的网络设备转发到对应VxLAN隧道终点,将隧道数据解封并转发给目标虚拟机。由于相互通信的、位于不同VxLAN通道的虚拟机可能位于任何一台物理服务器上,各物理机的VTEP模块就需要保存其下各虚拟机的MAC(MediaAccessControl,介质访问控制)、其所对应的VTEPIP(InternetProtocol,网络之间互连的协议)地址以及其所处的VxLAN等信息,即VTEP映射表,这样才能保证其在收到相应的二层数据包后,能快速找到目标隧道终点、目标VxLAN的VNI 等信息,并依据这些信息进行隧道数据的封装。这样,在一个大规模的二层网络环境下,当虚拟机数量、物理机数量很多时,由于每个VTEP模块所保存的信息基本一致,各VTEP的映射表都会快速膨胀,对物理主机的性能以及后续的查找速度都会很快形成很大的压力。技术实现要素:本发明的发明人发现了上述现有技术中存在问题,并因此针对上述问题中的至少一个问题提出了一种新的技术方案。根据本发明的一个方面,公开了一种虚拟网络隧道终点映射表管理方法,包括:物理机虚拟可扩展局域网隧道终点VTEP模块接收源虚拟机的待转发数据;物理机VTEP模块查询待转发数据的目的虚拟机是否在物理机VTEP映射表中;若目的虚拟机在物理机VTEP映射表中,则物理机VTEP模块根据物理机VTEP映射表将待转发数据发送至目的虚拟机;若目的虚拟机不在物理机VTEP映射表中,则物理机VTEP模块将待转发数据发送至相应的架顶交换机TORVTEP模块。在一个实施例中,本发明的方法还包括:TORVTEP模块查询目的虚拟机是否在TORVTEP映射表中;若目的虚拟机在TORVTEP映射表中,则TORVTEP模块在TORVTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;若目的虚拟机不在TORVTEP映射表中,则TORVTEP模块将待转发数据发送至相应的CR(CoreRouter,核心路由器)VTEP模块。在一个实施例中,本发明的方法还包括:还包括:CRVTEP模块查询目的虚拟机是否在CRVTEP映射表中;若目的虚拟机在CRVTEP映射表中,则CRVTEP模块在CRVTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;若目的虚拟机不在CRVTEP映射表中,则CRVTEP模块将待转发数据丢弃。在一个实施例中,本发明的方法还包括:管理器接收物理机VTEP模块上报的虚拟机映射信息和物理机、TOR和CR上报的连接信息;管理器向物理机VTEP模块下发物理机VTEP映射表,物理机VTEP映射表包括与物理机相应的TOR下各物理机的虚拟机映射信息;管理器向TORVTEP模块下发与TOR相应的CR下各TOR的虚拟机映射信息;管理器向CRVTEP模块下发各CR的虚拟机映射信息。在一个实施例中,虚拟机映射信息包括:虚拟机的介质访问控制层MAC信息、地址和归属虚拟网络信息。根据本发明的另一方面,公开了一种虚拟网络隧道终端映射表管理系统,包括位于物理机的物理机虚拟可扩展局域网隧道终点VTEP模块和位于架顶交换机TOR的TORVTEP模块,其中:物理机VTEP模块,用于接收源虚拟机的待转发数据;查询待转发数据的目的虚拟机是否在物理机VTEP映射表中;若目的虚拟机在物理机VTEP映射表中,则根据物理机VTEP映射表将待转发数据发送至目的虚拟机;若目的虚拟机不在物理机VTEP映射表中,则将待转发数据发送至相应的TORVTEP模块;TORVTEP模块,用于接收物理机VTEP模块发送的待转发数据。在一个实施例中,还包括位于核心路由器CR的CRVTEP模块,其中,TORVTEP模块,还用于查询目的虚拟机是否在TORVTEP映射表中;若目的虚拟机在TORVTEP映射表中,则在TORVTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;若目的虚拟机不在TORVTEP映射表中,则将待转发数据发送至相应的CRVTEP模块;CRVTEP模块,用于接收TORVTEP模块发送的待转发数据。在一个实施例中,CRVTEP模块,还用于查询目的虚拟机是否在CRVTEP映射表中;若目的虚拟机在CRVTEP映射表中,则在CRVTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;若目的虚拟机不在CRVTEP映射表中,则将待转发数据丢弃。在一个实施例中,还包括:管理器,用于接收物理机VTEP模块上报的虚拟机映射信息和物理机、TOR和CR上报的连接信息;向物理机VTEP模块下发物理机VTEP映射表,物理机VTEP映射表包括与物理机相应的TOR下各虚拟机映射信息;向TORVTEP模块下发与TOR相应的CR下各TOR的虚拟机映射信息;向CRVTEP模块下发各CR的虚拟机映射信息。在一个实施例中,虚拟机映射信息包括:虚拟机的介质访问控制层MAC信息、地址和归属虚拟网络信息。本发明的虚拟网络隧道终端映射表管理方法和系统,通过对VTEP映射表进行分层管理,减少了VTEP映射表对各级VTEP的存储、查询压力,配置灵活、可扩展性强,便于实现租户跨网络大二层的灵活组网和规模扩展。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中IDC架构的示意图。图2为本发明的虚拟网络隧道终端映射表管理方法的一个实施例的流程图。图3为本发明的虚拟网络隧道终端映射表管理方法的另一个实施例的流程图。图4为本发明的虚拟网络隧道终端映射表管理方法的又一个实施例的流程图。图5为本发明的虚拟网络隧道终端映射表管理系统的一个实施例的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图2为本发明的虚拟网络隧道终端映射表管理方法的一个实施例的流程图。如图2所示,本实施例的方法步骤如下:步骤201,物理机VTEP模块接收源虚拟机的待转发数据。步骤202,物理机VTEP模块查询待转发数据的目的虚拟机是否在物理机VTEP映射表中。若目的虚拟机在物理机VTEP映射表中则进入步骤203,若目的虚拟机不在物理机VTEP映射表中,则进入步骤204。在一个实施例中,物理机VTEP映射表中包括了该物理机下的虚拟机映射信息以及与该物理机在同一TOR下的其他物理机下的虚拟机映射信息。虚拟机映射信息可以包括虚拟机的MAC信息、IP地址和归属虚拟网络信息,其中,归属虚拟网络信息可以包括但不限于归属的物理机VTEP模块ID、归属的VLAN/VNI(VxLANNetworkIdentifier,VxLAN网络标识符)信息等。例如ID为VTEP-1的物 理机VTEP模块的物理机VTEP映射表如表1所示:VTEP-IDVLAN/VNIIPMACVTEP-110001.1.1.1aa-bb-cc-dd-ee-ffVTEP-210002.2.2.2ab-cd-ef-gh-ij-kl表1其中,VTEP-2为同一TOR下的另一物理机的物理机VTEP模块ID。步骤203,物理机VTEP模块根据物理机VTEP映射表将待转发数据发送至目的虚拟机。当目的虚拟机在物理机VTEP映射表中,则物理机VTEP直接将待转发数据发送至目的虚拟机。步骤204,物理机VTEP模块将待转发数据发送至相应的TORVTEP模块,以便通过TORVTEP模块将待转发数据发送至目的虚拟机。当物理机VTEP模块在其物理机VTEP映射表中没有查找到目的虚拟机时,说明目的虚拟机不在同一TOR下的物理机中,因此将待转发数据发送至TOR中的TORVTEP模块,以便通过TORVTEP模块将待转发数据发送至目的虚拟机。图2所示实施例中,物理机VTEP模块仅负责将待转发数据发送至同一TOR下的目的虚拟机中,对于不同TOR下的目的虚拟机,则将数据转发至TORVTEP模块,由TORVTEP模块进行相应的处理。因此,在物理机VTEP模块中,仅需保存同一TOR下的虚拟机映射信息,而无需将同一IDC下的全部虚拟机映射信息都进行保存。与现有技术相比,本发明对虚拟机映射信息采用了层次化管理方式,尤其有效减轻了物理机VTEP模块中软件实现的物理机VTEP映射表容量压力,提升了物理机VTEP模块映射查找速度。图3为本发明的虚拟网络隧道终端映射表管理方法的另一个实施例的流程图。如图3所示,本实施例的方法步骤如下:步骤301,物理机VTEP模块接收源虚拟机的待转发数据。步骤302,物理机VTEP模块查询待转发数据的目的虚拟机是否 在物理机VTEP映射表中。若目的虚拟机在物理机VTEP映射表中则进入步骤303,若目的虚拟机不在物理机VTEP映射表中,则进入步骤304。在一个实施例中,物理机VTEP映射表可以如表1所示。步骤303,物理机VTEP模块根据物理机VTEP映射表将待转发数据发送至目的虚拟机。步骤304,物理机VTEP模块将待转发数据发送至相应的TORVTEP模块。步骤305,TORVTEP模块查询目的虚拟机是否在TORVTEP映射表中。若目的虚拟机在TORVTEP映射表中,则进入步骤306;否则,进入步骤307。步骤306,TORVTEP模块在TORVTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至所述目的虚拟机。在一个实施例中,TORVTEP映射表如表2所示,其中包括了该TOR下的虚拟机映射信息以及与该TOR在同一CR的其他TOR下的虚拟机映射信息。虚拟机映射信息可以包括虚拟机的MAC信息、IP地址和归属虚拟网络信息,还包括归属的TORID等信息,以便TORVTEP模块根据TORVTEP映射表中的目的虚拟机的映射信息,将待转发数据重新封装,转发至目的虚拟机。TOR-IDVTEP-IDVLAN/VNIIPMACT1VTEP-110001.1.1.1aa-bb-cc-dd-ee-ffVTEP-210002.2.2.2ab-cd-ef-gh-ij-klT2……………………表2其中,如表2所示,在同一CR下,具有两个TOR,对应的TORVTEP模块的TOR-ID分别为T1和T2,其中T1中物理机VTEP模块为VTEP-1和VTEP-2,T2中也具有物理机VTEP模块(表2中省略),由于TORVTEP模块T1和T2属于相同的CR,因此T1和T2的TORVTEP映射表包括二者下面的所有虚拟机的映射信息。 例如,当TORVTEP模块T1在接收到目的虚拟机属于T2的待转发数据后,查询TORVTEP映射表获取目的虚拟机映射信息,将待转发数据重新封装后发送给T2下的目的虚拟机。步骤307,TORVTEP模块将待转发数据发送至相应的CRVTEP模块。当TORVTEP模块没有查询到目的虚拟机的映射信息时,表明目的虚拟机与该TOR不在同一CR下,因此将待转发数据发送至其所属CR的CRVTEP模块,以便CRVTEP模块进一步将数据转发至目的虚拟机。在一个实施例中,当CRVTEP模块接收到待转发数据后,还包括:步骤308,CRVTEP模块查询目的虚拟机是否在CRVTEP映射表中。若目的虚拟机在CRVTEP映射表中,则进入步骤309;否则,进入步骤310。例如,CRVTEP映射表可以如表3所示,其中包括了该CR下的虚拟机映射信息以及与该CR在同一管理器的其他CR下的虚拟机映射信息。还包括归属的CRID和IDCID等信息,以便CRVTEP模块根据CRVTEP映射表中的目的虚拟机的映射信息,将待转发数据重新封装,转发至目的虚拟机。IDCIDCR-IDTOR-IDVTEP-IDVLAN/VNIIPMAC1CR1T1VTEP-110001.1.1.1aa-bb-cc-dd-ee-ffVTEP-210002.2.2.2ab-cd-ef-gh-ij-klT2……………………2CR2T3……………………T4……………………表3步骤309,CRVTEP模块将待转发数据重新封装后发送至目的虚拟机。当CRVTEP模块查询目的虚拟机在CRVTEP映射表中时,将待转发数据重新封装后发送至目的虚拟机。步骤310,将待转发数据丢弃。当CRVTEP模块查询目的虚拟机不在CRVTEP映射表中时,将待转发数据丢弃。如图3所示的实施例中,对虚拟机映射信息进行分层管理。CRVTEP模块的CRVTEP映射表中具有同一管理器下的所有虚拟机的映射信息,而TORVTEP模块的TORVTEP映射表仅具有同一CR下的虚拟机的映射信息,物理机VTEP模块的物理机VTEP映射表仅具有同一TOR下的虚拟机的映射信息。当接收到源虚拟机的待转发数据时,可以通过查询相应的映射表,当目的虚拟机不在映射表中时,将待转发数据发送至上一层的VTEP模块中进行相应的处理,从而减小了映射表容量,提高了查询速度。同时,可以满足大二层网络的规模扩展需求,满足不同IDC的虚拟机之间的通信,还可以适配不同类型、不同层次的VTEP。图4为本发明的虚拟网络隧道终点映射表管理方法中映射信息下发方法的一个实施例的流程图。如图4所示,包括:步骤401,管理器接收物理机VTEP模块上报的虚拟机映射信息和物理机、TOR和CR上报的连接信息。其中虚拟机映射信息包括虚拟机的MAC信息、IP地址和归属虚拟网络信息,其中,归属虚拟网络信息可以包括但不限于归属的物理机VTEP模块ID、归属的VLAN/VNI信息等。连接信息包括物理机、TOR和CR之间的拓扑连接关系,以及层次归属关系。步骤402,管理器向物理机VTEP模块下发物理机VTEP映射表。例如表1所示的物理机VTEP映射表。步骤403,管理器向TORVTEP模块下发与TOR相应的CR下各TOR的虚拟机映射信息。例如表2所示的TORVTEP映射表。步骤404,管理器向CRVTEP模块下发个CR的虚拟机映射信息。例如表3所示的CRVTEP映射表。如图4所示的实施例中,管理器将虚拟机的映射信息进行分层下发,能够有效减少物理机VTEP映射表和TORVTEP映射表的容量,其结构便于快速查找,提高数据转发效率,可扩展性强,可以适配不 同类型、不同层次的VTEP。图5为本发明的虚拟网络隧道终端映射表管理系统的一个实施例的示意图。包括位于物理机501的物理机VTEP模块5011和位于TOR502的TORVTEP模块5021,其中:物理机VTEP模块5011其下有虚拟机5012,接收源虚拟机的待转发数据;查询待转发数据的目的虚拟机是否在物理机VTEP映射表中;若目的虚拟机在物理机VTEP映射表中,则根据物理机VTEP映射表将待转发数据发送至目的虚拟机;若目的虚拟机不在物理机VTEP映射表中,则将待转发数据发送至相应的TORVTEP模块5021。其中,物理机VTEP映射表可以如表1所示。TORVTEP模块5021用于接收物理机VTEP模块5011发送的待转发数据。本实施例中,物理机VTEP模块5011仅负责将待转发数据发送至同一TOR下的目的虚拟机中,对于不同TOR下的目的虚拟机,则将数据转发至TORVTEP模块5021,由TORVTEP模块5021进行相应的处理。因此,在物理机VTEP模块5011中,仅需保存表1所示的同一TOR下的虚拟机映射信息,而无需将同一IDC下的全部虚拟机映射信息都进行保存。同现有技术相比,本发明的管理系统对虚拟机映射信息采用了层次化管理方式,尤其有效减轻了物理机VTEP模块5011中软件实现的物理机VTEP映射表容量压力,提升了物理机VTEP模块映射查找速度。在一个实施例中,还包括位于CR503的CRVTEP模块5031,其中:TORVTEP模块5021还用于查询目的虚拟机是否在TORVTEP映射表中;若目的虚拟机在TORVTEP映射表中,则在TORVTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;若目的虚拟机不在TORVTEP映射表中,则将所述待转发数据发送至相应的CRVTEP模块5031。其中,TORVTEP映射表可以表2所示。CRVTEP模块5031用于接收TORVTEP模块5021发送的待转发数据。在一个实施例中,CRVTEP模块,在接收到到待转发数据后,查询目的虚拟机是否在CRVTEP映射表中;若目的虚拟机在CRVTEP映射表中,则在CRVTEP映射表中提取出目的虚拟机的映射信息,将待转发数据重新封装后发送至目的虚拟机;若目的虚拟机不在CRVTEP映射表中,则将待转发数据丢弃。其中,CRVTEP映射表可以如表3所示。在一个实施例中,本发明的管理系统还包括管理器504用于接收物理机VTEP模块5011上报的虚拟机映射信息和物理机501、TOR502和CR503上报的连接信息;向物理机VTEP模块5011下发物理机VTEP映射表,物理机VTEP映射表包括与所述物理机相应的TOR502下各虚拟机映射信息;向TORVTEP模块5021下发与TOR502相应的CR503下各TOR的虚拟机映射信息;向CRVTEP模块5031下发各CR的虚拟机映射信息。其中虚拟机映射信息包括:虚拟机的MAC信息、地址和归属虚拟网络信息。如图5所示的实施例中,通过管理器对虚拟机映射信息进行分层管理。CRVTEP模块的CRVTEP映射表中具有同一管理器下的所有虚拟机的映射信息,而TORVTEP模块的TORVTEP映射表仅具有同一CR下的虚拟机的映射信息,物理机VTEP模块的物理机VTEP映射表仅具有同一TOR下的虚拟机的映射信息。当各VTEP模块接收到源虚拟机的待转发数据时,可以通过查询相应的映射表,当目的虚拟机不在映射表中时,将待转发数据发送至上一层的VTEP模块中进行相应的处理,从而减小了映射表容量,提高了查询速度。同时,可以满足大二层网络的规模扩展需求,满足不同IDC的虚拟机之间的通信,还可以适配不同类型、不同层次的VTEP。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介 质可以是只读存储器,磁盘或光盘等。本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1