一种报文传输方法及设备的制作方法

文档序号:7812451阅读:139来源:国知局
专利名称:一种报文传输方法及设备的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种报文传输方法及设备,应用于EVI组网。
背景技术
EVI (Ethernet Virtual hterconnection,以太网连接虚拟化)是一种以太网互联的技术,可以在异地部署多个数据中心来实现负载分担和高可靠性,并通过虚拟机在数据中心之间进行自由迁移。EVI整体网络由核心网络(公网)和站点网络(私网)组成,其中站点网络是通过一台或者多台边缘设备连接到核心网络的具有独立业务功能的二层网络,包括边缘网络 (汇聚设备与边缘设备之间的网络)和接入网络(接入设备与汇聚设备之间的网络),主要由主机和交换设备组成;核心网络是主要由IP路由设备承载的提供站点网络之间互联的网络。EVI实现VLAN(Virtual Local Area Network,虚拟局域网)在不同站点间的扩展功能,这些扩充的VLAN上构成独立的EVI网络实例,使用Network ID (网络ID)来标识,全局统一编号,某个设备上不同EVI网络实例的VLAN内转发相互隔离。边缘设备位于站点边缘的执行EVI功能的交换设备,在站点侧作为二层设备运行,在核心侧作为L3设备运行。它完成报文从私网到公网隧道,以及公网隧道到私网的映射与转发。在相同的交叠网络实例(EVI实例)中,边缘设备之间的一条双向的虚拟以太通道,完成边缘设备之间的数据透明传输。该通道由GRE隧道承载。EVI组网采用EVI邻居发现协议(ENDP),实现跨站点的邻居发现功能,建立和维护边缘设备之间的虚拟连接,交互EVI实例内边缘设备信息。ENDP中定义了两种实体: ENDC(邻居发现客户端)和ENDS(邻居发现服务器),其中,ENDS用来维护同一 EVI实例中所有的客户端信息。EVI通过边缘设备的控制平面之间通告MAC (Media Access Control,媒体访问控制)地址信息,这些MAC信息用来指导数据平面的报文转发过程。在通告MAC地址信息之前,边缘设备之间相互发现对方且形成邻居关系。在现有实现方式下,EVI用户侧进入的报文在边缘设备上执行EVI实例内的二层转发,通过报文的目的MAC地址查找MAC地址表,获取出接口信息和封装信息并转发出去。 若出接口为公网则封装GRE (Generic Routing Encapsulation,通用路由封装协议)隧道后进入公网,若出接口为用户侧接口则直接转发到对应的用户侧接口。若根据报文的目的 MAC地址在MAC地址表中没有找到出接口信息,则按照要求广播报文。当EVI实例下的广播模式为No Flooding (禁止泛洪)时,对于未知单播报文和未知组播报文将被广播到用户侧的VLAN出端口,不会向公网侧的EVI LINK (链路)端口广播;当EVI实例下的广播模式为 Flooding(泛洪)时,未知单播和广播报文将会在整个EVI实例内广播。如图1中所示,在No Flooding模式下,对于未知单播和组播报文,边缘设备(如图中的PE1,其中PE是ftxwider Edge的英文缩写,中文为运营商边缘)只会在本地用户侧广播而不会向公网侧广播。可以看出,在现有EVI的No Flooding方式下,只要是PEl设备从用户侧接收到的报文在MAC地址未命中的情况下,只会在用户侧广播而不会向公网侧广播。由于EVI自身的特点,必须保证远端的MAC地址表在整个系统内同步(至少在EVI 的用户VLAN侧同步),这样就造成对PE设备过大MAC地址表容量的要求。在EVI实例设置为No Flooding模式的前提下,倘若EVI实例内用户MAC地址数量大于本地PE设备上某块单板的MAC表容量,需要转发到远端PE的报文在MAC地址未命中的情况下就会被丢弃;与此同时,PE设备中存在MAC地址表同步的情况下,在新加入的单板尚未同步到远端MAC地址表时,在该单板上转发的流量就会被丢弃。

发明内容
本发明提供了一种报文传输方法及设备,用以解决在EVI实例设置为No Flooding模式下,由于MAC地址未命中导致的流量丢失的问题。本发明提供的报文传输方法,应用于以太网连接虚拟化EVI组网,其中,EVI实例内的边缘设备间建立有GRE隧道,EVI实例的广播模式为禁止泛洪No Flooding, EVI实例内具有大容量MAC地址表的边缘设备被设置为网际边缘设备,所述网际边缘设备和GRE隧道对端的边缘设备之间还建立有扩展GRE隧道,该方法包括网际边缘设备接收到GRE报文后解封装为乘客协议报文;所述网际边缘设备根据所述乘客协议报文的目的媒体访问控制MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口 ;若未查找到出接口,且所述GRE报文来自于扩展GRE隧道,则所述网际边缘设备在本地用户侧接口广播所述乘客协议报文,并将所述乘客协议报文封装为携带扩展GRE隧道头的GRE报文后,通过所述扩展GRE隧道回送给对端边缘设备;其中,所述网际边缘设备接收到的GRE报文,是所述扩展GRE隧道对端边缘设备在从本地用户侧接口接收到乘客协议报文后,未能查找到对应的出接口时,将该报文封装为GRE报文并通过所述扩展GRE隧道发送过来的。本发明提供的另一种报文传输方法,应用于以太网连接虚拟化EVI组网,其中, EVI实例内的边缘设备间建立有GRE隧道,EVI实例的广播模式为禁止泛洪No Flooding, EVI实例内具有大容量MAC地址表的边缘设备被设置为网际边缘设备,所述网际边缘设备和GRE隧道对端的边缘设备之间还建立有扩展GRE隧道,该方法包括与网际边缘设备建立有扩展GRE隧道的边缘设备,从本地用户侧接口接收乘客协议报文;所述边缘设备根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口 ;若未查找到出接口,则所述边缘设备将所述乘客协议报文封装为携带扩展GRE隧道头的GRE报文,通过与网际边缘设备之间的扩展GRE隧道发送给所述网际边缘设备。本发明提供的路由交换设备,作为EVI组网中的网络边缘设备,其中EVI实例内的边缘设备间建立有GRE隧道,EVI实例的广播模式为No Flooding, EVI实例内具有大容量 MAC地址表的边缘设备被设置为网际边缘设备,所述网际边缘设备包括隧道建立模块、接收模块、解封装模块、查找模块、封装模块、转发模块,其中隧道建立模块,用于在与本边缘设备的GRE隧道对端边缘设备之间,建立扩展GRE 隧道;接收模块,用于接收报文;解封装模块,用于在所述接收模块接收到GRE报文后,将其解封装为乘客协议报文;查找模块,用于根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口 ;转发模块,用于在所述查找模块未查找到出接口,且所述GRE报文来自于扩展GRE 隧道时,在本地用户侧接口广播所述乘客协议报文,指示所述封装模块将所述乘客协议报文封装为携带扩展GRE隧道头的GRE报文,并将封装后的GRE报文通过所述扩展GRE隧道回送给对端边缘设备;其中,所述网际边缘设备接收到的GRE报文,是所述扩展GRE隧道对端边缘设备在从本地用户侧接口接收到乘客协议报文后,未能查找到对应的出接口时,将该报文封装为GRE报文并通过所述扩展GRE隧道发送过来的;封装模块,用于根据所述转发模块的指示,将乘客协议报文封装为GRE报文。本发明提供的另一种路由交换设备,作为EVI组网中的网络边缘设备,其中EVI实例内的边缘设备间建立有GRE隧道,EVI实例的广播模式为No Flooding,所述边缘设备与对端边缘设备之间建立有GRE隧道,所述对端边缘设备被设置为网际边缘设备,所述边缘设备包括隧道建立模块、接收模块、解封装模块、查找模块、封装模块、转发模块,其中隧道建立模块,用于在与本边缘设备的GRE隧道对端的网际边缘设备之间建立扩展GRE隧道;其中,EVI实例内具有大容量MAC地址表的边缘设备被设置为网际边缘设备;接收模块,用于接收报文;查找模块,用于在所述接收模块从本地用户侧接口接收到乘客协议报文后,根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口;转发模块,用于在所述查找模块未查找到出接口时,将所述乘客协议报文封装为携带扩展GRE隧道头的GRE报文,通过与网际边缘设备之间的扩展GRE隧道发送给所述网际边缘设备。与现有技术相比,本发明具有以下有益技术效果通过在建立有GRE隧道的边缘设备中设置网际边缘设备,并在网际边缘设备与其它边缘设备之间建立扩展GRE隧道,当该网际边缘设备的GRE隧道对端边缘设备从本地接收到报文后未查找到对应的出接口,则将该报文封装为GRE报文后通过扩展GRE隧道发送给网际边缘设备,以使网际边缘设备根据其MAC表进行转发。与现有技术中边缘设备对于未知单播报文仅在本地广播相比,可以减少流量丢失。另外,本发明只需要在网际边缘设备上保证大容量MAC地址表,而其它边缘设备上只需要使用普通容量MAC的板卡,可以节省资源。


图1为现有技术中的EVI组网示意图;CN 102413061 A
说明书
4/9页

图2为本发明实施例中的EVI组网示意图;图3a、图北、图3c分别为本发明实施例中的普通PE设备的报文转发流程示意图;图如、图4b、图如分别为本发明实施例中的Extranet PE设备的报文转发流程示意图;图5为本发明实施例中的通过扩展GRE隧道传输的IP GRE报文示意图;图6为本发明实施例提供的Extranet PE设备的结构示意图;图7为本发明实施例提供的普通PE设备的结构示意图。
具体实施例方式目前的EVI No Flooding模式下,对于未知单播报文只是在本地PE设备上广播,本地用户Extended VLAN内的成员能够接收到广播报文,但是对于远端PE设备上的 Extended VLAN内的成员而言则无法接收到该报文。为解决上述问题,本发明实施例中,在EVI No Flooding模式下,在建立有GRE隧道的PE设备中选择PE设备作为Extranet PE设备(称为网际PE设备),具体的,可在各个建立了 GRE隧道的PE设备之中选择一个PE设备作为Extranet PE设备,通常选择具有大容量MAC地址表的PE设备为Extranet PE设备。优选的,Extranet PE设备维护有整个 EVI实例内的所有MAC地址信息;其它PE设备(为描述方便,本发明实施例将Extranet PE 设备以外的PE设备称为普通PE设备)则可以只维护本地用户侧的MAC地址信息,当然也可以维护整个EVI实例内的所有MAC地址信息。由于ENDS(EVI Neighborhood Discovery Server, EVI邻居发现协议服务器)所在的PE设备通常维护了整个EVI实例内的所有MAC 信息,因此本发明实施例优选将ENDS所在的PE设备作为htranet PE设备。本发明实施例中,普通PE设备和Extranet PE设备采用现有机制进行本地MAC 地址学习,并在学习到MAC地址后通过IS-ISantermediate System to Intermediate System Routing Protocol,中间系统到中间系统的路由选择协议)向其它PE设备扩散。 Extranet PE设备接收普通PE设备通过IS-IS发送的MAC地址信息并同步到本地MAC地址表,普通PE设备对于IS-IS协议同步来的MAC地址信息可以不写入本地MAC地址表。Extranet PE设备和其它普通PE设备之间建立2个GRE隧道,为区分这2个GRE隧道,本发明实施例将其中一个GRE隧道称为普通GRE隧道,作为普通的公网侧的EVI隧道连接,用于将本地用户侧报文广播或者单播到公网侧;将另一个GRE隧道称为扩展GRE隧道, 作为未知单播的公网侧EVI隧道连接,用于将本地用户侧报文的未知单播报文或者未知组播报文(可以选择其中一种方式,比如只广播未知组播报文或者未知单播报文,或者包括两种情况)转发到公网侧的其它PE设备。例如,在图2所示的No Flooding模式下的EVI组网中,Extranet PE设备与PEl 和PE2之间均存在2个GRE隧道,其中一个为普通GRE隧道,另一个是扩展GRE隧道。本发明实施例还对Extranet PE设备和与其建立有2个GRE隧道的对端PE设备上的报文转发策略进行改进。具体的,报文转发策略规定如下(1)对于Extranet PE设备而言,从普通GRE隧道侧接收的报文不能再次转发到公网侧,包括普通GRE隧道侧和扩展GRE隧道侧;从扩展GRE隧道侧接收的报文能够再次转发到普通GRE隧道公网侧和扩展GRE隧道公网(其中扩展GRE隧道仅仅用于MAC未命中的情况)以及本地用户侧;从本地用户侧进入的报文,若是未知单播报文则只能在本地用户侧广播,不能进入到普通GRE隧道公网侧和扩展GRE隧道公网侧。(2)对于普通PE设备而言,从普通GRE隧道侧接收的报文不能再次转发到公网侧, 包括普通GRE隧道侧和扩展GRE隧道侧,只能转发到本地用户侧;从扩展GRE隧道侧接收的报文只能转发到本地用户侧;从本地用户侧接收到的未知单播报文或组播报文只能广播到扩展GRE隧道侧。这样的组网以及报文转发策略的设置,在EVI No Flooding模式下,与现有技术相比,一方面,可以减少由于IS-IS扩散时MAC地址表同步不一致或者MAC地址表项HASH(哈希)冲突而导致的未知单播或组播报文丢失;另一方面,也能减少普通PE设备上的MAC地址表规格要求。现有技术中,用户接入侧PE设备从本地接收到未知单播或未知组播报文后,只能在本地广播,因其MAC地址表规格限制,目的MAC地址命中率较低,为了提高MAC命中率,只能提高用户接入侧PE设备的规格。而采用本发明实施例,将维护有EVI实例内的所有MAC地址信息的PE作为Extranet ΡΕ,要求其具有较高的MAC地址表规格,而对其它PE设备的MAC地址表规格则没有严格的要求,允许这些PE设备仅保存本地学习到的MAC地址信息。普通PE设备将未知单播或未知组播报文通过扩展GRE隧道发送到Extranet PE进行转发,可利用Extranet PE设备的 MAC地址表规格较高的优势,提高目的MAC地址的命中率,因此可减少用户接入侧PE设备上的MAC地址表规格要求。下面分别以Extranet PE设备和普通PE设备接收到报文后的处理流程为例,对本发明实施例进行详细描述。如图3a所示,当普通PE设备从本地用户侧接口接收X协议报文(X协议也可称为乘客协议,即passenger protocol)后,根据MAC地址表查询出接口,即在该报文所属的EVI 实例内查询该报文的目的MAC地址对应的出接口(步骤301 302);如果查询到对应的出接口,则按照现有方式从该出接口转发该报文(步骤30 ;如果未查询到对应的出接口,则将该X协议报文封装为GRE报文,并将封装后的GRE报文发送到扩展GRE隧道(步骤304)。 封装后的GRE报文可如图5所示,在该X协议报文上封装有扩展GRE隧道的GRE隧道头,在外部封装有IP头,该IP头的目的地址为扩展GRE隧道的目的地址。上述步骤303中,普通PE设备在查询到对应的出接口时,若该出接口为本地用户侧接口,则通过该本地用户侧接口转发该X协议报文。若该出接口为GRE隧道接口,则根据报文的目的IP地址,在隧道表项中查找对应的隧道目的地址,使用此地址作为GRE封装外部IP头的目的地址,在该报文外封装GRE隧道头,并在外部封装IP头(目的地址为查找到的对应的隧道目的地址),然后将封装后的GRE报文通过对应的GRE隧道转发。其中,隧道表项可由PE设备通过学习过程建立。具体的,PE设备接收到GRE隧道对端PE设备发送的GRE报文后,从该报文中获取外层IP头的源地址和内层净荷(X协议报文)的源地址,分别作为隧道的目的地址和报文的目的地址,建立一条隧道表项。如图北所示,当普通PE设备从普通GRE隧道接收到GRE报文后的处理与现有技术相同,包括通过弹掉IP头和GRE隧道头,将该GRE报文解封装为X协议报文,在该X协议报文所属的EVI实例内查询该X协议报文的目的MAC地址对应的出接口(步骤311 312);如果查询到对应的出接口,则从该出接口转发该X协议报文(步骤313);如果未查询到对应的出接口,则将该X协议报文在本地用户侧接口广播(步骤314)。上述步骤313中,正常情况下,普通PE设备所查询到的出接口为本地用户侧接口。 在MAC地址同步异常的情况下,可能会查询到GRE隧道出接口,此时丢弃该X协议报文。如图3c所示,当普通PE设备从扩展GRE隧道接收到GRE报文后,与图北类似,该普通PE设备弹掉IP头和GRE隧道头,在该X协议报文所属的EVI实例内查询该X协议报文的目的MAC地址对应的出接口(步骤321 322);如果查询到对应的出接口,则从该出接口转发该X协议报文(步骤32 ;如果未查询到对应的出接口,则将该X协议报文在本地用户侧接口广播(步骤324)。上述步骤323中,正常情况下,普通PE设备所查询到的出接口为本地用户侧接口。 在MAC地址同步异常的情况下,可能会查询到GRE隧道出接口,此时丢弃该X协议报文。如图如所示,当Extranet PE设备从本地用户侧接口接收X协议报文后的处理与现有技术相同,包括在该报文所属的EVI实例内查询该报文的目的MAC地址对应的出接口 (步骤401 402);如果查询到对应的出接口,则按照现有方式从该出接口转发该报文(步骤403);如果未查询到对应的出接口,则从该报文的入接口以外的其它本地用户侧接口广播该X协议报文(步骤404)。上述步骤403中,Extranet PE设备在查询到对应的出接口时,若该出接口为本地用户侧接口,则通过该本地用户侧接口转发该X协议报文。若该出接口为GRE隧道接口,则根据报文的目的IP地址,在隧道表项中查找对应的隧道目的地址,在该报文外封装GRE隧道头,并在外部封装IP头(目的地址为查找到的对应的隧道目的地址),然后将封装后的 GRE报文通过对应的GRE隧道转发。如图4b所示,当Extranet PE设备从普通GRE隧道接收到GRE报文后的处理与现有技术相同,包括弹掉IP头和GRE隧道头,在该X协议报文所属的EVI实例内查询该X协议报文的目的MAC地址对应的出接口(步骤411 412);如果查询到对应的出接口,则从该出接口转发该X协议报文(步骤413);如果未查询到对应的出接口,则将该X协议报文在本地用户侧接口广播(步骤414)。上述步骤413中,正常情况下,Extranet PE设备所查询到的出接口为本地用户侧接口。在MAC地址同步异常的情况下,可能会查询到GRE隧道出接口,此时丢弃该X协议报文。如图如所示,当Extranet PE设备从扩展GRE隧道接收到GRE报文后,该Extranet PE设备弹掉IP头和GRE隧道头,在该X协议报文所属的EVI实例内查询该X协议报文的目的MAC地址对应的出接口(步骤421 422);如果查询到对应的出接口,则从该出接口转发该X协议报文(步骤423);如果未查询到对应的出接口,则将该X协议报文在本地用户侧接口广播,并将该X协议报文封装为GRE报文,通过扩展GRE隧道发送给对端PE设备 (步骤424)。封装后的GRE报文可如图5所示,其中的GRE隧道头为扩展GRE隧道头。上述步骤413中,Extranet PE设备在查询到对应的出接口时,若该出接口为本地用户侧接口,则通过该本地用户侧接口转发该X协议报文。若该出接口为GRE隧道接口,则根据报文的目的IP地址,在隧道表项中查找对应的隧道目的地址,在该报文外封装GRE隧道头,并在外部封装IP头(目的地址为查找到的对应的隧道目的地址),然后将封装后的 GRE报文通过对应的GRE隧道转发。
本发明实施例中,对于来自于扩展GRE隧道的GRE报文,在普通PE设备和 Extranet PE设备上禁止MAC地址学习,以避免PE设备在从本地用户侧入接口接收到报文后,根据目的MAC地址匹配到扩展GRE隧道进行转发。下面以图2为例,对本发明实施例进行详细描述。图2所示EVI组网中,普通PE 设备上MAC地址空间只有少量EVI MAC,而Extranet PE设备上已经通过IS-IS协议学习到了所有EVI实例内的MAC。PEl上下挂的CEl (或者是其下挂的用户设备)需要访问远端PE3上下挂的CE3设备(或者是其下挂的用户设备),由于之前CEl和CE3之间已经学习到了对端的MAC地址, 此时用户报文经过CEl上送到PEl时是单播报文,PEl接收到该报文后在该报文所属的EVI 实例内查找该报文的目的MAC地址对应的出接口。若MAC地址未命中(即未查找到目的MAC地址对应的出接口 ),则触发未知单播广播处理将该报文封装为GRE报文并通过扩展隧道接口向公网侧Extranet PE广播,在向扩展隧道接口广播报文时携带的GRE隧道头是扩展GRE隧道头。Extranet PE从公网侧的扩展隧道侧接收到该GRE报文后,弹掉外层隧道头并在所属EVI实例内查找该报文的目的MAC地址对应的出接口。由于该报文的目的MAC地址存在于Extranet PE上的MAC地址表中,因此可从MAC表中查找到该MAC地址,并从MAC地址表中获取该目的MAC地址的下一跳,此处为PE3设备,然后将报文封装上GRE隧道头后转发给PE3设备。PE3设备接收该GRE报文后,弹掉隧道头后在EVI实例内进行二层转发。由于在 PE3设备上保存有CE3设备(或者下挂用户设备)的MAC地址,因此能够查找到该MAC地址对应的本地出接口,并从该出接口转发出去。CE3接收到CEl的报文后进行处理。若CEl需要进行应答,则产生应答报文后转发给PE3,PE3到PEl的转发流程和之前描述类似。需要说明的是,本发明实施例中所涉及到的报文,未在特殊声明的情况下,均指单播报文或组播报文。通过以上描述可以看出,本发明实施例通过在建立有GRE隧道的PE设备中设置 Extranet PE设备,并在Extranet PE设备与其它PE设备之间建立扩展GRE隧道,当该网际PE设备的GRE隧道对端PE设备从本地接收到报文后未查找到对应的出接口,则一方面在本地广播该报文,另一方面将该报文封装为GRE报文后通过扩展GRE隧道发送给网际PE 设备,以使Extranet PE设备根据其MAC表进行转发。与现有技术中PE设备对于未知单播报文仅在本地广播相比,可以减少流量丢失。基于相同的技术构思,本发明实施例还提供了一种可应用于上述组网和流程的路由交换设备。参见图6,为本发明实施例提供的一种路由交换设备的结构示意图。该路由交换设备为EVI组网中的网络边缘设备,其中EVI实例内的边缘设备间建立有GRE隧道,EVI实例的广播模式为No Flooding, EVI实例内具有大容量MAC地址表的边缘设备被设置为网际边缘设备,优选的,该路由交换设备是ENDS所在的边缘设备。图6所示的路由交换设备为被设置为网际边缘设备的路由交换设备,该设备可包括隧道建立模块601、接收模块602、解封装模块603、查找模块604、封装模块605、转发模块606,其中
11
隧道建立模块601,用于在与本边缘设备的GRE隧道对端边缘设备之间,建立扩展 GRE隧道;接收模块602,用于接收报文;解封装模块603,用于在接收模块602接收到GRE报文后,将其解封装为乘客协议报文;查找模块604,用于根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI 实例内查找该报文的目的MAC地址对应的出接口 ;转发模块606,用于在查找模块604未查找到出接口,且所述GRE报文来自于扩展 GRE隧道时,在本地用户侧接口广播所述乘客协议报文,指示封装模块605将所述乘客协议报文封装为携带扩展GRE隧道头的GRE报文,并将封装后的GRE报文通过所述扩展GRE隧道回送给对端边缘设备;其中,所述网际边缘设备接收到的GRE报文,是所述扩展GRE隧道对端边缘设备在从本地用户侧接口接收到乘客协议报文后,未能查找到对应的出接口时, 将该报文封装为GRE报文并通过所述扩展GRE隧道发送过来的;封装模块605,用于根据转发模块606的指示,将乘客协议报文封装为GRE报文。具体的,转发模块606具体用于若接收模块602从扩展GRE隧道接收到GRE报文,解封装模块603将所述GRE报文解封装为乘客协议报文,以及查找模块604在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口为GRE隧道接口时,指示封装模块605将所述乘客协议报文封装为GRE隧道报文,并通过相应GRE隧道接口转发封装后的 GRE报文。进一步的,接收模块602还用于,从本地用户侧接口接收乘客协议报文;查找模块 604根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的 MAC地址对应的出接口 ;转发模块606在查找模块604未查找到出接口时,通过除所述乘客协议报文的入接口以外的本地用户侧接口广播所述乘客协议报文。进一步的,上述路由交换设备还可包括学习模块607,用于在接收模块602接收到报文后进行MAC地址学习,其中,当接收模块602从扩展GRE隧道接收到GRE报文时,拒绝MAC地址学习。上述路由交换设备所接收、处理和转发的报文包括单播报文或组播报文。参见图7,为本发明另一实施例提供的路由交换设备的结构示意图。该路由交换设备为EVI组网中的网络边缘设备,其中EVI实例内的边缘设备间建立有GRE隧道,EVI实例的广播模式为No Flooding。图7所述的边缘设备与对端边缘设备之间建立有GRE隧道, 其对端边缘设备被设置为网际边缘设备。该边缘设备可包括隧道建立模块701、接收模块 702、解封装模块703、查找模块704、封装模块705、转发模块706,其中隧道建立模块701,用于在与本边缘设备的GRE隧道对端的网际边缘设备之间建立扩展GRE隧道;其中,EVI实例内具有大容量MAC地址表的边缘设备被设置为网际边缘设备;接收模块702,用于接收报文;查找模块704,用于在接收模块702从本地用户侧接口接收到乘客协议报文后,根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC 地址对应的出接口;
转发模块706,用于在查找模块704未查找到出接口时,将所述乘客协议报文封装为携带扩展GRE隧道头的GRE报文,通过与网际边缘设备之间的扩展GRE隧道发送给所述网际边缘设备。进一步的,接收模块602还可从扩展GRE隧道接收GRE报文;其中,所述GRE报文是所述扩展GRE隧道的对端网际边缘设备,在从所述扩展GRE隧道接收到GRE报文后,未能查询到对应出接口时通过所述扩展GRE隧道回送过来的。相应的,转发模块706还在解封装模块603将所述GRE报文解封装为乘客协议报文,以及查找模块604未在该报文所属的 EVI实例内查找到该报文的目的MAC地址对应的出接口时,通过除所述乘客协议报文的入接口以外的其它本地用户侧接口广播所述乘客协议报文。进一步的,该路由交换设备还可包括学习模块707,用于在接收模块702接收到报文后进行MAC地址学习,其中,当接收模块602从扩展GRE隧道接收到GRE报文时,拒绝 MAC地址学习。上述路由交换设备所接收、处理和转发的报文包括单播报文或组播报文。综上所述,本发明实施例引入了 Extranet PE的角色,扩展了 EVI应用,减少了 EVI No Flooding模式下由于MAC地址未能命中而造成的不应有的流量丢失问题。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1.一种报文传输方法,应用于以太网连接虚拟化EVI组网,其中,EVI实例内的边缘设备间建立有GRE隧道,EVI实例的广播模式为禁止泛洪No Flooding,其特征在于,EVI实例内具有大容量MAC地址表的边缘设备被设置为网际边缘设备,所述网际边缘设备和GRE隧道对端的边缘设备之间还建立有扩展GRE隧道,该方法包括网际边缘设备接收到GRE报文后解封装为乘客协议报文;所述网际边缘设备根据所述乘客协议报文的目的媒体访问控制MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口 ;若未查找到出接口,且所述GRE报文来自于扩展GRE隧道,则所述网际边缘设备在本地用户侧接口广播所述乘客协议报文,并将所述乘客协议报文封装为携带扩展GRE隧道头的 GRE报文后,通过所述扩展GRE隧道回送给对端边缘设备;其中,所述网际边缘设备接收到的GRE报文,是所述扩展GRE隧道对端边缘设备在从本地用户侧接口接收到乘客协议报文后,未能查找到对应的出接口时,将该报文封装为GRE报文并通过所述扩展GRE隧道发送过来的。
2.如权利要求1所述的方法,其特征在于,若所述网际边缘设备从扩展GRE隧道接收到 GRE报文并解封装为乘客协议报文后,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口为GRE隧道接口,则将所述乘客协议报文封装为GRE隧道报文并通过相应 GRE隧道接口转发。
3.如权利要求1所述的方法,其特征在于,还包括所述网际边缘设备从本地用户侧接口接收乘客协议报文;所述网际边缘设备根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口 ;若未查找到出接口,则所述网际边缘设备通过除所述乘客协议报文的入接口以外的本地用户侧接口广播所述乘客协议报文。
4.如权利要求1-3之一所述的方法,其特征在于,所述网际边缘设备从扩展GRE隧道接收到GRE报文时,拒绝MAC地址学习。
5.如权利要求1-3之一所述的方法,其特征在于,所述报文为单播报文或组播报文。
6.如权利要求1-3之一所述的方法,其特征在于,所述网际边缘设备为EVI邻居发现协议服务器ENDS所在的边缘设备。
7.一种报文传输方法,应用于以太网连接虚拟化EVI组网,其中,EVI实例内的边缘设备间建立有GRE隧道,EVI实例的广播模式为禁止泛洪No Flooding,其特征在于,EVI实例内具有大容量MAC地址表的边缘设备被设置为网际边缘设备,所述网际边缘设备和GRE隧道对端的边缘设备之间还建立有扩展GRE隧道,该方法包括与网际边缘设备建立有扩展GRE隧道的边缘设备,从本地用户侧接口接收乘客协议报文;所述边缘设备根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口 ;若未查找到出接口,则所述边缘设备将所述乘客协议报文封装为携带扩展GRE隧道头的GRE报文,通过与网际边缘设备之间的扩展GRE隧道发送给所述网际边缘设备。
8.如权利要求7所述的方法,其特征在于,还包括所述边缘设备从扩展GRE隧道接收GRE报文后解封装为乘客协议报文;其中,所述GRE 报文是所述扩展GRE隧道的对端网际边缘设备,在从所述扩展GRE隧道接收到GRE报文后, 未能查询到对应出接口时通过所述扩展GRE隧道回送过来的;所述边缘设备根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口 ;若未查找到出接口,则所述边缘设备通过除所述乘客协议报文的入接口以外的其它本地用户侧接口广播所述乘客协议报文。
9.如权利要求7或8所述的方法,其特征在于,所述边缘设备从扩展GRE隧道接收到 GRE报文时,拒绝MAC地址学习。
10.如权利要求7或8所述的方法,其特征在于,所述报文为单播报文或组播报文。
11.一种路由交换设备,作为EVI组网中的网络边缘设备,其中EVI实例内的边缘设备间建立有GRE隧道,EVI实例的广播模式为No Flooding,其特征在于,EVI实例内具有大容量MAC地址表的边缘设备被设置为网际边缘设备,所述网际边缘设备包括隧道建立模块、 接收模块、解封装模块、查找模块、封装模块、转发模块,其中隧道建立模块,用于在与本边缘设备的GRE隧道对端边缘设备之间,建立扩展GRE隧道;接收模块,用于接收报文;解封装模块,用于在所述接收模块接收到GRE报文后,将其解封装为乘客协议报文;查找模块,用于根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口 ;转发模块,用于在所述查找模块未查找到出接口,且所述GRE报文来自于扩展GRE隧道时,在本地用户侧接口广播所述乘客协议报文,指示所述封装模块将所述乘客协议报文封装为携带扩展GRE隧道头的GRE报文,并将封装后的GRE报文通过所述扩展GRE隧道回送给对端边缘设备;其中,所述网际边缘设备接收到的GRE报文,是所述扩展GRE隧道对端边缘设备在从本地用户侧接口接收到乘客协议报文后,未能查找到对应的出接口时,将该报文封装为GRE报文并通过所述扩展GRE隧道发送过来的;封装模块,用于根据所述转发模块的指示,将乘客协议报文封装为GRE报文。
12.如权利要求11所述的路由交换设备,其特征在于,所述转发模块具体用于,若所述接收模块从扩展GRE隧道接收到GRE报文,所述解封装模块将所述GRE报文解封装为乘客协议报文,以及所述查找模块在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口为GRE隧道接口时,指示所述封装模块将所述乘客协议报文封装为GRE隧道报文, 并通过相应GRE隧道接口转发封装后的GRE报文。
13.如权利要求11所述的路由交换设备,其特征在于,所述接收模块还用于,从本地用户侧接口接收乘客协议报文;所述查找模块还用于,根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口 ;所述转发模块还用于,在所述查找模块未查找到出接口时,通过除所述乘客协议报文的入接口以外的本地用户侧接口广播所述乘客协议报文。
14.如权利要求11-13之一所述的路由交换设备,其特征在于,还包括学习模块,用于在所述接收模块接收到报文后进行MAC地址学习,其中,当所述接收模块从扩展GRE隧道接收到GRE报文时,拒绝MAC地址学习。
15.如权利要求11-13之一所述的路由交换设备,其特征在于,所述报文为单播报文或组播报文。
16.如权利要求11-13之一所述的路由交换设备,其特征在于,所述路由交换设备为 ENDS所在的边缘设备。
17.—种路由交换设备,作为EVI组网中的网络边缘设备,其中EVI实例内的边缘设备间建立有GRE隧道,EVI实例的广播模式为No Flooding,其特征在于,所述边缘设备与对端边缘设备之间建立有GRE隧道,所述对端边缘设备被设置为网际边缘设备,所述边缘设备包括隧道建立模块、接收模块、解封装模块、查找模块、封装模块、转发模块,其中隧道建立模块,用于在与本边缘设备的GRE隧道对端的网际边缘设备之间建立扩展 GRE隧道;其中,EVI实例内具有大容量MAC地址表的边缘设备被设置为网际边缘设备;接收模块,用于接收报文;查找模块,用于在所述接收模块从本地用户侧接口接收到乘客协议报文后,根据所述乘客协议报文的目的MAC地址,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口;转发模块,用于在所述查找模块未查找到出接口时,将所述乘客协议报文封装为携带扩展GRE隧道头的GRE报文,通过与网际边缘设备之间的扩展GRE隧道发送给所述网际边缘设备。
18.如权利要求17所述的路由交换设备,其特征在于,所述接收模块还用于,从扩展 GRE隧道接收GRE报文;其中,所述GRE报文是所述扩展GRE隧道的对端网际边缘设备,在从所述扩展GRE隧道接收到GRE报文后,未能查询到对应出接口时通过所述扩展GRE隧道回送过来的;所述转发模块还用于,在所述解封装模块将所述GRE报文解封装为乘客协议报文,以及所述查找模块未在该报文所属的EVI实例内查找到该报文的目的MAC地址对应的出接口时,通过除所述乘客协议报文的入接口以外的其它本地用户侧接口广播所述乘客协议报文。
19.如权利要求17或18所述的路由交换设备,其特征在于,还包括学习模块,用于在所述接收模块接收到报文后进行MAC地址学习,其中,当所述接收模块从扩展GRE隧道接收到GRE报文时,拒绝MAC地址学习。
20.如权利要求17或18所述的路由交换设备,其特征在于,所述报文为单播报文或组播报文。
全文摘要
本发明公开了一种报文传输方法及设备,应用于EVI组网,EVI实例内的PE间建立有GRE隧道,EVI实例的广播模式为No Flooding,EVI实例内具有大容量MAC地址表的PE被设置为Extranet PE,Extranet PE和GRE隧道对端的普通PE之间还建立有扩展GRE隧道,该方法包括普通PE从本地用户侧接收到报文后,若未能查找到对应的出接口,将该报文封装为GRE报文并通过扩展GRE隧道发送Extranet PE;Extranet PE接收到GRE报文后解封装,在该报文所属的EVI实例内查找该报文的目的MAC地址对应的出接口,若未查找到出接口,则在本地用户侧接口广播该报文,并将该报文封装为GRE报文后通过扩展GRE隧道回送给对端PE进行转发。本发明可解决在EVI实例设置为No Flooding模式下,由于MAC地址未命中导致的流量丢失的问题。
文档编号H04L12/56GK102413061SQ20111045817
公开日2012年4月11日 申请日期2011年12月31日 优先权日2011年12月31日
发明者宋小恒 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1