CN105227464B - Vcf系统中的报文转发方法及装置 - Google Patents
Vcf系统中的报文转发方法及装置 Download PDFInfo
- Publication number
- CN105227464B CN105227464B CN201410282658.6A CN201410282658A CN105227464B CN 105227464 B CN105227464 B CN 105227464B CN 201410282658 A CN201410282658 A CN 201410282658A CN 105227464 B CN105227464 B CN 105227464B
- Authority
- CN
- China
- Prior art keywords
- equipment
- mac
- mac address
- vlan
- data message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种VCF系统中的报文转发方法及装置。其中,该方法中包括:当PE设备接收到第一用户数据报文时,根据第一用户数据报文的目的MAC地址和VLAN ID,在本地的MAC表中查找到对应的本地用户设备MAC表项,则通过该本地用户设备MAC表项中的出接口将第一用户数据报文转发出去;当PE设备接收到第二用户数据报文时,根据第二用户数据报文的目的MAC地址和VLAN ID,在MAC表中查找到对应的远端用户设备MAC表项,则根据该远端用户设备MAC表项对应的封装信息中的本PE设备的桥MAC地址、目的PE设备的桥MAC地址和VLAN ID,将第二用户数据报文封装成封装数据报文后,通过该远端用户设备MAC表项中的出接口转发出去。
Description
技术领域
本申请涉及网络通信技术领域,特别涉及一种VCF系统中的报文转发方法及装置。
背景技术
VCF(Vertical Converged Framework,纵向融合架构)是一种网络设备虚拟化技术。VCF在纵向维度上支持对系统进行异构扩展,即,将一台盒式设备(即PE设备)作为一块远程接口板加入到主设备系统(即CB设备构成的系统)中,从而整体形成一台逻辑虚拟设备,达到扩展I/O(Input/Output,输入输出)端口能力和进行集中控制管理的目的。
在VCF网络中,设备按角色分为CB(Controlling Bridge,控制桥)设备和PE(PortExtender,端口扩展)设备两种。VCF网络的典型组网结构如图1所示。
CB设备表示控制设备,CB设备可以由处理能力较强的盒式设备或框式设备承担。在实际应用中,通常会将多台CB设备通过IRF(Intelligent Resilient Framework,智能弹性架构)技术构建成一个虚拟化系统,这样有益于PE设备上行冗余。从整体上看,这个虚拟化系统就是一个大的CB设备。
PE设备表示纵向扩展设备,即端口扩展器(或称远程接口板)。通常来说,PE设备的能力不足以充当CB设备,管理拓扑上难以越级,因此仅能够参与数据平面的工作,不具备作为CB设备的备份能力。PE设备一般来说是低成本的盒式设备。
以下将CB设备与PE设备之间连接的接口称为纵向互联口,将CB设备之间连接的接口称为横向互联口;PE设备上连接用户设备(PE直接连接用户设备,或者PE通过交换机连接用户设备)的接口称为UNI(User Network Interface,用户网络接口)。其中,纵向互联口和UNI是一个逻辑概念,可以是一个物理端口,也可以是至少一个物理端口组成的聚合口。
在VCF技术中,PE设备根据组网需要可以与一个或多个CB设备连接,PE设备之间不能连接。从模型上说,PE设备相当于CB设备的一块远程接口板;从功能上看,CB设备与PE设备之间的纵向互联相当于框式设备的“背板”;从管理上看,所有CB设备和PE设备组成一个堆叠,对外是一台设备,一个管理点;在转发层面上,CB设备承担VCF系统的业务数据的转发决策,而PE设备主要承担CB设备的端口扩展器角色。
由于在转发层面上,PE设备不参与报文的查表转发处理,即,在接收到用户设备发来的数据报文后,将该数据报文直接重定向到CB设备,由CB设备完成查找转发的动作;或者,在接收到CB设备发来的数据报文后,根据该报文中的出端口等信息,直接将该数据报文转发给本PE设备连接的相应用户设备。这样,就给CB设备带来了很大的工作压力,既要保存大量的路由表项来完成三层转发,又要保存大量的MAC(Media Access Control,媒体访问控制)表项来完成二层转发,增加了CB设备的成本;同时,浪费了PE设备的查表转发能力,增加了整个网络的TCO(Total Cost of Ownership,总体拥有成本)。
发明内容
本申请提供了一种VCF系统中的报文转发方法及装置,旨在解决现有技术中存在的CB设备查表转发的工作压力较大,而PE设备不参与查表转发,导致VCF系统的TCO较高的问题。
本申请的技术方案如下:
一方面,提供了一种VCF系统中的报文转发方法,VCF系统中包括:CB设备及其连接的PE设备,该方法包括:
当PE设备接收到第一用户数据报文时,根据第一用户数据报文的目的MAC地址和VLAN ID,在本地的MAC表中查找到对应的本地用户设备MAC表项,则通过该本地用户设备MAC表项中的出接口将第一用户数据报文转发出去;
当PE设备接收到第二用户数据报文时,根据第二用户数据报文的目的MAC地址和VLAN ID,在MAC表中查找到对应的远端用户设备MAC表项,则根据该远端用户设备MAC表项对应的封装信息中的本PE设备的桥MAC地址、目的PE设备的桥MAC地址和VLAN ID,将第二用户数据报文封装成封装数据报文后,通过该远端用户设备MAC表项中的出接口转发出去。
另一方面,还提供了一种VCF系统中的报文转发方法,VCF系统中包括:CB设备及其连接的PE设备,该方法包括:
当CB设备接收到封装数据报文时,根据该封装数据报文的外层以太头中的目的MAC地址和VLAN ID,在本地的MAC表中查找到对应的出接口,通过查找到的出接口将该封装数据报文转发出去。
又一方面,还提供了一种VCF系统中的报文转发装置,VCF系统中包括:CB设备及其连接的PE设备,该装置应用于PE设备中,该装置包括:
接收模块,用于接收用户数据报文;
表项查找模块,用于当接收模块接收到第一用户数据报文时,根据第一用户数据报文的目的MAC地址和VLAN ID,在本地的MAC表中查找到对应的本地用户设备MAC表项;还用于当接收模块接收到第二用户数据报文时,根据第二用户数据报文的目的MAC地址和VLAN ID,在MAC表中查找到对应的远端用户设备MAC表项;
封装模块,用于根据表项查找模块查找到的远端用户设备MAC表项对应的封装信息中的本PE设备的桥MAC地址、目的PE设备的桥MAC地址和VLAN ID,将第二用户数据报文封装成封装数据报文;
发送模块,用于通过表项查找模块查找到的本地用户设备MAC表项中的出接口,将第一用户数据报文转发出去;还用于通过表项查找模块查找到的远端用户设备MAC表项中的出接口,将封装模块封装得到的封装数据报文转发出去。
又一方面,还提供了一种VCF系统中的报文转发装置,VCF系统中包括:CB设备及其连接的PE设备,该装置应用于CB设备中,该装置包括:
接收模块,用于接收封装数据报文;
表项查找模块,用于当接收模块接收到封装数据报文时,根据该封装数据报文的外层以太头中的目的MAC地址和VLAN ID,在本地的MAC表中查找到对应的出接口;
发送模块,用于通过表项查找模块查找到的出接口,将接收模块接收到的封装数据报文转发出去。
本申请的以上技术方案中,CB设备上不再配置对应于PE设备连接的用户设备的MAC表项,而PE设备上配置对应于用户设备的MAC表项,这样,在进行报文转发时,PE设备可以根据本地的MAC表项,参与报文的二层转发处理,而CB设备主要负责IP三层转发。由于CB设备上无需保存大量的对应于PE设备连接的用户设备的MAC表项来完成二层转发,主要负责三层转发,极大的减轻了CB设备的工作压力,降低了CB设备的成本;并且,PE设备上需要保存对应于用户设备的MAC表项来完成二层转发,充分利用了PE设备的硬件功能;从而,通过让CB设备和PE扩展联合实现多层转发,增加了设备的灵活性,扩大了VCF技术的应用,降低了整个网络的TCO。
另外,PE设备可以将本设备学习到的对应于本地用户设备的MAC表项同步给其它PE设备,实现了同一VLAN内的MAC表项的同步,使得跨PE设备的二层转发“穿越”CB设备,减少了对CB设备上的表项的消耗,同时CB设备和PE设备相互配合完成三层转发。
附图说明
图1是VCF系统的系统架构示意图;
图2是本申请实施例的基于VCF系统的一种实际网络架构示意图;
图3是本申请实施例的CB设备配置MAC表项以及PE设备配置封装信息和终结信息的操作流程图;
图4是本申请实施例的PE设备配置MAC表项的操作流程图;
图5是本申请实施例的同一PC以聚合方式连接2个PE设备的结构示意图;
图6是本申请实施例的PE设备连接的用户设备之间的通信过程的方法流程图;
图7是本申请实施例的PE设备连接的用户设备向上游设备连接的用户设备发送数据报文的方法流程图;
图8是本申请实施例的上游设备连接的用户设备向PE设备连接的用户设备发送数据报文的方法流程图;
图9是本申请实施例的应用于PE设备中的报文转发装置的结构示意图;
图10是本申请实施例的应用于CB设备中的报文转发装置的结构示意图。
具体实施方式
为了解决现有技术中存在的CB设备查表转发的工作压力较大,而PE设备不参与查表转发,导致VCF系统的TCO较高的问题,本申请以下实施例中提供了一种VCF系统中的报文转发方法,以及一种可以应用该方法的装置。
本申请实施例中,将CB设备与PE设备之间的端口称为纵向互联口,将PE设备连接用户设备的端口称为UNI,以下的纵向互联口和UNI可以指的是单一的物理端口,也可以是聚合组,本申请对此不做限定。
本申请实施例的VCF系统中的报文转发方法包括以下内容:
如图2所示,多个CB设备和多个PE设备采用VCF技术构成一个VCF系统,该VCF系统中的每一个PE设备连接(直连或通过交换机连接)至少一个用户设备,例如,PC(个人电脑)等,VCF系统通过上游设备与互联网中的用户设备(如图2中的PC1)连接。
VCF系统形成之后,用户在每一个PE设备上创建至少一个VLAN(Virtual LocalArea Network,虚拟局域网),用户创建的VLAN区别于后面的保留VLAN,以下除了特指为保留VLAN以外的VLAN均指的是用户VLAN;将该PE设备上的每一个UNI加入到一个VLAN中,从而,每一个UNI对应于一个VLAN;另外,用户还可以在某一个或多个VLAN上配置虚接口,VCF系统会为每一个虚接口分配一个MAC地址(称为本VCF系统的虚MAC地址),不同虚接口对应的VLAN不同,不同虚接口对应的虚MAC地址可以相同、也可以不同,从而,每一个虚MAC地址对应于一个VLAN。PE设备和CB设备上均保存有虚接口对应的虚MAC和VLAN ID。
开启PE设备上的UNI的MAC地址学习功能,以使得PE设备在接收到连接的用户设备发来的数据报文后,学习该数据报文的源MAC地址,从而PE设备上会配置有对应于本地用户设备的MAC表项;关闭CB设备上的纵向互联口的MAC地址学习功能,以使得CB设备在接收到PE设备发来的数据报文后,不会学习该数据报文的源MAC地址,从而CB设备上不会配置对应于PE设备连接的用户设备的MAC表项。并且,每一个PE设备能够获知配置有相同VLAN的其它PE设备的信息,例如,设备ID等。
1、表项配置过程
(1)CB设备会按照本设备上的路由协议,计算并生成相关路由表项,并配置到本地的路由表中。具体可以参见现有技术,这里不再赘述。
(2)CB设备上配置对应于PE设备的MAC表项,PE设备上配置封装信息和终结信息,如图3所示,具体过程如下:
步骤S102,当PE设备正常启动之后,CB设备针对每一个PE设备,根据获取的该PE设备的桥MAC地址,在本地的MAC表中配置对应的MAC表项,如表1所示:
表1
从表1中可以看出,对应于任一PE设备的MAC表项中包括:保留VLAN的VLAN ID、该PE设备的桥MAC地址、以及CB设备上连接该PE设备的纵向互联口,其中,保留VLAN是不允许用户使用和配置的VLAN,例如,VLAN0或VLAN4095。
步骤S104,CB设备将每一个PE设备的桥MAC地址通知给所有其它PE设备,这样,每一个PE设备都能够获得所有其它PE设备的桥MAC地址;
步骤S106,PE设备针对每一个其它PE设备,根据该其它PE设备的桥MAC地址,在本地的封装信息表中配置对应的封装信息,以及在终结信息表中配置对应的终结信息,分别如表2和表3所示;
表2封装信息表
表3终结信息表
DestinationMac(目的MAC地址) | Action(动作) |
本PE设备的桥MAC地址 | 弹出外层以太头 |
从表2中可以看出,对应于任一其它PE设备的封装信息中的EnID是为该封装信息分配的序列号;OutSourceMac是本PE设备的桥MAC地址,当根据该封装信息对数据报文封装外层以太头时,将OutSourceMac作为外层以太头的源MAC地址;OutDestinationMac是该其它PE设备的桥MAC地址,当根据该封装信息对数据报文进行封装时,将OutDestinationMac作为外层以太头的目的MAC地址;OutVlan ID是保留VLAN的VLAN ID,当根据该封装信息对数据报文进行封装时,将OutVlan ID作为外层以太头的VLAN ID。
从表3中可以看出,对应于任一其它PE设备的终结信息中的DestinationMac是本PE设备的桥MAC地址,Action是动作字段,用于指示弹出封装数据报文的外层以太头。
为了描述方便,以下将未经PE设备封装外层以太头的数据报文称为用户数据报文,将经过封装后的用户数据报文称为封装数据报文。
通过步骤S106,所有的PE设备相当于组成了一个二层VPN(Virtual PrivateNetwork虚拟专用网),这种二层VPN类似于VPLS(Virtual Private Lan Service,虚拟专用局域网业务)或MAC-in-MAC(MAC嵌套)网络。
(3)PE设备上配置对应于用户设备的MAC表项,如图4所示,具体过程如下:
步骤S202,由于PE设备上的UNI开启了MAC地址学习功能,因此,PE设备在接收到来自本PE设备连接的用户设备(称为本地用户设备)的用户数据报文之后,学习该用户数据报文的源MAC地址,在本地的MAC表中配置对应的MAC表项,称为本地用户设备MAC表项,如表4-1所示:
表4-1
从表4-1中可以看出,任一本地用户设备MAC表项中的VLAN ID是用户数据报文对应的VLAN ID,即,当用户数据报文中携带有VLAN ID时,MAC表项中的VLAN ID就置为用户数据报文中携带的VLAN ID,当用户数据报文中没有携带VLAN ID时,MAC表项中的VLAN ID就置为接收到该用户数据报文的UNI对应的VLAN ID;封装指示信息置为FALSE,用于指示不封装外层以太头,并且,EnID可以置为空,由于不封装外层以太头,因此,EnID也不会被使用;当根据接收到的用户数据报文的目的MAC地址和对应的VLAN ID,查找到该表项时,由封装指示信息=FALSE可知,不需要对该用户数据报文封装外层以太头。
步骤S204,PE设备将MAC表中的本地用户设备MAC表项,通过本VCF系统内部的板间通信通道同步给所有其它PE设备,具体的,可以将这些本地用户设备MAC表项中的内容携带在MAC同步报文中发送给所有其它PE设备;其它PE设备接收到该MAC同步报文后,针对该MAC同步报文中携带的VLAN ID所指示的VLAN,判断本PE设备上是否存在相同的VLAN,且该VLAN内存在至少一个UNI,若是,则在本地的MAC表中配置对应的远端用户设备MAC表项,该远端用户设备MAC表项的格式可以参见表4-2;
步骤S206,PE设备在接收到其它PE设备发来的MAC同步报文后,针对该MAC同步报文中携带的VLAN ID所指示的VLAN,若判断出本PE上存在相同的VLAN,且该本地VLAN内存在至少一个UNI,则根据该MAC同步报文中携带的该其它PE设备(即发送该MAC同步报文的其它PE设备)的设备ID(例如,槽号),在如表2所示的封装信息表中查找到对应的EnID,并在如表4-1所示的MAC表中配置对应的远端用户设备MAC表项,更新后的MAC表如表4-2所示:
表4-2
从表4-2中可以看出,远端用户设备MAC表项中的封装指示信息置为TRUE,用于指示需要封装外层以太头,并且,EnID置为根据发送该MAC同步报文的其它PE设备的设备ID在封装信息表中查找到的EnID,由于需要封装外层以太头,因此,EnID会被使用;当根据接收到的用户数据报文的目的MAC地址和对应的VLAN ID,查找到该表项时,由封装指示信息=TRUE可知,需要对该用户数据报文封装外层以太头,然后,根据EnID,在如表2所示的封装信息表中查找到对应的OutSourceMac、OutDestinationMac和OutVlan ID,根据查找到的这些信息将该用户数据报文封装成封装数据报文后转发出去。
其中,需要注意的是:对于同一用户设备通过聚合方式连接至少两个PE设备的特殊情况,此时的MAC表项同步过程,以如图5所示的PC同时连接两个PE设备PE1和PE2为例进行说明,其中,PE1连接PC的UNI1与PE2连接PC的UNI2加入到同一聚合组,PC连接PE1和PE2的端口加入到同一聚合组中。
例如,一种MAC表项同步过程是:在将对应于PC的本地用户设备MAC表项同步出去之前,PE1和PE2均已经通过接收PC发来的用户数据报文在本地的MAC表中配置了对应于PC的本地用户设备MAC表项,之后,当PE1和PE2中的任一PE设备,如PE1按照步骤S204将本地的对应于PC的本地用户设备MAC表项同步给所有其它PE设备时,PE2在执行步骤S206的过程中,在判断出本PE设备上存在相同的VLAN,且该本地VLAN内存在至少一个UNI之后,首先根据该MAC同步报文中携带的该对应于PC的本地用户设备MAC表项中的VLAN ID和MAC地址,在本地的MAC表中查找匹配表项,若查找到了匹配表项,则判断该匹配表项中的封装指示信息是否是FALSE,若是,说明该匹配表项中的出接口是UNI,则不会在本地的MAC表中配置对应的远端用户设备MAC表项,以确保本地优先转发。
另一种MAC表项同步过程是:PE1和PE2中的一个PE设备,如PE1先通过接收PC的用户数据报文在本地的MAC表中配置了对应于PC的本地用户设备MAC表项,并且,在PE2通过接收PC发来的用户数据报文在本地的MAC表中配置对应于PC的本地用户设备MAC表项之前,PE1已经执行了步骤S204将本地的对应于PC的本地用户设备MAC表项同步给所有其它PE设备,此时,MAC同步报文中携带有对应于PC的本地用户设备MAC表项中的MAC地址、VLAN ID和出接口;PE2在执行步骤S206的过程中,在判断出本PE设备上存在相同的VLAN,且该本地VLAN内存在至少一个UNI之后,首先根据该MAC同步报文中携带的该对应于PC的本地用户设备MAC表项中的VLAN ID和MAC地址,在本地的MAC表中查找匹配表项,若没有查找到匹配表项,则判断该MAC同步报文中携带的该对应于PC的本地用户设备MAC表项中的出接口是否是聚合组,且本PE2上是否存在该聚合组的成员端口,若是,即,该对应于PC的本地用户设备MAC表项中的出接口是聚合组且本PE2上存在该聚合组的成员端口,则不会在本地的MAC表中配置对应的远端用户设备MAC表项,以确保本地优先转发。
由上述两种MAC同步过程可知,对于同一用户设备通过聚合方式连接至少两个PE设备的情况,MAC同步报文中除了携带本地用户设备MAC表项中的VLAN ID和MAC地址之外,还需要携带出接口,此时,步骤S206中包括:
PE设备在接收到其它PE设备发来的MAC同步报文后,针对该MAC同步报文中携带的VLAN ID所指示的VLAN,若判断出本PE上存在相同的VLAN,且该本地VLAN内存在至少一个UNI,则根据该MAC同步报文中携带的该VLAN ID和MAC地址,在本地的MAC表中查找匹配表项;
若查找到了匹配表项,则在该匹配表项中的封装指示信息是FALSE时,退出本流程,即,不会在本地的MAC表中配置对应的远端用户设备MAC表项;
若没有查找到匹配表项,则在该MAC同步报文中携带的出接口是聚合组,且本PE设备上存在该聚合组的成员端口时,在如表4-1所示的MAC表中配置对应的本地用户设备MAC表项,其中,该配置的本地用户设备MAC表项中包括:该MAC同步报文中携带的VLAN ID、MAC地址和UNI;在该MAC同步报文中携带的出接口不是聚合组时,或者,在该MAC同步报文中携带的出接口是聚合组,且本PE设备上不存在该聚合组的成员端口时,根据该MAC同步报文中携带的该其它PE设备(即发送该MAC同步报文的其它PE设备)的设备ID,在如表2所示的封装信息表中查找到对应的EnID,并在如表4-1所示的MAC表中配置对应的远端用户设备MAC表项。
(4)PE设备上配置对应于虚接口的MAC表项,具体过程如下:
针对每一个虚接口,在如表4-2所示的MAC表中配置对应的MAC表项,此时,MAC表更新为如表4-3所示:
表4-3
从表4-3中可以看出,对应于任一虚接口的MAC表项中的出接口是本PE设备连接CB设备的纵向互联口、封装指示信息=FALSE,用于指示不封装外层以太头,并且,EnID可以置为空,由于不封装外层以太头,因此,EnID也不会被使用;当根据接收到的用户数据报文的目的MAC地址和VLAN ID,查找到该表项时,由封装指示信息=FALSE可知,不需要对该用户数据报文封装外层以太头,直接转发给CB设备。
(5)PE设备上配置广播表项,具体过程如下:
针对本地配置的每一个VLAN,根据同样配置有该VLAN的其它PE设备的设备ID,在如表2所示的封装信息表中查找对应的EnID,然后,在本地的广播表中配置对应的表项,如表5所示:
表5
2、报文转发过程
(1)PE设备连接的用户设备之间的通信过程
如图6所示,在该过程中,包括以下步骤:
步骤S302,PE设备(为了描述方便,称为入PE设备)接收到连接的用户设备发来的用户数据报文;
步骤S304,入PE设备根据该用户数据报文的目的MAC地址和VLANID,在如表4-3所示的MAC表中查找匹配表项;
步骤S306,判断是否查找到了匹配表项,若是,则执行步骤S308,否则,执行步骤S314;
步骤S308,判断查找到的匹配表项中的封装指示信息是否为TRUE,若是,则执行步骤S310,否则,封装指示信息为FALSE,则执行步骤S312;
步骤S310,根据该匹配表项中的EnID在如表2所示的封装信息表中查找到对应的OutSourceMac、OutDestinationMac和OutVlan ID,根据这些信息对该用户数据报文封装外层以太头,得到封装数据报文,其中,该封装数据报文的外层以太头中的源MAC地址=OutSourceMac、目的MAC地址=OutDestinationMac、VLAN ID=OutVlan ID,将该封装数据报文通过该匹配表项中的出接口,即,纵向互联口转发给CB设备;
CB设备接收到入PE设备发来的封装数据报文之后,根据外层以太头中的目的MAC地址和VLAN ID,在如表1所示的MAC表中查找到对应的出接口,通过该出接口转发该封装数据报文给对应的PE设备(为了描述方便,称为出PE设备)。
出PE设备接收到CB设备发来的封装数据报文之后,判断出该封装数据报文的外层以太头中的目的MAC地址是本PE设备的桥MAC地址,则根据该目的MAC地址在如表3所示的终结信息表中查找到对应的Action,按照该Action弹出该封装数据报文的外层以太头,得到用户数据报文,然后,根据该用户数据报文的目的MAC地址和VLAN ID,在如表4-3所示的MAC表中查找到对应的本地用户设备MAC表项,由于该表项中的封装指示信息=FALSE,直接通过该表项中的出接口将该用户数据报文转发给目的用户设备。
从而,实现了同一VLAN内连接于不同PE设备的用户设备之间的通信。
步骤S312,将该用户数据报文通过该匹配表项中的出接口转发出去;
其中,当该匹配表项中的出接口是UNI时,会将该用户数据报文通过该UNI转发给本PE设备连接的目的用户设备,从而,实现了同一VLAN内连接于同一PE设备的用户设备之间的通信。
当该匹配表项中的出接口是本PE设备连接CB设备的纵向互联口时,会将该用户数据报文通过该纵向互联口转发给CB设备。CB设备接收到入PE设备发来的用户数据报文之后,判断出该用户数据报文的目的MAC地址是本VCF系统的虚MAC地址,则进入三层转发流程,即,根据该用户数据报文的目的IP地址在路由表中查找到出接口、目的MAC地址和出VLAN ID等路由转发信息,此时,查找到的出接口是本CB设备连接一PE设备(为了描述方便,称为出PE设备)的纵向互联口,目的MAC地址是该出PE设备连接的一用户设备的MAC地址,出VLAN ID是该出PE设备连接该用户设备的UNI所属VLAN的VLAN ID;将该用户数据报文的目的MAC地址修改为查找到的目的MAC地址,将该用户数据报文的VLAN ID修改为查找到的出VLAN ID,然后将修改后的用户数据报文通过该出接口转发给该出PE设备。出PE设备接收到该用户数据报文之后,根据该用户数据报文的目的MAC地址和VLAN ID,在如表4-3所示的MAC表中查找到对应的本地用户设备MAC表项,此时,该表项中的封装指示信息=FALSE,则直接通过该表项中的出接口转发该用户数据报文给目的用户设备。从而,实现了不同VLAN内的用户设备之间的通信。
步骤S314,根据该用户数据报文的VLAN ID,在如表5所示的广播表中查找到对应的至少一个出接口,针对除该用户数据报文的入UNI以外的每一个出接口,对该用户数据报文进行复制,并在任一出接口是UNI时,将该用户数据报文通过该UNI转发给本PE设备连接的对应用户设备,在任一出接口是EnID+本PE设备连接CB设备的纵向互联口(称为隧道口)时,根据该EnID在如表2所示的封装信息表中查找对应的OutSourceMac、OutDestinationMac和OutVlan ID,根据这些信息将该用户数据报文封装成封装数据报文后,通过本PE设备连接CB设备的纵向互联口发送给CB设备;
CB设备接收到入PE设备发来的封装数据报文之后,根据外层以太头的目的MAC地址和VLAN ID,在如表1所示的MAC表中查找到对应的出接口,通过该出接口转发该封装数据报文给对应的PE设备(为了描述方便,称为出PE设备)。
出PE设备接收到CB设备发来的封装数据报文之后,判断出该封装数据报文的外层以太头的目的MAC地址是本PE设备的桥MAC地址,则根据该目的MAC地址在如表3所示的终结信息表中查找到对应的Action,按照该Action弹出该封装数据报文的外层以太头,得到用户数据报文,然后,根据该用户数据报文的目的MAC地址和VLAN ID,在如表4-3所示的MAC表中查找对应的本地用户设备MAC表项,若查找到了对应的本地用户设备MAC表项,则由于该表项中的封装指示信息=FALSE,直接通过该表项中的出接口将该用户数据报文转发给本PE设备连接的目的用户设备;若没有查找到对应的本地用户设备MAC表项,则在如表5所示的广播表中查找到至少一个出接口,由于该用户数据报文是封装成封装数据报文后进入本PE设备的,因此,会将查找到的出接口中的隧道口滤除,最终,通过查找到的UNI,转发给本PE设备连接的对应用户设备。
从而,实现了目的MAC地址未知的单播数据报文在同一VLAN内的广播。
(2)PE设备连接的用户设备与上游设备连接的用户设备之间的通信过程
如图7所示,在PE设备连接的用户设备向上游设备连接的用户设备发送报文的过程中,包括以下步骤:
步骤S402,入PE设备接收到连接的用户设备发来的目的MAC地址是本VCF系统的虚MAC地址的用户数据报文后,根据该用户数据报文的目的MAC地址和VLAN ID,在如表4-3所示的MAC表中查找到匹配表项,此时,该匹配表项中的封装指示信息=FALSE,则将该用户数据报文直接通过该匹配表项中的出接口转发给CB设备;
步骤S404,CB设备接收到PE设备发来的该用户数据报文后,判断出该用户数据报文的目的MAC地址是本VCF系统的虚MAC地址,则进入三层转发流程,即,根据该用户数据报文的目的IP地址在路由表中查找到出接口、目的MAC地址和出VLAN ID等路由转发信息,此时,查找到的出接口是本CB设备连接上游设备的端口,目的MAC地址是该上游设备连接的用户设备的MAC地址,出VLAN是该上游设备连接该用户设备的端口所属VLAN的VLAN ID;
步骤S406,CB设备将该用户数据报文的目的MAC地址修改为查找到的目的MAC地址,将该用户数据报文的VLAN ID修改为查找到的出VLAN ID,然后将修改后的用户数据报文通过该出接口转发给上游设备。
假设,该用户数据报文的目的MAC地址为MAC2,VLAN ID是VLAN1,在步骤S404中查找到的目的MAC地址是MAC3,出VLAN ID是VLAN2,则,修改后的用户数据报文的目的MAC地址是MAC3,VLAN ID是VLAN2。
如图8所示,在上游设备连接的用户设备向PE设备连接的用户设备发送报文的过程中,包括以下步骤:
步骤S502,CB设备通过连接上游设备的端口接收到用户数据报文之后,判断出该用户数据报文的目的MAC地址是本VCF系统的虚MAC地址,则进入三层转发流程,即,根据该用户数据报文的目的IP地址在路由表中查找到出接口、目的MAC地址和出VLAN ID等路由转发信息,此时,查找到的出接口是本CB设备连接一PE设备(为了描述方便,称为出PE设备)的纵向互联口,目的MAC地址是该出PE设备连接的一用户设备的MAC地址,出VLAN ID是该出PE设备连接该用户设备的UNI所属VLAN的VLAN ID;
步骤S504,CB设备将该用户数据报文的目的MAC地址修改为查找到的目的MAC地址,将该用户数据报文的VLAN ID修改为查找到的出VLAN ID,然后将修改后的用户数据报文通过该出接口转发给该出PE设备;
步骤S506,出PE设备接收到CB设备发来的该用户数据报文后,根据该用户数据报文的目的MAC地址和VLAN ID,在如表4-3所示的MAC表中查找到对应的本地用户设备MAC表项,由于该表项中的封装指示信息=FALSE,则直接通过该表项中的出接口转发该用户数据报文给本PE设备连接的目的用户设备。
本申请实施例的技术方案中,CB设备上不再配置对应于PE设备连接的用户设备的MAC表项,而PE设备上配置对应于用户设备的MAC表项,这样,在进行报文转发时,PE设备可以根据本地的MAC表项,参与报文的二层转发处理,而CB设备主要负责IP三层转发。由于CB设备上无需保存大量的对应于PE设备连接的用户设备的MAC表项来完成二层转发,主要负责三层转发,极大的减轻了CB设备的工作压力,降低了CB设备的成本;并且,PE设备上需要保存对应于用户设备的MAC表项来完成二层转发,充分利用了PE设备的硬件功能;从而,通过让CB设备和PE扩展联合实现多层转发,增加了设备的灵活性,扩大了VCF技术的应用,降低了整个网络的TCO。
另外,PE设备可以将本设备学习到的本地用户设备MAC表项同步给其它PE设备,实现了同一VLAN内的MAC表项的同步,使得跨PE设备的二层转发“穿越”CB设备,减少了对CB设备上的表项的消耗,同时CB设备和PE设备相互配合完成三层转发。
以图2所示的基于VCF系统的实际网络架构为例,说明上述方法。在图2所示的网络中,VCF系统中包括:CB设备CB1~CB2和PE设备PE1~PE4,CB1连接PE1~PE4,CB2连接PE1~PE4;CB1和CB2连接外部的上游设备,上游设备通过互联网连接PC1;PE1连接PC2~PC3,PE2连接PC4,PE3连接PC5,PE4连接PC6。
假设,PE1和PE2上配置VLAN10,PE1连接PC2的UNI1、PE1连接PC3的UNI2,PE2连接PC4的UNI3加入VLAN10;PE3和PE4上配置VLAN20,PE3连接PC5的UNI4和PE4连接PC6的UNI5加入VLAN20。
各个PC的MAC地址表示为MAC-PC,例如,PC1的MAC地址表示为MAC-PC1;各个PC的IP地址表示为IP-PC,例如,PC1的IP地址表示为IP-PC1。
各个PE设备的桥MAC地址表示为MAC-PE,例如,PE1的桥MAC地址表示为MAC-PE1。
虚MAC表示为MAC-CB。
CB1(或CB2)上的MAC表如表6所示:
表6
表7-2终结信息表
DestinationMac | Action |
MAC-PE1 | 弹出外层以太头 |
PE2上的封装信息表和终结信息表分别如表8-1和表8-2所示:
表8-1封装信息表
EnID | OutSourceMac | OutDestinationMac | OutVlan ID |
1 | MAC-PE2 | MAC-PE1 | VLAN0 |
2 | MAC-PE2 | MAC-PE3 | VLAN0 |
表8-2终结信息表
DestinationMac | Action |
MAC-PE2 | 弹出外层以太头 |
PE3上的封装信息表和终结信息表分别如表9-1和表9-2所示:
表9-1封装信息表
EnID | OutSourceMac | OutDestinationMac | OutVlan ID |
1 | MAC-PE3 | MAC-PE1 | VLAN0 |
2 | MAC-PE3 | MAC-PE2 | VLAN0 |
3 | MAC-PE3 | MAC-PE4 | VLAN0 |
表9-2终结信息表
DestinationMac | Action |
MAC-PE3 | 弹出外层以太头 |
PE4上的封装信息表和终结信息表分别如表10-1和表10-2所示:
表10-1封装信息表
EnID | OutSourceMac | OutDestinationMac | OutVlan ID |
1 | MAC-PE4 | MAC-PE1 | VLAN0 |
2 | MAC-PE4 | MAC-PE2 | VLAN0 |
3 | MAC-PE4 | MAC-PE3 | VLAN0 |
表10-2终结信息表
DestinationMac | Action |
MAC-PE4 | 弹出外层以太头 |
PE1上的MAC表如表11所示:
表11
PE2上的MAC表如表12所示:
表12
PE3上的MAC表如表13所示:
表13
PE4上的MAC表如表14所示:
表14
数据报文转发过程如下:
1、连接于同一PE设备的PC之间的数据报文转发
PC2发出用户数据报文,其中,该用户数据报文的源MAC地址是MAC-PC2,目的MAC地址是MAC-PC3,VLAN ID是VLAN10;
PE1通过UNI1接收到该用户数据报文后,根据该用户数据报文的目的MAC地址MAC-PC3和VLAN ID VLAN10,在如表11所示的MAC表中查找到对应的本地用户设备MAC表项,该表项中的出接口是UNI2、封装指示信息=FALSE,因此,PE1将该用户数据报文直接通过UNI2转发给了PC3。
2、连接于不同PE设备的同一VLAN内的PC之间的数据报文转发
PC2发出用户数据报文,其中,该用户数据报文的源MAC地址是MAC-PC2,目的MAC地址是MAC-PC4,VLAN ID是VLAN10;
PE1接收通过UNI1接收到该用户数据报文后,根据该用户数据报文的目的MAC地址MAC-PC4和VLAN ID VLAN10,在如表11所示的MAC表中查找到对应的远端用户设备MAC表项,该表项中的出接口是PE1连接CB的纵向互联口、封装指示信息=TRUE、EnID=1,则根据EnID=1在如表7-1所示的封装信息表中查找到对应的封装信息,该封装信息中的OutSourceMac=MAC-PE1、OutDestinationMac=MAC-PE2、OutVlan ID=VLAN0,为该用户数据报文添加外层以太头得到封装数据报文,其中,该外层以太头中的源MAC地址置为MAC-PE1,目的MAC地址置为MAC-PE2,VLANID置为VLAN0,然后,将该封装数据报文通过PE1连接CB的纵向互联口转发给任一CB设备,如CB1;
CB1接收到该封装数据报文后,根据外层以太头的目的MAC地址MAC-PE2和VLAN IDVLAN0,在如表6所示的MAC表中查找到对应的出接口:CB1上连接PE2的纵向互联口,通过该纵向互联口转发该封装数据报文给PE2;
PE2接收到该封装数据报文之后,发现外层以太头中的目的MAC地址MAC-PE2是本设备的桥MAC地址,则根据MAC-PE2在如表8-2所示的终结信息表中查找到对应的Action,按照该Action弹出该封装数据报文的外层以太头,得到用户数据报文,然后,根据该用户数据报文的目的MAC地址MAC-PC4和VLAN ID VLAN10,在如表12所示的MAC表中查找到对应的本地用户设备MAC表项,该表项中的出接口是UNI3、封装指示信息=FALSE,因此,直接将该用户数据报文通过UNI3转发给PC4。
3、不同VLAN内的PC之间的数据报文转发
PC2发出用户数据报文,其中,该用户数据报文的源MAC地址是MAC-PC2、目的MAC地址是MAC-CB、VLAN ID是VLAN10、目的IP地址是IP-PC5;
PE1通过UNI1接收到该用户数据报文后,根据该用户数据报文的目的MAC地址MAC-CB和VLAN ID VLAN10,在如表11所示的MAC表中查找到匹配表项,该匹配表项中的出接口是PE1连接CB的纵向互联口、封装指示信息=FALSE,则直接通过该出接口将该用户数据报文转发给任一CB设备,如CB2;
CB2接收到该用户数据报文后,发现该用户数据报文的目的MAC地址是MAC-CB,则进入三层转发流程,根据该用户数据报文的目的IP地址IP-PC5,在路由表中查找到出接口、目的MAC地址和出VLAN ID等路由转发信息,此时,查找到的出接口是CB2连接PE3的纵向互联口,目的MAC地址是MAC-PC5,出VLAN ID是VLAN20,然后,将该用户数据报文的目的MAC地址修改为MAC-PC5,将该用户数据报文的VLAN ID修改为VLAN20,将修改后的用户数据报文通过CB2连接PE3的纵向互联口转发给PE3;
PE3接收到该用户数据报文之后,根据该用户数据报文的目的MAC地址MAC-PC5和VLAN ID VLAN20,在如表13所示的MAC表中查找到对应的本地用户设备MAC表项,此时,该表项中的出接口是UNI4、封装指示信息=FALSE,则直接通过UNI4转发该用户数据报文给PC5。
4、PE连接的PC与上游设备连接的PC之间的数据报文转发
PC6发出用户数据报文,其中,该用户数据报文的源MAC地址是MAC-PC6、目的MAC地址是MAC-CB、VLAN ID是VLAN20、目的IP地址是IP-PC1;
PE4通过UNI5接收到该用户数据报文后,根据该用户数据报文的目的MAC地址MAC-CB和VLAN ID VLAN20,在如表14所示的MAC表中查找到匹配表项,该匹配表项中的出接口是PE4连接CB的纵向互联口、封装指示信息=FALSE,因此,PE4直接通过该纵向互联口转发该用户数据报文给任一CB设备,如CB2;
CB2接收到该用户数据报文后,发现目的MAC地址是虚MAC地址MAC-CB,则进入三层转发流程,即,根据该用户数据报文的目的IP地址IP-PC1,在路由表中查找到出接口、目的MAC地址和出VLAN ID等路由转发信息,此时,查找到的出接口是CB2连接上游设备的端口,目的MAC地址是MAC-PC1,出VLAN ID是PC1所属的VLAN的VLAN ID,假设是VLAN100,然后,将该用户数据报文的目的MAC地址修改为MAC-PC1,将该用户数据报文的VLAN ID修改为VLAN100,将修改后的用户数据报文通过CB2连接上游设备的端口转发给上游设备,由上游设备转发给PC1。
PC1回应用户数据报文,其中,该用户数据报文的源MAC地址是MAC-PC1、目的MAC地址是MAC-CB、VLAN ID是VLAN100、目的IP地址是IP-PC6,该用户数据报文通过上游设备转发给CB1;
CB1接收到该用户数据报文后,发现目的MAC地址是MAC-CB,则进入三层转发流程,即,根据该用户数据报文的目的IP地址IP-PC6,在路由表中查找到出接口、目的MAC地址和出VLAN ID等路由转发信息,此时,查找到的出接口是CB1连接PE4的纵向互联口,目的MAC地址是MAC-PC6,出VLAN ID是VLAN20,然后,将该用户数据报文的目的MAC地址修改为MAC-PC6,将该用户数据报文的VLAN ID修改为VLAN20,将修改后的用户数据报文通过CB1连接PE4的纵向互联口转发给PE4;
PE4接收到该用户数据报文后,根据该用户数据报文的目的MAC地址MAC-PC6和VLAN ID VLAN20,在如表14所示的MAC表中查找到对应的本地用户设备MAC表项,该表项中的出接口是UNI5、封装指示信息=FALSE,因此,PE4直接通过UNI5转发该用户数据报文给PC6。
根据本申请的另一实施例,还提供了一种可以应用上述方法的VCF系统中的报文转发装置。
如图9所示,应用于PE设备中的报文转发装置中包括以下模块:接收模块601、表项查找模块602、封装模块603和发送模块604,其中:
接收模块601,用于接收用户数据报文;
表项查找模块602,用于当接收模块601接收到第一用户数据报文时,根据第一用户数据报文的目的MAC地址和VLAN ID,在本地的MAC表中查找到对应的本地用户设备MAC表项;还用于当接收模块601接收到第二用户数据报文时,根据第二用户数据报文的目的MAC地址和VLAN ID,在MAC表中查找到对应的远端用户设备MAC表项;
封装模块603,用于根据表项查找模块602查找到的远端用户设备MAC表项对应的封装信息中的本PE设备的桥MAC地址、目的PE设备的桥MAC地址和VLAN ID,将接收模块601接收到的第二用户数据报文封装成封装数据报文;
发送模块604,用于通过表项查找模块602查找到的本地用户设备MAC表项中的出接口,将第一用户数据报文转发出去;还用于通过表项查找模块602查找到的远端用户设备MAC表项中的出接口,将封装模块603封装得到的封装数据报文转发出去。
其中,应用于PE设备中的报文转发装置中还包括:解封装模块,其中:
接收模块,还用于接收封装数据报文;
解封装模块,用于当接收模块接收到封装数据报文时,解封装该封装数据报文得到第三用户数据报文;
表项查找模块,还用于根据解封装模块得到的第三用户数据报文的目的MAC地址和VLAN ID,在MAC表中查找到对应的本地用户设备MAC表项;
发送模块,还用于通过表项查找模块查找到的本地用户设备MAC表项中的出接口,将解封装模块得到的第三用户数据报文转发出去。
其中,封装信息具有封装ID,应用于PE设备中的报文转发装置中还包括:表项配置模块和报文生成模块,其中:
接收模块,还用于接收MAC同步报文;
表项配置模块,用于根据接收模块接收到的第四用户数据报文,在MAC表中配置对应的本地用户设备MAC表项,其中,该配置的本地用户设备MAC表项中包括:第四用户数据报文的源MAC地址和VLAN ID,接收到第四用户数据报文的用户网络接口UNI,以及用于指示不封装外层以太头的封装指示信息;还用于根据接收模块接收到的其它PE设备发来的MAC同步报文中携带的VLAN ID所指示的VLAN,确定本PE设备上存在相同的VLAN且本PE设备上的相同VLAN内存在至少一个UNI,则根据收到的MAC同步报文中携带的其它PE设备的设备ID对应的封装信息的封装ID,在MAC表中配置对应的远端用户设备MAC表项,其中,该配置的远端用户设备MAC表项中包括:收到的MAC同步报文中携带的VLAN ID和MAC地址,本PE设备连接CB设备的纵向互联口,用于指示封装外层以太头的封装指示信息,以及该封装信息的封装ID;
报文生成模块,用于生成携带有表项配置模块配置的本地用户设备MAC表项中的MAC地址和VLAN ID的MAC同步报文;
发送模块,还用于发送报文生成模块生成的MAC同步报文。
另外,表项查找模块,还用于根据接收模块收到的MAC同步报文中携带的VLAN ID和MAC地址,在MAC表中查找匹配表项;表项配置模块,还用于在表项查找模块未查找到收到的MAC同步报文中携带的VLAN ID和MAC地址的匹配表项时,若确定本PE设备上存在该MAC同步报文中携带的UNI的成员端口,则在MAC表中配置对应的本地用户设备MAC表项,其中,该配置的本地用户设备MAC表项中包括:该MAC同步报文中携带的VLAN ID、MAC地址和UNI;否则,执行根据收到的MAC同步报文中携带的其它PE设备的设备ID对应的封装信息的封装ID,在MAC表中配置对应的远端用户设备MAC表项的步骤。
其中,封装模块包括:封装信息查找单元和报文封装单元,其中:
封装信息查找单元,用于根据表项查找模块查找到的远端用户设备MAC表项中包含的封装信息的封装ID,查找到对应的封装信息;
报文封装单元,用于根据封装信息查找单元查找到的封装信息中的本PE设备的桥MAC地址、目的PE设备的桥MAC地址和VLAN ID,为第二用户数据报文封装外层以太头,得到封装数据报文。
如图10所示,应用于CB设备中的报文转发装置中包括以下模块:接收模块701、表项查找模块702和发送模块703,其中:
接收模块701,用于接收封装数据报文;
表项查找模块702,用于当接收模块701接收到封装数据报文时,根据该封装数据报文的外层以太头中的目的MAC地址和VLAN ID,在本地的MAC表中查找到对应的出接口;
发送模块703,用于通过表项查找模块702查找到的出接口,将接收模块701接收到的封装数据报文转发出去。
其中,该应用于CB设备中的报文转发装置中还包括:表项配置模块,用于针对每一个PE设备,在MAC表中配置对应的MAC表项,其中,该配置的MAC表项中包括:该PE设备的桥MAC地址,VLAN ID,以及本CB设备连接该PE设备的纵向互联口。
其中,表项查找模块具体用于:根据接收模块接收到的封装数据报文的外层以太头中的目的MAC地址和VLAN ID,在MAC表中查找到本CB设备连接一PE设备的纵向互联口;发送模块具体用于:通过表项查找模块查找到的本CB设备连接一PE设备的纵向互联口,将接收模块接收到的封装数据报文转发给该PE设备。
综上,本申请以上实施例可以达到以下技术效果:
本申请实施例的技术方案中,CB设备上不再配置对应于PE设备连接的用户设备的MAC表项,而PE设备上配置对应于用户设备的MAC表项,这样,在进行报文转发时,PE设备可以根据本地的MAC表项,参与报文的二层转发处理,而CB设备主要负责IP三层转发。由于CB设备上无需保存大量的对应于PE设备连接的用户设备的MAC表项来完成二层转发,主要负责三层转发,极大的减轻了CB设备的工作压力,降低了CB设备的成本;并且,PE设备上需要保存对应于用户设备的MAC表项来完成二层转发,充分利用了PE设备的硬件功能;从而,通过让CB设备和PE扩展联合实现多层转发,增加了设备的灵活性,扩大了VCF技术的应用,降低了整个网络的TCO。
另外,PE设备可以将本设备学习到的对应于本地用户设备的MAC表项同步给其它PE设备,实现了同一VLAN内的MAC表项的同步,使得跨PE设备的二层转发“穿越”CB设备,减少了对CB设备上的表项的消耗,同时CB设备和PE设备相互配合完成三层转发。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种纵向融合架构VCF系统中的报文转发方法,所述VCF系统中包括:控制桥CB设备及其连接的端口扩展PE设备,其特征在于,所述方法包括:
当PE设备接收到第一用户数据报文时,根据第一用户数据报文的目的媒体访问控制MAC地址和虚拟局域网标识VLAN ID,在本地的MAC表中查找到对应的本地用户设备MAC表项,则通过该本地用户设备MAC表项中的出接口将第一用户数据报文转发出去;
当PE设备接收到第二用户数据报文时,根据第二用户数据报文的目的MAC地址和VLANID,在所述MAC表中查找到对应的远端用户设备MAC表项,则根据该远端用户设备MAC表项对应的封装信息中的本PE设备的桥MAC地址、目的PE设备的桥MAC地址和VLAN ID,将第二用户数据报文封装成封装数据报文后,通过该远端用户设备MAC表项中的出接口转发出去;
其中,所述远端用户设备MAC表项包括:收到的MAC同步报文中携带的VLAN ID和MAC地址,本PE设备连接CB设备的纵向互联口和用于指示封装外层以太头的封装指示信息;所述MAC同步报文为远端用户设备发送的携带有所述远端用户设备的本地用户设备MAC表项中的MAC地址和VLAN ID的MAC同步报文。
2.根据权利要求1所述的方法,其特征在于,还包括:
当PE设备接收到封装数据报文时,解封装该封装数据报文得到第三用户数据报文,根据第三用户数据报文的目的MAC地址和VLAN ID,在所述MAC表中查找到对应的本地用户设备MAC表项,则通过该本地用户设备MAC表项中的出接口将第三用户数据报文转发出去。
3.根据权利要求2所述的方法,其特征在于,所述封装信息具有封装ID,所述方法还包括:
根据接收到的第四用户数据报文,在所述MAC表中配置对应的本地用户设备MAC表项,其中,该本地用户设备MAC表项中包括:第四用户数据报文的源MAC地址和VLAN ID,接收到第四用户数据报文的用户网络接口UNI,以及用于指示不封装外层以太头的封装指示信息;生成携带有该本地用户设备MAC表项中的MAC地址和VLAN ID的MAC同步报文,发送生成的MAC同步报文;
PE设备接收到其它PE设备发来的MAC同步报文,根据收到的MAC同步报文中携带的VLANID所指示的VLAN,确定本PE设备上存在相同的VLAN且本PE设备上的相同VLAN内存在至少一个UNI,则PE设备根据收到的MAC同步报文中携带的其它PE设备的设备ID对应的封装信息的封装ID,在所述MAC表中配置对应的远端用户设备MAC表项,该配置的远端用户设备MAC表项中包括:收到的MAC同步报文中携带的VLAN ID和MAC地址,本PE设备连接CB设备的纵向互联口,用于指示封装外层以太头的封装指示信息,以及该封装信息的封装ID。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
PE设备未查找到收到的MAC同步报文中携带的VLAN ID和MAC地址的匹配表项且确定本PE设备上存在该MAC同步报文中携带的为聚合组的UNI的成员端口,则在所述MAC表中配置对应的本地用户设备MAC表项,其中,该配置的本地用户设备MAC表项中包括:该MAC同步报文中携带的VLAN ID、MAC地址和UNI;否则,执行所述根据收到的MAC同步报文中携带的其它PE设备的设备ID对应的封装信息的封装ID,在所述MAC表中配置对应的远端用户设备MAC表项的步骤。
5.根据权利要求3所述的方法,其特征在于,所述根据该远端用户设备MAC表项对应的封装信息中的本PE设备的桥MAC地址、目的PE设备的桥MAC地址和VLAN ID,将第二用户数据报文封装成封装数据报文的方法包括:
根据该远端用户设备MAC表项中包含的封装信息的封装ID,查找到对应的封装信息;
根据该封装信息中的本PE设备的桥MAC地址、目的PE设备的桥MAC地址和VLAN ID,为第二用户数据报文封装外层以太头,得到封装数据报文。
6.一种纵向融合架构VCF系统中的报文转发装置,所述VCF系统中包括:控制桥CB设备及其连接的端口扩展PE设备,其特征在于,所述装置应用于PE设备中,所述装置包括:
接收模块,用于接收用户数据报文;
表项查找模块,用于当所述接收模块接收到第一用户数据报文时,根据第一用户数据报文的目的媒体访问控制MAC地址和虚拟局域网标识VLAN ID,在本地的MAC表中查找到对应的本地用户设备MAC表项;还用于当所述接收模块接收到第二用户数据报文时,根据第二用户数据报文的目的MAC地址和VLAN ID,在所述MAC表中查找到对应的远端用户设备MAC表项;其中,所述远端用户设备MAC表项包括:收到的MAC同步报文中携带的VLAN ID和MAC地址,本PE设备连接CB设备的纵向互联口和用于指示封装外层以太头的封装指示信息;所述MAC同步报文为远端用户设备发送的携带有所述远端用户设备的本地用户设备MAC表项中的MAC地址和VLAN ID的MAC同步报文;
封装模块,用于根据所述表项查找模块查找到的远端用户设备MAC表项对应的封装信息中的本PE设备的桥MAC地址、目的PE设备的桥MAC地址和VLAN ID,将第二用户数据报文封装成封装数据报文;
发送模块,用于通过所述表项查找模块查找到的本地用户设备MAC表项中的出接口,将第一用户数据报文转发出去;还用于通过所述表项查找模块查找到的远端用户设备MAC表项中的出接口,将所述封装模块封装得到的封装数据报文转发出去。
7.根据权利要求6所述的装置,其特征在于,还包括:解封装模块,其中:
所述接收模块,还用于接收封装数据报文;
所述解封装模块,用于当所述接收模块接收到封装数据报文时,解封装该封装数据报文得到第三用户数据报文;
所述表项查找模块,还用于根据所述解封装模块得到的第三用户数据报文的目的MAC地址和VLAN ID,在所述MAC表中查找到对应的本地用户设备MAC表项;
所述发送模块,还用于通过所述表项查找模块查找到的本地用户设备MAC表项中的出接口,将所述解封装模块得到的第三用户数据报文转发出去。
8.根据权利要求7所述的装置,其特征在于,所述封装信息具有封装ID,所述装置还包括:表项配置模块和报文生成模块,其中:
所述接收模块,还用于接收MAC同步报文;
所述表项配置模块,用于根据所述接收模块接收到的第四用户数据报文,在所述MAC表中配置对应的本地用户设备MAC表项,其中,该配置的本地用户设备MAC表项中包括:第四用户数据报文的源MAC地址和VLAN ID,接收到第四用户数据报文的用户网络接口UNI,以及用于指示不封装外层以太头的封装指示信息;还用于根据所述接收模块接收到的其它PE设备发来的MAC同步报文中携带的VLAN ID所指示的VLAN,确定本PE设备上存在相同的VLAN且本PE设备上的相同VLAN内存在至少一个UNI,则根据收到的MAC同步报文中携带的其它PE设备的设备ID对应的封装信息的封装ID,在所述MAC表中配置对应的远端用户设备MAC表项,其中,该配置的远端用户设备MAC表项中包括:收到的MAC同步报文中携带的VLAN ID和MAC地址,本PE设备连接CB设备的纵向互联口,用于指示封装外层以太头的封装指示信息,以及该封装信息的封装ID;
所述报文生成模块,用于生成携带有所述表项配置模块配置的本地用户设备MAC表项中的MAC地址和VLAN ID的MAC同步报文;
所述发送模块,还用于发送所述报文生成模块生成的MAC同步报文。
9.根据权利要求8所述的装置,其特征在于,
所述表项查找模块,还用于根据所述接收模块收到的MAC同步报文中携带的VLAN ID和MAC地址,在所述MAC表中查找匹配表项;
所述表项配置模块,还用于在所述表项查找模块未查找到收到的MAC同步报文中携带的VLAN ID和MAC地址的匹配表项时,若确定本PE设备上存在该MAC同步报文中携带的为聚合组的UNI的成员端口,则在所述MAC表中配置对应的本地用户设备MAC表项,其中,该配置的本地用户设备MAC表项中包括:该MAC同步报文中携带的VLAN ID、MAC地址和UNI;否则,执行所述根据收到的MAC同步报文中携带的其它PE设备的设备ID对应的封装信息的封装ID,在所述MAC表中配置对应的远端用户设备MAC表项的步骤。
10.根据权利要求8所述的装置,其特征在于,所述封装模块包括:
封装信息查找单元,用于根据所述表项查找模块查找到的远端用户设备MAC表项中包含的封装信息的封装ID,查找到对应的封装信息;
报文封装单元,用于根据所述封装信息查找单元查找到的封装信息中的本PE设备的桥MAC地址、目的PE设备的桥MAC地址和VLAN ID,为第二用户数据报文封装外层以太头,得到封装数据报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410282658.6A CN105227464B (zh) | 2014-06-23 | 2014-06-23 | Vcf系统中的报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410282658.6A CN105227464B (zh) | 2014-06-23 | 2014-06-23 | Vcf系统中的报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105227464A CN105227464A (zh) | 2016-01-06 |
CN105227464B true CN105227464B (zh) | 2019-01-18 |
Family
ID=54996165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410282658.6A Active CN105227464B (zh) | 2014-06-23 | 2014-06-23 | Vcf系统中的报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105227464B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107528784B (zh) * | 2016-06-21 | 2021-02-26 | 新华三技术有限公司 | 报文转发方法和装置 |
CN107645453A (zh) * | 2016-07-21 | 2018-01-30 | 南京中兴新软件有限责任公司 | 报文的转发方法、装置及系统 |
CN107612783A (zh) * | 2017-10-18 | 2018-01-19 | 盛科网络(苏州)有限公司 | 包转发芯片中bpe的pe基于ecid的报文统计方法 |
CN108173767B (zh) * | 2017-12-25 | 2021-02-26 | 杭州迪普科技股份有限公司 | 一种基于vlan-if接口复用的报文转发方法及装置 |
CN112243046B (zh) | 2019-07-19 | 2021-12-14 | 华为技术有限公司 | 通信方法和网卡 |
CN110661710B (zh) * | 2019-09-20 | 2022-02-25 | 锐捷网络股份有限公司 | 一种虚拟化系统的报文传输方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651627A (zh) * | 2009-09-23 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种媒体访问控制mac地址表项学习方法和装置 |
CN102946356A (zh) * | 2012-10-16 | 2013-02-27 | 杭州华三通信技术有限公司 | 一种基于cb-pe网络的组播报文传输方法和设备 |
CN103166874A (zh) * | 2013-03-25 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN103401774A (zh) * | 2013-07-18 | 2013-11-20 | 杭州华三通信技术有限公司 | 一种基于堆叠系统的报文转发方法和设备 |
CN103516609A (zh) * | 2013-09-17 | 2014-01-15 | 杭州华三通信技术有限公司 | 一种业务报文的传输方法和设备 |
-
2014
- 2014-06-23 CN CN201410282658.6A patent/CN105227464B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651627A (zh) * | 2009-09-23 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种媒体访问控制mac地址表项学习方法和装置 |
CN102946356A (zh) * | 2012-10-16 | 2013-02-27 | 杭州华三通信技术有限公司 | 一种基于cb-pe网络的组播报文传输方法和设备 |
CN103166874A (zh) * | 2013-03-25 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN103401774A (zh) * | 2013-07-18 | 2013-11-20 | 杭州华三通信技术有限公司 | 一种基于堆叠系统的报文转发方法和设备 |
CN103516609A (zh) * | 2013-09-17 | 2014-01-15 | 杭州华三通信技术有限公司 | 一种业务报文的传输方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105227464A (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105227464B (zh) | Vcf系统中的报文转发方法及装置 | |
CN100563211C (zh) | 一种虚拟网关、虚拟子网的实现方法以及系统 | |
CN109995654B (zh) | 一种基于隧道传输数据的方法及装置 | |
CN103490967B (zh) | 别名、多链路透明互连trill报文处理方法及装置 | |
CN105099846B (zh) | 传输数据报文的方法和供应商边缘设备 | |
CN104092595B (zh) | 基于802.1br的虚拟化系统中的报文处理方法及装置 | |
CN102368727B (zh) | 跨ip网络的trill网络通信方法、系统和设备 | |
CN103326918B (zh) | 一种报文转发方法和设备 | |
CN104601472A (zh) | 在芯片中实现vxlan网关分布式路由的方法及报文处理系统 | |
CN101166137B (zh) | 对不同虚拟局域网业务进行隔离的方法 | |
CN103368775B (zh) | 流量备份方法及核心交换设备 | |
CN101808042A (zh) | 一种多协议标签交换二层虚拟专用网的接入方法和装置 | |
CN101160902A (zh) | 数据转发方法及交换设备 | |
CN106899478B (zh) | 电力测试业务通过云平台实现资源弹性扩展的方法 | |
US20140086100A1 (en) | Multi-Chassis Cluster Synchronization Using Shortest Path Bridging (SPB) Service Instance Identifier (I-SID) Trees | |
CN105453513A (zh) | 报文转发方法、转发表项下发方法及网络设备 | |
CN102064999B (zh) | 实现组播报文转发的方法和组播报文转发设备 | |
CN105141538A (zh) | 一种跨网络堆叠系统及其对报文的处理方法 | |
CN105591897B (zh) | Trill网络的mac地址同步方法及装置 | |
KR20120079166A (ko) | 의사 회선 에뮬레이션 엣지 투 엣지 접속을 위한 장치 및 방법 | |
US9860160B2 (en) | Multipath switching using per-hop virtual local area network classification | |
CN103152265A (zh) | 一种spb网络中的报文转发方法和设备 | |
CN110120906A (zh) | 用于实现双活接入trill园区边缘的方法和设备 | |
CN105049351A (zh) | 基于sdn的多链接透明互联算法 | |
CN104717119A (zh) | 实现l2 vpn与l3 vpn桥接的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |