CN102970226A - 在asic中进行组播报文转发的方法和装置 - Google Patents
在asic中进行组播报文转发的方法和装置 Download PDFInfo
- Publication number
- CN102970226A CN102970226A CN2012104492311A CN201210449231A CN102970226A CN 102970226 A CN102970226 A CN 102970226A CN 2012104492311 A CN2012104492311 A CN 2012104492311A CN 201210449231 A CN201210449231 A CN 201210449231A CN 102970226 A CN102970226 A CN 102970226A
- Authority
- CN
- China
- Prior art keywords
- multicast
- message
- internal layer
- module
- forwarding
- 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
Images
Abstract
本发明揭示了一种在ASIC中进行组播报文转发的方法和装置,其在网络设备收到TRILL,PBB或组播VPN报文进行转发处理时,通过对外层组播信息和内层组播信息并行查表的方式,同时获得外层组播成员列表和内层组播成员列表,并通过复制所述外层组播成员列表和内层组播成员信息,对外层组播报文经过编辑后进行转发,对内层组播报文经过解封装处理及编辑后进行转发,省去了对报文的环回处理过程,消除了由于环回带来的带宽消耗,节省了芯片的内部带宽,提高了芯片带宽的利用率。
Description
技术领域
本发明涉及网络通信领域,尤其涉及在ASIC(以太网交换芯片)中通过并行查找来实现组播报文的转发方法和装置。
背景技术
在TRILL(Transparent Interconnection of Lots of Links,多链路半透明互联),PBB(Provider Backbone Bridge,运营商骨干桥接技术)及组播VPN(Virtual Private Network,虚拟专用网络)这类应用中,原始组播报文会封装在一个外层组播报文中进行传输。比如在TRILL和PBB中,原始的二层组播报文会封装在TRILL组播报文和backbone组播报文中。在组播VPN中,原始的三层组播报文会封装在IP组播报文中。
此时,对于一个网络设备来说,接收到这样封装过的报文后,一共有两个组播转发域,即基于外层的组播转发域和基于内层的组播转发域。其中基于外层的组播转发域的目的是转发到需要接收该报文的网络设备,基于内层的组播转发域的目的是把原始的组播报文转发到真正需要接收该报文的终端设备。
基于这样的转发模型,其存在两次转发的过程,首先是外层组播的转发。当有本地接收成员的时候,需要解封装,然后基于内层组播报文再进行第二次转发。
现有技术方案中,首先对外层报文进行第一次转发,确认有本地接收成员之后,需要把报文进行环回,然后再用内层报文进行又一遍转发逻辑过程,实现第二次的内层报文转发。然而这样的转发过程需要对报文进行内部环回处理,这样带来的问题之一就是降低了芯片的内部带宽,比如内部处理带宽是100G,对于需要环回的报文,其处理能力就变成了50G。
发明内容
本发明的目的在于提供一种在ASIC中进行组播报文转发的方法和装置,其通过外层组播信息和内层组播信息并行查表的方法,同时实现内层和外层组播成员的转发,以节省芯片的带宽,提高芯片带宽的利用率。
为实现上述目的,本发明提出如下技术方案:一种在ASIC中进行组播报文转发的方法,当网络设备接收到组播报文进行转发时,通过对外层组播信息和内层组播信息分别查表的方式,获得外层组播成员列表和内层组播成员列表,并分别进行外层组播报文和内层组播报文的转发。
更进一步地,所述网络设备接收到组播报文进行转发的过程包括:
对接收到的报文进行解析,并获取报文的入接口信息;
根据外层组播组信息和内层组播组信息,分别进行组播组查找;
获取查找所得的外层组播组成员和内层组播组成员的复制信息并进行组播成员的复制;
对复制得到的外层组播组成员,经过报文编辑后进行组播报文的转发;对复制得到的内层组播组成员,经过解封装及编辑处理后进行组播报文的转发。
其中,所述获取报文入接口信息是根据报文接收端口的配置信息判断是否需要进行所述的组播组查找。
所述组播组查找后获得一个组播成员链接表的入接口地址。
所述组播成员的复制是根据第一个组播成员进入地址,获取该成员的复制信息且判断是否有下一个组播成员需要处理;当处理到最后一个组播成员的时候,完成组播成员的复制过程。
所述组播报文包括通过TRILL,PBB或组播VPN封装的报文。
本发明还提出一种在ASIC中进行组播报文转发的装置,其包括:
报文解析模块,用于对接收到的报文进行解析,得到后续处理的报文信息;
入接口信息获取模块,用于根据报文接收端口的配置信息判断对报文的后续处理;
组播组查找模块,用于根据外层组播组信息和内层组播组信息同时进行查找;
组播成员复制模块,用于根据组播成员的进入地址,获取组播成员的复制信息;
解封装模块,用于对内层组播成员去掉外层报文字段的处理;以及
报文编辑模块和报文转发模块,用于对报文进行编辑并转发。
更进一步地,所述报文编辑模块和转发模块分别包括对外层组播成员进行报文编辑和转发的外层报文编辑模块和外层报文转发模块,以及对内层组播成员进行报文编辑和转发的内层报文编辑模块和内层报文转发模块。
所述组播组查找模块的输出是一个组播成员的进入接口地址。
所述报文解析模块中接收到的报文包括通过TRILL,PBB或组播VPN封装的报文。
与现有技术相比,本发明提出的在ASIC中进行组播报文转发的方法和装置,其通过外层组播信息和内层组播信息并行查表的方法,直接获得外层组播和内层组播所有的成员列表,实现内层和外层组播的同时转发,使得节芯片内部的带宽得以最大限度的利用,同时克服了现有技术中由于环回带来的带宽消耗。
附图说明
图1是本发明在ASIC中进行组播报文转发的网络示意图;
图2是本发明在ASIC中进行组播报文转发的流程图;
图3是本发明在ASIC中进行组播报文转发的模块图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的在ASIC中进行组播报文转发的方法,用于在网络设备对通过TRILL,PBB或组播VPN封装的报文的转发。如图1所示的以太网中,其包括与网络连接的网络设备1和网络设备2,网络设备1上接有接收者1和接收者2,网络设备2上接有接收者3和接收者4。
当该网络接收到TRILL,PBB或组播VPN报文并进行转发时,所述网络设备1和网络设备2即外层组播成员用于外层组播报文的转发;接收者1,接收者2,接收者3和接收者4即内层组播成员用于内层组播报文的转发。
在网络设备1收到了TRILL,PBB或组播VPN报文时,首先基于外层的组播组进行转发,其共有两个成员,即网络设备2和自己,转给网络设备2的报文不需要解封装;由于网络设备1自己也是外侧组播组成员,因此需要对报文进行解封装,然后再基于内层组播组进行转发给本地的内层组播组成员接收者1和接收者2。
如图2所示,本发明在处理TRILL,PBB或组播VPN这类报文时,通过增加一次并行的查表过程,以同时获得外层组播和内层组播的所有成员列表,实现外层组播成员和内层组播成员对报文的同时转发,从而省去了对报文的环回处理过程。其具体处理过程包括对接收到的报文进行报文解析,获取报文的入接口信息,然后进行组播组查找及组播成员复制,对复制出来的组播成员中的外层成员列表进行报文编辑后进行报文转发,对内层成员列表则进行报文解封装后,再经过报文编辑后进行报文转发。
具体来说,当图1中的网络设备1或网络设备2接收到一个TRILL,PBB或组播VPN报文后,首先进行报文解析,以获得后续处理中所需要的各种信息后,然后根据报文接收端口的配置信息来决定是否需要进行后续的组播组查找,以及采用什么样的关键字进行查找。
接下来,进行组播组查找,即根据外层组播组信息和内层组播组信息同时进行查找,因此可以同时获取外层组播组成员和内层组播组成员,然后获得一个组播成员链接表的进入接口地址。
组播成员复制时,将对所有的外层成员列表和内层成员列表都进行复制处理,且根据第一个组播成员进入地址,获取该成员的复制信息,决定该成员后续的编辑行为。同时,会决定是否有下一个组播成员需要处理。当处理到最后一个组播成员的时候,当前链表为空,表示没有后续成员需要进行复制,即完成组播成员的复制过程。
经过组播成员复制过程复制出来的组播成员,都有一套单独的编辑和转发信息。对于外层组播成员,只需要经过报文编辑处理,对报文进行简单的编辑如TTL,MAC地址的编辑后,然后根据转发信息进行转发。对于内层组播成员,首先需要经过解封装处理,以去掉外层报文字段,然后再经过对内层报文的编辑后进行转发。
更优地,本发明中所述的对外层组播成员和内层组播成员的处理中,包括对外层组播成员和内层组播成员的分别进行处理的并行处理和以先处理外层组播成员,再处理内层组播成员的串行处理,且以先处理外层组播成员,再处理内层组播成员的方式更以实现。本发明中所描述的同时对外层组播报文和内层组播报文的转发处理及并行处理方式包括了这里说明的两种方式,并为了区别现有的环回处理方式进行的描述。
本发明还揭示了一种在ASIC中实现组播解封装报文的转发装置,以通过一次并行的查表过程,同时实现对TRILL,PBB或组播VPN报文内层和外层组播成员的转发,如图3所示,该转发装置包括报文解析模块,入接口信息获取模块,组播组查找模块,组播成员复制模块,解封装模块,报文编辑模块以及报文转发模块。
其中,报文解析模块用于对网络设备接收到报文进行解析,以获得后续处理所需要的各种信息;入接口信息获取模块用于根据报文接收端口的配置信息来决定是否需要进行后续的组播组查找,以及采用什么关键字进行查找。
组播组查找模块用于根据外层组播组信息和内层组播组信息同时进行查找,以同时获取外层组播组成员和内层组播组成员,而通过组播组查找模块的输出是一个组播成员链接表的进入接口地址。
组播成员复制模块用于根据第一个组播成员进入地址,获取该成员的复制信息,决定该成员后续的编辑行为,同时,会决定是否有下一个组播成员需要处理。当处理到最后一个组播成员的时候,当前链表为空,表示没有后续成员需要进行复制。
解封装模块用于对经过组播成员复制模块复制后内层组播成员,将报文中的外层报文字段进行去除的处理。
报文编辑模块和解封装模块分别包括对外层组播成员进行报文编辑和转发处理的外层报文编辑模块和外层报文转发模块,以及对内层组播成员进行报文编辑和转发处理的内层报文编辑模块和内层报文转发模块。
所述外层报文编辑模块用于对外层组播成员的报文进行简单的编辑,如TTL,MAC地址等的处理,所述外层报文转发模块根据报文转发信息进行报文的转发。所述内层报文编辑模块用于对内层组播成员的内层报文进行编辑;所述内层报文转发模块用于根据报文转发信息进行报文转发。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (10)
1.一种在ASIC中进行组播报文转发的方法,其特征在于:当网络设备接收到组播报文进行转发时,通过对外层组播信息和内层组播信息分别查表的方式,获得外层组播成员列表和内层组播成员列表,并分别进行外层组播报文和内层组播报文的转发。
2.根据权利要求1所述的方法,其特征在于,所述网络设备接收到组播报文进行转发的过程包括:
对接收到的报文进行解析,并获取报文的入接口信息;
根据外层组播组信息和内层组播组信息,分别进行组播组查找;
获取查找所得的外层组播组成员和内层组播组成员的复制信息并进行组播成员的复制;
对复制得到的外层组播组成员,经过报文编辑后进行组播报文的转发;对复制得到的内层组播组成员,经过解封装及编辑处理后进行组播报文的转发。
3.根据权利要求2所述的方法,其特征在于:所述获取报文入接口信息是根据报文接收端口的配置信息判断是否需要进行所述的组播组查找。
4.根据权利要求2所述的方法,其特征在于:所述组播组查找后获得一个组播成员链接表的入接口地址。
5.根据权利要求2所述的方法,其特征在于:所述组播成员的复制是根据第一个组播成员进入地址,获取该成员的复制信息且判断是否有下一个组播成员需要处理;当处理到最后一个组播成员的时候,完成组播成员的复制过程。
6.根据权利要求1至5任意一项所述的方法,其特征在于:所述组播报文包括通过TRILL,PBB或组播VPN封装的报文。
7.一种在ASIC中进行组播报文转发的装置,其特征在于包括:
报文解析模块,用于对接收到的报文进行解析,得到后续处理的报文信息;
入接口信息获取模块,用于根据报文接收端口的配置信息判断对报文的后续处理;
组播组查找模块,用于根据外层组播组信息和内层组播组信息同时进行查找;
组播成员复制模块,用于根据组播成员的进入地址,获取组播成员的复制信息;
解封装模块,用于对内层组播成员去掉外层报文字段的处理;以及
报文编辑模块和报文转发模块,用于对报文进行编辑并转发。
8.根据权利要求7所述的装置,其特征在于:所述报文编辑模块和转发模块分别包括对外层组播成员进行报文编辑和转发的外层报文编辑模块和外层报文转发模块,以及对内层组播成员进行报文编辑和转发的内层报文编辑模块和内层报文转发模块。
9.根据权利要求7所述的装置,其特征在于:所述组播组查找模块的输出是一个组播成员的进入接口地址。
10.根据权利要求7所述的装置,其特征在于:所述报文解析模块中接收到的报文包括通过TRILL,PBB或组播VPN封装的报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210449231.1A CN102970226B (zh) | 2012-11-12 | 2012-11-12 | 在asic中进行组播报文转发的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210449231.1A CN102970226B (zh) | 2012-11-12 | 2012-11-12 | 在asic中进行组播报文转发的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102970226A true CN102970226A (zh) | 2013-03-13 |
CN102970226B CN102970226B (zh) | 2015-07-22 |
Family
ID=47800113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210449231.1A Active CN102970226B (zh) | 2012-11-12 | 2012-11-12 | 在asic中进行组播报文转发的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102970226B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717119A (zh) * | 2015-04-09 | 2015-06-17 | 烽火通信科技股份有限公司 | 实现l2 vpn与l3 vpn桥接的方法及系统 |
CN106789644A (zh) * | 2016-11-29 | 2017-05-31 | 深圳市楠菲微电子有限公司 | 一种trill组播报文的转发方法和装置 |
CN107566276A (zh) * | 2017-10-24 | 2018-01-09 | 盛科网络(苏州)有限公司 | 一种精确过滤pon业务下行泛洪报文的方法及装置 |
US10397023B2 (en) | 2013-08-02 | 2019-08-27 | Hewlett Packard Enterprise Development Lp | Packet forwarding |
CN112019420A (zh) * | 2020-09-04 | 2020-12-01 | 苏州盛科科技有限公司 | 一种vxlan边缘节点组播报文转发的实现方法及装置 |
CN114598570A (zh) * | 2022-01-28 | 2022-06-07 | 新华三技术有限公司合肥分公司 | 一种组播数据报文转发方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040125803A1 (en) * | 2002-12-31 | 2004-07-01 | Sangroniz Robert Leon | Multicast optimization in a VLAN tagged network |
CN1866919A (zh) * | 2005-12-06 | 2006-11-22 | 华为技术有限公司 | 基于虚拟局域网堆叠的业务交换方法 |
CN101409685A (zh) * | 2008-12-01 | 2009-04-15 | 杭州华三通信技术有限公司 | 基于虚拟局域网映射的转发方法及接入设备 |
CN101656659A (zh) * | 2008-08-19 | 2010-02-24 | 中兴通讯股份有限公司 | 一种混合业务流的缓存处理方法、存储转发方法及装置 |
CN102215166A (zh) * | 2011-06-02 | 2011-10-12 | 中兴通讯股份有限公司 | 一种vpls组播数据转发方法及装置 |
-
2012
- 2012-11-12 CN CN201210449231.1A patent/CN102970226B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040125803A1 (en) * | 2002-12-31 | 2004-07-01 | Sangroniz Robert Leon | Multicast optimization in a VLAN tagged network |
CN1866919A (zh) * | 2005-12-06 | 2006-11-22 | 华为技术有限公司 | 基于虚拟局域网堆叠的业务交换方法 |
CN101656659A (zh) * | 2008-08-19 | 2010-02-24 | 中兴通讯股份有限公司 | 一种混合业务流的缓存处理方法、存储转发方法及装置 |
CN101409685A (zh) * | 2008-12-01 | 2009-04-15 | 杭州华三通信技术有限公司 | 基于虚拟局域网映射的转发方法及接入设备 |
CN102215166A (zh) * | 2011-06-02 | 2011-10-12 | 中兴通讯股份有限公司 | 一种vpls组播数据转发方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10397023B2 (en) | 2013-08-02 | 2019-08-27 | Hewlett Packard Enterprise Development Lp | Packet forwarding |
CN104717119A (zh) * | 2015-04-09 | 2015-06-17 | 烽火通信科技股份有限公司 | 实现l2 vpn与l3 vpn桥接的方法及系统 |
CN104717119B (zh) * | 2015-04-09 | 2018-02-13 | 烽火通信科技股份有限公司 | 实现l2 vpn与l3 vpn桥接的方法及系统 |
CN106789644A (zh) * | 2016-11-29 | 2017-05-31 | 深圳市楠菲微电子有限公司 | 一种trill组播报文的转发方法和装置 |
CN107566276A (zh) * | 2017-10-24 | 2018-01-09 | 盛科网络(苏州)有限公司 | 一种精确过滤pon业务下行泛洪报文的方法及装置 |
CN112019420A (zh) * | 2020-09-04 | 2020-12-01 | 苏州盛科科技有限公司 | 一种vxlan边缘节点组播报文转发的实现方法及装置 |
CN114598570A (zh) * | 2022-01-28 | 2022-06-07 | 新华三技术有限公司合肥分公司 | 一种组播数据报文转发方法及设备 |
CN114598570B (zh) * | 2022-01-28 | 2023-12-26 | 新华三技术有限公司合肥分公司 | 一种组播数据报文转发方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102970226B (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102970226B (zh) | 在asic中进行组播报文转发的方法和装置 | |
CN102970227B (zh) | 在asic中实现vxlan报文转发的方法和装置 | |
US9237025B2 (en) | Source routing in multicast transmissions | |
CN102957616B (zh) | 在asic中转发trill网络报文的方法及系统 | |
CN102368727B (zh) | 跨ip网络的trill网络通信方法、系统和设备 | |
CN110224935B (zh) | 一种处理组播数据报文的方法及装置 | |
CN106470162B (zh) | 一种业务报文的组播方法及装置 | |
US8730979B2 (en) | Method and system for increasing forwarding efficiency of virtual private LAN service network | |
WO2022062506A1 (zh) | 一种数据处理方法、装置、存储介质及电子装置 | |
CN102130812B (zh) | 一种未知单播数据帧的处理方法、装置及系统 | |
CN102137000A (zh) | 一种建立切换组播分发树的方法、装置及系统 | |
CN112134776B (zh) | 生成组播转发表项的方法和接入网关 | |
US10243884B2 (en) | Packet transmission method and apparatus | |
CN102857429B (zh) | 在trill网络中承载路由的方法和装置 | |
CN104539545A (zh) | Trill网络中的组播报文转发方法和设备 | |
CN103841013A (zh) | Trill网络中的报文转发方法及设备 | |
CN107707476A (zh) | 基于fpga的高效无线转发装置及方法 | |
CN102281148A (zh) | 一种跨vpn建立组播分发树的方法、设备和系统 | |
CN102769567B (zh) | 一种多链接透明互联网络数据帧的转发方法和装置 | |
CN105915458B (zh) | 用于执行最短路径桥接-协议无关多播交互的方法 | |
CN102932229B (zh) | 一种对数据包进行加解密处理的方法 | |
WO2016095571A1 (zh) | 一种建立组播隧道的方法及装置 | |
CN104052672A (zh) | 一种基于lisp的组播实现方法和设备 | |
CN103152265A (zh) | 一种spb网络中的报文转发方法和设备 | |
CN102868642B (zh) | 在asic中实现nvgre报文转发的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 215101 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: 215021 unit 13 / 16, floor 4, building B, No. 5, Xinghan street, industrial park, Suzhou, Jiangsu Province Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |
|
CP03 | Change of name, title or address |