CN107547399A - 一种组播转发表项的处理方法和pe设备 - Google Patents
一种组播转发表项的处理方法和pe设备 Download PDFInfo
- Publication number
- CN107547399A CN107547399A CN201710397787.3A CN201710397787A CN107547399A CN 107547399 A CN107547399 A CN 107547399A CN 201710397787 A CN201710397787 A CN 201710397787A CN 107547399 A CN107547399 A CN 107547399A
- Authority
- CN
- China
- Prior art keywords
- multicast
- table item
- forwarding
- network domain
- hardware
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种组播转发表项的生成方法和PE设备,该方法为接收组播报文;若所述组播报文来自私网域且需要在公网域转发,则生成第一硬件组播转发表项,所述第一硬件组播转发表项的匹配项包含所述组播报文的内层目的IP地址,所述第一硬件组播转发表项的出接口包含公网域出接口;若所述组播报文来自公网域且需要在私网域转发,则生成第二硬件组播转发表项,所述第二硬件组播转发表项的匹配表项为所述组播报文的内层目的IP地址,所述第二硬件组播转发表项的出接口包含私网域出接口。该方法通过修改硬件组播转发表项的出接口列表,从而实现组播VPN中组播报文的无物理环回转发。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种组播转发表项的处理方法和PE设备。
背景技术
组播VPN(Virtual Private Network,虚拟专用网络)是一项在VPN网络中实现组播传输的技术。现有技术中,VPN网络中的PE(Provider Edge,服务提供商网络边缘)设备对组播VPN的实现过程为:
当PE设备从私网域收到组播报文后,首先根据报文的目的地址查找硬件组播转发表项,在私网域进行第一次组播转发;然后为该组播报文封装外层组播IP(InternetProtocol,网际协议)头,将封装后的组播报文复制到物理环回口,并接收通过物理环回口环回的组播报文,根据封装后的组播报文的外层组播IP头查找硬件组播转发表项,在公网域进行第二次组播转发。当PE设备从公网域收到组播报文后,首先根据组播报文的目的地址查找硬件组播转发表项,在公网域进行第一次组播转发;然后将该组播报文复制到物理环回口,接收并解封装通过物理环回口环回的组播报文,根据解封装后的组播报文的内层组播IP头查找硬件组播转发表项,在私网域进行第二次组播转发。
由上述过程可知,如果要在公网域转发组播报文,则PE设备需要根据组播报文的外层组播IP头查找硬件组播转发表项得到公网域出接口;如果要在私网域转发组播报文,则PE设备需要根据组播报文的内层组播IP头查找硬件组播转发表项得到私网域出接口。因此如果PE设备要在公网域和私网域转发同一个组播报文,共需要查询两次硬件组播转发表项。
但PE设备的芯片一般只可以进行一次流水线查表操作。为了实现多一次的查表操作,现有技术中引入了物理环回口,使得PE设备可以重新处理一次组播报文。但物理环回口的引入,在一定程度上也会造成物理端口和带宽的浪费。
发明内容
有鉴于此,本申请提供一种组播转发表项的处理方法和PE设备,以解决现有实现组播VPN需要物理环回口,浪费物理端口和带宽的问题。
具体地,本申请是通过如下技术方案实现的:
本申请第一方面,提供了一种组播转发表项的生成方法,其特征在于,所述方法应用于组播VPN中的PE设备,所述方法包括:
接收组播报文;
若所述组播报文来自私网域且需要在公网域转发,则生成第一硬件组播转发表项,所述第一硬件组播转发表项的匹配项包含所述组播报文的内层目的IP地址,所述第一硬件组播转发表项的出接口包含公网域出接口;
若所述组播报文来自公网域且需要在私网域转发,则生成第二硬件组播转发表项,所述第二硬件组播转发表项的匹配表项为所述组播报文的内层目的IP地址,所述第二硬件组播转发表项的出接口包含私网域出接口。
本申请第二方面,提供了一种PE设备,包括:
处理器,适于实现各指令;以及
存储器,适于存储多条指令,所述指令适于由处理器加载并执行:
接收组播报文;
若所述组播报文来自私网域且需要在公网域转发,则生成第一硬件组播转发表项,所述第一硬件组播转发表项的匹配项包含所述组播报文的内层目的IP地址,所述第一硬件组播转发表项的出接口包含公网域出接口;
若所述组播报文来自公网域且需要在私网域转发,则生成第二硬件组播转发表项,所述第二硬件组播转发表项的匹配表项为所述组播报文的内层目的IP地址,所述第二硬件组播转发表项的出接口包含私网域出接口。
利用本申请提供的方法,通过修改软件逻辑来修改硬件组播转发表项的出接口列表,从而实现组播VPN中组播报文的无物理环回转发。对于一个组播报文CPU只需下发一个硬件组播转发表项到交换芯片,该硬件组播转发表项中合并了私网域出接口和公网域出接口。由于硬件组播转发表项包含了所有的出接口,因此交换芯片通过一次查表操作即可完成组播报文的转发。
附图说明
图1是本申请实施例提供的一种VPN组网示意图;
图2是组播报文的报文格式示意图;
图3为图1所示组网下的现有组播VPN转发过程示意图;
图4为本申请实施例提供的一种PE设备的结构示意图;
图5为本申请实施例提供的一种组播转发表项的生成方法的流程图;
图6为本申请实施例提供的一种PE设备处理从私网域收到的组播报文的流程图;
图7为本申请实施例提供的一种PE设备处理从公网域收到的组播报文的流程图;
图8为图1所示组网下的本申请实施例中的组播VPN转发过程示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1所示为一种VPN组网的示意图。一个VPN网络由运营商的公共网络和用户的各个Site(站点)组成,各Site之间彼此相互孤立,只有借助公共网络才能实现互通。如图1所示,由Site 1、Site 2和Site 3组成VPN A网络,其中包括以下三种类型的设备:
P(Provider,服务提供商网络)设备:服务提供商网络中的骨干设备,不与CE直接相连。
PE设备:与CE直接相连的服务提供商网络侧设备,负责VPN路由的处理。
CE(Customer Edge,用户网络边缘)设备:与PE直接相连的用户网络侧设备,可以是路由器或交换机,也可以是一台主机,负责用户网络路由的发布。
当图1所示的VPN网络中运行组播VPN时,该网络中将同时承载着两个个相互独立的组播业务:公网实例和VPN实例A。公共网络边缘的PE组播设备支持多实例,相当于多***立运行的组播设备。
以VPN实例A为例,组播VPN是指:当VPN A中的组播源向某组播组发送组播报文时,在网络中所有可能的接收者中,只有属于VPN A(即Site 1、Site 2或Site 3中)的组播组成员才能收到该组播源发来的组播报文。组播报文在各Site以及公网中均以组播方式进行传输。
组播报文可以有两层组播IP头,其报文格式可以参见图2所示,其中内层源IP地址表示真实组播源的IP地址,内层目的IP地址表示私网组播组地址,外层源IP地址表示最靠近组播源(即负责对组播报文做封装)的PE的IP地址,外层目的IP地址表示公网组播组地址。在私网内转发的组播报文只有一层组播IP头,即图2中所示的内层组播IP头;在公网内转发的组播报文有两层组播头,即图2中所示的内层组播IP头和外层组播IP头。为便于描述,在本申请中,无论组播报文是否有两层组播IP头,均将用于表示私网组播组地址的目的IP地址称为内层目的IP地址,将用于表示公网组播组地址的目的IP地址称为外层目的IP地址。
如背景技术所述,由于组播VPN可能有两层IP头,故可能需要查询两次组播转发表项,分别得到不同的出接口,并根据出接口类型决定是否需要封装报文或是解封装报文。以下结合图1所示的VPN组网场景,说明现有的组播VPN转发流程。
假设接收者1和接收者2所属的私网组播组地址为225.1.1.1,公网被分配到的组播地址为239.1.1.1,其它设备的IP地址如图1所示。则具体的转发过程如下:
(1)组播源发送私网组播报文(192.1.1.1,225.1.1.1)。
(2)CE 1将该私网组播报文转发给PE 1,PE 1上的VPN A实例查找与225.1.1.1匹配的硬件组播转发表项。如图3所示,查找到的硬件组播转发表项的出接口列表中包含私网域出接口GE1/0/3以及物理环回口。
(3)针对私网域出接口GE1/0/3,PE1通过GE1/0/3将该私网组播报文转发给CE2,最终由CE2将该私网组播报文转发给接收者1。
(4)针对物理环回口,PE1为该私网组播报文封装外层组播IP头,转换成普通的公网组播报文(11.1.1.1,239.1.1.1),然后复制到物理环回口,在通过物理环回口收到该公网组播报后,查找与239.1.1.1匹配的硬件组播转发表项。如图3所示,查找到的硬件组播转发表项的出接口列表中包含公网域出接口GE1/0/2。
(5)针对公网域出接口GE1/0/2,PE1通过GE1/0/2将封装后的公网组播报文转发给P。
(6)P将该公网组播报文转发给PE2,PE2的公网实例查找与239.1.1.1匹配的硬件组播转发表项。如图3所示,该硬件组播转发表项的出接口列表中包含物理环回口。
(7)针对物理环回口,PE2将该公网组播报文复制到物理环回口,并通过物理环回口收到该公网组播报文,再解封装该公网组播报文,还原为私网组播报文(192.1.1.1,225.1.1.1),然后交由VPN A实例查找与225.1.1.1匹配的硬件组播转发表项。如图3所示,查找到的硬件组播转发表项的出接口列表中包含私网域出接口GE1/0/2。
(8)针对私网域出接口GE1/0/2,PE2通过GE1/0/2将该私网组播报文转发给CE3,最终由CE3将该私网组播报文转发给接收者2。至此跨越公网的私网组播报文传输完成。
由上述过程可以看到,在组播VPN中,物理环回口的引入使得PE设备针对一个组播报文可以多次查找硬件组播转发表项,基于多次查找到的出接口将该组播报文在不同的转发域内转发。但物理环回口的引入在一定程度上会占用额外的物理端口和带宽,对于交换芯片来说物理端口和带宽就是根本。
本申请通过改进组播VPN中PE设备上的组播转发表项的生成方法来解决上述问题。PE设备可分为控制层面和转发层面,控制层面可以由CPU(Central Processing Unit,中央处理器)实现,转发层面可以由交换芯片实现。为便于区分,在本申请中,将控制层面存储的组播转发表项称为软件组播转发表项,将转发层面存储的组播转发表项称为硬件组播转发表项;软件组播转发表项可以保存在CPU可以调用的存储器中,硬件组播转发表性可以保存在交换芯片可以调用的存储空间中。控制层面负责根据软件组播转发表项计算硬件组播转发表项,然后下发到转发层面;转发层面负责调用硬件组播转发表项执行组播报文转发。本申请主要是对PE设备的控制层面做改进,通过软件逻辑修改硬件组播转发表项的出接口列表,实现无物理环回转发。
以软硬件结合实现为例,本申请提供一种组播转发表项的生成方法和PE设备。请参考图4,PE设备的硬件环境通常至少都包括CPU、存储器以及交换芯片。存储器可以是非易失性存储器,并且存储器中存储有组播转发表项的生成逻辑指令,CPU可以执行存储器中存储的组播转发表项的生成逻辑指令,以实现本申请提供的方法。当然,PE设备可能还包括其他硬件,由于这些并非为实现本发明目的的必需组件,在此不赘述。
请参考图5,在一个基本的实施方案中,所述PE设备在运行过程中执行如下步骤:
步骤501:CPU接收组播报文。
步骤502:若所述组播报文来自私网域且需要在公网域转发,则CPU生成第一硬件组播转发表项,所述第一硬件组播转发表项的匹配项包含所述组播报文的内层目的IP地址,所述第一硬件组播转发表项的出接口包含公网域出接口。
步骤503:若所述组播报文来自公网域且需要在私网域转发,则CPU生成第二硬件组播转发表项,所述第二硬件组播转发表项的匹配表项为所述组播报文的内层目的IP地址,所述第二硬件组播转发表项的出接口包含私网域出接口。
由于芯片逻辑是无法或很难修改的,而CPU的软件逻辑是可以且能够灵活修改的,因此本申请主要通过修改软件逻辑来修改硬件组播转发表项的出接口列表,从而实现组播VPN中组播报文的无物理环回转发。比如对于私网组播报文,CPU可以将根据私网组播报文待封装的外层目的IP地址查表得到的出接口,一并放入到根据内层目的IP地址查表得到的出接口结果中;同理,对于公网组播报文时,CPU可以将根据公网组播报文的外层目的IP地址查表得到的出接口,一并放入到根据内层目的IP地址查表得到的出接口结果中。这样,对于一个组播报文CPU只需下发一个硬件组播转发表项到交换芯片,该硬件组播转发表项中合并了私网域出接口和公网域出接口。至于PE设备的交换芯片则仍按照原有逻辑转发报文,由于硬件组播转发表项包含了所有的出接口,因此交换芯片通过一次查表操作即可完成组播报文的转发。
请参考图6和图7,下面依次从PE设备处理从私网域收到的组播报文和PE设备处理从公网域收到的组播报文两种场景,来阐述本申请的具体实施过程。
图6所示为PE设备处理从私网域收到的组播报文的流程图,可包括以下步骤:
步骤601:交换芯片接收组播报文,确定该组播报文来自私网域。
由于PE设备的接口是与VRF(VPN Routing and Forwarding,VPN路由转发)绑定的,因此交换芯片可以根据组播报文的入接口确定该组播报文是来自私网域还是来自公网域。
步骤602:交换芯片查询与该组播报文的内层目的IP地址匹配的硬件组播转发表项;如果未查询到,则将该组播报文上报给CPU,由CPU继续执行步骤603;如果查询到,则直接根据查询到的硬件组播转发表项转发该组播报文。
由于该组播报文来自PE设备的私网域,故该组播报文此时只包含一层IP头。
交换芯片查询不到匹配的硬件组播转发表项,可能有以下两种情况:一该组播报文为某一条流的首报文,二交换芯片中原来保存的与该组播报文相关的硬件组播转发表项被删除。
至于具体如何根据查询到的硬件组播转发表项转发该组播报文可以参考下述步骤607至步骤609,这里暂不详述。
步骤603:CPU在软件组播转发表项(Multicast Forwarding Info Base,M-FIB)中找到包含该组播报文的内层目的IP地址的第一软件组播转发表项。
步骤604:当该第一软件组播转发表项包含了私网域出接口时,CPU可以直接从该第一软件组播转发表项中获得该组播报文在PE设备上的私网域出接口。
步骤605:当该第一软件组播转发表项包含了MTI时,CPU可以确定该MTI对应的外层目的IP地址,然后在软件组播转发表项中找到包含该外层目的IP地址的第二软件组播转发表项,第二软件组播转发表项包含该组播报文在PE设备上的公网域出接口。
这里的外层目的IP地址即为该组播报文待封装的外层组播IP头的一部分,CPU用于完成PE设备控制层面的功能,而对于控制层面来说是可以知道私网域和公网域分别下发了哪些软件组播转发表项的,因此这里CPU可以通过MTI的属性确定组播报文待封装的外层组播IP头。MTI是CPU控制层面的隧道虚接口。
当第一软件组播转发表项包含私网域出接口时,表明该组播报文需要在私网域转发。当第一软件组播转发表项包含MTI(Multicast Tunnel Interface,组播隧道接口)时,表明该组播报文需要在公网域转发。如果第一软件组播转发表项只包含私网域出接口,则相当于普通组播转发,按照现有实现即可。本申请主要关注第一软件组播转发表项包含了MTI的这种情况。
步骤606:CPU生成第一硬件组播转发表项,并将第一硬件组播转发表项下发到交换芯片;第一硬件组播转发表项的匹配项为该组播报文的内层目的IP地址,第一硬件组播转发表项的出接口包含该第一软件组播转发表项所包含的私网域出接口和/或该第二软件组播转发表项所包含的公网域出接口。
步骤607:交换芯片根据该组播报文的内层目的IP地址,可以查找到第一硬件组播转发表项。
步骤608:当第一硬件组播转发表项包含私网域出接口时,交换芯片可以直接通过该私网域出接口将该组播报文转发到私网域。
步骤609,当第一硬件组播转发表项包含公网域出接口时,交换芯片可以先封装该组播报文,然后通过该公网域出接口将封装后的组播报文转发到公网域。
从图6所示流程可以看出,由于CPU生成的硬件组播转发表项包含了所有的私网域出接口和公网域出接口,因此交换芯片通过一次查表操作即可完成组播报文的私网转发和公网转发。交换芯片只需按照现有的转发逻辑,将组播报文转发到指定的出接口,根据出接口的类型决定是否需要封装报文,再将报文通过指定的出接口发送出去。
至此完成图6所示流程的描述。
图7为PE设备处理从公网域收到的组播报文的流程图,可包括以下步骤:
步骤701:交换芯片接收组播报文,确定该组播报文来自公网域。
步骤702:交换芯片查询与该组播报文的内层目的IP地址匹配的硬件组播转发表项;如果未查询到,则将该组播报文上报给CPU,由CPU继续执行步骤703;如果查询到,则直接根据查询到的硬件组播转发表项转发该组播报文。
至于具体如何根据查询到的硬件组播转发表项转发该组播报文可以参考下述步骤707至步骤710,这里暂不详述。
步骤703:CPU在软件组播转发表项中查找包含该组播报文的内层目的IP地址的第三软件组播转发表项,如果查找到,则CPU可以直接从第三软件组播转发表项中获得该组播报文在PE设备上的私网域出接口。
反之,如果查找不到第三软件组播转发表项,表明该组播报文无需在私网域转发。
由于该组播报文来自PE设备的公网域,故该组播报文此时包含了两层IP头。在控制层面,CPU不用解封装报文,通过偏移特定的字节即可方便地得到该组播报文的内层目的IP地址。
按照现有实现方式,当CPU查找到第三软件组播转发表项时,会在生成的硬件组播转发表项中指示将组播报文转发一份到物理环回口,本申请则不作如此处理。
步骤704:CPU在软件组播转发表项中查找包含该组播报文的外层目的IP地址的第四软件组播转发表项,如果查找到,则CPU可以直接从第四软件组播转发表项中获得该组播报文在PE设备上的公网域出接口。
反之,如果查找不到第四软件组播转发表项,表明该组播报文无需在公网域转发。
这里的步骤703和步骤704没有严格的先后顺序。
步骤705:CPU生成第二硬件组播转发表项,并将第二硬件组播转发表项下发到交换芯片;第二硬件组播转发表项的匹配项为该组播报文的内层目的IP地址,第二硬件组播转发表项的出接口包含第三软件组播转发表项所包含的私网域出接口和/或第四软件组播转发表项所包含的公网域出接口。
步骤706:CPU下发强制解封装表项到交换芯片,强制解封装表项用于指示交换芯片在收到来自公网域的组播报文时先解封装组播报文、后查找组播转发表项。
由于步骤705中下发的第二硬件组播转发表项的匹配域为组播报文的内层目的IP地址,故CPU需要下发强制解封装表项到交换芯片,使得交换芯片可以先对报文解封装,再基于报文解封装后露出的内层目的IP地址继续执行查表操作。
这里的步骤705和步骤706同样没有严格的先后顺序。
步骤707:交换芯片根据该强制解封装表项,先解封装该组播报文。
步骤708:交换芯片根据解封装后的组播报文的内层目的IP地址,可以查找到第二硬件组播转发表项。
步骤709:当第二硬件组播转发表项包含私网域出接口时,交换芯片可以直接通过该私网域出接口将该组播报文转发到私网域。
步骤710,当第二硬件组播转发表项包含公网域出接口时,交换芯片可以将解封装后的组播报文进行再封装,然后通过该公网域出接口将再封装后的组播报文转发到公网域。
从图7所示流程可以看出,由于CPU生成的硬件组播转发表项包含了所有的私网域出接口和公网域出接口,因此交换芯片通过在入口处直接对组播报文解封装,直接根据组播报文的内层IP地址即可查找到所有出接口。交换芯片无需再根据组播报文的外层目的IP地址查找与之匹配的硬件组播转发表项,可以省略一次查表操作。但需要注意的是,与现有实现不同的是,对于从公网域收到且要在公网域转发的组播报文,交换芯片对该组播报文多进行了一次解封装和再封装的过程。虽然多出了一次解封装和再封装过程,对于交换芯片来说,只要转发逻辑不冲突,流水线处理是线速的,多一次解封装再封装过程无影响。
至此完成图7所示流程的描述。
在本申请中,因为耦合了私网域转发表项和公网域转发表项,且私网和公网的对应关系是多对一,即多个私网组播组地址可以对应同一个公网组地址,从而当CPU检测到本设备的公网域出接口发生变化时,比如公网域现有的出接口聚合成员变化、公网域现有出接口的ARP变化、公网域添加新的出接口、公网域删除老的出接口等情况时,CPU可以更新与该发生变化的公网域出接口相关的硬件组播转发表项,该硬件组播转发表项的匹配项为私网组播组地址(即上文所述的内层目的IP地址),然后将更新后的硬件组播转发表项下发到交换芯片。而在现有实现中,CPU会去更新与该发生变化的公网域出接口相关的、匹配项为公网组播组地址(即上文所述的外层目的IP地址)的硬件组播转发表项。
在另一个情况下,如果CPU检测到本设备的私网域出接口发生变化,则可以继承现有的实现方式,更新与该发生变化的私网域出接口相关的、匹配项为私网组播组地址的硬件组播转发表项。
为了使本领域技术人员更加清楚和明白,以下仍结合图1所示的VPN组网场景来描述本申请的实现过程。
假设接收者1和接收者2所属的私网组播组地址为225.1.1.1,公网被分配到的组播地址为239.1.1.1,其它设备的IP地址如图1所示。则具体的转发过程如下:
(1)组播源发送私网组播报文(192.1.1.1,225.1.1.1)。
(2)CE 1将该私网组播报文转发给PE 1,PE 1上的VPN A实例查找与225.1.1.1匹配的硬件组播转发表项。如图8所示,查找到的硬件组播转发表项的出接口列表中包含私网域出接口GE1/0/3以及公网域出接口GE1/0/2。
(3)针对私网域出接口GE1/0/3,PE1通过GE1/0/3将该私网组播报文转发给CE2,最终由CE2将该私网组播报文转发给接收者1。
(4)针对公网域出接口GE1/0/2,PE1通过GE1/0/2将封装后的公网组播报文转发给P。
(5)P将该公网组播报文转发给PE2,PE2的公网实例解封装该公网组播报文,还原为私网组播报文(192.1.1.1,225.1.1.1),然后交由VPN A实例查找与225.1.1.1匹配的组播转发表项。如图3所示,查找到的硬件组播转发表项的出接口列表中包含私网域出接口GE1/0/2。
(6)针对私网域出接口GE1/0/2,PE2通过GE1/0/2将该私网组播报文转发给CE3,最终由CE3将该私网组播报文转发给接收者2。至此跨越公网的私网组播报文传输完成。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种组播转发表项的生成方法,其特征在于,所述方法应用于组播虚拟专用网络VPN中的服务提供商网络边缘PE设备,所述方法包括:
接收组播报文;
若所述组播报文来自私网域且需要在公网域转发,则生成第一硬件组播转发表项,所述第一硬件组播转发表项的匹配项包含所述组播报文的内层目的网际协议IP地址,所述第一硬件组播转发表项的出接口包含公网域出接口;
若所述组播报文来自公网域且需要在私网域转发,则生成第二硬件组播转发表项,所述第二硬件组播转发表项的匹配表项为所述组播报文的内层目的IP地址,所述第二硬件组播转发表项的出接口包含私网域出接口。
2.如权利要求1所述的方法,其特征在于,所述生成第一硬件组播转发表项,包括:
在软件组播转发表项中找到包含所述组播报文的内层目的IP地址的第一软件组播转发表项,所述第一软件组播转发表项包含组播隧道接口MTI;
确定所述MTI对应的外层目的IP地址;
在软件组播转发表项中找到包含所述外层目的IP地址的第二软件组播转发表项,所述第二软件组播转发表项包含所述公网域出接口;
生成所述第一硬件组播转发表项,所述第一硬件组播转发表项的匹配项为所述组播报文的内层目的IP地址,所述第一硬件组播转发表项的出接口包含所述第二软件组播转发表项所包含的公网域出接口。
3.如权利要求1或2所述的方法,其特征在于,所述组播报文来自私网域且需要在公网域转发;
在所述生成第一硬件组播转发表项之后,所述方法还包括:
根据所述组播报文的内层目的IP地址查找到所述第一硬件组播转发表项;
封装所述组播报文,以及
通过所述第一硬件组播转发表项包含的公网域出接口将封装后的组播报文转发到公网域。
4.如权利要求1所述的方法,其特征在于,所述生成第二硬件组播转发表项,包括:
在软件组播转发表项中找到包含所述组播报文的内层目的IP地址的第三软件组播转发表项,所述第三软件组播转发表项包含所述私网域出接口;
生成所述第二硬件组播转发表项,所述第二硬件组播转发表项的匹配项为所述组播报文的内层目的IP地址,所述第二硬件组播转发表项的出接口包含所述第三软件组播转发表项所包含的私网域出接口。
5.如权利要求1或4所述的方法,其特征在于,所述组播报文来自公网域且需要在私网域转发;
所述方法还包括:
生成强制解封装表项,所述强制解封装表项用于指示在收到来自公网域的组播报文时先解封装组播报文、后查找组播转发表项;
根据所述解封装表项解封装所述组播报文;
根据解封装后的组播报文的内层目的IP地址查找到所述第二硬件组播转发表项;
通过所述第二硬件组播转发表项包含的私网域出接口将解封装后的组播报文转发到私网域。
6.如权利要求5所述的方法,其特征在于,所述组播报文来自公网域且还需要在公网域转发,所述第二硬件组播转发表项还包括公网域出接口;
在根据解封装后的组播报文的内层目的IP地址查找到所述第二硬件组播转发表项之后,所述方法还包括:
将解封装后的组播报文进行再封装,以及
通过所述第二硬件组播转发表项包括的公网域出接口将再封装后的组播报文转发到公网域。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到本设备的公网域出接口发生变化时,更新与该发生变化的公网域出接口相关的硬件组播转发表项,该硬件组播转发表项的匹配项为私网组播组地址。
8.一种服务提供商网络边缘PE设备,其特征在于,包括:
处理器,适于实现各指令;以及
存储器,适于存储多条指令,所述指令适于由处理器加载并执行:
接收组播报文;
若所述组播报文来自私网域且需要在公网域转发,则生成第一硬件组播转发表项,所述第一硬件组播转发表项的匹配项包含所述组播报文的内层目的网际协议IP地址,所述第一硬件组播转发表项的出接口包含公网域出接口;
若所述组播报文来自公网域且需要在私网域转发,则生成第二硬件组播转发表项,所述第二硬件组播转发表项的匹配表项为所述组播报文的内层目的IP地址,所述第二硬件组播转发表项的出接口包含私网域出接口。
9.如权利要求8所述的PE设备,其特征在于,在生成第一硬件组播转发表项时,所述CPU具体用于:
在软件组播转发表项中找到包含所述组播报文的内层目的IP地址的第一软件组播转发表项,所述第一软件组播转发表项包含组播隧道接口MTI;
确定所述MTI对应的外层目的IP地址;
在软件组播转发表项中找到包含所述外层目的IP地址的第二软件组播转发表项,所述第二软件组播转发表项包含所述公网域出接口;
生成所述第一硬件组播转发表项,所述第一硬件组播转发表项的匹配项为所述组播报文的内层目的IP地址,所述第一硬件组播转发表项的出接口包含所述第二软件组播转发表项所包含的公网域出接口。
10.如权利要求8或9所述的PE设备,其特征在于,所述组播报文来自私网域且需要在公网域转发;
所述PE设备还包括交换芯片;
所述CPU,还用于将所述第一硬件组播转发表项下发到所述交换芯片;
所述交换芯片,用于根据所述组播报文的内层目的IP地址查找到所述第一硬件组播转发表项;封装所述组播报文,以及通过所述第一硬件组播转发表项包含的公网域出接口将封装后的组播报文转发到公网域。
11.如权利要求8所述的PE设备,其特征在于,在生成第二硬件组播转发表项时,所述CPU具体用于:
在软件组播转发表项中找到包含所述组播报文的内层目的IP地址的第三软件组播转发表项,所述第三软件组播转发表项包含所述私网域出接口;
生成所述第二硬件组播转发表项,所述第二硬件组播转发表项的匹配项为所述组播报文的内层目的IP地址,所述第二硬件组播转发表项的出接口包含所述第三软件组播转发表项所包含的私网域出接口。
12.如权利要求8或11所述的PE设备,其特征在于,所述组播报文来自公网域且需要在私网域转发;
所述PE设备还包括交换芯片;
所述CPU,还用于生成强制解封装表项,所述强制解封装表项用于指示在收到来自公网域的组播报文时先解封装组播报文、后查找组播转发表项;以及将所述强制解封装表项和所述第二硬件组播转发表项下发到所述交换芯片;
所述交换芯片,用于根据所述解封装表项解封装所述组播报文;根据解封装后的组播报文的内层目的IP地址查找到所述第二硬件组播转发表项;通过所述第二硬件组播转发表项包含的私网域出接口将解封装后的组播报文转发到私网域。
13.如权利要求12所述的PE设备,其特征在于,所述组播报文来自公网域且还需要在公网域转发,所述第二硬件组播转发表项还包括公网域出接口;
所述交换芯片,还用于将解封装后的组播报文进行再封装,以及通过所述第二硬件组播转发表项包括的公网域出接口将再封装后的组播报文转发到公网域。
14.如权利要求8所述的PE设备,其特征在于,所述方法还包括:
所述CPU,还用于当检测到本设备的公网域出接口发生变化时,更新与该发生变化的公网域出接口相关的硬件组播转发表项,该硬件组播转发表项的匹配项为私网组播组地址;以及将更新后的硬件组播转发表项下发到所述交换芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710397787.3A CN107547399B (zh) | 2017-05-31 | 2017-05-31 | 一种组播转发表项的处理方法和pe设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710397787.3A CN107547399B (zh) | 2017-05-31 | 2017-05-31 | 一种组播转发表项的处理方法和pe设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547399A true CN107547399A (zh) | 2018-01-05 |
CN107547399B CN107547399B (zh) | 2020-07-07 |
Family
ID=60966866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710397787.3A Active CN107547399B (zh) | 2017-05-31 | 2017-05-31 | 一种组播转发表项的处理方法和pe设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547399B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450792A (zh) * | 2018-10-08 | 2019-03-08 | 新华三技术有限公司 | 一种数据报文封装方法及装置 |
CN111865805A (zh) * | 2020-06-29 | 2020-10-30 | 烽火通信科技股份有限公司 | 一种组播gre报文处理方法及*** |
CN111901133A (zh) * | 2020-08-07 | 2020-11-06 | 北京东土军悦科技有限公司 | 一种组播切换方法、装置、网络设备和存储介质 |
CN114844832A (zh) * | 2022-03-22 | 2022-08-02 | 阿里云计算有限公司 | 硬件转发表项配置方法、设备、介质及产品 |
CN114884774A (zh) * | 2022-06-01 | 2022-08-09 | 北京东土军悦科技有限公司 | 数据包转发方法及装置、网络设备和计算设备 |
WO2022193896A1 (zh) * | 2021-03-19 | 2022-09-22 | 华为技术有限公司 | 一种流量控制方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119222A (zh) * | 2007-09-13 | 2008-02-06 | 杭州华三通信技术有限公司 | Hope网络实现组播的方法、装置及*** |
WO2012075831A1 (zh) * | 2010-12-08 | 2012-06-14 | 中兴通讯股份有限公司 | 一种实现组播保护的方法及*** |
CN102064999B (zh) * | 2009-11-18 | 2013-04-03 | 杭州华三通信技术有限公司 | 实现组播报文转发的方法和组播报文转发设备 |
CN103716244A (zh) * | 2013-12-27 | 2014-04-09 | 杭州华三通信技术有限公司 | 一种实现组播跨vpn转发的方法及装置 |
CN104780090A (zh) * | 2015-04-27 | 2015-07-15 | 杭州华三通信技术有限公司 | Vpn组播传输的方法、装置、pe设备 |
CN105743797A (zh) * | 2016-04-05 | 2016-07-06 | 深圳市风云实业有限公司 | 基于接口绑定的组播vpn隧道建立方法 |
-
2017
- 2017-05-31 CN CN201710397787.3A patent/CN107547399B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119222A (zh) * | 2007-09-13 | 2008-02-06 | 杭州华三通信技术有限公司 | Hope网络实现组播的方法、装置及*** |
CN102064999B (zh) * | 2009-11-18 | 2013-04-03 | 杭州华三通信技术有限公司 | 实现组播报文转发的方法和组播报文转发设备 |
WO2012075831A1 (zh) * | 2010-12-08 | 2012-06-14 | 中兴通讯股份有限公司 | 一种实现组播保护的方法及*** |
CN103716244A (zh) * | 2013-12-27 | 2014-04-09 | 杭州华三通信技术有限公司 | 一种实现组播跨vpn转发的方法及装置 |
CN104780090A (zh) * | 2015-04-27 | 2015-07-15 | 杭州华三通信技术有限公司 | Vpn组播传输的方法、装置、pe设备 |
CN105743797A (zh) * | 2016-04-05 | 2016-07-06 | 深圳市风云实业有限公司 | 基于接口绑定的组播vpn隧道建立方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450792A (zh) * | 2018-10-08 | 2019-03-08 | 新华三技术有限公司 | 一种数据报文封装方法及装置 |
CN109450792B (zh) * | 2018-10-08 | 2021-05-07 | 新华三技术有限公司 | 一种数据报文封装方法及装置 |
CN111865805A (zh) * | 2020-06-29 | 2020-10-30 | 烽火通信科技股份有限公司 | 一种组播gre报文处理方法及*** |
CN111901133A (zh) * | 2020-08-07 | 2020-11-06 | 北京东土军悦科技有限公司 | 一种组播切换方法、装置、网络设备和存储介质 |
CN111901133B (zh) * | 2020-08-07 | 2023-07-11 | 北京东土军悦科技有限公司 | 一种组播切换方法、装置、网络设备和存储介质 |
WO2022193896A1 (zh) * | 2021-03-19 | 2022-09-22 | 华为技术有限公司 | 一种流量控制方法及相关设备 |
CN114844832A (zh) * | 2022-03-22 | 2022-08-02 | 阿里云计算有限公司 | 硬件转发表项配置方法、设备、介质及产品 |
CN114884774A (zh) * | 2022-06-01 | 2022-08-09 | 北京东土军悦科技有限公司 | 数据包转发方法及装置、网络设备和计算设备 |
CN114884774B (zh) * | 2022-06-01 | 2023-10-03 | 北京东土军悦科技有限公司 | 数据包转发方法及装置、网络设备和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107547399B (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547399A (zh) | 一种组播转发表项的处理方法和pe设备 | |
US9281955B2 (en) | Interoperability of data plane based overlays and control plane based overlays in a network environment | |
US10050877B2 (en) | Packet forwarding method and apparatus | |
US8339973B1 (en) | Multicast traceroute over MPLS/BGP IP multicast VPN | |
JP6189942B2 (ja) | 個別管理方式を使用する仮想転送インスタンスの遠端アドレスへのvlanタグ付きパケットのルーティング | |
CN111682996B (zh) | 网络中报文转发的方法、网络节点、网络*** | |
CN106936939A (zh) | 一种报文处理方法、相关装置及nvo3网络*** | |
EP2997702B1 (en) | Compressing singly linked lists sharing common nodes for multi-destination group expansion | |
US20070286093A1 (en) | Method of routing multicast traffic | |
CN106470158B (zh) | 报文转发方法及装置 | |
CN106209557B (zh) | 报文转发方法及装置 | |
CA2412916A1 (en) | Tunneling scheme optimized for use in virtual private networks | |
CN107026796B (zh) | 一种vpn路由通告方法、数据流转发方法及相关设备 | |
CN108259303A (zh) | 一种报文转发方法及装置 | |
CN107018059A (zh) | 一种报文转发方法及装置 | |
CN100484080C (zh) | 一种虚拟私有网的路由引入方法、***和运营商边缘设备 | |
CN103581022B (zh) | Mac地址的查找转发方法和装置 | |
CN106209643A (zh) | 报文转发方法及装置 | |
CN105187311B (zh) | 一种报文转发方法及装置 | |
CN112202670B (zh) | 一种SRv6段路由转发方法及装置 | |
CN113726653B (zh) | 报文处理方法及装置 | |
CN104780090A (zh) | Vpn组播传输的方法、装置、pe设备 | |
US11271873B2 (en) | Operating a service provider network node | |
CN110391984B (zh) | 一种报文转发方法及装置 | |
CN101827023B (zh) | 一种数据处理方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230616 Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd. Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466 Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd. |