一种边缘设备报文转发时的mac学习方法及边缘设备的制作方法

文档序号:7982657阅读:254来源:国知局
一种边缘设备报文转发时的mac学习方法及边缘设备的制作方法
【专利摘要】本发明提供一种边缘设备报文转发时的媒体接入控制(MAC)地址学习方法以及边缘设备,该方法用于以太网虚拟化(EVI)网络中的服务器端边缘设备(ED)以及客户端ED。即:在服务器端边缘设备(ED)和客户端ED之间建立备用隧道。服务器端ED和客户端ED利用备用隧道接收未知单播报文,对该报文进行MAC学习后再进行相应的报文转发。应用本发明方案,由于边缘设备是通过备用隧道转发未知单播流量,并在转发的过程中学习MAC地址,既可以达到MAC学习的目的,又可以有效地抑制报文的泛洪。
【专利说明】—种边缘设备报文转发时的MAC学习方法及边缘设备
【技术领域】
[0001]本发明涉及通信【技术领域】,特别涉及一种边缘设备报文转发时的MAC学习方法及边缘设备。
【背景技术】
[0002]以太网连接虚拟化(EthernetVirtual Interconnection, EVI)网络是一种可以将异地部署的多个站点网络连接起来的网络,是基于虚拟链路实现各站点网络之间二层互联的系统。EVI网络利用先进的“MAC in IP”技术,实现基于IP核心网的二层虚拟专用网络(L2VPN)技术。
[0003]EVI网络通常由核心网络、交叠网络和若干站点网络等组成。
[0004]其中,核心网络主要由IP路由设备承载的提供站点网络之间互联的网络,是公网,主要进行隧道报文的IP转发。
[0005]交叠网络是站点边缘设备之间建立的虚拟网络,实现虚拟局域网(Virtual LocalArea Network, VLAN)在不同站点之间的扩展,提供站点网络之间的二层互联。
[0006]站点网络由一台或多台边缘设备(Edge Device, ED)连接到核心网络的具有独立业务功能的二层网络,其边缘设备可以提供站点之间的二层交换功能。
[0007]在现有的EVI网络中,ED之间通常采用全连接架构,即:各个ED之间分别建立隧道。站点之间的媒体接入控制(Media Access Control, MAC)地址是通过中间系统到中间系统(Intermediate System-1ntermediate System, ISIS)协议来发布的。比如:某个站点的ED新学习到站点内的某个MAC,可以采用ISIS协议并通过隧道将该MAC泛洪给其它所有的ED。但如果需要发布的MAC地址数量非常庞大,可能会造成报文的丢失,以至对端无法学习到MAC地址。此外,各站点用户互访时,如果某ED在自身MAC表中无法查询到报文目的MAC地址,该报文就是一个未知单播报文。对此,ED可以采用EVI Flooding或EVI NoFlooding两种模式处理。对于EVI Flooding模式,ED会将未知单播报文泛洪给其它所有的ED,这同样会因为泛洪带来丢失报文或占用资源等缺陷。而对于EVI No Flooding模式,ED直接将未知单播报文丢弃,这将导致访问的失败。

【发明内容】

[0008]有鉴于此,本发明提供了一种边缘设备报文转发时的MAC学习方法及边缘设备,可以不依靠ISIS协议发布MAC而同样可能学习到MAC,尽量避免泛洪造成报文丢失及占用资源的缺陷。
[0009]为达到上述目的,本发明实施例的技术方案可以这样实现:
[0010]一种边缘设备报文转发时的MAC学习方法,该方法用于以太网虚拟化EVI网络中的服务器端边缘设备ED,所述服务器端ED和EVI网络中的客户端ED之间建立了主用隧道,在所述服务器端ED和客户端ED之间还建立备用隧道,用于承载未知单播报文;该方法还包括:[0011]所述服务器端ED从备用隧道接收来自源客户端ED发送的未知单播报文,所述未知单播报文携带有源客户端ED的ED标识;所述服务器端ED对该报文的源MAC地址进行学习,将学习到的MAC地址、该服务器端ED和源客户端ED之间的主用隧道所对应的出接口一并配置给自身的MAC表;
[0012]所述服务器端ED根据所述未知单播报文的目的MAC地址查询MAC表,命中本地站点,则进行本地转发;命中远端站点,则通过自身和该目的客户端ED之间的备用隧道转发出去;未命中,则在EVI实例内进行广播。
[0013]针对上述发明目的,还提出一种实施例方案,可以这样实现:
[0014]一种边缘设备报文转发时的MAC学习方法,该方法用于以太网虚拟化EVI网络中的客户端边缘设备ED,所述客户端ED和服务器端ED之间建立了主用隧道,在所述客户端ED与所述服务器端之间还建立备用隧道,用于承载未知单播报文;该方法还包括:
[0015]所述客户端ED作为源客户端ED发送未知单播报文时,将自身的ED标识添加到该未知单播报文中,并通过自身与服务器端ED之间建立的备用隧道发送给服务器端ED ;
[0016]所述客户端ED作为目的客户端ED从备用隧道接收到未知单播报文时,根据该未知单播报文携带的ED标识获知源客户端ED,并对该报文的源MAC地址进行学习,将学习到的MAC地址、目的客户端ED自身和源客户端ED之间的主用隧道所对应的出接口一并配置给MAC表;再根据所述未知单播报文的目的MAC地址查询自身的MAC表,如果命中本地站点,则进行本地转发;如果未命中,则在本虚拟局域网VLAN内广播。
[0017]针对上述发明目的,本发明实施例提出这样一种方案:
[0018]一种边缘设备,该设备为以太网虚拟化EVI网络中的服务器端边缘设备ED,包括主控单元、转发单元和接口单元,所述服务器端ED和EVI网络中的客户端ED之间均建立了主用隧道;
[0019]所述转发单元用于,在接口单元从备用隧道接收到来自源客户端ED的未知单播报文时,所述未知单播报文携带有源客户端ED的ED标识,对该报文的源MAC地址进行学习,并将学习到的MAC地址、该服务器端ED和源客户端ED之间的主用隧道所对应的出接口一并配置给MAC表;还用于,根据所述未知单播报文的目的MAC地址查询MAC表,命中本地站点,则通过接口单元进行本地转发;命中远端站点,则通过接口单元并利用与目的客户端ED之间的备用隧道转发出去;未命中,则通过接口单元在EVI实例内进行广播。
[0020]针对上述发明目的,本发明实施例还提出这样一种方案:
[0021]一种边缘设备,该设备为以太网虚拟化EVI网络中的客户端边缘设备ED,包括主控单元、转发单元和接口单元,所述客户端ED和EVI网络中的服务器端ED之间建立了主用隧道;
[0022]所述主控单元用于,在作为源客户端ED发送未知单播报文时,将自身的ED标识添加到该未知单播报文中;
[0023]所述转发单元用于,在作为源客户端ED时,通过接口单元从与服务器端ED之间建立的备用隧道发送给服务器端ED ;在作为目的客户端ED时,通过接口单元从备用隧道接收到服务器端ED转发的未知单播报文,根据该未知单播报文携带的ED标识获知源客户端ED,对该报文的源MAC地址进行学习,将学习到的MAC地址、目的客户端ED自身和源客户端ED之间的主用隧道所对应的出接口一并配置给MAC表;还用于根据所述未知单播报文的目的MAC地址查询MAC表,如果命中本地,则通过接口单元进行本地转发;如果未命中,则通过接口单元在本VLAN内进行广播。
[0024]综上所述,本发明提供了一种边缘设备报文转发时的MAC学习方法及边缘设备,在服务器端ED和客户端ED之间建立备用隧道,用于承载未知单播报文。服务器端ED和客户端ED可以利用备用隧道来转发未知单播报文,并在报文转发的过程中达到MAC学习的目的,同时有效地抑制报文的泛洪。
【专利附图】

【附图说明】
[0025]图1是本发明实施例一的系统结构图。
[0026]图2是本发明实施例一中服务器端ED的内部结构示意图。
[0027]图3是本发明实施例一中客户端ED的内部结构示意图。
[0028]图4是本发明实施例二中的系统结构图。
[0029]图5是本发明实施例二中添加了 ED标识的报文格式。
【具体实施方式】
[0030]本发明实施例一提出一种解决方案,S卩:在以太网虚拟化(EVI)网络中,边缘设备(ED)进行报文转发时,如果接收到远端站点的单播报文,可以直接利用该报文进行MAC学习,并进行报文转发。
[0031 ] 但,在MAC学习过程中,特别是初期阶段,由于各ED未学习到远端站点下挂主机的MAC地址,需要转发的报文大多是未知单播报文,这就可能引起大量的未知单播报文泛洪的现象。比如:ED1站点内用户设备CEl下挂的主机hostl要发送报文给ED2站点内CE2下挂的主机host2,但EDl事先并未学习到host2的MAC地址,自然无法根据MAC表命中目的MAC地址,那么该报文就是通常所说的未知单播报文。为了将报文发送给目的地,EDl可能会将该未知单播报文泛洪给EVI网络中其他所有的ED设备。为了抑制这种泛洪,本发明实施例中,除了各个ED之间建立主用隧道,还在服务器端ED和客户端ED之间建立了备用隧道,用于承载未知单播报文。这里所述主用隧道和备用隧道为EVI隧道。该EVI隧道的隧道类型是IP GRE隧道,用于承载EVI Link,一条隧道上可以承载多条EVI Link。EVI隧道是点到多点的自动隧道,本地站点通过一条EVI隧道可以和多个邻居站点建立连接,其中每一个连接对应一个EVI Link。
[0032]另外,为了表明未知单播报文的来源,还在其中添加了源ED的ED标识,使接收到该报文的ED可以正确地学习MAC地址。因此,本发明实施例中,当源客户端ED需要泛洪未知单播报文时,可以通过备用隧道将报文仅泛洪给服务器端ED,再由服务器端ED转发给目的客户端ED。同时,在报文转发过程中,服务器端ED和客户端ED都可以完成MAC学习。
[0033]图1是本发明实施例一的系统架构示意图。如图1所示,该EVI网络中包括一个服务器端ED,若干客户端ED,各ED站点内有若干CE,每个CE下挂有若干主机。各个ED之间都建立了主用隧道,此外,服务器端ED和各个客户端ED之间还建立了备用隧道,用于专门承载未知单播报文。这里,各ED和其下属的CE构成的网络就是站点网络,各ED之间交互的公网就是核心网络。
[0034]为了更好地说明本实施例方案,下面分别对服务器端ED和客户端ED详细描述。[0035]图2是服务器端ED的内部结构示意图。如图2所示,服务器端ED包括:主控单元1011、转发单元1012和接口单元1013。实际应用中,主控单元1011由CPU等硬件实现;转发单元1012与现有技术中的转发单元一样,保存有MAC硬件表,主要负责报文转发时的地址查询等工作;而接口单元1013主要指边缘设备对外的接口,包括物理端口或逻辑接口。其中,
[0036]所述转发单元1012用于,在接口单元1013从备用隧道接收到来自源客户端ED的未知单播报文时,所述未知单播报文携带有源客户端ED的ED标识,对该报文的源MAC地址进行学习,并将学习到的MAC地址、该服务器端ED和源客户端ED之间的主用隧道所对应的出接口一并配置给MAC表;还用于,根据所述未知单播报文的目的MAC地址查询MAC表,命中本地站点,则通过接口单元1013进行本地转发;命中远端站点,则通过接口单元1013并利用与目的客户端ED之间的备用隧道转发出去;未命中,则通过接口单元1013在EVI实例内进行广播。
[0037]也就是说,服务器端ED可以从备用隧道接收到的未知单播报文中学习到报文的源MAC地址,并在查询MAC表之后进行相应的报文转发。需要注意的是,服务器端ED虽然是从备用隧道接收到未知单播报文,但,是将源MAC地址以及主用隧道所对应的出接口这一对应关系配置到自身的MAC表。其原因是:服务器端ED —旦学习到源MAC地址后,如果后续要发送报文给该源MAC地址对应的设备时,此报文就应该是已知单播报文,无需再从备用隧道发送,直接从主用隧道发送,即根据MAC表中的主用隧道对应的出接口将报文发送出去。还需要注意的是,服务器端ED将未知单播报文转发给远端站点时,仍然需要从备用隧道发送,以便于远端站点正确地学习MAC地址。
[0038]图3是客户端ED的内部结构示意图。如图2所示,客户端ED也包括:主控单元1021、转发单元1022和接口单元1023。实际应用中,主控单元1021由CPU等硬件实现;转发单元1022保存有MAC硬件表,主要负责报文转发时的地址查询等工作;而接口单元1023主要指边缘设备对外的接口,包括物理端口或逻辑接口。其中,
[0039]所述主控单元1021用于,在作为源客户端ED发送未知单播报文时,将自身的ED标识添加到该未知单播报文中;
[0040]所述转发单元1022用于,在作为源客户端ED时,通过接口单元1023从与服务器端ED之间建立的备用隧道发送给服务器端ED ;在作为目的客户端ED时,通过接口单元1023从备用隧道接收到服务器端ED转发的未知单播报文,根据该未知单播报文携带的ED标识获知源客户端ED,对该报文的源MAC地址进行学习,将学习到的MAC地址、目的客户端ED自身和源客户端ED之间的主用隧道所对应的出接口一并配置给MAC表;还用于根据所述未知单播报文的目的MAC地址查询MAC表,如果命中本地,则通过接口单元1023进行本地转发;如果未命中,则通过接口单元1023在本VLAN内进行广播。
[0041]也就是说,目的客户端ED可以从备用隧道接收到的未知单播报文中学习到报文的源MAC地址,并在查询MAC表之后进行相应的报文转发。需要注意的是,目的客户端ED虽然是从备用隧道接收到未知单播报文,但,是将源MAC地址以及自身与源客户端ED之间的主用隧道所对应的出接口下发到自身的MAC表。其原因是:目的客户端ED学习到的是源客户端ED站点下挂主机MAC地址,但,是从目的客户端ED与服务器端ED之间的备用隧道接收到的。如果目的客户端后续直接利用该备用隧道回应报文,将无法正确地到达源客户端ED,因此,在MAC学习时应该保存目的客户端ED与源客户端ED之间的主用隧道对应的出接口。
[0042]为了更好地描述本发明方案,下面再用一个实施例详细说明。
[0043]以图4为例,假设服务器端ED211站点内有CE221,下挂主机Host231,客户端ED212站点内有CE222,下挂主机Host232,客户端ED231站点内有CE223,下挂主机Host233,客户端ED214站点内有CE224,下挂主机Host234。ED211?ED214两两之间建立了主用隧道,且服务器端ED211还分别与客户端ED212?ED214之间建立了备用隧道,并在EVI隧道的基础上建立EVI LINK连接。其中,EDl和ED2之间的连接为LINKl和LINK1-2,EDl和ED3之间的连接为LINK2和LINK2-2,EDl和ED4之间的连接为LINK3和LINK3-2。不管是主用隧道,还是备用隧道,可以采用现有的方法建立,比如建立IP GRE隧道等。
[0044]本实施例假设客户端ED212站点内的主机Host232要访问客户端ED213站点内的主机Host233,而客户端ED212之前还没有学习到Host232和Host233的MAC地址,客户端ED213之前没有学习到Host232的MAC地址。
[0045]本实施例中的未知单播报文需要添加源客户端ED的ED标识,添加后的报文格式如图5所示。其中,“EV1-ED Indentifier”字段就是ED标识。实际应用中,各个ED可以事先配置ED标识。比如:可以将EDl的标识配置为idl,对应的地址为1.1.1.1 ;ED2的标识配置为id2,对应的地址为2.2.2.2 ;ED3的标识配置为id3,对应的地址为3.3.3.3 ;ED4的标识配置为id4,对应的地址为4.4.4.4。这里,所述的地址可以唯一标识EVI隧道的设备,因此根据未知单播报文中的ED标识,就可以通过对应的地址明确源客户端ED。
[0046]下面分两个阶段介绍本发明实施例实现访问的方案:
[0047]第一阶段:CE222连接的Host232向CE223连接的Host233发送以太网报文。
[0048]步骤S1:CE222将来自Host232的以太网报文发送给ED212,所述以太网报文携带有源MAC地址和目的MAC地址。其中,源MAC地址为Host232的MAC地址,目的MAC地址为Host233 的 MAC 地址。
[0049]步骤S2:ED212进行MAC学习,ED212将以太网报文的源MAC地址、所属VLAN和接收该以太网报文的端口保存在对应的EVI实例的MAC表中。
[0050]这里,ED212可以根据接收到的以太网报文所属VLAN绑定的EVI实例确定对应的EVI实例。
[0051]步骤S3:ED212根据以太网报文的目的MAC地址在MAC表中未查找到匹配表项,则根据与服务器端ED211间的备用隧道将以太网报文头封装为Ethernet over IP GRE隧道报文,将自身的ED标识添加到该隧道报文。
[0052]如图5所示为ED212发送的携带有ED标识的Ethernet over IP GRE隧道报文的报文格式。图5中,IP GRE隧道头包括IP报文头和GRE报文头。相对于图5所示以太网报文所承载的IP报文的IP报文头,IP GRE隧道头中的IP报文头可以看作隧道报文的外层IP报文头,IP GRE隧道头中的IP报文头的源IP是ED212的IP地址,IP GRE隧道头中的IP报文头的目的IP地址是ED211的IP地址。GRE报文头指示了承载的协议报文为以太网报文。
[0053]图5所示的公网二层报文头可看作外层以太网头,公网二层报文的目的MAC是ED212连接的下一跳设备的MAC,如图4所示设备P2 (若下一跳设备是ED211,则公网二层报文的目的MAC是ED211的MAC地址),公网二层报文的源MAC是ED211的虚接口 MAC,公网二层报文的VLANID是公网VLAN号。
[0054]步骤SI?步骤S3是Host232将以太网报文发送给边缘设备ED212,ED212确定该报文为未知单播报文。
[0055]步骤S4:ED212将隧道报文通过备用隧道LINK1-2发送给服务器端ED211,所述隧道报文携带的源ED的标识为ED212的标识。
[0056]步骤S5:服务器端ED211从备用隧道LINK1-2收到携带源ED标识的隧道报文。
[0057]步骤S6:服务器端ED211将隧道报文的内层源MAC地址、所属VLAN以及连接源ED的主用隧道的隧道接口配置到对应的EVI实例的MAC表的表项中。
[0058]ED211收到隧道报文后,去除公网二层报文头和IP GRE隧道头,根据以太网报文所属VLAN确定EVI实例。ED211去除公网二层和IP GRE隧道头的原理与已有IP GRE隧道头终结原理大致相同,本实施例不再赘述。
[0059]本实施例中,服务器端ED211根据源客户端ED标识确定隧道报文来自ED212,将ED212的主用隧道的隧道接口记录在上述内层源MAC地址对应的表项;其中,该隧道接口就是ED211和ED212之间主用隧道对应的出接口。可以是指示隧道接口的隧道索引。
[0060]另外,实际应用中,服务器端ED211还可以从来自本地CE或主用隧道的报文中学习MAC地址。对于来自本地站点的报文,学习MAC地址的方法与现有技术相同,此处不再赘述。对于来自主用隧道的报文,也就是说,图2中的主控单元1011进一步用于,在接口单元1013从主用隧道接收到来自源ED发送的已知单播报文时,对该报文的源MAC地址进行学习,将学习到的MAC地址、服务器端ED自身和源ED之间的主用隧道所对应的出接口一并配置到自身的MAC表。相应地,转发单元1012进一步用于,根据所述已知单播报文的目的MAC地址查询MAC表,如果命中本地站点(即本地站点下挂主机的MAC地址),则进行本地转发;如果未命中,则在本VLAN内广播。
[0061]步骤S7:服务器端ED211根据以太网报文的目的MAC地址在EVI实例的MAC表查找到表项,且该表项包含隧道接口,根据隧道接口确定目的客户端ED为ED213,则根据连接ED213的备用隧道封装,将该以太网报文封装为隧道报文并添加源ED的标识,即ED212的ED标识,通过备用隧道LINK2-2发送携带源ED标识的隧道报文给ED213。
[0062]本实施例中,如果服务器端ED211查找到的表项包含端口,则进行本地转发即可。
[0063]本实施例中,如果服务器端ED211在对应的EVI实例的MAC表中没有查找到匹配于以太网报文的目的MAC地址的表项,则需要在EVI实例内广播,其方法为:服务器端ED211的转发单元1012通过接口单元1013将在EVI实例的本地VLAN内广播以太网报文,并且分别依据自身与除源ED外的其它所有客户端ED建立的备用隧道,将以太网报文封装为隧道报文,并添加源ED标识,分别发送给客户端ED213和ED214。
[0064]步骤S8:ED213从备用隧道LINK2-2接收携带源ED标识的隧道报文。
[0065]步骤S9:ED213根据隧道报文携带的源ED标识获知源ED为ED212,将内层以太网报文的源MAC地址、以太网报文所属VLAN以及连接源客户端ED的主用隧道的隧道接口配置在对应EVI实例的MAC表中。
[0066]这里,步骤S8和S9描述的客户端ED213如何从备用隧道接收到的报文中学习MAC,实际应用中,客户端ED213还可以从来自本地站点或主用隧道的报文中学习MAC地址。[0067]也就是说,如果从本地站点的报文中学习MAC地址,图3中的转发单元1022进一步用于,在客户端ED接收到本地站点的单播报文时,对该报文进行源MAC地址学习,将学习到的MAC地址和接收该报文的端口一并保存在MAC表中。转发单元1022还进一步用于,根据该报文的目的MAC地址查询自身的MAC表,如果命中本地站点下的主机,则通过接口单元1023进行本地转发;如果命中远端的服务器端ED或目的客户端ED站点下的主机,则通过接口单元1023并利用自身与服务器端ED或目的客户端ED之间的主用隧道转发;如果未命中,则将该单播报文作为未知单播报文处理。
[0068]如果从主用隧道的报文中学习MAC地址,图3中的转发单元1022进一步用于,在客户端ED作为目的客户端ED从主用隧道接收到来自源ED发送的已知单播报文,对该报文的源MAC地址进行学习,将学习到的MAC地址、该目的客户端ED和源ED之间的主用隧道所对应的出接口一并配置给自身的MAC表。转发单元1022还进一步用于,根据所述已知单播报文的目的MAC地址查询MAC表,如果命中本地站点下挂的主机,则进行本地转发;如果未命中,则在本VLAN内广播。
[0069]步骤SlO:ED213根据在对应EVI实例的MAC表中查找到以太网报文的目的MAC地址对应的端口,则将以太网报文通过该端口转发到CE223。再由CE223转发以太网报文至Host2330
[0070]本实施例中,假设ED213此前已经学习到Host233的MAC地址,本步骤自然可以命中。实际应用中,如果没有命中,在EVI实例的本地VLAN内广播以太网报文。这样,CE223接收到该以太网报文,再转发至Host233。
[0071]第二阶段:Host233向Host232反馈报文。
[0072]步骤Hl:CE223将Host233发送的以太网报文发送给ED213,该以太网报文的源MAC地址为Host233的MAC地址,目的MAC地址为Host232的MAC地址。
[0073]步骤H2:ED213根据在EVI实例的MAC表中查找到以太网报文的目的MAC地址匹配的表项且该表项包含隧道接口,即ED213与ED212之间主用隧道的隧道接口。
[0074]步骤H3:ED213将以太网报文封装为隧道报文,通过与ED212之间的主用隧道将响应报文发送给ED212。
[0075]这里,ED3可以根据隧道接口查询隧道表项,获取IP GRE隧道头的源IP、目的IP,公网二层头的公网VLAN、目的MAC、出端口等信息,封装以太网报文并转发出去。
[0076]步骤H4:ED212收到隧道报文,将隧道报文封装为以太网报文,在EVI实例的MAC表查询以太网报文的目的MAC匹配的表项,且该表项出接口为端口,从该端口转发以太网报文至CE222。
[0077]CE222根据以太网目的MAC地址继续转发以太网报文至Host232。
[0078]由于此前在步骤S2中,ED212已经学习到CE222的MAC地址,本步骤可以命中,并获知相应的端口,通过相应的端口,就可以将响应报文准确地发送给CE222,再由CE222转发给Host232。至此,Host232已经成功地访问了 Host233。在报文转发到过程中,服务器端ED211、客户端ED212和ED213直接利用流量报文进行了 MAC学习。
[0079]本发明实施例中,如果Host231与Host232间需要发送单播报文时,CE221将Host231发出的以太网单播报文转给ED211,ED211在EVI实例的MAC表记录以太网报文的源MAC、VLAN信息以及端口信息后,若EDl在EVI实例的MAC表中未查找到匹配于以太网报文的目的MAC的表项,则在EVI实例的本地VLAN内广播以太网报文并通过连接各客户端ED的主用隧道封装隧道报文,将隧道报文通过各主用隧道发送到各客户端ED。或者,ED211在EVI实例的本地VLAN内广播以太网报文并通过连接各客户端ED的备用隧道封装隧道报文,将服务器ED的ED标识作为源ED标识插入隧道报文,将携带源ED标识的隧道报文通过备用隧道发送给各客户端ED。
[0080]如果Host231需要发送广播报文时,CE221将Host231发出的以太网广播报文转给ED211,ED211在EVI实例的MAC表记录该以太网报文的源MAC、VLAN信息以及端口信息后,则在EVI实例的本地VLAN内广播以太网报文并通过连接各客户端ED的主用隧道封装隧道报文,将隧道报文通过各主用隧道发送到各客户端ED。或者,ED211在EVI实例的本地VLAN内广播以太网报文并通过连接各客户端ED的备用隧道封装隧道报文,将服务器ED的ED标识作为源ED标识插入隧道报文,将携带源ED标识的隧道报文通过备用隧道发送给各客户端ED。
[0081]本实施例通过服务器端ED与客户端ED间建立的备用隧道,不仅可以有效地抑制未知单播以太网报文的泛洪现象。还可以避免丢弃未知单播以太网报文,在抑制泛洪的同时还保证了报文的可靠传输。
[0082]以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种边缘设备报文转发时的MAC学习方法,该方法用于以太网虚拟化EVI网络中的服务器端边缘设备ED,所述服务器端ED和EVI网络中的客户端ED之间建立了主用隧道,其特征在于,在所述服务器端ED和客户端ED之间还建立备用隧道,用于承载未知单播报文;该方法还包括: 所述服务器端ED从备用隧道接收来自源客户端ED发送的未知单播报文,所述未知单播报文携带有源客户端ED的ED标识;所述服务器端ED对该报文的源MAC地址进行学习,将学习到的MAC地址、该服务器端ED和源客户端ED之间的主用隧道所对应的出接口一并配置给自身的MAC表; 所述服务器端ED根据所述未知单播报文的目的MAC地址查询MAC表,命中本地站点,则进行本地转发;命中远端站点,则通过自身和该目的客户端ED之间的备用隧道转发出去;未命中,则在EVI实例内进行广播。
2.根据权利要求1所述的方法,其特征在于,所述在EVI实例内进行广播的方法包括: 所述服务器端ED将所述未知单播报文在本地虚拟局域网VLAN内广播,并分别从自身与除所述源客户端ED外的其它所有客户端ED建立的备用隧道转发出去。
3.根据权利要求1所述的方法,其特征在于,该方法进一步包括: 所述服务器端ED从主用隧道接收到来自源客户端ED发送的已知单播报文,对该报文的源MAC地址进行学习,将学习到的MAC地址、该服务器端ED和源客户端ED之间的主用隧道所对应的出接口一并配置给自身的MAC表; 所述服务器端ED根据所述已知单播报文的目的MAC地址查询MAC表,命中本地站点,则进行本地转发;未命中,则在本地虚拟局域网VLAN内广播。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括: 所述服务器端ED接收到本地站点的单播报文,对该报文的源MAC地址进行学习,将学习到的MAC地址和端口一并配置给自身的MAC表;根据所述本地站点的单播报文的目的MAC地址查询MAC表,未命中则在本地VLAN内广播,并分别从自身与其它所有客户端ED建立的主用隧道转发出去,或者将服务器端ED的ED标识携带于该单播报文再分别从自身与其它所有客户端ED建立的备用隧道转发出去。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括: 所述服务器端ED接收到本地站点的广播报文,对该报文的源MAC地址进行学习,将学习到的MAC地址和端口一并配置给自身的MAC表;在本地VLAN内广播,并分别从自身与其它所有客户端ED建立的备用隧道或主用隧道转发出去。
6.一种边缘设备报文转发时的MAC学习方法,该方法用于以太网虚拟化EVI网络中的客户端边缘设备ED,所述客户端ED和服务器端ED之间建立了主用隧道,其特征在于,在所述客户端ED与所述服务器端之间还建立备用隧道,用于承载未知单播报文;该方法还包括: 所述客户端ED作为源客户端ED发送未知单播报文时,将自身的ED标识添加到该未知单播报文中,并通过自身与服务器端ED之间建立的备用隧道发送给服务器端ED ; 所述客户端ED作为目的客户端ED从备用隧道接收到未知单播报文时,根据该未知单播报文携带的ED标识获知源客户端ED,并对该报文的源MAC地址进行学习,将学习到的MAC地址、目的客户端ED自身和源客户端ED之间的主用隧道所对应的出接口一并配置给MAC表;再根据所述未知单播报文的目的MAC地址查询自身的MAC表,如果命中本地站点,则进行本地转发;如果未命中,则在本虚拟局域网VLAN内广播。
7.根据权利要求6所述的方法,其特征在于,该方法进一步包括: 所述客户端ED作为源客户端ED接收到本地站点的单播报文时,对该报文进行源MAC地址学习,将学习到的MAC地址和接收该报文的端口一并保存在自身的MAC表中; 根据该报文的目的MAC地址查询自身的MAC表,如果命中本地站点,则进行本地转发;如果命中服务器端ED或目的客户端ED站点,则通过自身与服务器端ED或目的客户端ED之间的主用隧道转发出去;如果未命中,则将该单播报文作为未知单播报文处理。
8.根据权利要求6所述的方法,其特征在于,该方法进一步包括: 所述客户端ED作为目的客户端ED从主用隧道接收到来自源客户端ED发送的已知单播报文,对该报文的源MAC地址进行学习,将学习到的MAC地址、目的客户端ED自身和源客户端ED之间的主用隧道所对应的出接口一并配置给MAC表; 所述目的客户端ED根据所述已知单播报文的目的MAC地址查询MAC表,如果命中本地站点,则进行本地转发;如果未命中,则在本VLAN内进行广播。
9.一种边缘设备,该设备为以太网虚拟化EVI网络中的服务器端边缘设备ED,包括主控单元、转发单元和接口单元,所述服务器端ED和EVI网络中的客户端ED之间均建立了主用隧道,其特征在于, 所述转发单元用于,在接口单元从备用隧道接收到来自源客户端ED的未知单播报文时,所述未知单播报文携带有源客户端ED的ED标识,对该报文的源MAC地址进行学习,并将学习到的MAC地址、该服务器端ED和源客户端ED之间的主用隧道所对应的出接口一并配置给MAC表;还用于,根据所述未知单播报文的目的MAC地址查询MAC表,命中本地站点,则通过接口单元进行本地转发;命中远端站点,则通过接口单元并利用与目的客户端ED之间的备用隧道转发出去;未命中,则通过接口单元在EVI实例内进行广播。
10.根据权利要求9所述的设备,其特征在于,所述通过接口单元在EVI实例内进行广播为:转发单元通过接口单元将所述未知单播报文在本VLAN内广播,通过接口单元并利用与除源客户端ED外的其它所有客户端ED建立的备用隧道转发出去。
11. 根据权利要求9所述的设备,其特征在于, 所述转发单元进一步用于,在接口单元从主用隧道接收到来自源客户端ED发送的已知单播报文时,对该报文的源MAC地址进行学习,将学习到的MAC地址、服务器端ED自身和源客户端ED之间的主用隧道所对应的出接口一并配置给自身的MAC表;还用于,根据所述已知单播报文的目的MAC地址查询MAC表,命中本地站点,则进行本地转发;未命中,则在本VLAN内广播。
12.根据权利要求9所述的设备,其特征在于, 所述转发单元还用于,通过所述接口单元接收到自身本地站点的单播报文时,对该单播报文的源MAC地址进行学习,将学习到的MAC地址和端口一并配置给自身的MAC表;根据所述本地站点的单播报文的目的MAC地址查询MAC表,未命中则在本地VLAN内广播,并分别从自身与其它所有客户端ED建立的主用隧道转发出去,或者将服务器端ED的ED标识携带于该单播报文再分别从自身与其它所有客户端ED建立的备用隧道转发出去。
13.根据权利要求9所述的方法,其特征在于,所述转发单元还用于,在所述接口单元接收到自身本地站点的广播报文时,对该报文的源MAC地址进行学习,将学习到的MAC地址和端口一并配置给自身的MAC表;在本地VLAN内广播,并分别从自身与其它所有客户端ED建立的备用隧道或主用隧道转发出去。
14.一种边缘设备,该设备为以太网虚拟化EVI网络中的客户端边缘设备ED,包括主控单元、转发单元和接口单元,所述客户端ED和EVI网络中的服务器端ED之间建立了主用隧道,其特征在于, 所述主控单元用于,在作为源客户端ED发送未知单播报文时,将自身的ED标识添加到该未知单播报文中; 所述转发单元用于,在作为源客户端ED时,通过接口单元从与服务器端ED之间建立的备用隧道发送给服务器端ED ;在作为目的客户端ED时,通过接口单元从备用隧道接收到服务器端ED转发的未知单播报文,根据该未知单播报文携带的ED标识获知源客户端ED,对该报文的源MAC地址进行学习,将学习到的MAC地址、目的客户端ED自身和源客户端ED之间的主用隧道所对应的出接口一并配置给MAC表;还用于根据所述未知单播报文的目的MAC地址查询MAC表,如果命中本地,则通过接口单元进行本地转发;如果未命中,则通过接口单元在本VLAN内进行广播。
15.根据权利要求14所述的设备,其特征在于, 所述转发单元进一步用于,在接口单元接收到本地站点的单播报文时,对该报文进行源MAC地址学习,将学习到的MAC地址和接收该报文的端口一并保存在MAC表中。
16.根据权利要求14所述的设备,其特征在于, 所述转发单元进一步用于,在接口单元接收到本地站点的单播报文时,根据该报文的目的MAC地址查询自身的MAC表,命中本地站点,则通过接口单元进行本地转发;命中远端的服务器端ED或目的客户端ED,则通过接口单元并利用自身与服务器端ED或目的客户端ED之间的主用隧道转发;如果未命中,则将该单播报文作为未知单播报文处理。
17.根据权利要求14所述的设备,其特征在于, 所述转发单元进一步用于,在客户端ED作为目的客户端ED从主用隧道接收到来自源客户端ED发送的已知单播报文,对该报文的源MAC地址进行学习,将学习到的MAC地址、该目的客户端ED和源客户端ED之间的主用隧道所对应的出接口一并配置给自身的MAC表;还用于,根据所述已知单播报文的目的MAC地址查询MAC表,如果命中本地站点,则进行本地转发;未命中,则在本VLAN内广播。
【文档编号】H04L12/741GK103685007SQ201210316996
【公开日】2014年3月26日 申请日期:2012年8月31日 优先权日:2012年8月31日
【发明者】宋小恒, 郑国良 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1