CN101242419B - 一种快速组播的处理方法 - Google Patents
一种快速组播的处理方法 Download PDFInfo
- Publication number
- CN101242419B CN101242419B CN2008100855841A CN200810085584A CN101242419B CN 101242419 B CN101242419 B CN 101242419B CN 2008100855841 A CN2008100855841 A CN 2008100855841A CN 200810085584 A CN200810085584 A CN 200810085584A CN 101242419 B CN101242419 B CN 101242419B
- Authority
- CN
- China
- Prior art keywords
- multicast
- message
- router
- layers
- outgoing interface
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种快速组播处理方法,属于互联网通讯中的组播技术。本发明方法中,组播路由器查询三层组播表,命中某条表项后,设置发送组播报文的计数器计数值与所述三层组播表中的组播组出接口数目值相同;所述组播路由器根据所述三层组播表依次向所述各组播组出接口发送与其相对应的携带二层组播头信息的组播报文,每一组播组出接口的组播报文发送完毕后,通知所述组播路由器控制所述发送组播报文的计数器的计数值减1,直到所述计数器的计数值为零时,所述组播路由器结束发送组播报文。本发明大大降低组播路由器负载的负担,从而提高了组播路由器的工作效率,同时节省了大量的内存空间。
Description
技术领域
本发明属于互联网通讯中的组播技术,特别涉及一种快速组播处理方法。
背景技术
组播是一种允许一个或多个发送者(组播源)一次性发送单一的数据包到多个接收者的网络技术。组播源把数据包发送到特定组播组,而只有属于该组播组的地址才能接收到数据包,因此组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包,另外,组播减少了主干网出现拥塞的可能性。其中,组播组中的主机可以是在同一个物理网络,若有组播路由器的支持时,主机还可以来自不同的物理网络。
实现IP组播传输过程中,发送者(组播源)、接收者以及两者之间的下层网络都必须支持组播,主要包括以下几方面:
1)交换机、组播路由器必须支持组播;
2)主机的网络接口支持组播;
3)有一套用于加入、离开、查询的组管理协议,即IGMP(v1,v2,v3);
4)有一套IP地址分配策略,并能将第三层IP组播地址映射到第二层MAC地址;
5)支持IP组播的应用软件;
6)所有介于发送者(组播源)和接收者之间的组播路由器、TCP/IP栈、防火墙均需支持组播;
7)主机的TCP/IP实现支持发送和接收IP组播。
目前,IP组播技术得到硬件、软件厂商的广泛支持,比如,新生产的以 太网卡几乎都支持组播;有些组播路由器不仅支持DVMRP、PIM路由协议、IGMP组管理协议,而且支持专有组管理协议CGMP,再如微软的Windows95支持IP组播和IGMPvl,而Windows 98还支持IGMPv2。对于不支持IP组播传输的中间组播路由器可以采用IP隧道(Tunneling)技术作为过渡方案。由此可以看出IP组播技术的应用环境已基本具备。
但是,在目前的组播实现技术中,报文是发送给一组接收者的,这些接收者使用一个逻辑地址标识,而组播路由器会主动地把组播信息包拷贝转发到多个接口,即有多少个接口需要发送组播报文,组播路由器就需要将组播报文复制几份之后发送出去,这样随着发送的接口数量的增加,不但组播路由器的内存空间的消耗增加,而且组播路由器的负载也将增加,从而降低组播路由器的处理能力,影响组播的速度。
发明内容
本发明要解决的技术问题是提供一种快速组播的处理方法,从而降低组播路由器上组播复制产生的工作负载,实现快速组播。
为了解决上述问题,本发明提供了一种快速组播的处理方法,该方法中,组播路由器查询三层组播表,命中某条表项后,设置发送组播报文的计数器计数值与所述三层组播表中的组播组出接口数目值相同;
所述组播路由器根据所述三层组播表依次向所述各组播组出接口发送与其相对应的携带二层组播头信息的组播报文,每一组播组出接口的组播报文发送完毕后,通知所述组播路由器控制所述发送组播报文的计数器的计数值减1,直到所述计数器的计数值为零时,所述组播路由器结束发送组播报文。
进一步地,上述方法中,所述三层组播表中至少包括组播组IP、组播组出接口数以及预封装好的所述二层组播头信息。
所述三层组播表还包括源IP信息。
进一步地,上述方法中,所述组播路由器在生成组播路由条目时,根据所述组播组出接口的类型生成相应的二层组播头信息,再根据组播组IP、组播组出接口数生成所述三层组播表。
其中,当所述组播组出接口类型为以太接口时,所述二层组播头信息包括协议类型、源介质访问控制地址、转发组播报文入接口标识、转发组播报文的出接口标识以及转发组播报文的组播组出接口的介质访问控制地址信息。
所述组播路由器命中所述三层组播表中某条表项后,将该表项中所述组播报文的二层组播头信息与三层组播报文采用分段链式存储方式进行存储,其中与所述各组播组出接口相对应的二层组播头信息使用线性存储方式进行存储。
进一步地,上述方法中,所述组播路由器结束发送组播报文后,释放内存中三层组播报文所占的空间。
进一步地,上述方法中,所述组播组出接口的组播报文发送完毕后,所述接口通过消息形式向所述组播路由器通知发送组播报文结束。
本发明通过对组播报文的计数,从而避免了转发的每个接口都要进行复制一遍报文,节省了由于复制所占的内存空间,当转发的接口数目很多的情况下,会节省大量的内存空间,而且通过对组播报文计数的加减操作来代替对组播报文的复制操作,大大降低组播路由器负载的负担,提高组播路由器的工作效率,实现快速级播。
附图说明
图1是本发明实现快速组播的流程图;
图2是本发明技术方案中组播报文在组播路由器内存中存储方式示意图。
具体实施方式
本发明的主要构思是,当组播路由条目生成时,组播路由器根据不同组播组出接口生成相应的二层组播头信息,组播路由器的内存中组播报文的二层组播头信息使用线性存储方式,组播报文的二层组播头信息与三层组播报 文采用分段链式存储形式,这样,当组播路由器查找组播表命中某条表项后,就可确定发送的组播报文接口的数目,即将发送组播报文的个数以及各个接口的二层组播头信息,并控制发送组播报文的计数器计数值与发送的组播报文接口的数目值相同,这样每向一个转发接口发送一个组播报文时,通过组播表将内存中与该接口相对应的二层组播头信息的组播报文发送出去即可,而每个接口发送组播报文完毕后发送消息给组播路由器,控制发送组播报文的计数器减1,当计数器为0时,表示此组播报文发送结束,释放内存中的三层组播报文所占的空间,但不释放二层组播头信息,这样省去了组播路由器对组播报文的复制操作,大大提高了组播路由器的工作效率。
下面结合附图及具体实施方式对本发明技术方案作进一步详细说明。
一种快速组播方法,是基于反向路径传播(RPF,reverse path forwarding)生成组播树所提出的,具体分为以下步骤,如图1所示:
步骤101:组播包进入组播系统后,判断接收网络接口是否为RPF接口,如果是,则转发到一个输出网络接口集合,源介质访问控制(MAC,Media Access Control)地址被替换成输出网络接口MAC地址,建立三层组播表,如表1所示,否则丢弃该包;
表1 三层组播表
表1中,IPSRC表示源IP;IPGRP表示组播组IP;Out Int Num表明该组播组出接口数;MACSRC表示源MAC;VidIN表示转发组播报文入接口标识VLAN ID;VidOUT1...OUT2表示转发组播报文的组播组出接口标识VLAN ID;MACOUT1...OUT2表示转发组播报文的组播组出接口的MAC地址。
该步骤中,与组播路由协议的源指定表项(S,G)对应的三层组播表包括IPSRC、IPGRP以及预封装好的二层组播头信息;而与不对发送源进行匹配的(*,G)表项对应的三层组播表包括*、IPGRP以及预封装好的二层组播头信息;其中二层组播头信息为L2封装所需的信息,该信息随着组播组出接口类型的不同而不同。本实施例中,组播组出接口为以太接口,此时二层组播头信息包括协议类型、MACSRC、VidIN、VidOUT1、MACOUT1、VidOUT2、MACOUT2......VidOUTN、MACOUTN等信息;在其它实施例中,组播组接口为同步光纤网上的分组接口(POS,Packet Over SONET/SDH)或者异步传输模式接口(ATM,Asynchronous Transfer Mode)等时,二层组播头信息可以包括协议类型及与L2封装信息相关的控制地址等信息。
步骤102、组播路由器通过使用(S,G)或(*,G),查找三层组播表,匹配到组播表项,即可确定组播报文将要发送到哪些接口,从而确定转发组播报文的个数和组播组出接口信息;
其中出接口信息包括接口标识以及L2封装所需的信息,在本实施例中,出接口信息包括接口标识和MAC地址,在其它实施例中组播组出接口信息根据其类型的不同而不同,例如,组播组出接口信息也可以是接口标识、协议类型以及L2封装所需的相关控制地址等信息;
步骤103:组播路由器判断是否命中任何组播项,如果是,进入步骤104,否则丢弃组播报文,并控制发送组播报文的计数器清零,然后转入步骤108;
步骤104:组播路由器根据命中的组播表项,确定转发报文的个数以及出接口的相关信息,同时将发送组播报文的计数器的计数值更改为转发组播报文的个数值Out Int Num;
步骤105:组播路由器通过三层组播表向命中的组播表项中的组播组出 接口相对应的二层组播头信息的组播报文发送出去发;
步骤106:当每个组播组出接口发送报文结束后,接口硬件发送消息通知组播路由器此接口发送结束,组播路由器接收到此消息后,将发送组播报文的控制计数器计数值减1;
步骤107:组播路由器判断发送组播报文控制计数器计数值是否为零,如果是,进入步骤108,否则返回步骤105;
步骤108:组播路由器释放三层组播报文所占的内存空间,结束转发组播报文。
在实现上述快速组播的过程中,由于组播组出接口各不相同,所以在不同组播组出接口发送的组播报文的L2封装不同,因此组播路由器对组播报文按图2所示的方式存储在内存中,即将组播报文采用分段式存储,也就是组播报文的二层组播头信息与组播报文的其它内容采用链式分段存储,对于不同的组播组出接口的二层头采用线性存储方式。
从上述实施例可以看出,本发明通过对组播报文的计数,从而避免了转发的每个接口都要进行复制一遍报文,节省了由于复制所占的内存空间,同时也减少了对内存访问占用的时间,当转发的接口数目很多的情况下,会节省大量的内存空间,而且通过对组播报文计数的加减操作来代替对组播报文的复制操作,大大降低组播路由器负载的负担,提高组播路由器的工作效率,实现快速级播。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种快速组播的处理方法,其特征在于,
组播路由器查询三层组播表,命中某条表项后,设置发送组播报文的计数器计数值与所述三层组播表中的组播组出接口数目值相同;
所述组播路由器根据所述三层组播表依次向所述各组播组出接口发送与其相对应的携带二层组播头信息的组播报文,每一组播组出接口的组播报文发送完毕后,通知所述组播路由器控制所述发送组播报文的计数器的计数值减1,直到所述计数器的计数值为零时,所述组播路由器结束发送组播报文。
2.如权利要求1所述的方法,其特征在于,
所述三层组播表中至少包括组播组IP、组播组出接口数以及预封装好的所述二层组播头信息。
3.如权利要求2所述的方法,其特征在于,
所述三层组播表还包括源IP信息。
4.如权利要求1至3任一项所述的方法,其特征在于,
所述组播路由器在生成组播路由条目时,根据所述组播组出接口的类型生成相应的二层组播头信息,再根据组播组IP、组播组出接口数生成所述三层组播表。
5.如权利要求4所述的方法,其特征在于,
当所述组播组出接口类型为以太接口时,所述二层组播头信息包括协议类型、源介质访问控制地址、转发组播报文入接口标识、转发组播报文的出接口标识以及转发组播报文的组播组出接口的介质访问控制地址信息。
6.如权利要求4所述的方法,其特征在于,
所述组播路由器命中所述三层组播表中某条表项后,将该表项中所述组播报文的二层组播头信息与三层组播报文采用分段链式存储方式进行存储, 其中与所述各组播组出接口相对应的二层组播头信息使用线性存储方式进行存储。
7.如权利要求1所述的方法,其特征在于,
所述组播路由器结束发送组播报文后,释放内存中三层组播报文所占的空间。
8.如权利要求1所述的方法,其特征在于,
所述组播组出接口的组播报文发送完毕后,所述接口通过消息形式向所述组播路由器通知发送组播报文结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100855841A CN101242419B (zh) | 2008-03-19 | 2008-03-19 | 一种快速组播的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100855841A CN101242419B (zh) | 2008-03-19 | 2008-03-19 | 一种快速组播的处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101242419A CN101242419A (zh) | 2008-08-13 |
CN101242419B true CN101242419B (zh) | 2010-12-29 |
Family
ID=39933628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100855841A Expired - Fee Related CN101242419B (zh) | 2008-03-19 | 2008-03-19 | 一种快速组播的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101242419B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945040B (zh) * | 2010-08-31 | 2013-05-29 | 北京星网锐捷网络技术有限公司 | 报文处理方法、装置和网络设备 |
CN104219158A (zh) * | 2014-09-03 | 2014-12-17 | 杭州华三通信技术有限公司 | 一种报文复制方法和装置 |
CN106487702B (zh) * | 2015-08-31 | 2020-03-27 | 深圳市中兴微电子技术有限公司 | 一种组播报文两级复制方法及装置 |
CN109302349A (zh) * | 2018-09-29 | 2019-02-01 | 迈普通信技术股份有限公司 | 一种报文转发方法及路由设备 |
CN110572322B (zh) * | 2019-08-16 | 2021-07-13 | 苏州工业职业技术学院 | 一种通过修改查找关键字提高组播转发效率的方法 |
CN113572698B (zh) * | 2021-06-29 | 2023-12-01 | 青岛海尔科技有限公司 | 组播组容量的测试方法和装置、存储介质及电子装置 |
CN115242708B (zh) * | 2022-07-21 | 2023-10-20 | 迈普通信技术股份有限公司 | 组播表项处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1378365A (zh) * | 2002-05-10 | 2002-11-06 | 北京港湾网络有限公司 | 一种ip组播路由转发优化方法 |
CN1595879A (zh) * | 2003-09-08 | 2005-03-16 | 华为技术有限公司 | 一种大容量组播路由表下提高组播数据转发效率的方法 |
CN1669354A (zh) * | 2002-09-27 | 2005-09-14 | 诺基亚公司 | 组播数据传送 |
CN1878143A (zh) * | 2006-07-17 | 2006-12-13 | 杭州华为三康技术有限公司 | 组播网络部署方法及组播网络 |
CN1881931A (zh) * | 2005-06-13 | 2006-12-20 | 中兴通讯股份有限公司 | 组播转发路由聚合方法 |
-
2008
- 2008-03-19 CN CN2008100855841A patent/CN101242419B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1378365A (zh) * | 2002-05-10 | 2002-11-06 | 北京港湾网络有限公司 | 一种ip组播路由转发优化方法 |
CN1669354A (zh) * | 2002-09-27 | 2005-09-14 | 诺基亚公司 | 组播数据传送 |
CN1595879A (zh) * | 2003-09-08 | 2005-03-16 | 华为技术有限公司 | 一种大容量组播路由表下提高组播数据转发效率的方法 |
CN1881931A (zh) * | 2005-06-13 | 2006-12-20 | 中兴通讯股份有限公司 | 组播转发路由聚合方法 |
CN1878143A (zh) * | 2006-07-17 | 2006-12-13 | 杭州华为三康技术有限公司 | 组播网络部署方法及组播网络 |
Non-Patent Citations (2)
Title |
---|
JP特开2005-229465A 2005.08.25 |
US 6,693,907 B1,2004.02.17,全文. |
Also Published As
Publication number | Publication date |
---|---|
CN101242419A (zh) | 2008-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101242419B (zh) | 一种快速组播的处理方法 | |
CN102160328B (zh) | 用于协调分布式虚拟网络交换环境中的多播消息传送的中央控制器 | |
WO2008075336A3 (en) | Forwarding multicast traffic over link aggregation ports | |
CN100442776C (zh) | 在三层交换机上实现组播转发的方法 | |
CN100442775C (zh) | 一种在MAC in MAC网络中实现组播的方法 | |
CN100420193C (zh) | 一种组播转发表输出端口的虚拟标识方法 | |
CN100531038C (zh) | 实现分布式系统板间通信的系统和方法 | |
CN101267331A (zh) | 一种组播转发表查找方法和装置 | |
US8208418B1 (en) | Methods, systems, and computer readable media for conserving multicast port list resources in an internet protocol (IP) packet forwarding device | |
CN101478477A (zh) | 一种组播报文转发方法及装置 | |
US6501749B1 (en) | System and method for data transmission across a link aggregation | |
CN100563215C (zh) | 一种报文路由交换装置及其方法 | |
CN106375223B (zh) | 一种基于sdn的数据转发系统及方法 | |
CN101291240A (zh) | 一种组播流传输方法和系统 | |
CN101964719B (zh) | 基于主控板倒换的数据处理方法、线卡及主控板 | |
CN100384131C (zh) | 一种大容量组播路由表下提高组播数据转发效率的方法 | |
CN1555165A (zh) | 三层交换中ip组播精确端口转发的方法 | |
CN102647359B (zh) | 基于DSA TAG及自定义协议栈的网桥IGMP Snooping实现方法 | |
CN100484055C (zh) | 跨虚拟局域网组播的实现方法 | |
CN1276663A (zh) | 宽带以太网组播的方法 | |
CN100586105C (zh) | 报文转发方法、系统及设备 | |
CN101267396B (zh) | 一种组播路由下游接口列表实现装置和方法 | |
US7899928B1 (en) | Efficient multicast packet handling in a layer 2 network | |
CN1870564A (zh) | 基于三态地址关联存储器实现组播查表的方法及系统 | |
CN101355509A (zh) | 一种节省分布式网络设备组播转发带宽的方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101229 Termination date: 20180319 |