报文转发方法及装置与流程

文档序号:13577394阅读:261来源:国知局
报文转发方法及装置与流程
本申请涉及网络通信
技术领域
,特别涉及一种报文转发方法及装置。
背景技术
:宽带远程接入服务器(broadbandremoteaccessserver,bras)是面向宽带网络应用的接入网关,它位于骨干网的边缘层,可以完成用户带宽的ip(internetprotocol,因特网协议)/atm(asynchronoustransfermode,异步传输模式)网的数据接入,实现商业楼宇及小区住户的宽带上网。在城域网(metropolitanareanetwork,man)组网模型中,bras部署在城域网的汇聚机房,宽带用户终端由olt(opticallineterminal,光线路终端)接入,再通过汇聚交换机(hjsw)连接至bras。技术实现要素:有鉴于此,本申请提供一种报文转发方法及装置。具体地,本申请是通过如下技术方案实现的:一方面,提供了一种报文转发方法,该方法应用在网关设备,网关设备和汇聚交换机之间建立有vxlan隧道,网关设备和至少一个bras网元之间建立有vxlan隧道,汇聚交换机对应于该至少一个bras网元,该方法包括:在通过vxlan隧道接收到汇聚交换机发来的第一vxlan报文之后,对第一vxlan报文进行解封装得到第一用户报文,对第一用户报文进行vxlan封装后,通过vxlan隧道转发给bras网元;在通过vxlan隧道接收到bras网元发来的第二vxlan报文之后,对第二vxlan报文进行解封装得到第二用户报文,对第二用户报文进行vxlan封装后,通过vxlan隧道转发给汇聚交换机。另一方面,还提供了一种报文转发装置,该装置应用在网关设备中,网关设备和汇聚交换机之间建立有vxlan隧道,网关设备和至少一个bras网元之间建立有vxlan隧道,汇聚交换机对应于该至少一个bras网元,该装置包括:接收模块,用于通过vxlan隧道接收汇聚交换机发来的第一vxlan报文,以及通过vxlan隧道接收bras网元发来的第二vxlan报文;解封装模块,用于在接收模块接收到第一vxlan报文之后,对第一vxlan报文进行解封装得到第一用户报文;还用于在接收模块接收到第二vxlan报文之后,对第二vxlan报文进行解封装得到第二用户报文;封装发送模块,用于对解封装模块解封装得到的第一用户报文进行vxlan封装后,通过vxlan隧道发送给bras网元;还用于对解封装模块解封装得到的第二用户报文进行vxlan封装后,通过vxlan隧道转发给汇聚交换机。通过本申请的以上技术方案,在汇聚交换机及其对应的至少一个bras网元之间增加了网关设备,网关设备和汇聚交换机之间建立有vxlan隧道,网关设备和该至少一个bras网元之间建立有vxlan隧道;在通过vxlan隧道接收到汇聚交换机发来的第一vxlan报文之后,网关设备对第一vxlan报文进行解封装得到第一用户报文,对该第一用户报文进行vxlan封装后通过vxlan隧道转发给bras网元;在通过vxlan隧道接收到bras网元发来的第二vxlan报文之后,网关设备对第二vxlan报文进行解封装得到第二用户报文,对第二用户报文进行vxlan封装后通过vxlan隧道转发给汇聚交换机,从而实现了bras网元与用户终端之间的报文交互。由于通过网关设备将汇聚交换机与该至少一个bras网元之间的vxlan隧道进行了分段,分为了汇聚交换机与网关设备之间的vxlan隧道、以及网关设备与该至少一个bras网元之间的vxlan隧道,因此,当该至少一个bras网元的数量发生了变化,例如,增加或减少时,只需修改网关设备上的vxlan隧道的相关配置即可,减少了对汇聚交换机的修改工作。附图说明图1是本申请一示例性实施例示出的城域网的组网架构示意图;图2是本申请一示例性实施例示出的网关设备通过第一vxlan隧道接收到vxlan报文后执行的处理流程图;图3是本申请一示例性实施例示出的网关设备通过第二vxlan隧道接收到vxlan报文后执行的处理流程图;图4是本申请一示例性实施例示出的网关设备的硬件结构示意图;图5是本申请一示例性实施例示出的报文转发装置的一种结构示意图;图6是本申请一示例性实施例示出的报文转发装置的另一种结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请以下实施例中提供了一种报文转发方法,以及一种可以应用该方法的报文转发装置。如图1所示,接入网中主要包括:控制器、bras网元和汇聚交换机(hjsw)。本申请实施例在汇聚交换机(hjsw)及其对应的至少一个bras网元之间增加了网关设备,在汇聚交换机与网关设备之间建立有vxlan(virtualextensiblelan,可扩展虚拟局域网络)隧道;在网关设备与该至少一个bras网元之间建立有vxlan隧道;用户终端经由olt接入汇聚交换机,olt与汇聚交换机之间建立qinq(双层标签)隧道。其中,控制器中维护了一个资源池,该资源池中包含有多个bras网元,所有的bras网元功能对等,可以相互备份;控制器可以对资源池中的bras网元进行分组,将至少两个bras网元分为同一个分组。bras网元可以是物理bras设备,也可以是基于x86服务器平台的bras虚拟化软件(vbras)。网关设备可以是交换机或路由器等,上述接入网可以是城域网或者企业园区网等,本申请实施例对此不做限定。以下以网关设备与同一分组内的多个bras网元之间建立vxlan隧道为例,说明本申请实施例的报文转发方法如下:首先,控制器对本地的资源池中的bras网元进行分组,每一个分组中包括至少两个bras网元,然后,为汇聚交换机指定一个分组(为了描述方便,记为分组1),在汇聚交换机与网关设备之间建立vxlan隧道,并且,在网关设备与分组1内的每一个bras网元之间建立vxlan隧道,具体过程如下:在汇聚交换机上配置vxlan隧道(tunnel),指定该vxlan隧道的源ip地址为汇聚交换机的ip地址,目的ip地址为网关设备的ip地址;在汇聚交换机上创建vsi,在该vsi内创建vxlan;将ac(接入电路)接口、该vsi、以及该vxlan隧道绑定。从而,在汇聚交换机上,ac接口、vsi、vxlan隧道、以及vxlan形成了对应关系。在网关设备上配置针对汇聚交换机的vxlan隧道,称为第一vxlan隧道,指定该第一vxlan隧道的源ip地址为网关设备的ip地址、目的ip地址为汇聚交换机的ip地址;并且,针对分组1内的每一个bras网元,在网关设备上配置vxlan隧道,称为第二vxlan隧道,指定该第二vxlan隧道的源ip地址为网关设备的ip地址、目的ip地址为该bras网元的ip地址;在网关设备上创建vsi,在该vsi内创建vxlan;将该vsi、配置的所有第二vxlan隧道、以及配置的第一vxlan隧道绑定。从而,在网关设备上,vsi、至少两个第二vxlan隧道、一个第一vxlan隧道、以及vxlan形成了对应关系。在分组1内的每一个bras网元上配置vxlan隧道,指定该vxlan隧道的源ip地址为该bras网元的ip地址、目的ip地址为网关设备的ip地址;在该bras网元上创建vsi,在该vsi内创建vxlan;将该vsi和该vxlan隧道绑定。从而,在分组1内的每一个bras网元上,vsi、vxlan隧道、以及vxlan形成了对应关系。通过上述配置过程,控制器在汇聚交换机与网关设备之间建立vxlan隧道,并且,在网关设备与同一分组内的每一个bras网元之间建立vxlan隧道得到一组vxlan隧道。在配置完成之后,用户终端就可以通过汇聚交换机接入bras网元了。用户终端→bras网元的上行方向的mac地址学习和报文转发处理流程如下:用户终端发出单播用户报文。汇聚交换机从ac接口上接收到该单播用户报文之后,确定该单播用户报文所属的vxlan,对该单播用户报文的源mac地址进行学习,即,在该vxlan对应的mac地址表中添加包含该源mac地址与该ac接口的对应关系的mac表项;根据该单播用户报文的目的mac地址,在该mac地址表中查找对应的vxlan隧道,根据该vxlan隧道对该单播用户报文进行vxlan封装后,将封装得到的vxlan报文转发给网关设备。网关设备通过第一vxlan隧道接收到该vxlan报文之后,对该vxlan报文进行解封装得到单播用户报文,确定该vxlan报文所属的vxlan,对该单播用户报文的源mac地址进行学习,即,在该vxlan对应的mac地址表中添加包含该源mac地址与该第一vxlan隧道的对应关系的mac表项;根据该单播用户报文的目的mac地址,在该mac地址表中查找对应的第二vxlan隧道,对该单播用户报文进行vxlan封装后,将封装得到的vxlan报文通过该第二vxlan隧道转发给bras网元。bras网元接收到该vxlan报文之后,对该vxlan报文进行解封装得到单播用户报文,确定该vxlan报文所属的vxlan,对该单播用户报文的源mac地址进行学习,即,在该vxlan对应的mac地址表中添加包含该源mac地址与收到该vxlan报文的vxlan隧道的对应关系的mac表项,并对该单播用户报文进行相应处理,例如,将解封装得到的协议报文上送协议栈,将解封装得到的数据报文转发至公网等。bras网元→用户终端的下行方向的mac地址学习和报文转发处理流程如下:当bras网元需要发送单播用户报文时,bras网元确定该单播用户报文所属的vxlan,根据该单播用户报文对应的目的mac地址,在该vxlan对应的mac地址表中查找对应的vxlan隧道,对该单播用户报文进行vxlan封装后,将封装得到的vxlan报文通过该vxlan隧道转发给网关设备。其中,要发送的单播用户报文例如可以是,bras网元自身生成的单播用户报文,或者bras网元从公网中收到的单播用户报文等;该单播用户报文对应的目的mac地址可以是,该单播用户报文中携带的目的mac地址,也可以是该单播用户报文中携带的目的ip地址对应的mac地址。网关设备通过第二vxlan隧道接收到该vxlan报文之后,对该vxlan报文进行解封装得到单播用户报文,确定该vxlan报文所属的vxlan,对该单播用户报文的源mac地址进行学习,即,在该vxlan对应的mac地址表中添加包含该源mac地址与该第二vxlan隧道的对应关系的mac表项;根据该单播用户报文的目的mac地址,在该mac地址表中查找对应的第一vxlan隧道,对该单播用户报文进行vxlan封装后,将封装得到的vxlan报文通过该第一vxlan隧道发送给汇聚交换机。汇聚交换机在接收到该vxlan报文之后,对该vxlan报文进行解封装得到单播用户报文,确定该vxlan报文所属的vxlan,对该单播用户报文的源mac地址进行学习,即,在该vxlan对应的mac地址表中添加包含该源mac地址与收到该vxlan报文的vxlan隧道的对应关系的mac表项;根据该单播用户报文的目的mac地址,在该mac地址表中查找对应的ac接口,将该单播用户报文通过该ac接口转发给用户终端。通过上述处理流程,网关设备需要学习用户终端的mac地址,也要学习bras网元的mac地址,这样可能会导致mac表项资源不足,为了解决该问题,本申请实施例中对网关设备的mac地址学习进行了改进,并基于此,对网关设备的报文转发处理流程进行了改进。首先,在网关设备上对同一vxlan对应的第一vxlan隧道和至少两个第二vxlan隧道进行分组,即,将该第一vxlan隧道分成一组,称为第一隧道组,并将该至少两个第二vxlan隧道分成另一组,称为第二隧道组。具体的分组方式可以是:控制器在配置第一vxlan隧道时,还指定该第一vxlan隧道的属性为第一属性,在网关设备上配置第二vxlan隧道时,还指定该第二vxlan隧道的属性为第二属性,则对应于同一vxlan的第一属性的第一vxlan隧道构成第一隧道组,第二属性的第二vxlan隧道构成第二隧道组。或者,创建第一隧道组和第二隧道组,将第一vxlan隧道加入到第一隧道组中,将第二vxlan隧道加入第二隧道组中。显然,还可以采用其它分组方式,本申请实施例对此不做限定。基于上述分组,用户终端→bras网元的上行方向的mac地址学习和报文转发处理流程如下:用户终端发出单播用户报文。汇聚交换机在接收到该单播用户报文的mac地址学习和报文转发处理不变,从而,将vxlan报文发送给网关设备。如图2所示,网关设备通过第一vxlan隧道接收到该vxlan报文之后,会执行以下步骤:步骤s201,对该vxlan报文进行解封装得到单播用户报文;步骤s202,禁止对该单播用户报文的源mac地址进行学习;即,网关设备不会学习用户终端的mac地址。步骤s203,确定该vxlan报文所属的vxlan,根据该单播用户报文的目的mac地址,在该vxlan对应的mac地址表中,查找对应的第二vxlan隧道;步骤s204,判断是否查找到了对应的第二vxlan隧道,若是,则执行步骤s205,否则,执行步骤s206;步骤s205,对该单播用户报文进行vxlan封装,将封装得到的vxlan报文通过该第二vxlan隧道转发给bras网元;步骤s206,查找该vxlan对应的第二vxlan隧道,对该单播用户报文进行vxlan封装后,通过该第二vxlan隧道转发给分组1内的每一个bras网元。其中,在步骤s206中,通过该vxlan报文的vxlan头中的vxlanid、外层ip头中的源ip地址和目的ip地址,可以确定出接收到该vxlan报文的第一vxlan隧道属于第一隧道组,从而可以查找到该vxlan对应的第二隧道组中的第二vxlan隧道。针对查找到的每一个第二vxlan隧道,对该单播用户报文进行vxlan封装后,将封装得到的vxlan报文通过该第二vxlan隧道转发给bras网元,从而,能够广播给分组1内的所有bras网元。同样,若步骤s201中解封装得到的是广播用户报文,则也会执行步骤s206的转发流程,从而,广播给分组1内的所有bras网元。bras网元在接收到该vxlan报文之后的mac地址学习和报文转发处理流程不变。bras网元→用户终端的下行方向的mac地址学习和报文转发处理流程如下:当bras网元需要发送单播用户报文时,bras网元对该单播用户报文进行vxlan封装后,将封装得到的vxlan报文发送给网关设备。如图3所示,网关设备通过第二vxlan隧道接收到该vxlan报文之后,会执行以下步骤:步骤s301,对该vxlan报文进行解封装得到单播用户报文;步骤s302,确定该vxlan报文所属的vxlan,查找该vxlan对应的第一vxlan隧道,对该单播用户报文进行vxlan封装后,通过该第一vxlan隧道发送给汇聚交换机;具体的,在步骤s302中,通过该vxlan报文的vxlan头中的vxlanid、外层ip头中的源ip地址和目的ip地址,可以确定出接收到该vxlan报文的第二vxlan隧道属于第二隧道组,从而可以查找到该vxlan对应的第一隧道组中的第一vxlan隧道。由于第一隧道组中只有一个第一vxlan隧道,因此,对该单播用户报文进行vxlan封装后,将封装得到的vxlan报文通过该第一vxlan隧道转发给汇聚交换机。步骤s303,对该单播用户报文的源mac地址进行学习,即,在该vxlan对应的mac地址表中添加包含该源mac地址与该第二vxlan隧道的对应关系的mac表项。同样,若步骤s301中解封装得到的是广播用户报文,也会执行步骤s302的转发流程,从而转发给汇聚交换机。汇聚交换机接收到该vxlan报文之后的mac地址学习和报文转发处理流程不变,从而,最终将解封装得到的单播用户报文通过ac接口转发给用户终端。本申请上述实施例的方法中,在汇聚交换机及其对应的至少一个bras网元之间增加了网关设备,网关设备和汇聚交换机之间建立有vxlan隧道,网关设备和该至少一个bras网元之间建立有vxlan隧道;在通过vxlan隧道接收到汇聚交换机发来的第一vxlan报文之后,网关设备对第一vxlan报文进行解封装得到第一用户报文,对该第一用户报文进行vxlan封装后通过vxlan隧道转发给bras网元;在通过vxlan隧道接收到bras网元发来的第二vxlan报文之后,网关设备对第二vxlan报文进行解封装得到第二用户报文,对第二用户报文进行vxlan封装后通过vxlan隧道转发给汇聚交换机,从而实现了bras网元与用户终端之间的报文交互。由于通过网关设备将汇聚交换机与该至少一个bras网元之间的vxlan隧道进行了分段,分为了汇聚交换机与网关设备之间的vxlan隧道、以及网关设备与该至少一个bras网元之间的vxlan隧道,因此,当该至少一个bras网元的数量发生了变化,例如,增加或减少时,只需修改网关设备上的vxlan隧道的相关配置即可,减少了对汇聚交换机的修改工作。另外,网关设备在通过vxlan隧道接收到汇聚交换机发来的用户报文之后,无需学习该用户报文的源mac地址,即无需对用户终端的mac地址进行学习,由于用户终端的数量比较大,因此,可以有效减少网关设备需要学习的mac地址的数量,从而节约了网关设备的mac表项资源。网关设备无需对用户终端的mac地址进行学习,在通过vxlan隧道接收到bras网元发来的用户报文之后,会通过所属vxlan对应的本设备与汇聚交换机之间的vxlan隧道转发给汇聚交换机,由于该vxlan仅对应一个本设备与汇聚交换机之间的vxlan隧道,因此,不会导致报文的泛洪。以图1所示的实际网络为例,对上述实施例的方法进行详细说明。在如图1所示的城域网中,网关设备连接汇聚交换机hjsw1和hjsw2,以及bras网元1~bras网元3。bras网元1~bras网元3划分为同一分组,称为分组1。用户终端1(图1中未示出)通过olt1连接至hjsw1的ac接口ac1。控制器在hjsw1上配置vxlan隧道tunnel1,指定tunnel1的源ip地址为hjsw1的ip地址hjsw1-ip、目的ip地址为网关设备的ip地址gw-ip,配置vsia,在vsia内创建vxlan1,将ac1、vsia、以及tunnel1绑定。控制器在网关设备上配置第一vxlan隧道tunnel1,指定tunnel1的源ip地址为gw-ip、目的ip地址为hjsw1-ip;针对bras网元1~bras网元3中的每一个bras网元,分别配置第二vxlan隧道tunnel2、tunnel3和tunnel4,指定tunnel2、tunnel3和tunnel4的源ip地址均为gw-ip、目的ip地址分别为bras网元1的ip地址bras1-ip、bras网元2的ip地址bras2-ip和bras网元3的ip地址bras3-ip;配置vsia,在vsia内创建vxlan1,将vsia、tunnel1、tunnel2、tunnel3、以及tunnel4绑定;将tunnel1划分到第一隧道组中,将tunnel2、tunnel3、tunnel4划分到第二隧道组中。控制器在bras网元1上配置vxlan隧道tunnel2,指定tunnel2的源ip地址为bras1-ip、目的ip地址为gw-ip,配置vsia,在vsia内创建vxlan1,将vsia和tunnel2绑定。控制器在bras网元2上配置vxlan隧道tunnel3,指定tunnel3的源ip地址为bras2-ip、目的ip地址为gw-ip,配置vsia,在vsia内创建vxlan1,将vsia和tunnel3绑定。控制器在bras网元3上配置vxlan隧道tunnel4,指定tunnel4的源ip地址为bras3-ip、目的ip地址为gw-ip,配置vsia,在vsia内创建vxlan1,将vsia和tunnel4绑定。在pppoe(pointtopointprotocoloverethernet,基于以太网的点对点协议)应用场景中,bras网元1的mac地址为bras1-mac,bras网元2的mac地址为bras2-mac,bras网元3的mac地址为bras3-mac,用户终端1的mac地址为user1。在该场景中的处理流程如下:用户终端1发出首报文,该首报文的源mac地址为user1、目的mac地址是广播mac地址;hjsw1通过ac1接收到该首报文之后,确定该首报文所属的vxlan为vxlan1,在vxlan1对应的mac地址表中,添加包含user1和ac1的对应关系的mac表项,如表1-1第2行所示,并且,查找到vxlan1对应的vxlan隧道为tunnel1,对该首报文进行vxlan封装后,将封装得到的vxlan报文通过tunnel1发送给网关设备。表1-1mac地址vsi/vxlanid出接口user1vsia/vxlan1ac1网关设备通过tunnel1接收到该vxlan报文之后,进行解封装得到该首报文,由于该首报文是广播报文,则确定该vxlan报文所属的vxlan为vxlan1,查找vxlan1对应的第二隧道组中的tunnel2、tunnel3、tunnel4,针对查找到的每一个vxlan隧道,对该首报文进行vxlan封装后,将封装得到的vxlan报文通过该vxlan隧道转发给bras网元,从而,可以将该首报文广播给bras网元1、bras网元2和bras网元3。bras网元1收到该vxlan报文之后,进行解封装得到该首报文,确定该vxlan报文所属的vxlan为vxlan1,在vxlan1对应的mac地址表中,添加包含user1和收到该vxlan报文的tunnel2的对应关系的mac表项,如表2第2行所示,并且,将该首报文上报给控制器。同样,bras网元2和bras网元3也会执行上述操作,从而添加user1对应的mac表项,并将该首报文上报给控制器。表2mac地址vsi/vxlanid出接口user1vsia/vxlan1tunnel2控制器在收到bras网元1、bras网元2和bras网元3上报的首报文之后,选择负载最小的bras网元1发送回应通知;bras网元1收到该回应通知之后,针对该首报文生成回应报文,该回应报文的源mac地址是bras1-mac、目的mac地址是user1,然后,根据user1在如表2所示的mac地址表中查找到对应的tunnel2,对该回应报文进行vxlan封装后,将封装得到的vxlan报文通过tunnel2发送给网关设备。网关设备通过tunnel2接收到该vxlan报文之后,进行解封装得到回应报文,确定该vxlan报文所属的vxlan为vxlan1,在vxlan1对应的mac地址表中添加包含bras1-mac和tunnel2的对应关系的mac表项,如表3第2行所示,并且,查找vxlan1对应的第一隧道组中的tunnel1,对该回应报文进行vxlan封装后,将封装得到的vxlan报文通过tunnel1转发给hjsw1。表3mac地址vsi/vxlanid出接口bras1-macvsia/vxlan1tunnel2hjsw1接收到该vxlan报文之后,进行解封装得到该回应报文,确定该vxlan报文所属的vxlan为vxlan1,在vxlan1对应的mac地址表中添加包含bras1-mac和收到该vxlan报文的tunnel1的对应关系的mac表项,如表1-2第3行所示,此时,表1-1更新为表1-2;并且,hjsw1根据该回应报文的目的mac地址user1,在如表1-2所示的mac地址表中查找对应的ac1,通过ac1将该回应报文转发给用户终端1。表1-2mac地址vsi/vxlanid出接口user1vsia/vxlan1ac1bras1-macvsia/vxlan1tunnel1后续,用户终端1发出的后续报文即为单播报文,称为报文2,该报文2的目的mac地址为bras1-mac;hjsw1根据报文2的目的mac地址bras1-mac,在如表1-2所示的mac地址表中查找对应的tunnel1,对该报文2进行vxlan封装后,将封装得到的vxlan报文通过tunnel1转发给网关设备。网关设备在通过tunnel1接收到该vxlan报文后,进行解封装得到报文2,根据该报文2的目的mac地址bras1-mac,在如表3所示的mac地址表中查找对应的tunnel2,对报文2进行vxlan封装后,将封装得到的vxlan报文通过tunnel2转发给bras网元1。bras网元1接收到该vxlan报文后,解封装得到报文2,对该报文2进行相应处理。当bras网元1想要向用户终端1发送报文3时,根据该报文3的目的mac地址user1,在如表2所示的mac地址表中查找对应的tunnel2,对报文3进行vxlan封装后,将封装得到的vxlan报文通过tunnel2转发给网关设备。网关设备通过tunnel2接收到该vxlan报文之后,进行解封装得到该报文3,确定该vxlan报文所属的vxlan为vxlan1,查找vxlan1对应的第一隧道组中的tunnel1,对该报文3进行vxlan封装后,将封装得到的vxlan报文通过tunnel1转发给hjsw1。hjsw1接收到该vxlan报文之后,进行解封装得到报文3,根据该报文3的目的mac地址user1,在如表1-2所示的mac地址表中查找对应的ac1,从而将该报文3通过ac1发送给用户终端1。与前述报文转发方法的实施例相对应,本申请还提供了报文转发装置的实施例。本申请报文转发装置60的实施例可以应用在网关设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网关设备的处理器10将非易失性存储器50中对应的计算机程序指令读取到内存40中运行形成的。从硬件层面而言,如图4所示,为本申请报文转发装置所在网关设备的一种硬件结构图,除了图4所示的处理器10、内部总线20、网络接口30、内存40、以及非易失性存储器50之外,实施例中装置所在的网关设备通常根据该网关设备的实际功能,还可以包括其他硬件,对此不再赘述。请参考图5,本申请实施例的报文转发装置60中包括:接收模块601、解封装模块602和封装发送模块603,其中:接收模块601,用于通过vxlan隧道接收汇聚交换机发来的第一vxlan报文,以及通过vxlan隧道接收bras网元发来的第二vxlan报文;解封装模块602,用于在接收模块601接收到第一vxlan报文之后,对第一vxlan报文进行解封装得到第一用户报文;还用于在接收模块601接收到第二vxlan报文之后,对第二vxlan报文进行解封装得到第二用户报文;封装发送模块603,用于对解封装模块602解封装得到的第一用户报文进行vxlan封装后,通过vxlan隧道发送给bras网元;还用于对解封装模块602解封装得到的第二用户报文进行vxlan封装后,通过vxlan隧道转发给汇聚交换机。其中,如图6所示,上述报文转发装置60中还包括:关联模块604,用于将本设备和汇聚交换机之间的vxlan隧道、以及本设备和至少一个bras网元之间的vxlan隧道,关联到同一个vxlan。如图6所示,上述报文转发装置60中还包括:学习模块605,用于在解封装模块602对第一vxlan报文进行解封装得到第一用户报文之后,禁止对第一用户报文的源mac地址进行学习。其中,封装发送模块602通过以下步骤实现对第一用户报文进行vxlan封装后,通过vxlan隧道转发给bras网元:若第一用户报文是未知单播报文或广播报文,则确定第一vxlan报文所属的vxlan,查找该vxlan对应的本设备和至少一个bras网元之间的vxlan隧道,对第一用户报文进行vxlan封装后,通过查找到的vxlan隧道转发给bras网元;封装发送模块602通过以下步骤实现对第二用户报文进行vxlan封装后,通过vxlan隧道转发给汇聚交换机:确定第二vxlan报文所属的vxlan,查找该vxlan对应的本设备和汇聚交换机之间的vxlan隧道,对第二用户报文进行vxlan封装后,通过查找到的vxlan隧道转发给汇聚交换机。如图6所示,上述报文转发装置60中还包括:分组模块606,用于对于一个vxlan,将该vxlan对应的本设备和汇聚交换机之间的vxlan隧道划分到第一隧道组,将该vxlan对应的本设备和至少一个bras网元之间的vxlan隧道划分到第二隧道组。其中,封装发送模块602通过以下步骤实现查找该vxlan对应的本设备和至少一个bras网元之间的vxlan隧道:确定接收第一vxlan报文的vxlan隧道属于第一隧道组,则该vxlan对应的第二隧道组中的vxlan隧道为本设备和至少一个bras网元之间的vxlan隧道;封装发送模块602通过以下步骤实现查找该vxlan对应的本设备和汇聚交换机之间的vxlan隧道:确定接收第二vxlan报文的vxlan隧道属于第二隧道组,则该vxlan对应的第一隧道组中的vxlan隧道为本设备和汇聚交换机之间的vxlan隧道。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1