一种报文处理方法和设备的制作方法

文档序号:7808176阅读:121来源:国知局
一种报文处理方法和设备的制作方法
【专利摘要】本发明公开了一种报文处理方法,该方法包括:BEB设备作为SPB实例的用户侧单网关设备,接收到用户报文,且该用户报文的目的MAC地址为网关MAC地址时,确定本地是否存在该用户报文的目的IP地址对应的路由表项,如果是,根据该路由表项的内容处理该用户报文;否则,触发ARP请求用于生成该用户报文的目的IP地址对应的路由表项,并根据该路由表项的内容处理该用户报文。基于同样的发明构思,本发明还提出一种设备,简化了用户侧网络,节省了用户资源。
【专利说明】一种报文处理方法和设备

【技术领域】
[0001]本发明涉及通信【技术领域】,特别涉及一种报文处理方法和设备。

【背景技术】
[0002]最短路径桥(ShortestPath Bridging, SPB)是 IEEE802.1aq 定义的以太网标准之一,是多生成树协议(Multiple Spanning Tree Protocol, MSTP)的进一步延伸,旨在构建大型扁平的无阻塞二层网络,使用SPB-中间系统到中间系统(IntermediateSystem-to-1ntermediate System, ISIS)来共享网络中的链路状态。
[0003]SPB主要是为了解决生成树协议(STP)阻塞链路浪费带宽的问题而研究出来的,采用了 L2ISIS作为其控制平面协议进行拓扑学习计算,目前主要运用SPBM。SPBM继承了802.1ah定义的媒质访问控制嵌套(MinM)的封装格式,用户原始的以太网报文外层增加了服务实例、骨干网虚拟局域网(B-VLAN)标签、骨干网媒体访问控制(B-MAC)地址信息,骨干网络通过这些信息进行转发。
[0004]SPB作为一种二层虚拟专用网络(Virtual Private Network,VPN)技术,对用户网络进行隔离,在实际使用中为每个企业用户或者部门分配给一个SPB实例,每个SPB实例之间的业务相互隔离,实例内的用户VLAN之间互访需要经过用户侧网络的单独网关执行三层交换。


【发明内容】

[0005]有鉴于此,本发明提供一种报文处理方法和设备,简化了用户侧网络,节省了用户资源。
[0006]为解决上述技术问题,本发明的技术方案是这样实现的:
[0007]一种报文处理方法,所述方法包括:
[0008]BEB设备作为SPB实例的用户侧单网关设备,接收到用户报文,且该用户报文的目的MAC地址为网关MAC地址时,确定本地是否存在该用户报文的目的IP地址对应的路由表项,如果是,根据该路由表项的内容处理该用户报文;否则,触发ARP请求用于生成该用户报文的目的IP地址对应的路由表项,并根据该路由表项的内容处理该用户报文。
[0009]一种设备,该设备包括:接收单元、确定单元和处理单元;
[0010]所述接收单元,用于本设备作为BEB设备且作为SPB实例的用户侧单网关设备时,接收用户报文;
[0011]所述确定单元,用于当所述接收单元接收到用户报文,且该用户报文的目的MAC地址为网关MAC地址时,确定本地是否存在该用户报文的目的IP地址对应的路由表项;
[0012]所述处理单元,用于当所述确定单元确定本地存在该用户报文的目的IP地址对应的路由表项时,根据该路由表项的内容处理该用户报文;当所述确定单元确定本地不存在该用户报文的目的IP地址对应的路由表项时,触发ARP请求用于生成该用户报文的目的IP地址对应的路由表项,并根据该路由表项的内容处理该用户报文。
[0013]综上所述,本发明通过在SPB实例内选择一个BEB设备作为用户侧单网关接入,使用户侧不再需要单独网关设备,从而简化了用户侧网络,节省了用户资源。

【专利附图】

【附图说明】
[0014]图1为SPB实例组网示意图;
[0015]图2为实施例中网关MAC结构示意图;
[0016]图3为本发明具体实施例中报文转发方法流程示意图;
[0017]图4为本发明具体实施例中应用于上述技术的设备的结构示意图。

【具体实施方式】
[0018]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
[0019]本发明实施例中提出一种报文处理方法,在SPB实例内选择一个骨干网边缘网桥(Backbone Edge Bridge7BEB)设备作为用户侧单网关接入,简化了用户侧网络,节省了用户资源。
[0020]在SPB实例内的BEB设备中选择一个设备作为用户侧单网关设备,至于具体实现时,选择哪个BEB设备作为网关设备,具体实施例中并不限制。
[0021]参见图1,图1为SPB实例组网示意图。图1中有三个BEB设备,BEB1、BEB2和BEB3。以选择BEBl作为该SPB实例的用户侧单网关为例。
[0022]BEBl作为用户侧单网关设备之后,也还具有其作为边缘设备的所有功能。
[0023]BEBl需要配置SPB实例的网关MAC地址和网关IP地址,当存在多个用户侧网络时,需要配置多个网关IP地址和用户网络中的主机设备在同一网段之内。
[0024]BEBl配置的网关MAC地址为了能够让其他设备识别。参见图2,图2为实施例中网关MAC结构不意图。图2中网关MAC地址的格式可以为:标识网关设备和SPB实例号(1-SID)。
[0025]图2为本发明实施例中给出的一种网关MAC的结构示意图,具体实现时能够使各设备识别该MAC为网关MAC即可,不限于此种实现形式。
[0026]其中,I/G是指单播 / 组播(Individual/Group);
[0027]G/L是指全局地址/局部地址(Global/Local);
[0028]SPSourceID是指BEB设备的SPB Source ID,表示由哪个设备分配的,每个设备都是唯一的;
[0029]1-SID是指SPB实例号。
[0030]BEBl将网关MAC地址配置完成时,将该网关MAC地址通过SPB ISIS发布到SPB域中,向其他所有SPB桥设备通告该网关MAC地址的下一跳是本设备(BEBl)。
[0031]中间桥设备和其他边缘设备接收到该通告时,中间桥设备不处理该通告,其他边缘桥设备解析该通告;并在SPB实例内静态指定网关MAC,将网关MAC地址静态保存在SPB实例内的MAC表中,其下一跳为网关设备(BEBl),出接口为本设备与网关设备之间的PW,该PW包括:出端口、出VLAN和出MAC,其中,所述出MAC为BEBl的B-MAC。之后,动态学习到网关MAC地址时,不能覆盖静态的网关MAC地址。
[0032]若某个BEB设备接收到该通告,但是该BEB设备上没有该SPB实例时,不指定该网关MAC地址,且不生成该网关MAC地址的MAC地址表项。
[0033]对于各设备之间的B-MAC的发布,以及B-MAC地址转发表项的生成,同现有实现。B-MAC地址转发表项包括:对端B-MAC地址和出端口,用于MinM报文的转发。
[0034]各BEB设备(包括作为用户侧单网关设备的BEB设备)需要侦听实例内的所有地址解析协议(ARP)报文(包括ARP请求报文、应答报文以及免费ARP),包括用户侧和公网SPB侧发来的ARP报文,一方面将ARP报文在实例内正常转发,一方面将侦听到的报文复制一份到SPB控制层,由SPB控制层在此实例内的路由表中下发主机路由,若是本地用户侧,主机路由出接口为用户侧端口,出VLAN为用户侧VLAN,若是公网SPB侧,主机路由出接口为Pff侧端口,出接口为PW端口,出VLAN为B-VLAN,出MAC地址为B-MAC地址。
[0035]下面结合附图,详细说明本发明具体实施例中如何实现报文的转发。
[0036]参见图3,图3为本发明具体实施例中报文转发方法流程示意图。具体步骤包括:
[0037]步骤301,BEB设备作为SPB实例的用户侧单网关设备,接收到用户报文。
[0038]该BEB设备接收到的用户报文如果封装有MinM隧道头,则先确定该MinM隧道头的B-DA中的B-MAC地址是否为本BEB设备的B-MAC地址,如果是,则对该MinM报文进行解封装处理;否则,根据该BEB设备的B-MAC表项转发该封装有用户报文的MinM报文转发。
[0039]步骤302,当该用户报文的目的MAC地址为网关MAC地址时,确定本地是否存在该用户报文的目的IP地址对应的路由表项,如果是,执行步骤304 ;否则,执行步骤303。
[0040]由上可见,如果接收用户网络侧发送的用户报文,直接根据该用户报文的目的MAC地址确定如何处理该用户报文;如果接收到SPB网络侧的用户报文封装有MinM隧道头,且B-DA为本设备的B-MAC时,需先进行解封装处理。
[0041]当用户报文的MAC地址为本BEB设备配置的网关MAC地址,则触发该用户报文的IP查找。
[0042]步骤303,该BEB设备触发ARP请求用于生成该用户报文的目的IP地址对应的路由表项。
[0043]当未查找到该用户报文的目的IP地址对应的路由表项时,触发ARP请求用于生成该用户报文的目的IP地址对应的路由表项,具体包括:
[0044]该BEB设备(作为用户侧单网关设备的BEB设备)触发该用户报文的目的IP地址的ARP请求,使IP地址为该用户报文的目的IP地址的设备接收到该ARP请求,并响应ARP应答报文。
[0045]该BEB设备触发的ARP请求L2层头中的源MAC地址为网关MAC地址,目的MAC地址为全F的MAC地址;报文体中发送端MAC地址为网关MAC地址,发送端IP地址为用户报文的目的IP地址对应的网关IP地址;目标端MAC地址为全O ;目标端IP地址为用户报文的目的IP地址,VLAN为发送端IP地址对应的VLAN。
[0046]当本地与用户侧网络相连的端口存在该ARP请求报文所属VLAN时,直接通过该端口广播出去。
[0047]向SPB网络侧发送该ARP请求报文时,根据本地B-MAC地址转发表项对该ARP请求报文进行MinM封装,并根据B-MAC表项中的出端口转发。
[0048]其他BEB设备接收到封装有该ARP请求的MinM报文时,进行解封装并在本地广播该ARP请求报文,该ARP请求报文的目标端IP地址对应的主机设备必然会接收到该ARP请求报文,并响应对应的ARP响应报文。
[0049]作为用户侧单网关设备的BEB设备在接收到与发出的ARP请求报文对应的ARP应答报文时,通过该ARP报文生成该用户报文的目的IP地址对应的路由表项。
[0050]当接收到与发出的ARP请求报文对应的ARP应答报文封装有MinM隧道头时,生成的该用户报文的目的IP地址对应的路由表项,具体包括:IP地址(该用户报文的目的IP地址),出接口(PW),该Pff包括:出端口 (接收该ARP应答报文的端口)、出VLAN(B-VLAN)和出 MAC (MinM 隧道头 B-SA 中的 B-MAC)。
[0051]当接收到与发出的ARP请求报文对应的应答报文未封装有MinM隧道头时,生成的该用户报文的目的IP地址对应的路由表项,具体包括:IP地址(该用户报文的目的IP地址),出接口(接收该ARP应答报文的端口)。
[0052]步骤304,该BEB设备根据该路由表项的内容处理该用户报文。
[0053]由上文的具体描述可知,具体实施例中路由表项中IP地址对应的出接口有两种,一种是用户网络侧端口,一种是SPB网络侧的PW。
[0054]当该路由表项的出接口为用户侧网路端口时,将该用户报文通过该端口直接转发;
[0055]当该路由表项的出接口为SPB网络侧的PW时,根据该PW包含的内容将该用户报文的源MAC替换为网关MAC,目的MAC替换为该路由表项中的出MAC,用户VLAN修改为B-VLAN,并通过该路由表项中的出接口转发。
[0056]当用户侧网络中某个主机设备向另外一个用户侧网络中的主机设备发送用户报文时,若不知道另外一个用户侧网络中的主机设备的MAC地址,也不知道网关设备的MAC地址时,会发送一个ARP请求报文以获得MAC地址,在本发明具体实施例中最终获得作为用户侧单网关设备的BEB设备配置的网关MAC地址。
[0057]与该主机设备通过用户网络连接的BEB设备会接收该ARP请求报文,该ARP请求报文的目的MAC地址为全F的广播MAC地址,因此,与该主机设备通过用户网络连接的BEB设备会在SPB实例内以及本地广播该ARP请求报文。
[0058]这样作为用户侧单网关设备的BEB设备也会接收到该ARP请求报文。
[0059]当接收该ARP请求报文的BEB设备(网关设备)即为通过用户侧网络连接的BEB设备时,生成该ARP应答报文并通过接收端口转发给发送该ARP请求报文的主机设备。
[0060]当接收该ARP请求报文的BEB设备(网关设备)不是源主机设备的边缘设备时,会接收到封装有ARP请求报文的MinM报文,解封装后,确定该ARP报文的目标端IP地址为本设备配置的网关IP地址时,生成ARP应答报文,并根据ARP请求报文的MinM隧道头进行封装并发送。
[0061]无论接收到ARP请求报文,还是接收到封装有ARP请求报文的MinM报文,都会上送控制层,生成该ARP请求报文的发送端IP地址对应的路由表项。
[0062]当接收到ARP报文时,生成的发送端IP地址对应的路由表项,包括:IP地址(发送端IP地址),出端口(接收ARP请求报文的端口 )。
[0063]当接收到封装有ARP请求报文的MinM报文时,生成的发送端IP地址对应的路由表项包括:IP地址(发送端IP地址),出接口(PW)。其中,PW包括:出端口(接收ARP请求报文的端口)、出VLAN(B-VLAN)和出MAC (MinM隧道头B-SA中的B-MAC)。
[0064]下面详细描述不作为用户侧网关设备的BEB设备接收到用户报文和ARP报文后的处理过程。
[0065]在SPB实例内,不作为用户侧单网关设备的BEB设备接收到目的MAC地址为本设备的B-MAC地址的非MinM封装的SPB报文时,根据该SPB报文的目的IP地址查找对应的路由表项,根据查找到的路由表项中的用户VLAN修改该SPB报文中的B-VLAN,并转发。
[0066]该BEB设备接收到用户侧发送的用户报文时,根据该用户报文的目的MAC地址在本地查找对应的MAC地址转发表项,根据查找到的MAC地址转发表项对该用户报文进行MinM封装,并转发。
[0067]该BEB设备接收到用户侧发送的ARP请求报文时,将该ARP请求报文在本地,以及SPB网络侧广播。在向SPB网络侧广播时,根据本地的B-MAC地址转发表项封装该ARP请求报文并发送。
[0068]该BEB设备接收到用户侧发送的ARP应答报文时,确定该ARP应答报文的目的MAC地址为网关MAC地址时,根据网关MAC地址对应的B-MAC地址对该ARP应答报文进行MinM封装并转发作为用户侧单网关设备的BEB设备。
[0069]该BEB设备接收到SPB网络侧发送的封装有ARP请求报文的MinM报文,且MinM隧道头的B-DA为本设备的B-MAC时,解封装并在本地广播该ARP请求报文;同时,进行源MAC地址学习,但是,若学习到的源MAC地址为网关MAC地址时,不覆盖本地静态学习的网关MAC的MAC地址转发表项。
[0070]该BEB设备接收到SPB网络侧发送的封装有ARP应答报文的MinM报文时,且MinM隧道头的B-DA为本设备的B-MAC时,解封装并根据该ARP应答报文的目的MAC地查找MAC地址转发表项,并根据查找到的MAC地址转发表项转发。同时,进行源MAC地址学习,但是,若学习的源MAC地址为网关MAC地址时,不覆盖本地静态学习的网关MAC的MAC地址转发表项。
[0071]SPB网络中存在BCB设备时,如果该BCB设备接收到MinM报文时,根据该报文的MinM隧道头B-DA对应的MAC地址在本地查找B-MAC地址转发表项,并根据查找到的B-MAC地址转发表项转发该MinM报文。
[0072]BCB设备接收到目的MAC地址为B-MAC地址的非MinM封装的SPB报文时,根据该用户报文的目的MAC在本地查找B-MAC地址转发表项,并根据查找到的B-MAC地址转发表项转发。
[0073]本发明具体实施例中在SPB实例内选择一个BEB设备作为用户侧网关设备,相对于现有实现是用户网络中使用单独的网关设备作为SPB实例的用户侧接入,简化了用户侧网络,提高了用户侧网络的安全性,并节省了用户资源。
[0074]仍然以图1为例,将BEBl作为1-SIDl的用户侧网关,实现该实例内主机设备之间用户报文的跨VLAN的转发。
[0075]BEBl设备静态配置1-SIDl的用户侧的网关MAC地址和网关IP地址,为下挂不同网段的主机设备分配对应网段的网关IP地址。
[0076]PC20 在 VLAN2 中,PC30 在 VLAN3 中,二者 IP 地址分别为 IP20 和 IP30,BEBl 配置的 1-SIDl 的网关MAC 为 G-MAC,BEB1 的 B-MAC 为 B-MAC1 ;BEB2 的 B-MAC 为 B_MAC2,BEB3 的B-MAC 为 B-MAC3。
[0077]BEB1、BEB2和BEB3将自身的B-MAC在1-SIDl中发布,同现有实现,该实例中的BEB设备和BCB设备都会生成1-SIDl内的B-MAC地址转发表项和源过滤表项。如果BEB直接存在BCB,BCB也会生成B-MAC地址转发表项和源过滤表项。
[0078]其中,以BEB2生成的到BEBl的B-MAC地址转发表项为例,包括的内容为:BVLAN、B-MACl^D I。
[0079]1-SIDl内的各主机设备配置网关设备(BEBl)为其分配的对应网关IP地址,如BEB2和PC20配置网关IP地址为G-1Pl ;BEB3和PC30配置网关IP地址为G-1P2。
[0080]BEBl将配置的网关MAC地址通过ISIS发布到SPB域中,向所有桥设备通告网关MAC地址的下一跳是本设备。
[0081]接收到该通告的BEB设备在1-SIDl内静态生成网关MAC地址的MAC地址转发表项。该表项包括:网关MAC地址,出接口(PW)。以BEB2接收到该通告后配置的网关MAC地址的MAC地址表项为例。具体包括:网关MAC地址,PW(出接口为接口 1、出VLAN为B-VLAN,出MAC为B-MAC1)。该网关MAC地址对应的MAC地址转发表项不能被动态学习的网关MAC
地址覆盖。
[0082]各BEB设备还会生成源过滤表项,如BEB2会生成B-MACl的源过滤表项,在本发明具体实施例中还会生成G-MAC的源过滤表项,过滤的端口同B-MACl过滤的端口相同。
[0083]PC20根据VLAN2的网关IP地址G-1Pl发送ARP请求报文。该报文的L2头中源MAC地址为PC20的MAC地址(MAC20),目的MAC地址为全F的地址(即广播MAC地址);ARP请求报文体中的发送端MAC地址为MAC20,发送端IP地址为IP20,目标端MAC地址为全O的地址(即无效MAC地址),目标端IP地址为G-1P1,VLAN ID为VLAN2。
[0084]BEB2收到ARP请求报文,根据ARP请求报文的源MAC地址MAC20,接收端口 3以及VLAN2,学习1-SIDl的用户MAC表项。BEB2根据ARP请求报文的发送端MAC地址和发送端IP地址学习ARP表项。BEB2根据ARP请求报文的发送端IP地址,ARP请求报文的接收端口,学习的ARP表项生成路由表项,具体包括:IP地址(IP20),出端口(端口 3)。BEB2在1-SIDl内广播该ARP请求报文。
[0085]在1-SIDl中广播该ARP请求报文时,BEBl和BEB3都会接收到,如果BEB2还连接1-SIDl中属于VLAN2的其他PC,也会广播到这些PC上。在向BEBl和BEB3广播时,会根据本地的B-MAC地址转发表项进行MinM封装,BEB设备之间的MinM封装同现有实现。
[0086]以向BEBl广播该ARP请求报文为例,将该ARP请求报文封装为MinM报文,封装的隧道头:B-DA (B-MACl)和 B-SA (B-MAC2),以及 1-SID1 和 B-VLAN。
[0087]BCBl接收到该MinM报时,根据MinM隧道头中的B-DA对应的B-MAC地址将该报文转发给BEBI。
[0088]BEBl接收M-1n-M封装的ARP请求报文,发现B-DA中的MAC地址是本设备的B-MAC地址时,解封装该报文。
[0089]对该ARP请求报文进行源MAC地址学习,源MAC地址学习的是ARP的源MAC地址,用户VLAN以及连接BEB2的PW隧道;并在本地1-SIDl中广播该ARP请求报文(如果本地存在加入VLAN2的端口),即广播给本地主机设备;并生成PC20对应的路由表项,具体包括:IP 地址(IP20),出端口(端口 I),出 VLAN (1-SID1 中的 B-VLAN),出 MAC 地址(B-MAC2)。
[0090]BEBl确定该ARP请求报文的目标端IP地址为网关IP地址G-1P1,则触发发送端IP地址(IP20)的ARP应答报文,该ARP应答报文L2头中目的MAC地址为PC20的MAC地址(MAC20),源MAC地址为网关MAC地址(G-MAC) ;ARP请求报文体中的发送端MAC地址为G-MAC,发送端IP地址为G-1Pl,目标端MAC地址为MAC20,目标端IP地址为IP20,VLAN ID为VLAN2 ;并将该ARP应答报文进行MinM封装,MinM隧道头中的B-SA为B-MACl,B-DA为B-MAC2,发送给 BEB2。
[0091]BEB3也会收到BEB2广播的ARP请求报文,在1-SIDl进行本地广播,由于该ARP请求报文的VLAN为VLAN2,不会广播到PC30。
[0092]BEB2通过BCB设备I转发来的进行MinM封装的ARP应答报文时,确定B-DA为本设备的B-MAC地址,对该MinM报文解封装,解封装后,根据该ARP应答报文的目的MAC地址在1-SIDl中的MAC地址转发表项中查找,并通过查找到的出端口 3发送给PC20。
[0093]PC20接收到该ARP应答报文,学习ARP表项,将PC30的IP报文封装为发往VLANl网关的用户报文,其中,该用户报文的源IP地址为IP20,目的IP为IP30,源MAC地址为MAC20,目的MAC地址为G-MAC。
[0094]BEB2接收到发往网关设备的该用户报文后,根据接收该用户报文的端口,以及报文携带的VLAN确定在1-SIDl内转发该报文,根据目的MAC地址在1-SIDl的MAC地址转发表中查找到对应的MAC地址转发表项,根据查找到的MAC地址转发表项进行MinM封装,发送给BEBI。
[0095]BEBl接收到BEB2发送的MinM封装的用户报文时,确定隧道头的B-DA为本设备的B-MAC地址时,进行解封装,确定该用户报文的目的MAC地址为网关MAC地址,则触发IP转发。
[0096]此时,BEBl也需要根据用户报文生成源IP地址的路由表项,由于在接收到ARP请求报文时已学习到,因此,此时学到的路由表项已存在,具体实现时,如果为该路由表项设置了老化定时器,则更新老化时间;若未设置老化定时器,可以维持原路由表项不变,如何处理根据具体实现确定。
[0097]BEBl根据该用户报文的目的IP地址在1-SIDl内的路由表项中查找,当查找到对应路由表项时,根据查找到的路由表项转发该用户报文;如果未查找到对应的路由表项,触发该IP地址的ARP请求,以建立该IP地址的路由表项。
[0098]BEBl根据解封装后的用户报文的目的IP地址匹配网段路由之后上送CPU,触发IP30的ARP请求。该ARP请求报文的L2头中的源MAC地址为网关MAC地址G-MAC,目的MAC地址为全F的地址(即广播MAC地址);ARP请求报文体中的发送端IP地址为G-1P2,目标端IP地址为IP30,发送端MAC地址为G-MAC,目标端MAC地址为全O的地址(即无效MAC地址),VLAN ID为VLAN3。该ARP请求报文在1-SIDl中广播,其中一份会通过MinM封装,发送给BEB3。
[0099]BEB3接收到MinM封装的ARP请求报文后,弹掉MinM隧道头,由于目的MAC地址为全F的地址,因此,在本地进行广播发送该ARP请求报文。
[0100]PC30会接收到一份BEB3广播的ARP请求报文,对该报文进行源MAC地址学习,由于目标端IP地址为本设备的IP地址,因此,向BEBl发送ARP应答报文。该ARP应答报文的L2头中的源MAC地址为MAC30,目的MAC地址为G-MAC ;发送端MAC地址为MAC30,目标端MAC地址为G-MAC,发送端IP地址为IP30,目标端IP地址为G-1P2,VLAN ID为VLAN3。
[0101]BEB3通过用户网络接收到该ARP应答报文,根据ARP请求报文的源MAC地址MAC30,接收端口 3以及VLAN3,学习1-SIDl的用户MAC表项。BEB3根据ARP请求报文的发送端MAC地址和发送端IP地址学习ARP表项。
[0102]BEB3根据ARP应答报文的发送端MAC地址和发送端IP地址学习ARP表项。BEB3根据ARP应答报文的发送端IP地址,ARP应答报文的接收端口,学习的ARP表项生成路由表项,具体包括=IP地址(IP30),出端口(端口 3)。
[0103]BEB3根据该ARP应答报文的目的MAC地址在1-SIDl中查找到对应的MAC地址转发表项,进行MinM封装并发送给BEBl。
[0104]BEBl会接收到BEB3发送的封装有ARP应答报文的MinM报文。确定MinM隧道头中的B-DA中的MAC地址为本设备的B-MAC地址时,进行解封装,对该ARP应答报文进行源MAC地址学习,源MAC地址学习的是ARP的源MAC地址,用户VLAN以及连接BEB2的PW隧道;并在1-SIDl中下发主机PC30的路由表项,该路由表项包括:IP30、出端口(PW),PW包括:出端口(端口 2)、出 MAC(B-MAC3)、出 VLAN(B-VLAN)。
[0105]由于此时有了 IP30对应的路由表项,BEBl根据该路由表项将接收到的PC20发送的用户报文进行转发。
[0106]BEBl根据IP30的路由表项,修改该用户报文源MAC地址和目的MAC地址并转发。对该用户报文处理后,源IP地址为IP20,目的IP地址为IP30,源MAC地址为G-MAC,目的MAC地址为B-MAC3,VLAN为B-VLAN。该报文在1-SIDl内转发,该报文仍然需要进行SPB路径查找(B-MAC查找)和合法性检查。
[0107]BEB3接收到封装了以太网头的用户报文,由于该报文的目的MAC地址为本设备的B-MAC地址,触发IP转发,此时,在1-SIDl中的路由表中,根据该报文的目的IP地址在路由表中查找到对应表项并转发给PC30,在转发之前,根据该报文的目的IP地址在ARP表项中查找到对应的用户VLAN和MAC地址,并进行相应修改,具体为,将B-VLAN修改为VLAN3,将目的MAC地址修改为MAC30。
[0108]PC30接收到PC20发送的用户报文后,向PC20响应用户报文时,该用户报文的目的IP地址为IP20,源IP地址为IP30,源MAC地址为MAC30,目的MAC地址为G-MAC,报文通过用户网络被送到BEB3。
[0109]BEB3根据目的MAC地址(网关MAC地址)对应的MAC地址转发表项将该用户报文封装为MinM报文,通过MinM隧道转发给BEBI。
[0110]BEBl接收到MinM封装的用户报文时,弹掉MinM隧道头后,确定该用户报文的目的MAC地址为网关MAC地址,触发IP转发。在1-SIDl中的路由表中查找到IP20的路由表项并转发。此时,将该用户报文的源MAC地址和目的MAC地址进行修改,修改后的用户用户报文的源IP为IP30,目的IP为IP20,源MAC为G-MAC,目的MAC为BEB2的B-MAC2,VLAN3修改为B-VLAN ;报文在SPB实例内进行SPB实例内的B-MAC查找和合法性检查。
[0111]BCB设备I接收到该目的MAC地址为B-MAC2的以太网头封装的用户报文时,根据B-MAC2在本地进行B-MAC地址转发表项查找,并转发到BEB2。
[0112]BEB2收到该以太网头封装的用户报文后,确定该报文的目的MAC地址是本设备的B-MAC地址时,触发IP转发,根据该报文的目的IP地址在该报文的源MAC地址对应的1-SIDl内的路由表项中查找,根据查找到的路由表项转发给PC20,在转发该以太网封装的用户报文之前,根据该报文的目的IP地址在1-SIDl中的ARP表项中查找对应的VLAN和MAC地址,并根据查找结果修改该以太网封装的用户报文,具体为,将B-VLAN修改为VLAN2,B-MAC2 修改为 MAC20。
[0113]由此完成了用户报文在1-SID实例内的跨VLAN转发。
[0114]基于同样的发明构思,本申请还提出一种设备。参见图4,图4为本发明具体实施例中应用于上述技术的设备的结构示意图。该设备包括:接收单元401、确定单元402和处理单元403。
[0115]接收单元401,用于本设备作为BEB设备且作为SPB实例的用户侧单网关设备时,接收用户报文;
[0116]确定单元402,用于当接收单元401接收到用户报文,且该用户报文的目的MAC地址为网关MAC地址时,确定本地是否存在该用户报文的目的IP地址对应的路由表项;
[0117]处理单元403,用于当确定单元402确定本地存在该用户报文的目的IP地址对应的路由表项时,根据该路由表项的内容处理该用户报文;当确定单元402确定本地不存在该用户报文的目的IP地址对应的路由表项时,触发ARP请求用于生成该用户报文的目的IP地址对应的路由表项,并根据该路由表项的内容处理该用户报文。
[0118]较佳地,
[0119]处理单元403,具体用于触发该用户报文的目的IP地址的ARP请求,使IP地址为该用户报文的目的IP地址的设备在接收到该ARP请求时响应ARP应答报文;在接收到与发出的ARP请求报文对应的ARP应答报文时,通过该ARP报文生成该用户报文的目的IP地址对应的路由表项。
[0120]较佳地,
[0121]处理单元403,具体用于当接收到与发出的ARP请求报文对应的ARP应答报文封装有MinM隧道头时,生成的该用户报文的目的IP地址对应的路由表项,包括:IP地址和出端口,出端口为PW,该PW包括出端口号、出VLAN和出MAC,其中,所述出MAC为MinM隧道头B-SA中的B-MAC,出VLAN为B-VLAN ;当接收到与发出的ARP请求报文对应的ARP应答报文未封装MinM隧道头时,生成的该用户报文的目的IP地址对应的路由表项,包括:用户VLAN、IP地址和出端口号。
[0122]较佳地,
[0123]处理单元403,具体用于当该路由表项的出端口为PW时,将该用户报文的源MAC替换为网关MAC,目的MAC替换为出MAC,用户VLAN修改为B-VLAN,并出端口号对应的端口转发;当该路由表项的出端口为出端口号时,将该用户报文的VLAN修改为路由表项中的用户VLAN,并通过出端口号对应的端口转发。
[0124]较佳地,
[0125]接收单元401,进一步用于接收MinM报文;
[0126]处理单元403,进一步用于当接收单元401接收到封装有ARP请求报文的MinM报文时,生成该ARP请求报文的发送端IP地址对应的路由表项,并在本地广播该ARP请求报文;该路由表项包括:IP地址和出端口,该出端口为PW,该PW包括出端口号、出VLAN和出MAC,其中,所述出MAC为MinM隧道头B-SA中的B-MAC,出VLAN为B-VLAN ;当该ARP请求报文的目标端IP地址为本设备配置的网关IP地址时,生成ARP应答报文,并根据ARP请求报文的MinM隧道头进行封装并发送。
[0127]较佳地,
[0128]接收单元401,本设备作为BEB设备且不作为该SPB实例的用户侧单网关设备时,用于接收非MinM封装的SPB报文;
[0129]处理单元403,本设备作为BEB设备且不作为该SPB实例的用户侧单网关设备时。用于在接收单元401接收到目的MAC地址为本设备的B-MAC地址的非MinM封装的SPB报文时,根据该SPB报文的目的IP地址查找对应的路由表项,根据查找到的路由表项中的用户VLAN修改该SPB报文中的B-VLAN,并转发。
[0130]较佳地,
[0131]接收单元401,本设备作为BEB设备且不作为该SPB实例的用户侧单网关设备时,用户接收用户侧发送的用户报文或ARP应答报文;
[0132]处理单元403,本设备作为BEB设备且不作为该SPB实例的用户侧单网关设备时,当接收单元401接收到用户侧发送用户报文或ARP应答报文时,如果目的MAC地址为网关MAC地址时,根据网关MAC地址的MAC地址转发表项封装该报文并转发,其中,网关MAC地址的MAC地址转发表项根据网关设备发送的网关MAC地址通告静态建立的,该MAC地址表项包括:网关MAC地址和出端口 ;出端口为PW,该PW包括:出端口号、出VLAN和出MAC,其中,出MAC为网关设备的B-MAC ;该静态建立的网关MAC地址的MAC地址转发表项不被动态学习到的网关MAC地址的MAC地址转发表项覆盖。
[0133]较佳地,
[0134]接收单元401,本设备作为该SPB实例中的BCB设备时,用于接收非MinM封装的SPB报文;
[0135]处理单元403,本设备作为该SPB实例中的BCB设备,用于当接收单元401接收到目的MAC地址为B-MAC地址的非MinM封装的SPB报文时,根据该用户报文的目的MAC在本地查找B-MAC地址转发表项,并根据查找到的B-MAC地址转发表项转发该SPB报文。
[0136]上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单兀。
[0137]综上所述,本发明具体实施例中通过在SPB实例内选择一个BEB设备作为用户侧单网关接入,使用户侧不再需要单独网关设备,从而简化了用户侧网络,节省了用户资源。
[0138]在将用户侧单网关的接入提升到SPB网络中的边缘设备上时,扩展了 SPB组网引用和域内转发方式。
[0139]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种报文处理方法,其特征在于,所述方法包括: 骨干网边缘网桥BEB设备作为最短路径桥SPB实例的用户侧单网关设备,接收到用户报文,且该用户报文的目的媒质访问控制MAC地址为网关MAC地址时,确定本地是否存在该用户报文的目的因特网协议IP地址对应的路由表项,如果是,根据该路由表项的内容处理该用户报文;否则,触发地址解析协议ARP请求用于生成该用户报文的目的IP地址对应的路由表项,并根据该路由表项的内容处理该用户报文。
2.根据权利要求1所述的方法,其特征在于,所述触发ARP请求用于生成该用户报文的目的IP地址对应的路由表项,包括: 触发该用户报文的目的IP地址的ARP请求,使IP地址为该用户报文的目的IP地址的设备在接收到该ARP请求时响应ARP应答报文; 在接收到与发出的ARP请求报文对应的ARP应答报文时,通过该ARP报文生成该用户报文的目的IP地址对应的路由表项。
3.根据权利要求2所述的方法,其特征在于, 当接收到与发出的ARP请求报文对应的ARP应答报文封装有MAC嵌套MinM隧道头时,生成的该用户报文的目的IP地址对应的路由表项,包括:IP地址和出端口,出端口为虚链路PW,该PW包括出端口号、出VLAN和出MAC,其中,所述出MAC为MinM隧道头骨干网源MAC地址B-SA中的骨干网B-MAC,出VLAN为B-VLAN ; 当接收到与发出的ARP请求报文对应的ARP应答报文未封装MinM隧道头时,生成的该用户报文的目的IP地址对应的路由表项,包括:用户VLAN、IP地址和出端口号。
4.根据权利要求3所述的方法,其特征在于,所述根据该路由表项的内容处理该用户报文,包括: 当该路由表项的出端口为PW时,将该用户报文的源MAC替换为网关MAC,目的MAC替换为出MAC,用户VLAN修改为B-VLAN,并出端口号对应的端口转发; 当该路由表项的出端口为出端口号时,将该用户报文的VLAN修改为路由表项中的用户VLAN,并通过出端口号对应的端口转发。
5.根据权利要求1所述的方法,其特征在于,所述方法进一步包括: 当接收到封装有ARP请求报文的MinM报文时,生成该ARP请求报文的发送端IP地址对应的路由表项,并在本地广播该ARP请求报文;该路由表项包括:IP地址和出端口,该出端口为PW,该PW包括出端口号、出VLAN和出MAC,其中,所述出MAC为MinM隧道头B-SA中的 B-MAC,出 VLAN 为 B-VLAN ; 当该ARP请求报文的目标端IP地址为本设备配置的网关IP地址时,生成ARP应答报文,并根据ARP请求报文的MinM隧道头进行封装并发送。
6.根据权利要求3-5任意一项所述的方法,其特征在于,所述方法进一步包括: 该BEB设备不为该SPB实例的用户侧单网关设备,接收到目的MAC地址为本设备的B-MAC地址的非MinM封装的SPB报文时,根据该SPB报文的目的IP地址查找对应的路由表项,根据查找到的路由表项中的用户VLAN修改该SPB报文中的B-VLAN,并转发。
7.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法进一步包括: 该BEB设备不为该SPB实例的用户侧单网关设备,接收到用户侧发送用户报文或ARP应答报文时,如果目的MAC地址为网关MAC地址时,根据网关MAC地址的MAC地址转发表项封装该报文并转发,其中,网关MAC地址的MAC地址转发表项根据网关设备发送的网关MAC地址通告静态建立的,该MAC地址表项包括:网关MAC地址和出端口;出端口为PW,该PW包括:出端口号、出VLAN和出MAC,其中,出MAC为网关设备的B-MAC ;该静态建立的网关MAC地址的MAC地址转发表项不被动态学习到的网关MAC地址的MAC地址转发表项覆盖。
8.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法进一步包括: 该SPB实例中的骨干网核心网桥BCB设备接收到目的MAC地址为B-MAC地址的非MinM封装的SPB报文时,根据该用户报文的目的MAC在本地查找B-MAC地址转发表项,并根据查找到的B-MAC地址转发表项转发该SPB报文。
9.一种设备,其特征在于,该设备包括:接收单元、确定单元和处理单元; 所述接收单元,用于本设备作为骨干网边缘网桥BEB设备且作为最短路径桥SPB实例的用户侧单网关设备时,接收用户报文; 所述确定单元,用于当所述接收单元接收到用户报文,且该用户报文的目的媒质访问控制MAC地址为网关MAC地址时,确定本地是否存在该用户报文的目的因特网协议IP地址对应的路由表项; 所述处理单元,用于当所述确定单元确定本地存在该用户报文的目的IP地址对应的路由表项时,根据该路由表项的内容处理该用户报文;当所述确定单元确定本地不存在该用户报文的目的IP地址对应的路由表项时,触发地址解析协议ARP请求用于生成该用户报文的目的IP地址对应的路由表项,并根据该路由表项的内容处理该用户报文。
10.根据权利要求9所述的设备,其特征在于, 所述处理单元,具体用于触发该用户报文的目的IP地址的ARP请求,使IP地址为该用户报文的目的IP地址的设备在接收到该ARP请求时响应ARP应答报文;在接收到与发出的ARP请求报文对应的ARP应答报文时,通过该ARP报文生成该用户报文的目的IP地址对应的路由表项。
11.根据权利要求10所述的设备,其特征在于, 所述处理单元,具体用于当接收到与发出的ARP请求报文对应的ARP应答报文封装有MAC嵌套MinM隧道头时,生成的该用户报文的目的IP地址对应的路由表项,包括:IP地址和出端口,出端口为PW,该PW包括出端口号、出VLAN和出MAC,其中,所述出MAC为MinM隧道头B-SA中的骨干网B-MAC,出VLAN为B-VLAN ;当接收到与发出的ARP请求报文对应的ARP应答报文未封装MinM隧道头时,生成的该用户报文的目的IP地址对应的路由表项,包括:用户VLAN、IP地址和出端口号。
12.根据权利要求11所述的设备,其特征在于, 所述处理单元,具体用于当该路由表项的出端口为PW时,将该用户报文的源MAC替换为网关MAC,目的MAC替换为出MAC,用户VLAN修改为B-VLAN,并出端口号对应的端口转发;当该路由表项的出端口为出端口号时,将该用户报文的VLAN修改为路由表项中的用户VLAN,并通过出端口号对应的端口转发。
13.根据权利要求9所述的设备,其特征在于, 所述接收单元,进一步用于接收MinM报文; 所述处理单元,进一 步用于当所述接收单元接收到封装有ARP请求报文的MinM报文时,生成该ARP请求报文的发送端IP地址对应的路由表项,并在本地广播该ARP请求报文;该路由表项包括:IP地址和出端口,该出端口为PW,该PW包括出端口号、出VLAN和出MAC,其中,所述出MAC为MinM隧道头B-SA中的B-MAC,出VLAN为B-VLAN ;当该ARP请求报文的目标端IP地址为本设备配置的网关IP地址时,生成ARP应答报文,并根据ARP请求报文的MinM隧道头进行封装并发送。
14.根据权利要求11-13任意一项所述的设备,其特征在于, 所述接收单元,本设备作为BEB设备且不作为该SPB实例的用户侧单网关设备时,用于接收非MinM封装的SPB报文; 所述处理单元,本设备作为BEB设备且不作为该SPB实例的用户侧单网关设备时。用于在所述接收单元接收到目的MAC地址为本设备的B-MAC地址的非MinM封装的SPB报文时,根据该SPB报文的目的IP地址查找对应的路由表项,根据查找到的路由表项中的用户VLAN修改该SPB报文中的B-V LAN,并转发。
15.根据权利要求9-13任意一项所述的设备,其特征在于, 所述接收单元,本设备作为BEB设备且不作为该SPB实例的用户侧单网关设备时,用户接收用户侧发送的用户报文或ARP应答报文; 所述处理单元,本设备作为BEB设备且不作为该SPB实例的用户侧单网关设备时,当所述接收单元接收到用户侧发送用户报文或ARP应答报文时,如果目的MAC地址为网关MAC地址时,根据网关MAC地址的MAC地址转发表项封装该报文并转发,其中,网关MAC地址的MAC地址转发表项根据网关设备发送的网关MAC地址通告静态建立的,该MAC地址表项包括:网关MAC地址和出端口 ;出端口为PW,该PW包括:出端口号、出VLAN和出MAC,其中,出MAC为网关设备的B-MAC ;该静态建立的网关MAC地址的MAC地址转发表项不被动态学习到的网关MAC地址的MAC地址转发表项覆盖。
16.根据权利要求9-13任意一项所述的设备,其特征在于, 所述接收单元,本设备作为该SPB实例中的骨干网核心网桥BCB设备时,用于接收非MinM封装的SPB报文; 所述处理单元,本设备作为该SPB实例中的BCB设备,用于当所述接收单元接收到目的MAC地址为B-MAC地址的非MinM封装的SPB报文时,根据该用户报文的目的MAC在本地查找B-MAC地址转发表项,并根据查找到的B-MAC地址转发表项转发该SPB报文。
【文档编号】H04L12/741GK104079466SQ201410315823
【公开日】2014年10月1日 申请日期:2014年7月3日 优先权日:2014年7月3日
【发明者】宋小恒, 郑国良 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1