在虚拟网络中发送报文的方法、装置和系统的制作方法

文档序号:7998975阅读:209来源:国知局
在虚拟网络中发送报文的方法、装置和系统的制作方法
【专利摘要】本发明实施例提供了一种在虚拟网络中发送报文的方法,所述方法包括:接入交换机接收来自远端数据中心中的VM的携带VNID(虚拟网络标识)的三层报文;所述接入交换机根据所述VNID确定DN(指定节点);所述接入交换机根据所述三层报文生成二层帧,其中,所述二层帧包含所述DN的MAC(媒体接入控制)地址;所述接入交换机根据所述DN的MAC地址向所述DN发送所述二层帧,以便所述DN根据所述二层帧确定三层目的地址。这样可以避免VM迁移时数据中心中的报文泛洪。
【专利说明】在虚拟网络中发送报文的方法、装置和系统
【技术领域】
[0001]本申请涉及VN (虚拟网络),尤其涉及一种在虚拟网络中发送报文的方法、装置及系统,以减少DC (数据中心)中ARP (地址解析协议)泛洪和MAC (媒体接入控制)地址表大小。
【背景技术】
[0002]随着VM (虚拟机)的引入,DC中VM向其他物理服务器的迁移将带来新的挑战,例如,分散的多个子网可能跨越不同的TOR (架顶交换机)并且可能存在不连续的地址,但是已迁移的VM将继续保持相同的IP地址。
[0003]图1是现有技术中的VM拓扑的结构示意图。虚拟网络中的子网将跨越众多接入交换机或架顶交换机(TOR)。鉴于业务需求以及先进的服务器虚拟化技术,大型的高度虚拟化的数据中心可能存在几十万台VM,有时甚至上百万台。由于此“ARP表增长”,接入网络中将发生“指数级ARP泛洪”。管理跨越不同TOR的不连续子网需得到处理。
[0004]随着数据中心VM管理程序及网络虚拟化的引入,MAC表的大小将特别大。这是数据中心需要解决的一个全球性问题。
[0005]图2是现有技术中VM迁移拓扑的结构示意图。例如,请参阅图2,在VM迁移场景下,ARP广播/组播消息不再局限于较少数量的端口,接入交换机/网关路由器需要在所有端口泛洪所有ARP请求。由于VM的移动,跨多个机架的VLAN将强制ARP广播。因此,数据中心有几十万台VM和几千台机架,当VM穿过机架移动时,接入交换机的MAC表将非常大。在扁平二层网络中,由于VM迁移的引入,接入交换机需要知道跨所有TOR的所有VM的MAC地址。
[0006]为了解决这一问题,现有技术提供了两种解决方案,其一是为将每个子网分配给一个TOR交换机并禁止VM迁移,另一个是在TOR上使能三层功能,但是这样做会导致高开销并在三层(L3)引起类似问题。
[0007]然而, 申请人:发现,DC中的扁平二层(L2)网络显然需要VM迁移,但是现有的技术导致指数级ARP泛洪以及接入交换机上的MAC表大小增加。例如,当VM从一台TOR迁移到另一台TOR时,所述另一台TOR不知道如何转发所述VM的报文,接入交换机将在整个二层网络泛洪所述报文,因此,所述接入交换机可能需要维护成千上万个ARP表项。

【发明内容】

[0008]本发明的目的是提供一种减少D C中ARP泛洪和MAC地址表大小的方法、装置和系统。
[0009]根据本发明的第一方面,提供了一种在虚拟网络中发送报文的方法,所述方法包括:
接入交换机接收来自远端数据中心中的V M的携带VNID (虚拟网络标识)的三层报文; 所述接入交换机根据所述VNID确定DN (指定节点); 所述接入交换机根据所述三层报文生成二层帧,其中,所述二层帧包含所述DN的MAC(媒体接入控制)地址;
所述接入交换机根据所述DN的MAC地址向所述DN发送所述二层帧,以便所述DN根据所述二层帧确定三层目的地址。
[0010]根据本发明的第二方面,提供了在虚拟网络中发送报文的另一种方法,所述方法包括:
TOR (架顶交换机)交换机接收携带VNID的二层帧;
所述TOR交换机从所述二层帧中提取三层目的地址;
所述TOR交换机判断对应所述三层目的地址的VM (虚拟机)是否在所述TOR交换机上或所述VM是否已迁移;
当所述VM已迁移时,根据所述三层目的地址确定所述VM迁移到的另一台TOR交换机,并向所述另一台TOR交换机发送所述二层帧。
[0011]根据本发明的第三方面,进一步提供了一种在虚拟网络中发送报文的方法,所述方法包括:
TOR交换机接收迁移到所述TOR交换机的VM发送的ARP ;
所述TOR交换机检查所述ARP对应的VNID ;
所述TOR交换机判断所述TOR交换机是否为与所述VNID对应的DN ;
当所述TOR交换机并非与所述VNID对应的DN时,所述TOR交换机生成含所述TOR的MAC地址的代理ARP,并将所述ARP随所述VNID —起广播;
当所述TOR交换机是与所述VNID对应的DN时,所述TOR交换机更新二层表。
[0012]根据本发明的第四方面,提供了一种接入交换机,所述接入交换机包括:
接收单元,用于接收来自远端数据中心中的VM的携带VNID (虚拟网络标识)的三层报文;
判断单元,用于根据所述VNID确定对应所述VNID的DN (指定节点);
生成单元,用于根据所述三层报文生成二层帧,其中,所述二层帧包含所述DN的MAC(媒体接入控制)地址;
发送单元,用于根据所述DN的MAC地址向所述DN发送所述二层帧,以便所述DN根据所述二层帧确定三层目的地址。
[0013]根据本发明的第五方面,提供了一种TOR交换机,所述TOR交换机包括:
接收单元,用于随VNID —起接收二层帧;
提取单元,用于从所述二层帧中提取三层目的地址;
判断单元,用于判断对应所述三层目的地址的VM是否在所述TOR交换机上或是否已迁
移;
第一执行单元,用于当所述VM已迁移时,根据所述三层目的地址确定所述VM迁移到的另一台TOR交换机,并向所述另一台TOR交换机发送所述二层帧。
[0014]根据本发明的第六方面,提供了另一种TOR交换机,所述TOR交换机包括:
接收单元,用于接收迁移到所述TOR交换机的VM发送的ARP ;
检查单元,用于确定所述ARP对应的VNID ;
判断单元,用于判断所述TOR交换机是否为与所述VNID对应的DN ; 执行单元,如果所述TOR交换机并非与所述VNID对应的DN,用于生成含所述TOR的MAC地址的代理ARP,并将所述ARP随所述VNID —起广播;
更新单元,如果所述TOR交换机是与所述VNID对应的DN,用于更新二层表。
[0015]根据本发明的第七方面,提供了一种通信系统,所述系统包括:
接入交换机,用于接收来自远端数据中心的携带VNID的三层报文,确定所述VNID对应的DN,根据所述三层报文生成携带所述VNID的二层帧,并向所述DN发送所述二层帧;
多个TOR交换机,各TOR交换机用于接收携带所述VNID的所述二层帧,根据所述二层帧提取三层目的地址,确定另一台TOR交换机或已迁移VM,并向所述另一台TOR交换机或所述已迁移VM发送所述二层帧。
[0016]本发明的优点在于:第一,当VM迁移时能够避免数据中心内的报文泛洪;第二,当VM迁移到不同的TOR时,能够避免ARP广播;第三,能够避免接入交换机的ARP表大小的增长;第四,能够避免TOR的ARP表大小的增长。
【专利附图】

【附图说明】
[0017]附图被包括在内以提供对本发明的进一步理解,附图构成本说明书的一部分并且说明本发明的优选实施例,并且附图与描述一起用于阐明本发明的原理。在所有的附图中用相同的参考标号来表不相同的兀件。
[0018]图1是现有技术中的VM拓扑的结构示意图。
[0019]图2是现有技术中的VM迁移拓扑的结构示意图。
[0020]图3是本发明的DC网络拓扑的结构示意图。
[0021]图4是根据本发明的一项实施例的方法的流程图。
[0022]图5是根据本发明的另一项实施例的方法的流程图。
[0023]图6是根据本发明的另一项实施例的方法的流程图。
[0024]图7是一个实施例中的DC网络拓扑的结构示意图。
[0025]图8是根据图7的实施例的交换机之间的报文交互的序列图。
[0026]图9是DN表中有关已迁移VM的ARP学习的序列图。
[0027]图10是根据本发明的一项实施例的接入交换机的结构示意图。
[0028]图11是根据本发明的一项实施例的TOR交换机的结构示意图。
[0029]图12是根据本发明的一项实施例的另一台TOR交换机的结构示意图。
[0030]图13是包含图10中的接入交换机和图11和12中的交换机的系统的结构示意图。
【具体实施方式】
[0031]实施例的许多特征和优点从详细说明中显而易见,因此,所附权利要求书意图涵盖属于其真实精神和范围内的实施例的所有此类特征和优点。此外,由于所属领域的技术人员将容易想到多种修改和变化,因而并不希望将发明性实施例限于所说明并描述的确切构造和操作,因此,可以采取的所有适当修改和等效物均落入相应范围内。
[0032]在本申请中,主要在虚拟网络中的接入交换机和TOR交换机的背景下对本发明的各实施例进行描述。然而,应了解,本发明并不限于以接入交换机和TOR交换机为描述背景,而且本发明可以涉及具有交换机功能的任何类型的合适的电子装置。[0033]下文参考附图来描述本发明的优选实施例。
[0034]图3是本发明的DC网络拓扑的结构示意图。如图3所示,有一台接入交换机(三层/ 二层交换机)和三台TOR交换机(TORl、T0R2和T0R3)。在该拓扑中,VMl和VM2属于虚拟网络1,VMl在TORl交换机上,VM2在T0R2交换机上,TORl被确定为所述虚拟网络I的指定节点(DN1)。在该拓扑中,VMa和VMb属于虚拟网络2,VMa在T0R2交换机上,VMb在T0R3交换机上,T0R3被确定为所述虚拟网络2的指定节点(DN2)。
[0035]在本发明的实施例中,所述接入交换机保留VN-DN MAC表,所述VN-DN MAC表指定VN和DN之间的映射。例如,当为DN指定相应的“虚拟网络标识”时,所述接入交换机将维护“虚拟网络标识”和“指定节点MAC”之间的映射表。如图3所示,在所述VN-DN MAC表中,VNl对应DNl的MAC地址,如上文所述,TORl被确定为DNl,这意味着TORl交换机是VNl的所述DN ;类似地,VN2对应DN2的MAC地址,T0R3交换机是VN2的所述DN。
[0036]在本发明的实施例中,各DN保留二层表,所述二层表指定VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定VM的IP地址和TOR的MAC地址之间的映射以及VM的IP地址和VM的MAC地址之间的映射。例如,对于已迁移VM,所述二层表将维护通过代理ARP学习习得的VM的IP地址和TOR的MAC地址之间的映射;对于未迁移的VM,所述二层表将维护VM的IP地址和VM的MAC地址之间的映射。如图3所示,由于VMl在TORl上,VM2在T0R2上,VMa原先在TORl上,后来移动到T0R2上,VMb在T0R2上。因此,在DNl保留的所述二层表中,VMl的IP地址对应TORl的MAC地址,VM2的IP地址对应T0R2的MAC地址;在DN2保留的二层表中,VMa的IP地址对应TORl的MAC地址,VMb的IP地址对应T0R3的MAC地址。
[0037]参阅图3,所述TORl、T0R2和T0R3向接入交换机注册,所述VMl和VM2向虚拟网络I注册,VMa和VMb向虚拟网络2注册。注册过程可以通过现有方法实现,不再对此做任何进一步描述。
[0038]下文将结合附图对根据本发明实施例的方法、装置和系统进行详细描述。
实施例一
[0039]本发明实施例提供了一种在虚拟网络中发送报文的方法。图4是根据本发明的一项实施例的方法的流程图。如图4所示,所述方法包括:
[0040]步骤401:接入交换机接收来自远端数据中心的携带VNID (虚拟网络标识)的三层报文;其中
所述三层报文由数据中心中的一台VM发送给另一台VM。在该实施例中,发送所述三层报文的VM被称为VMs (VM源),接收所述三层报文的VM被称为VMd (VM目的地)。所述VMs发送ARP请求以查找目的MAC地址。本地TOR将生成ARP应答,其中,如果所述TOR未知或非本地,所述ARP应答中包含接入交换机的MAC ;
其中,所述三层报文用于指定三层中的报文,所述报文可以携带数据、控制信息等。这在TCP/IP (发送控制协议/互联网协议)中有定义,其内容结合在此使用,不再做任何进一步描述。
[0041]步骤402:所述接入交换机根据所述VNID确定DN (指定节点);
[0042]步骤403:所述接入交换机根据所述三层报文生成二层帧,所述二层帧包含所述DN的MAC (媒体接入控制)地址;[0043]步骤404:所述接入交换机根据所述DN的MAC地址向所述DN发送所述二层帧,以便所述DN根据所述二层帧确定三层目的地址。
其中,一旦所述从VMs发往VMd的二层帧到达所述接入交换机,所述二层帧将被看成是如上文所解释的来自DC外的流,并遵循相同的处理流程。
[0044]在步骤402的实施方案中,所述接入交换机根据所述VNID查看VN-DN MAC表,并确定与所述VNID相对应的DN。如上文所述,所述VN-DN MAC表指定DN的MAC地址和VNID之间的映射。
[0045]在本实施例中,当虚拟网络跨越多台TOR时,根据配置,其中一台TOR交换机将被指定为“指定节点”(DN)。接入交换机将仅维护相应虚拟实体(虚拟网络)相关的DN的MAC地址。也就是说,各虚拟网络对应一个DN,接入交换机维护指定各VN及其DN之间关系的VN-DN MAC表,并通过查看所述表找出目的TOR (DN)。
[0046]运用本方法的所述实施例,可减少或避免接入网络中的ARP泛洪并控制接入交换机上的二层表(VN-DN MAC表)。
实施例二
[0047]本发明实施例提供了一种在虚拟网络中发送报文的方法。图5是根据本发明的一项实施例的方法的流程图。如图5所示,所述方法包括:
[0048]步骤501 =TOR交换机接收携带VNID的二层帧;
其中,所述二层帧还携带MAC地址,以便可到达所述TOR交换机。
所述二层帧对应实施例一中描述的所述三层报文,且所述二层帧从所述VMs发往所述
VMd0
[0049]步骤502:所述TOR交换机从所述二层帧中提取三层目的地址;
其中,所述TOR交换机可通过从所述二层帧中取数来提取所述三层目的地址。通过现有方法可以实现,不再做任何进一步描述。
[0050]步骤503:所述TOR交换机确定所述VMd是否在所述TOR交换机上还是所述VMd已迁移。
[0051]在一个实施例中,所述VMd在所述TOR交换机上;在另一个实施例中,所述VMd已迁移。若所述VMd已迁移,则执行步骤504至505 ;若所述VMd在所述TOR上,则执行步骤506 至 507。
[0052]步骤504:所述TOR交换机根据所述VNID和所述三层目的地址确定所述VM迁移到的另一台TOR交换机;
其中,所述已迁移VM (VMd)是所述二层帧(三层报文)的目的地,由于所述VMd已迁移,应重新确定其TOR交换机。
[0053]步骤505:所述TOR交换机将所述二层帧发送给所述VMd已迁移到的所述另一台TOR交换机。
[0054]本实施例的所述TOR交换机将接收实施例一中描述的所述接入交换机发送的所述二层帧,并确定所述二层帧的目的VM。
[0055]在步骤504的实施方式中,所述TOR交换机根据所述VNID及所述三层目的地址查看二层表,并确定所述VM已迁移到的所述另一台TOR交换机。所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定上述未迁移VM的VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射以及上述未迁移VM的VM的IP地址和VM的MAC地址之间的映射。利用所述二层表,所述TOR交换机可以找出所述二层帧的目的地。
[0056]在本实施例中,所述TOR交换机是所述虚拟网络的所述DN,接收所述二层帧后,所述DN (所述TOR交换机)从所述二层帧中获取三层目的地址,将VNID及所述三层目的地址用作关键词查看上述二层表,获取所述另一台TOR (所述VMd已迁移至所述另一台TOR)的MAC地址,生成携带所述TOR的MAC地址的二层帧,并将所述二层帧发往所述另一台TOR交换机。
[0057]在另一个实施例中,所述VM在所述TOR交换机上,所述方法进一步包括:
[0058]步骤506:所述TOR交换机根据所述VNID及所述三层目的地址确定所述VM的MAC地址;
其中,所述VM是VMd。在本实施例中,由于所述VMd在所述TOR交换机上,那么目的TOR交换机已确定,应确定所述VMd的MAC地址以便向目的地发送所述二层中贞。
[0059]步骤507:所述TOR交换机向所述VM发送所述二层帧;
其中,在步骤506中,所述VMd的MAC地址已确定;在步骤507中,所述二层帧可发送至所述VMd。
[0060]在步骤505的一个实施方案中,所述TOR交换机根据所述VNID及所述三层目的地址查看所述二层表并确定所述已迁移VM。其中,所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定上述未迁移VM的VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射以及上述未迁移VM的VM的IP地址和VM的MAC地址之间的映射。
[0061 ] 在本实施例中,所述TOR交换机并非所述虚拟网络的DN,但是它却是所述VMd迁移到的TOR交换机。接收所述二层帧后,所述TOR交换机将根据所述二层帧从三层目的地址中取数,将VNID及所述三层目的地址用作关键词查看上述二层表,获取所述VMd的MAC地址,并将所述VMd的MAC地址用作目的MAC地址转发所述二层帧。根据本地边缘虚拟桥接技术,所述二层帧抵达物理主机/服务器。
[0062]运用本方法的所述实施例,可减少或避免接入网络中的ARP泛洪并控制接入交换机上的二层表。
实施例三
[0100]本发明实施例提供了一种在虚拟网络中发送报文的方法。图6是根据本发明的一项实施例的方法的流程图。如图6所示,所述方法包括:
[0101]步骤601 =TOR交换机接收迁移到所述TOR交换机的VM发送的ARP ;
其中,每当VM迁移到一个新物理服务器例如所述TOR交换机时,所述VM将生成ARP和
VM的MAC地址,并将所述ARP从其服务器广播到所述物理服务器(所述TOR交换机)。
[0102]步骤602:所述TOR交换机确定所述ARP对应的VNID ;
其中,所述TOR交换机将通过可用机制检查所述ARP对应的VNID,可用机制例如接口或ARP,取决于VMware实施方案。
[0103]步骤603:所述TOR交换机判断所述TOR交换机是否为与所述VNID对应的DN ;
[0104]步骤604:若所述TOR交换机并非与所述VNID对应的DN,所述TOR交换机生成含所述TOR的MAC地址的代理ARP,并将所述ARP随所述VNID —起广播;
[0105]步骤605:若所述TOR交换机是与所述VNID对应的DN,所述TOR交换机更新二层表。
[0106]运用本方法的所述实施例,可减少或避免接入网络中的ARP泛洪并控制接入交换机上的二层表。
[0107]为了进一步理解实施例一至三的所述方法,下面将结合附图对本发明的方法相关的虚拟网络中三层报文的发送过程进行详细描述。
[0108]图7是本实施例中的DC网络拓扑的结构示意图。图8是在接入交换机、TORl和T0R2中发送三层报文的流程图。图9是DN表中已迁移VM的ARP学习的流程图。
[0109]请参阅图7,在本实施例中,VMl在TORl上,VM2原先在TORl上,但已迁移至T0R2。TORl 的 IP 地址是 10.1.1.x,T0R2 的 IP 地址是 10.1.2.x,T0R3 的 IP 地址是 10.L 3.x。VM2的IP地址是10.1.1.5。
[0110]请参阅图8,接入交换机接收了从远端DC发往IP地址为10.1.1.5的已迁移VM2的三层报文,所述VM2 (原先在TORl上)在T0R2上。
[0111]对于实施例一中所描述的接入交换机:
[0112]所述接入交换机维护VN-DN MAC表,如图8所示,在所述VN-DN MAC表中,VNl对应DNl的MAC地址,VN2对应DN2的MAC地址。所述接入交换机接收来自所述远端数据中心的携带VNID (虚拟网络标识)的三层报文,所述接入交换机通过查看VN-DN MAC表确定与所述VNID相对应的DN。因此,所述接入交换机可以根据所述三层报文创建二层帧,所述二层帧携带所述DN的MAC地址,因而所述二层帧能够被转发至所述DN。所述二层帧中设置有一个比特位,因而所述DN将能够确定所述三层目的地址。
[0113]对于实施例二中所描述的DNl (T0R1交换机):
[0114]所述DNl维护二层表,如图8所示,在所述二层表中,由于VMl未迁移,VMl的IP地址对应VMl的MAC地址;又由于VM2已迁移,VM2的IP地址(10.1.1.5)对应T0R2的MAC地址。接收所述二层帧后,由于所述二层帧中有一个特殊比特位,所述DNl将从所述二层帧中提取所述三层目的地址。将所述三层目的地址(10.1.1.5)用作关键词查看所述DNl中保留的二层表,所述DNl可以获得VM2已迁移至的T0R2的MAC地址。然后,所述DNl生成携带所述T0R2的MAC地址的二层帧,并将所述二层帧转发至所述T0R2。
[0115]对于实施例二中所描述的T0R2交换机:
[0116]跟实施例二中的TORl类似,所述T0R2维护二层表,如图8所示,在所述二层表中,VM2的IP (10.1.1.5)对应VM2的MAC ;VMa的IP对应VMa的MAC。接收所述二层帧后,由于所述二层帧中设置有一个特殊比特位,所述T0R2交换机将从所述三层目的地址(地址是
10.1.1.5)中取数。将所述三层目的地址(10.1.1.5)用作关键词查看所述T0R2中保留的二层表,所述T0R2可以获得所述已迁移VM2的MAC地址。然后,所述T0R2生成携带所述VM2的MAC地址的二层帧,并将所述VM2的MAC地址用作目的MAC地址转发所述二层帧。根据本地边缘虚拟桥接技术,所述二层帧将抵达物理主机/服务器。
[0117]如实施例三所述,每当所述VM2迁移时(在T0R2顶上),所述VM2将在其服务器(T0R2上的主机/VM)上广播其ARP。这样,所述T0R2将通过可用机制检查对应的VNID,可用机制例如接口 /ARP,取决于实施方案。如果TOR并非与所述VNID对应的DN,例如T0R2,所述TOR将生成携带所述VNID的代理ARP广播(包含T0R2的MAC地址和VM的IP地址),如图9所示。如果所述TOR是与所述VNID对应的DN,例如T0R1,所述TOR将更新其二层表,如图9所示。
[0118]根据本发明方法的所述实施例一至三,已经避免了 VM迁移时数据中心中的报文泛洪、VM迁移至不同TOR时的ARP广播、接入交换机上的ARP表大小增大以及TOR交换机上的ARP表大小增大。
实施例四
[0119]本发明的此实施例进一步提供一种接入交换机。此实施例对应于上述实施例一的方法,并且相同内容将不再予以进一步描述。
[0120]图10是根据本发明的一项实施例的接入交换机的结构示意图。所述接入交换机的其他部分可参考现有技术,并且本发明中不对此进行描述。
[0121]如图10所示,所述接入交换机包括接收单元101、判断单元102、生成单元103和发送单元104。
其中,所述接收单元101用于接收来自远端数据中心的携带VNID的三层报文;所述判断单元102用于根据所述VNID确定对应所述VNID的DN ;所述生成单元103用于用于根据所述三层报文生成二层帧,其中,所述二层帧包含所述DN的MAC (媒体接入控制)地址;所述发送单元104用于根据所述DN的MAC地址向所述DN发送所述二层帧,以便所述DN根据所述二层帧确定三层目的地址。
[0122]在本实施例中,所述判断单元102用于根据所述VNID查看VN-DN MAC表,并确定与所述VNID相对应的DN。其中,所述VN-DN MAC表指定指定节点的MAC地址和虚拟网络标识之间的映射。
[0123]运用所述接入交换机的所述实施例,可减少或避免接入网络中的ARP泛洪并控制接入交换机上的二层表(VN-DN MAC表)。
实施例五
[0124]本发明的此实施例进一步提供一种TOR交换机。此实施例对应于上述实施例二的方法,并且相同内容将不再予以进一步描述。
[0125]图11是根据本发明的一项实施例的TOR交换机的结构示意图。所述TOR交换机的其他部分可参考现有技术,并且本发明中不对此进行描述。
[0126]如图11所示,所述TOR交换机包括接收单元111、提取单元112、判断单元113、第一执行单元114和第二执行单元115。
其中,所述接收单元111用于接收二层帧以及VNID。所述提取单元112用于从所述二层帧中提取三层目的地址。所述判断单元113用于判断所述VM是否在所述TOR交换机上或所述VM是否已迁移。所述第一执行单元114用于当所述VM已迁移时,根据所述三层目的地址确定所述VM迁移到的另一台TOR交换机,并向所述另一台TOR交换机发送所述二层帧。所述第二执行单元115用于当所述VM在所述TOR交换机上时,根据所述三层目的地址确定所述VM的MAC地址,并向所述VM发送所述二层帧。
[0127]在此实施例中,所述第一执行单元114用于根据所述三层目的地址查看二层表,并确定所述VM已迁移到的所述另一台TOR交换机。其中,所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定未迁移VM的VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射以及未迁移VM的VM的IP地址和VM的MAC地址之间的映射。
[0128]在此实施例中,所述第二执行单元115用于根据所述三层目的地址查看二层表,并确定已迁移的VM。其中,所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定未迁移VM的VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射以及未迁移VM的VM的IP地址和VM的MAC地址之间的映射。
[0129]运用所述TOR交换机的所述实施例,可减少或避免接入网络中的ARP泛洪并控制接入交换机上的二层表。
实施例六
[0130]本发明的此实施例进一步提供一种TOR交换机。此实施例对应于上述实施例三的方法,并且相同内容将不再予以进一步描述。
[0131]图12是根据本发明的一项实施例的TOR交换机的结构示意图。所述TOR交换机的其他部分可参考现有技术,并且本发明中不对此进行描述。
[0132]如图12所示,所述TOR交换机包括接收单元121、检查单元122、判断单元123、第一执行单元124和更新单元125。
其中,所述接收单元121用于接收迁移到所述TOR交换机的VM发送的ARP ;所述检查单元122用于确定所述ARP对应的VNID ;所述判断单元123用于判断所述TOR交换机是否为与所述VNID对应的DN ;所述执行单元124用于当所述TOR交换机并非与所述VNID对应的DN时,生成含所述TOR的MAC地址的代理ARP,并将所述代理ARP随所述VNID —起广播;所述更新单元125用于当所述TOR交换机是与所述VNID对应的DN时,更新二层表。
[0133]运用所述TOR交换机的所述实施例,可减少或避免接入网络中的ARP泛洪并控制接入交换机上的二层表。
实施例七
[0134]本发明的此实施例进一步提供一种通信系统。图13是根据本发明的一项实施例的系统的结构示意图。
[0135]如图13所示,所述系统包括接入交换机131和多台TOR交换机132。
[0136]所述接入交换机131用于接收来自远端数据中心的携带VNID的三层报文,确定所述VNID对应的DN,根据所述三层报文生成携带所述VNID的二层帧,并向所述DN发送所述二层帧;各TOR交换机132用于接收携带所述VNID的所述二层帧,根据所述二层帧提取三层目的地址,确定另一台TOR交换机或已迁移VM,并向所述另一台TOR交换机或所述已迁移VM发送所述二层帧。
[0137]在本实施例中,所述接入交换机131用于根据所述VNID查看VN-DN MAC表,并确定与所述VNID相对应的DN,其中,所述VN-DN MAC表指定指定节点的MAC地址和虚拟网络标识之间的映射。
[0138]在本实施例中,所述TOR交换机中的一台用于根据所述VNID和所述三层目的地址查看二层表,并确定所述VM已迁移到的所述另一台TOR交换机。其中,所述二层表指定已迁移VM的VM_IP地址和T0R_MAC地址之间的映射,或所述二层表指定未迁移VM的VM_IP地址和VM_MAC地址之间的映射,或所述二层表指定已迁移VM的VM_IP地址和T0R_MAC地址之间的映射以及未迁移VM的VM_IP地址和VM_MAC地址之间的映射。
[0139]在本实施例中,除了一台外,其余TOR交换机中的每台用于根据所述VNID和所述三层目的地址查看二层表,并确定所述已迁移VM。其中,所述二层表指定已迁移VM的VM_IP地址和T0R_MAC地址之间的映射,或所述二层表指定未迁移VM的VM_IP地址和VM_MAC地址之间的映射,或所述二层表指定已迁移VM的VM_IP地址和T0R_MAC地址之间的映射以及未迁移VM的VM_IP地址和VM_MAC地址之间的映射。
[0140]在本实施例中,所述TOR交换机中的每台还可用于,若所述TOR交换机并非与所述VNID对应的DN,生成代理ARP并将所述ARP随所述VNID —起广播;若所述TOR交换机是与所述VNID对应的DN,更新所述二层表。
[0141]在本发明所述系统实施例中,所述接入交换机131可使用实施例四中的接入交换机来实现,其内容结合在此使用,不再做任何进一步描述。
[0142]在本发明所述系统实施例中,所述TOR交换机132可使用实施例五或实施例五和六中的TOR交换机来实现,其内容结合在此使用,不再做任何进一步描述。
[0143]本发明的所述系统,避免了 VM迁移时数据中心中的报文泛洪、VM迁移至不同TOR时的ARP广播、接入交换机上的ARP表大小增大以及TOR交换机上的ARP表大小增大。
[0144]本发明的实施例进一步提供一种计算机可读程序,其中当在接入交换机上执行所述程序时,所述程序使得计算机能够执行实施例一中所描述的在虚拟网络中发送报文的方法。
[0145]本发明的实施例进一步提供一种存储了计算机可读程序的存储介质,其中所述计算机可读程序使得计算机能够实施例一中所描述的在虚拟网络中发送报文的方法。
[0146]本发明的实施例进一步提供一种计算机可读程序,其中当在TOR交换机上执行所述程序时,所述程序使得计算机能够执行实施例二或实施例三中所描述的在虚拟网络中发送报文的方法。
[0147]本发明的实施例进一步提供一种存储了计算机可读程序的存储介质,其中所述计算机可读程序使得计算机能够实施例二或实施例三中所描述的在虚拟网络中发送报文的方法。
[0148]应理解,本发明的各部分可由硬件、软件、固件或其组合来实施。在上述实施例中,多个步骤或方法可由存储在存储器中的软件或固件来实现,并且由适当的指令执行系统来执行。例如,如果由硬件来实现,那么可像在另一实施例中一样由所属领域已知的以下技术中的任一技术或其组合来实现:具有逻辑门电路的用于实现数据信号的逻辑功能的离散逻辑电路、具有适当的组合逻辑门电路的专用集成电路、可编程门阵列(PGA),以及现场可编程门阵列(FPGA)等等。
[0149]流程图中的描述或块或者采用其他形式的任何过程或方法应被理解成表明包含一个或多个模块、片段或部分,用于实现特定逻辑功能或过程中步骤的可执行指令的代码,而且本发明的优选实施例的范围包含其他实施方案,其中这些功能可采用与所示或所述那些不同的方式来执行,包括根据相关功能以基本上同步的方式或以相反的顺序来执行这些功能,本发明相关领域的技术人员应理解上述内容。
[0150]例如,流程图中图示或本文以其他方式描述的逻辑和/或步骤应被理解为用于实现逻辑功能的可执行指令的顺序表,它可在任何计算机可读媒体中实施,以供指令执行系统、装置或设备(例如,包括计算机的系统、包括处理器的系统,或能够从指令执行系统、装置或设备中提取指令并执行这些指令的其他系统)使用,或者与指令执行系统、装置或设备结合使用。
[0151]上述文字描述和附图示出了本发明的各种特征。应理解,所属领域的技术人员可准备合适的计算机代码,以执行上文所述且附图所示的每个步骤和过程。还应理解,所有的终端、计算机、服务器以及网络可以是任何类型的,并且可根据本发明来准备计算机代码,以通过使用相应设备来实现本发明。
[0152]本文中揭示了本发明的特定实施例。所属领域的技术人员将容易认识到本发明可应用于其他环境。实际上,存在许多实施例和实施方案。所附权利要求书并非意图将本发明的范围限于上述特定实施例。此外,任何对“用于……的装置”的引用都是在解释装置加功能,以描述元件和权利要求,而且并不希望将任何未引用“用于……的装置”的元件理解为装置加功能的元件,即使该权利要求中包括词语“装置”也是如此。
[0153]虽然已经示出了一项或多项特定的优选实施例并且已经描述了本发明,但很明显,所属领域的技术人员在阅读并理解上述描述和附图后可想到等效修改和变型。特别是对于由上述元件(部分、组件、设备以及组成等等)执行的多种功能而言,除非另有规定,否则希望描述这些元件的术语(包括对“装置”的引用)对应于执行这些元件的特定功能的任何元件(即,功能等效物),即使该元件不同于执行本发明就相关结构所述的一项或多项示例性实施例的功能的元件。此外,虽然仅参考所述实施例中的一项或多项实施例来描述本发明的特定特征,但是此类特征可根据需要并鉴于任何给定或特定应用的有利方面而与其他实施例的一个或多个其他特征相结合。
【权利要求】
1.一种在虚拟网络中发送报文的方法,其特征在于: 接入交换机接收来自远端数据中心中的V M的携带VNID (虚拟网络标识)的三层报文; 所述接入交换机根据所述VNID确定DN (指定节点); 所述接入交换机根据所述三层报文生成二层帧,其中,所述二层帧包含所述DN的MAC(媒体接入控制)地址; 所述接入交换机根据所述DN的MAC地址向所述DN发送所述二层帧,以便所述DN根据所述二层帧确定三层目的地址。
2.根据权利要求1所述的方法,其中,判断步骤包括: 所述接入交换机根据所述VNID查看VN-DN MAC表,并确定与所述VNID相对应的DN ; 其中,所述VN-DN MAC表指定指定节点的MAC地址和VNID之间的映射。
3.—种在虚拟网络中发送报文的方法,其特征在于: TOR (架顶交换机)交换机接收携带VNID的二层帧; 所述TOR交换机从所述二层帧中提取三层目的地址; 所述TOR交换机判断对应所述三层目的地址的VM (虚拟机)是否在所述TOR交换机上或所述VM是否已迁移; 当所述VM已迁移时,所述TOR交换机根据所述VNID及所述三层目的地址确定所述VM迁移到的另一台TOR交换机,并向所述VM迁移到的所述另一台TOR交换机发送所述二层帧。`
4.根据权利要求3所述的方法,其中,确定另一台TOR交换机的步骤包括: 所述TOR交换机根据所述三层目的地址查看二层表,并确定所述VM已迁移到的所述另一台TOR交换机; 其中,所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定未迁移VM的VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射以及未迁移VM的VM的IP地址和VM的MAC地址之间的映射。
5.根据权利要求3所述的方法,所述方法进一步包括: 当所述VM在所述TOR交换机上时,根据所述VNID及所述三层目的地址确定所述VM的MAC地址,并向所述VM发送所述二层帧。
6.根据权利要求5所述的方法,其中,确定所述VM的MAC地址的步骤包括: 所述TOR交换机根据所述三层目的地址查看二层表,并确定所述已迁移VM ; 其中,所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定未迁移VM的VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射以及未迁移VM的VM的IP地址和VM的MAC地址之间的映射。
7.一种在虚拟网络中发送报文的方法,所述方法包括: TOR交换机接收迁移到所述TOR交换机的VM发送的ARP ; 所述TOR交换机检查所述ARP对应的VNID ; 所述TOR交换机判断所述TOR交换机是否为与所述VNID对应的DN ; 当所述TOR交换机并非与所述VNID对应的DN时,所述TOR交换机生成含所述TOR的MAC地址的代理ARP,并将所述ARP随所述VNID —起广播; 当所述TOR交换机是与所述VNID对应的DN时,所述TOR交换机更新二层表。
8.一种接入交换机,包括: 接收单元,用于接收来自远端数据中心中的VM的携带VNID (虚拟网络标识)的三层报文; 判断单元,用于根据所述VNID确定对应所述VNID的DN (指定节点); 生成单元,用于根据所述三层报文生成二层帧,其中,所述二层帧包含所述DN的MAC(媒体接入控制)地址; 发送单元,用于根据所述DN的MAC地址向所述DN发送所述二层帧,以便所述DN根据所述二层帧确定三层目的地址。
9.根据权利要求8所述的方法,其中所述判断单元用于根据所述VNID查看VN-DNMAC表,并确定与所述VNID相对应的DN, 其中,所述VN-DN MAC表指定指定节点的MAC地址和VNID之间的映射。
10.一种TOR交换机,所述TOR交换机包括: 接收单元,用于接收携带VNID的二层帧;` 提取单元,用于从所述二层帧中提取三层目的地址; 判断单元,用于判断对应所述三层目的地址的VM是否在所述TOR交换机上或是否已迁移; 第一执行单元,用于当所述VM已迁移时,根据所述VNID及所述三层目的地址确定所述VM迁移到的另一台TOR交换机,并向所述VM迁移到的所述另一台TOR交换机发送所述二层帧。
11.根据权利要求10所述的TOR交换机,其中,所述第一执行单元用于根据所述三层目的地址查看二层表,并确定所述VM迁移到的所述另一台TOR交换机; 其中,所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定未迁移VM的VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射以及未迁移VM的VM的IP地址和VM的MAC地址之间的映射。
12.根据权利要求11所述的TOR交换机,其中,所述TOR交换机进一步包括; 第二执行单元,用于当所述VM在所述TOR交换机上时,根据所述三层目的地址确定所述已迁移VM的MAC地址,并向所述VM发送所述二层帧。
13.根据权利要求12所述的TOR交换机,其中,所述第二执行单元用于根据所述三层目的地址查看二层表,并确定所述已迁移VM ; 其中,所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定未迁移VM的VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射以及未迁移VM的VM的IP地址和VM的MAC地址之间的映射。
14.一种TOR交换机,所述TOR交换机包括: 接收单元,用于接收迁移到所述TOR交换机的VM发送的ARP ; 检查单元,用于确定所述ARP对应的VNID ;判断单元,用于判断所述TOR交换机是否为与所述VNID对应的DN ; 执行单元,如果所述TOR交换机并非与所述VNID对应的DN,用于生成含所述TOR的MAC地址的代理ARP,并将所述ARP随所述VNID —起广播; 更新单元,如果所述TOR交换机是与所述VNID对应的DN,用于更新二层表。
15.一种用于虚拟网络的通信系统,所述系统包括: 接入交换机,用于接收来自远端数据中心的携带VNID的三层报文,确定所述VNID对应的DN,根据所述三层报文生成携带所述VNID的二层帧,并向所述DN发送所述二层帧; 多个TOR交换机,各TOR交换机用于接收携带所述VNID的所述二层帧,根据所述二层帧提取三层目的地址,确定另一台TOR交换机或已迁移VM,并向所述另一台TOR交换机或所述已迁移VM发送所述二层帧。
16.根据权利要求15所述的系统,其中,所述接入交换机用于根据所述VNID查看VN-DNMAC表,并确定与所述VNID相对应的DN, 其中,所述VN-DN MAC表指定指定节点的MAC地址和VNID之间的映射。
17.根据权利要求15所述的系统,其中,所述TOR交换机中的一台用于根据所述三层目的地址查看二层表,并确定所述VM迁移到的所述另一台TOR交换机; 其中,所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定未迁移VM的VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定已迁移VM的VM的IP 地址和TOR的MAC地址之间的映射以及未迁移VM的VM的IP地址和VM的MAC地址之间的映 射。
18.根据权利要求15所述的系统,其中,除了一台外,其余TOR交换机中的每台用于根据所述三层目的地址查看二层表,并确定所述已迁移VM ; 其中,所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射,或所述二层表指定未迁移VM的VM的IP地址和VM的MAC地址之间的映射,或所述二层表指定已迁移VM的VM的IP地址和TOR的MAC地址之间的映射以及未迁移VM的VM的IP地址和VM的MAC地址之间的映射。
19.根据权利要求17或权利要求18所述的系统,其中,所述TOR交换机中的每台还可用于,若所述TOR交换机并非与所述VNID对应的DN,生成代理ARP并将所述ARP随所述VNID 一起广播;若所述TOR交换机是与所述VNID对应的DN,更新所述二层表。
【文档编号】H04L12/705GK103491010SQ201310162573
【公开日】2014年1月1日 申请日期:2013年5月3日 优先权日:2012年10月17日
【发明者】凯沙瓦克, 杜如·杜豪迪 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1