CN102595248A - 组播转发表项维护方法及协议无关组播路由器 - Google Patents

组播转发表项维护方法及协议无关组播路由器 Download PDF

Info

Publication number
CN102595248A
CN102595248A CN2012100140597A CN201210014059A CN102595248A CN 102595248 A CN102595248 A CN 102595248A CN 2012100140597 A CN2012100140597 A CN 2012100140597A CN 201210014059 A CN201210014059 A CN 201210014059A CN 102595248 A CN102595248 A CN 102595248A
Authority
CN
China
Prior art keywords
list item
multicast
message
round cut
cut mark
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
Application number
CN2012100140597A
Other languages
English (en)
Other versions
CN102595248B (zh
Inventor
周迪
刘宇
陈旭盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210014059.7A priority Critical patent/CN102595248B/zh
Publication of CN102595248A publication Critical patent/CN102595248A/zh
Priority to US14/358,782 priority patent/US20140348164A1/en
Priority to PCT/CN2013/070510 priority patent/WO2013107340A1/en
Priority to GB201408106A priority patent/GB2519183A/en
Priority to DE112013000194.2T priority patent/DE112013000194T5/de
Application granted granted Critical
Publication of CN102595248B publication Critical patent/CN102595248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了组播转发表项维护方法及协议无关组播路由器。方法包括:PIM路由器接收针对一个组播组的组播加入消息,且该消息带有轮切标记,将该消息的入接口添加到针对该组播组的组播转发表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记;PIM路由器接收针对一个组播组的组播离开消息,在自身查找针对该组播组的组播转发表项,将该消息的入接口从该表项的出接口列表中删除,若该出接口列表中的该入接口上带有轮切标记且该表项的出接口列表为空,则直接或加速删除该表项。本发明提高了组播转发效率。

Description

组播转发表项维护方法及协议无关组播路由器
技术领域
本发明涉及组播技术领域,具体涉及组播转发表项维护方法及协议无关组播(PIM,Protocol Independent Multicast)路由器。
背景技术
因特网协议(IP,Internet Protocol)视频监控已经成为安防领域的主流和未来。监控业务中的实况点播业务存在多方点播者同时观看某一摄像机场景的需求。显然,IP组播是解决这一需求的很好途径。
图1给出了现有的IP组播的典型组网图,如图1所示,如果两台监控主机和电视墙要同时点播同一个摄像机,那么,摄像机只需要出一路组播流,PIM路由器Rtr-1复制出两份组播流,PIM路由器Rtr-3也复制出两份组播流。如此,相对于单播的实况点播,摄像机的压力就小了很多,不用负责流的复制,网络设备根据接收者的需求在合适的节点复制组播流,网络流量压力也小了很多。
虽然现有的IP组播技术有如上的优点,但在监控业务中存在一个表项容量消耗的问题,这通常存在于组播点播者为轮切者的场景中。当组播点播者为轮切者时,轮切者每隔一段时间轮切一次所加入的组播组,即轮切者会每隔一段时间加入一个或一批组播组,当每一段时间结束时,会离开该段时间内加入的这个或这批组播组再加入另一个或另一批组播组。例如:当轮切者为监控电视墙时,监控电视墙通常每隔5秒轮切一次所加入的组播组,即每隔5秒加入十多个组播组接收组播流,然后离开这些组播组再加入另一批组播组,当离开一批组播组时,虽然PIM路由器不再转发这些组的组播流,但是这些组的(S,G)表项并不会从PIM路由器上立即删除,而是要保留3分钟左右的时间,这是为了防止频繁地接收和离开对PIM路由器的性能消耗而设计的。但是大量无用(S,G)表项的残留又会占用紧张的转发表项容量,这些无用表项积累到一定程度会消耗光PIM路由器的转发资源,最终导致轮切者无法再接收新的组播流。
发明内容
本发明提供组播转发表项维护方法及PIM路由器,以提高组播转发效率。
本发明的技术方案是这样实现的:
一种组播转发表项维护方法,该方法包括:
协议无关组播PIM路由器接收针对一个组播组的组播加入消息,且该消息带有轮切标记,判断是否存在针对该组播组的组播转发表项,若已存在,将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记;若不存在,生成针对该组播组的组播转发表项,将该消息的入接口添加到该表项的出接口列表中,同时在该出接口列表中的该入接口上添加轮切标记;
PIM路由器接收针对一个组播组的组播离开消息,在自身查找针对该组播组的组播转发表项,将该消息的入接口从该表项的出接口列表中删除,若该出接口列表中的该入接口上带有轮切标记且该表项的出接口列表为空,则直接或加速删除该表项。
当不存在针对该组播组的组播转发表项时,
所述在该出接口列表中的该入接口上添加轮切标记的同时进一步包括:在该新生成的组播转发表项上添加轮切标记,同时向上游PIM路由器发送带有轮切标记的组播加入消息。
当存在针对该组播组的组播转发表项时,
所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记之前进一步包括:
判断该入接口是否已存在于该表项中,若已存在,判断该表项是否带有轮切标记,若带有,向上游PIM路由器发送带有轮切标记的组播加入消息,若不带有,向上游PIM路由器发送不带轮切标记的组播加入消息;若不存在,则执行所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记的动作,
且所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记的同时进一步包括:
判断该表项是否带有轮切标记,若带有,向上游PIM路由器发送带有轮切标记的组播加入消息,若不带有,向上游PIM路由器发送不带轮切标记的组播加入消息。
所述方法进一步包括:
当PIM路由器接收针对一个组播组的组播加入消息,且该消息不带轮切标记时,判断是否存在针对该组播组的组播转发表项,若已存在,将该消息的入接口添加到该表项的出接口列表中,向上游PIM路由器发送不带轮切标记的组播加入消息,且若该表项上带有轮切标记,则清除该轮切标记;若不存在,生成针对该组播组的组播转发表项,将该消息的入接口添加到该表项的出接口列表中,向上游PIM路由器发送不带轮切标记的组播加入消息。
当PIM路由器接收针对一个组播组的组播加入消息,且该消息不带轮切标记时,若已存在针对该组播组的组播转发表项,
所述将该消息的入接口添加到该表项的出接口列表中之前进一步包括:
判断该入接口是否已存在于该表项的出接口列表中,若已存在于,则判断该出接口列表中该入接口上是否带有轮切标记,若带有,则清除该入接口上的轮切标记,且若该表项上带有轮切标记,则清除该表项上的轮切标记;若不存在于,则执行所述将该消息的入接口添加到该表项的出接口列表中的动作。
所述PIM路由器将该消息的入接口从该表项的出接口列表中删除之后进一步包括:
若该出接口列表中的该入接口上不带轮切标记,且该出接口列表不为空,则判断该出接口列表中剩余的出接口上是否都带有轮切标记,若都带有,则在该表项上添加轮切标记。
所述组播加入消息为:因特网组管理协议IGMP加入消息,或者PIM加入消息,或者组播侦听者发现MLD协议加入消息;
所述组播离开消息为:IGMP离开消息,或者PIM离开消息,或者MLD协议离开消息。
一种PIM路由器,包括:
第一表项维护模块:接收针对一个组播组的组播加入消息,且该消息带有轮切标记,判断是否存在针对该组播组的组播转发表项,若已存在,将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记;若不存在,生成针对该组播组的组播转发表项,将该消息的入接口添加到该表项的出接口列表中,同时在该出接口列表中的该入接口上添加轮切标记;
第二表项维护模块:接收针对一个组播组的组播离开消息,查找针对该组播组的组播转发表项,将该消息的入接口从该表项的出接口列表中删除,若该出接口列表中的该入接口上带有轮切标记且该表项的出接口列表为空,则直接或加速删除该表项。
所述第一表项维护模块进一步用于,当不存在针对该组播组的组播转发表项时,所述在该出接口列表中的该入接口上添加轮切标记的同时,在该新生成的组播转发表项上添加轮切标记,同时向上游PIM路由器发送带有轮切标记的组播加入消息。
所述第一表项维护模块进一步用于,
当存在针对该组播组的组播转发表项时,所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记之前,判断该入接口是否已存在于该表项中,若已存在,判断该表项是否带有轮切标记,若带有,向上游PIM路由器发送带有轮切标记的组播加入消息,若不带有,向上游PIM路由器发送不带轮切标记的组播加入消息;若不存在,则执行所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记的动作,且,所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记的同时,判断该表项是否带有轮切标记,若带有,向上游PIM路由器发送带有轮切标记的组播加入消息,若不带有,向上游PIM路由器发送不带轮切标记的组播加入消息。
所述PIM路由器进一步包括第三表项维护模块,用于当接收针对一个组播组的组播加入消息,且该消息不带轮切标记时,判断是否存在针对该组播组的组播转发表项,若已存在,将该消息的入接口添加到该表项的出接口列表中,向上游PIM路由器发送不带轮切标记的组播加入消息,且若该表项上带有轮切标记,则清除该轮切标记;若不存在,生成针对该组播组的组播转发表项,将该消息的入接口添加到该表项的出接口列表中,向上游PIM路由器发送不带轮切标记的组播加入消息。
所述第三表项维护模块进一步用于,当已存在针对该组播组的组播转发表项时,所述将该消息的入接口添加到该表项的出接口列表中之前,判断该入接口是否已存在于该表项的出接口列表中,若已存在于,则判断该出接口列表中该入接口上是否带有轮切标记,若带有,则清除该入接口上的轮切标记,且若该表项上带有轮切标记,则清除该表项上的轮切标记;若不存在于,则执行所述将该消息的入接口添加到该表项的出接口列表中的动作。
所述第二表项维护模块进一步用于,当将所述组播离开消息的入接口从所述组播转发表项的出接口列表中删除之后,若该出接口列表中的该入接口上不带轮切标记,且该出接口列表不为空,则判断该出接口列表中剩余的出接口上是否都带有轮切标记,若都带有,则在该表项上添加轮切标记。
与现有技术相比,本发明对于监控轮切这类特殊业务生成的转发表项可以加速清除,避免无用表项对于路由器组播转发表项容量的消耗,同时不影响正常组播业务的开展,提高了组播转发效率。
附图说明
图1为现有的IP组播的典型组网图;
图2为本发明实施例提供的轮切者加入组播组时的组播转发表项维护方法流程图;
图3为本发明实施例提供的非轮切者加入组播组时的组播转发表项维护方法流程图;
图4为本发明实施例提供的组播接收者离开组播组时的组播转发表项维护方法流程图;
图5为本发明实施例提供的PIM路由器的组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明实施例主要由三个部分组成:当组播点播者为轮切者时,组播点播者加入组播组时的组播转发表项维护流程;当组播点播者为非轮切者时,组播点播者加入组播组时的组播转发表项维护流程;以及,组播接收者离开组播组时的组播转发表项维护流程。以下对这三个部分分别进行详细说明。
图2为本发明实施例提供的轮切者加入组播组时的组播转发表项维护方法流程图,如图2所示,其具体步骤如下:
步骤201:当轮切者要接收一组播组G的组播流时,发出因特网组管理协议(IGMP,Internet Group Management Protocol)加入消息,该消息携带要加入的组播组G标识,同时该消息带有轮切标记。
如图1所示,假设图1中的电视墙为4*4分屏,则电视墙会一次发送针对16个组播组的IGMP加入消息,该16个IGMP加入消息中均需带有轮切标记。
步骤202:PIM路由器接收IGMP加入消息,从该消息中获取组播组G标识,判断是否已存在针对该组播组G的(S,G)表项或(*,G)表项,若是,执行步骤204;否则,执行步骤203。
S为组播源标识,G为组播组标识。
步骤203:PIM路由器生成针对该组播组的(S,G)表项或(*,G)表项,将该IGMP加入消息的入接口添加到该表项的出接口列表中,在该接口上添加轮切标记,同时在该表项上添加轮切标记,并向上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,同时带有轮切标记,转至步骤207。
如图1中的Rtr-3从接口p1收到来自电视墙的带有轮切标记的16个IGMP加入消息时,对于任一个IGMP加入消息,若发现不存在对应的(S,G)或(*,G)表项,则生成(S,G)或(*,G)表项,将接口p1添加到表项的出接口列表中,在接口p1上添加轮切标记,同时在表项上添加轮切标记,并向上游PIM路由器发送带有轮切标记的PIM加入消息。
步骤204:PIM路由器判断该IGMP加入消息的入接口是否已存在于该针对该组播组G的(S,G)表项或(*,G)表项的出接口列表中,若是,执行步骤206;否则,执行步骤205。
步骤205:PIM路由器将该IGMP加入消息的入接口添加到针对该组播组的(S,G)表项或(*,G)表项的出接口列表中,在该接口上添加轮切标记,同时向上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,同时若该(S,G)表项或(*,G)表项带有轮切标记,则该PIM加入消息同时带有轮切标记,转至步骤207。
本步骤中,若该(S,G)表项或(*,G)表项不带轮切标记,则说明PIM路由器下还存在非轮切者,则向上游PIM路由器发出的PIM加入消息不应带轮切标记。
如图1中的Rtr-3从接口p1收到来自电视墙的带有轮切标记的16个IGMP加入消息时,对于任一个IGMP加入消息,若发现已存在对应的(S,G)或(*,G)表项,则若接口p1已存在于表项的出接口列表中,则无需重复添加;否则,将接口p1添加到表项的出接口列表中,并在接口p1上添加轮切标记。同时,当接口p1已存在于表项的出接口列表中时,若接口p1上已经带有了轮切标记,就无需再添加轮切标记;若接口p1上未添加轮切标记,则说明接口p1下还同时存在非轮切接收者,也不应添加轮切标记。
步骤206:PIM路由器向上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,同时若该(S,G)表项或(*,G)表项带有轮切标记,则该PIM加入消息同时带有轮切标记。
同样本步骤中,若该(S,G)表项或(*,G)表项不带轮切标记,则说明PIM路由器下还存在非轮切者,则向上游PIM路由器发出的PIM加入消息不应带轮切标记。
步骤207:上游PIM路由器接收带有轮切标记的PIM加入消息,从该消息中获取组播组G标识,判断是否已存在针对该组播组G的(S,G)表项或(*,G)表项,若是,执行步骤209;否则,执行步骤208。
步骤208:上游PIM路由器生成针对该组播组的(S,G)表项或(*,G)表项,将该PIM加入消息的入接口添加到该表项的出接口列表中,在该接口上添加轮切标记,并在该表项上添加轮切标记,同时向其上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,同时带有轮切标记,本流程结束。
如图1中的Rtr-1从接口p4收到来自Rtr-3的带有轮切标记的16个PIM加入消息时,对于任一个PIM加入消息,若发现不存在对应的(S,G)或(*,G)表项,则生成(S,G)或(*,G)表项,将接口p4添加到表项的出接口列表中,在接口p4上添加轮切标记,并在该表项上添加轮切标记,同时向上游PIM路由器发送带有轮切标记的PIM加入消息。
步骤209:上游PIM路由器判断该PIM加入消息的入接口是否已存在于该针对该组播组G的(S,G)表项或(*,G)表项的出接口列表中,若是,执行步骤211;否则,执行步骤210。
步骤210:上游PIM路由器将该PIM加入消息的入接口添加到针对该组播组的(S,G)表项或(*,G)表项的出接口列表中,在该接口上添加轮切标记,同时向其上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,同时若该(S,G)表项或(*,G)表项带有轮切标记,则该PIM加入消息同时带有轮切标记,本流程结束。
如图1中的Rtr-1从接口p4收到来自Rtr-3的带有轮切标记的16个PIM加入消息时,对于任一个PIM加入消息,若发现已存在对应的(S,G)或(*,G)表项,则若接口p4已存在于表项的出接口列表中,则无需重复添加;否则,将接口p4添加到表项的出接口列表中,并在接口p4上添加轮切标记。同时,当接口p4已存在于表项的出接口列表中时,若接口p4上已经带有了轮切标记,就无需再添加轮切标记;若接口p4上未添加轮切标记,则说明接口p4下还同时存在非轮切接收者,也不应添加轮切标记。
步骤211:上游PIM路由器向其上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,同时若该(S,G)表项或(*,G)表项带有轮切标记,则该PIM加入消息同时带有轮切标记。
当上游PIM路由器接收到不带轮切标记的PIM加入消息时,其处理过程见图3所示步骤311~319。
图3为本发明实施例提供的非轮切者加入组播组时的组播转发表项维护方法流程图,如图3所示,其具体步骤如下:
步骤301:非轮切者要接收一组播组G的组播流,发出IGMP加入消息,该消息携带要加入的组播组G标识。
本步骤中的IGMP加入消息与现有的IGMP加入消息相同,不带轮切标记。
步骤302:PIM路由器接收IGMP加入消息,从该消息中获取组播组G标识,判断是否已存在针对该组播组G的(S,G)表项或(*,G)表项,若是,执行步骤304;否则,执行步骤303。
步骤303:PIM路由器生成针对该组播组的(S,G)表项或(*,G)表项,将该IGMP加入消息的入接口添加到该表项的出接口列表中,同时向上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,转至步骤311。
步骤304:PIM路由器判断该IGMP加入消息的入接口是否已存在于该针对该组播组G的(S,G)表项或(*,G)表项的出接口列表中,若是,执行步骤308;否则,执行步骤305。
步骤305:PIM路由器将该IGMP加入消息的入接口添加到针对该组播组的(S,G)表项或(*,G)表项的出接口列表中,并判断针对该组播组的(S,G)表项或(*,G)表项是否具有轮切标记,若是,执行步骤306;否则,执行步骤307。
步骤306:PIM路由器清除该(S,G)表项或(*,G)表项上的轮切标记,同时向上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,转至步骤311。
步骤307:PIM路由器向上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,转至步骤311。
步骤308:PIM路由器判断出接口列表中该IGMP加入消息的入接口上是否带有轮切标记,若是,执行步骤309;否则,执行步骤310。
步骤309:PIM路由器清除出接口列表中该IGMP加入消息的入接口上的轮切标记,同时向上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,且,若针对该组播组G的(S,G)表项或(*,G)表项上带有轮切标记,则也要清除该标记,转至步骤311。
步骤310:PIM路由器向上游PIM路由器发送PIM加入消息,该消息携带组播组G标识。
步骤311:上游PIM路由器接收PIM加入消息,从该消息中获取组播组G标识,判断是否已存在针对该组播组G的(S,G)表项或(*,G)表项,若是,执行步骤313;否则,执行步骤312。
步骤312:上游PIM路由器生成针对该组播组的(S,G)表项或(*,G)表项,将该PIM加入消息的入接口添加到该表项的出接口列表中,同时向其上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,本流程结束。
步骤313:上游PIM路由器判断该PIM加入消息的入接口是否已存在于该针对该组播组G的(S,G)表项或(*,G)表项的出接口列表中,若是,执行步骤317;否则,执行步骤314。
步骤314:上游PIM路由器将该PIM加入消息的入接口添加到针对该组播组的(S,G)表项或(*,G)表项的出接口列表中,并判断针对该组播组的(S,G)表项或(*,G)表项是否具有轮切标记,若是,执行步骤315;否则,执行步骤316。
步骤315:上游PIM路由器清除该(S,G)表项或(*,G)表项上的轮切标记,同时向其上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,本流程结束。
步骤316:上游PIM路由器向其上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,本流程结束。
步骤317:上游PIM路由器判断出接口列表中该PIM加入消息的入接口上是否带有轮切标记,若是,执行步骤318;否则,执行步骤319。
步骤318:上游PIM路由器清除出接口列表中该IGMP加入消息的入接口上的轮切标记,同时向其上游PIM路由器发送PIM加入消息,该消息携带组播组G标识,且,若针对该组播组G的(S,G)表项或(*,G)表项上带有轮切标记,则也要清除该标记,本流程结束。
步骤319:上游PIM路由器向其上游PIM路由器发送PIM加入消息,该消息携带组播组G标识。
图4为本发明实施例提供的组播接收者离开组播组时的组播转发表项维护方法流程图,如图4所示,其具体步骤如下:
步骤401:组播接收者要离开一组播组G,发出IGMP离开消息,该消息携带组播组G标识。
步骤402:PIM路由器接收IGMP离开消息,从消息中获取组播组G标识,在自身查找到针对该组播组G的(S,G)表项或(*,G)表项,在该表项的出接口列表中查找到该IGMP离开消息的入接口。
步骤403:PIM路由器判断出接口列表中该IGMP离开消息的入接口上是否带有轮切标记,若是,执行步骤407;否则,执行步骤404。
步骤404:PIM路由器将该IGMP离开消息的入接口从该表项的出接口列表中删除,判断该出接口列表是否为空,若是,执行步骤405;否则,执行步骤406。
步骤405:PIM路由器向上游PIM路由器发送PIM离开消息,该消息携带组播组G标识,转至步骤409。
本步骤中,PIM路由器还要在老化时长到达时,删除该表项。
步骤406:PIM路由器若发现该出接口列表中剩余的出接口上都带有轮切标记,则在该表项上添加轮切标记,本流程结束。
本步骤中,若PIM路由器发现该出接口列表中剩余的出接口上不都带有轮切标记,则不作进一步处理,本流程结束。
步骤407:PIM路由器将该IGMP离开消息的入接口从该表项的出接口列表中删除,判断该表项的出接口列表是否为空,若是,执行步骤408;否则,不作进一步处理,本流程结束。
步骤408:PIM路由器直接或加速删除该表项,并向上游PIM路由器发送PIM离开消息,该消息携带组播组G标识。
步骤409:上游PIM路由器接收PIM离开消息,从消息中获取组播组G标识,在自身查找到针对该组播组G的(S,G)表项或(*,G)表项,在该表项的出接口列表中查找到该PIM离开消息的入接口。
步骤410:上游PIM路由器判断出接口列表中该PIM离开消息的入接口上是否带有轮切标记,若是,执行步骤414;否则,执行步骤411。
步骤411:上游PIM路由器将该PIM离开消息的入接口从该表项的出接口列表中删除,判断该出接口列表是否为空,若是,执行步骤412;否则,执行步骤413。
步骤412:上游PIM路由器向其上游PIM路由器发送PIM离开消息,该消息携带组播组G标识,本流程结束。
本步骤中,上游PIM路由器还要在老化时长到达时,删除该表项。
步骤413:上游PIM路由器若发现该出接口列表中剩余的出接口上都带有轮切标记,则在该表项上添加轮切标记,本流程结束。
本步骤中,若上游PIM路由器发现该出接口列表中剩余的出接口上不都带有轮切标记,则不作进一步处理,本流程结束。
步骤414:上游PIM路由器将该PIM离开消息的入接口从该表项的出接口列表中删除,判断该表项的出接口列表是否为空,若是,执行步骤415;否则,不作进一步处理,本流程结束。
步骤415:上游PIM路由器直接或加速删除该表项,并向其上游PIM路由器发送PIM离开消息,该消息携带组播组G标识。
图2~4所示实施例针对的是IPv4组播网络。对于IPv6组播网络,只需将图2~4所示实施例中的IGMP由组播侦听者发现(MLD,Multicast ListenerDiscovery)协议代替即可,其它完全相同。
图5为本发明实施例提供的PIM路由器的组成示意图,如图5所示,其主要包括:第一表项维护模块51、第二表项维护模块52、第三表项维护模块53和表项存储模块54,其中:
第一表项维护模块51:接收针对一个组播组的组播加入消息,且该消息带有轮切标记,判断表项存储模块54中是否存在针对该组播组的组播转发表项,若已存在,将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记;若不存在,在表项存储模块54中生成针对该组播组的组播转发表项,将该消息的入接口添加到该表项的出接口列表中,同时在该出接口列表中的该入接口上添加轮切标记;其中,当轮切者点播组播组时,发出针对该组播组的组播加入消息,该消息带有轮切标记。
第一表项维护模块51进一步用于,当不存在针对该组播组的组播转发表项时,在该出接口列表中的该入接口上添加轮切标记的同时,在该新生成的组播转发表项上添加轮切标记,同时向上游PIM路由器发送带有轮切标记的组播加入消息。
第一表项维护模块51进一步用于,当存在针对该组播组的组播转发表项时,将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记之前,判断该入接口是否已存在于该表项中,若已存在,判断该表项是否带有轮切标记,若带有,向上游PIM路由器发送带有轮切标记的组播加入消息,若不带有,向上游PIM路由器发送不带轮切标记的组播加入消息;若不存在,则执行将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记的动作,且,将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记的同时,判断该表项是否带有轮切标记,若带有,向上游PIM路由器发送带有轮切标记的组播加入消息,若不带有,向上游PIM路由器发送不带轮切标记的组播加入消息。
第二表项维护模块52:接收针对一个组播组的组播离开消息,在表项存储模块54中查找针对该组播组的组播转发表项,将该消息的入接口从该表项的出接口列表中删除,若该出接口列表中的该入接口上带有轮切标记且该表项的出接口列表为空,则直接或加速删除该表项。
第二表项维护模块52进一步用于,当将组播离开消息的入接口从组播转发表项的出接口列表中删除之后,若该出接口列表中的该入接口上不带轮切标记,且该出接口列表不为空,则判断该出接口列表中剩余的出接口上是否都带有轮切标记,若都带有,则在该表项上添加轮切标记。
第三表项维护模块53:接收针对一个组播组的组播加入消息,且该消息不带轮切标记,判断表项存储模块54中是否存在针对该组播组的组播转发表项,若已存在,将该消息的入接口添加到该表项的出接口列表中,向上游PIM路由器发送不带轮切标记的组播加入消息,且若该表项上带有轮切标记,则清除该轮切标记;若不存在,生成针对该组播组的组播转发表项,将该消息的入接口添加到该表项的出接口列表中,向上游PIM路由器发送不带轮切标记的组播加入消息;其中,当非轮切者点播组播组时,发出针对该组播组的组播加入消息,该消息不带有轮切标记。
第三表项维护模块53进一步用于,当已存在针对该组播组的组播转发表项时,将该消息的入接口添加到该表项的出接口列表中之前,判断该入接口是否已存在于该表项的出接口列表中,若已存在于,则判断该出接口列表中该入接口上是否带有轮切标记,若带有,则清除该入接口上的轮切标记,且若该表项上带有轮切标记,则清除该表项上的轮切标记;若不存在于,则执行将该消息的入接口添加到该表项的出接口列表中的动作。
表项存储模块54:存储组播转发表项。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (13)

1.一种组播转发表项维护方法,其特征在于,该方法包括:
协议无关组播PIM路由器接收针对一个组播组的组播加入消息,且该消息带有轮切标记,判断是否存在针对该组播组的组播转发表项,若已存在,将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记;若不存在,生成针对该组播组的组播转发表项,将该消息的入接口添加到该表项的出接口列表中,同时在该出接口列表中的该入接口上添加轮切标记;
PIM路由器接收针对一个组播组的组播离开消息,在自身查找针对该组播组的组播转发表项,将该消息的入接口从该表项的出接口列表中删除,若该出接口列表中的该入接口上带有轮切标记且该表项的出接口列表为空,则直接或加速删除该表项。
2.根据权利要求1所述的方法,其特征在于,当不存在针对该组播组的组播转发表项时,
所述在该出接口列表中的该入接口上添加轮切标记的同时进一步包括:在该新生成的组播转发表项上添加轮切标记,同时向上游PIM路由器发送带有轮切标记的组播加入消息。
3.根据权利要求2所述的方法,其特征在于,当存在针对该组播组的组播转发表项时,
所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记之前进一步包括:
判断该入接口是否已存在于该表项中,若已存在,判断该表项是否带有轮切标记,若带有,向上游PIM路由器发送带有轮切标记的组播加入消息,若不带有,向上游PIM路由器发送不带轮切标记的组播加入消息;若不存在,则执行所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记的动作,
且所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记的同时进一步包括:
判断该表项是否带有轮切标记,若带有,向上游PIM路由器发送带有轮切标记的组播加入消息,若不带有,向上游PIM路由器发送不带轮切标记的组播加入消息。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法进一步包括:
当PIM路由器接收针对一个组播组的组播加入消息,且该消息不带轮切标记时,判断是否存在针对该组播组的组播转发表项,若已存在,将该消息的入接口添加到该表项的出接口列表中,向上游PIM路由器发送不带轮切标记的组播加入消息,且若该表项上带有轮切标记,则清除该轮切标记;若不存在,生成针对该组播组的组播转发表项,将该消息的入接口添加到该表项的出接口列表中,向上游PIM路由器发送不带轮切标记的组播加入消息。
5.根据权利要求4所述的方法,其特征在于,当PIM路由器接收针对一个组播组的组播加入消息,且该消息不带轮切标记时,若已存在针对该组播组的组播转发表项,
所述将该消息的入接口添加到该表项的出接口列表中之前进一步包括:
判断该入接口是否已存在于该表项的出接口列表中,若已存在于,则判断该出接口列表中该入接口上是否带有轮切标记,若带有,则清除该入接口上的轮切标记,且若该表项上带有轮切标记,则清除该表项上的轮切标记;若不存在于,则执行所述将该消息的入接口添加到该表项的出接口列表中的动作。
6.根据权利要求1至3任一所述的方法,其特征在于,所述PIM路由器将该消息的入接口从该表项的出接口列表中删除之后进一步包括:
若该出接口列表中的该入接口上不带轮切标记,且该出接口列表不为空,则判断该出接口列表中剩余的出接口上是否都带有轮切标记,若都带有,则在该表项上添加轮切标记。
7.根据权利要求1所述的方法,其特征在于,所述组播加入消息为:因特网组管理协议IGMP加入消息,或者PIM加入消息,或者组播侦听者发现MLD协议加入消息;
所述组播离开消息为:IGMP离开消息,或者PIM离开消息,或者MLD协议离开消息。
8.一种PIM路由器,其特征在于,包括:
第一表项维护模块:接收针对一个组播组的组播加入消息,且该消息带有轮切标记,判断是否存在针对该组播组的组播转发表项,若已存在,将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记;若不存在,生成针对该组播组的组播转发表项,将该消息的入接口添加到该表项的出接口列表中,同时在该出接口列表中的该入接口上添加轮切标记;
第二表项维护模块:接收针对一个组播组的组播离开消息,查找针对该组播组的组播转发表项,将该消息的入接口从该表项的出接口列表中删除,若该出接口列表中的该入接口上带有轮切标记且该表项的出接口列表为空,则直接或加速删除该表项。
9.根据权利要求8所述的PIM路由器,其特征在于,所述第一表项维护模块进一步用于,当不存在针对该组播组的组播转发表项时,所述在该出接口列表中的该入接口上添加轮切标记的同时,在该新生成的组播转发表项上添加轮切标记,同时向上游PIM路由器发送带有轮切标记的组播加入消息。
10.根据权利要求8所述的PIM路由器,其特征在于,所述第一表项维护模块进一步用于,
当存在针对该组播组的组播转发表项时,所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记之前,判断该入接口是否已存在于该表项中,若已存在,判断该表项是否带有轮切标记,若带有,向上游PIM路由器发送带有轮切标记的组播加入消息,若不带有,向上游PIM路由器发送不带轮切标记的组播加入消息;若不存在,则执行所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记的动作,且,所述将该消息的入接口添加到该表项的出接口列表中,并在该出接口列表中的该入接口上添加轮切标记的同时,判断该表项是否带有轮切标记,若带有,向上游PIM路由器发送带有轮切标记的组播加入消息,若不带有,向上游PIM路由器发送不带轮切标记的组播加入消息。
11.根据权利要求8至10任一所述的PIM路由器,其特征在于,所述PIM路由器进一步包括第三表项维护模块,用于当接收针对一个组播组的组播加入消息,且该消息不带轮切标记时,判断是否存在针对该组播组的组播转发表项,若已存在,将该消息的入接口添加到该表项的出接口列表中,向上游PIM路由器发送不带轮切标记的组播加入消息,且若该表项上带有轮切标记,则清除该轮切标记;若不存在,生成针对该组播组的组播转发表项,将该消息的入接口添加到该表项的出接口列表中,向上游PIM路由器发送不带轮切标记的组播加入消息。
12.根据权利要求11所述的PIM路由器,其特征在于,所述第三表项维护模块进一步用于,当已存在针对该组播组的组播转发表项时,所述将该消息的入接口添加到该表项的出接口列表中之前,判断该入接口是否已存在于该表项的出接口列表中,若已存在于,则判断该出接口列表中该入接口上是否带有轮切标记,若带有,则清除该入接口上的轮切标记,且若该表项上带有轮切标记,则清除该表项上的轮切标记;若不存在于,则执行所述将该消息的入接口添加到该表项的出接口列表中的动作。
13.根据权利要求8所述的PIM路由器,其特征在于,所述第二表项维护模块进一步用于,当将所述组播离开消息的入接口从所述组播转发表项的出接口列表中删除之后,若该出接口列表中的该入接口上不带轮切标记,且该出接口列表不为空,则判断该出接口列表中剩余的出接口上是否都带有轮切标记,若都带有,则在该表项上添加轮切标记。
CN201210014059.7A 2012-01-18 2012-01-18 组播转发表项维护方法及协议无关组播路由器 Active CN102595248B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201210014059.7A CN102595248B (zh) 2012-01-18 2012-01-18 组播转发表项维护方法及协议无关组播路由器
US14/358,782 US20140348164A1 (en) 2012-01-18 2013-01-16 Maintaining a multicast forwarding table and a pim router
PCT/CN2013/070510 WO2013107340A1 (en) 2012-01-18 2013-01-16 Maintaining a multicast forwarding table and a pim router
GB201408106A GB2519183A (en) 2012-01-18 2013-01-16 Maintaining a multicast forwarding table and a pim router
DE112013000194.2T DE112013000194T5 (de) 2012-01-18 2013-01-16 Pflege einer Multicast-Weiterleitungstabelle und eines PIM-Routers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210014059.7A CN102595248B (zh) 2012-01-18 2012-01-18 组播转发表项维护方法及协议无关组播路由器

Publications (2)

Publication Number Publication Date
CN102595248A true CN102595248A (zh) 2012-07-18
CN102595248B CN102595248B (zh) 2014-02-26

Family

ID=46483379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210014059.7A Active CN102595248B (zh) 2012-01-18 2012-01-18 组播转发表项维护方法及协议无关组播路由器

Country Status (5)

Country Link
US (1) US20140348164A1 (zh)
CN (1) CN102595248B (zh)
DE (1) DE112013000194T5 (zh)
GB (1) GB2519183A (zh)
WO (1) WO2013107340A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102905199A (zh) * 2012-09-28 2013-01-30 杭州华三通信技术有限公司 一种组播业务实现方法及其设备
WO2013107340A1 (en) * 2012-01-18 2013-07-25 Hangzhou H3C Technologies Co., Ltd. Maintaining a multicast forwarding table and a pim router

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9118582B1 (en) 2014-12-10 2015-08-25 Iboss, Inc. Network traffic management using port number redirection
CN114513701B (zh) * 2022-01-06 2023-11-24 新华三技术有限公司 一种报文处理方法及装置
CN115242708B (zh) * 2022-07-21 2023-10-20 迈普通信技术股份有限公司 组播表项处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101494549A (zh) * 2009-03-02 2009-07-29 杭州华三通信技术有限公司 一种rpr上传输组播数据的方法和rpr节点
CN101557342A (zh) * 2009-05-18 2009-10-14 杭州华三通信技术有限公司 组播报文的转发方法和路由设备
CN101800701A (zh) * 2010-02-24 2010-08-11 北京交通大学 基于集中控制的组播路由控制方法
CN101834791A (zh) * 2010-04-21 2010-09-15 瑞斯康达科技发展股份有限公司 一种组播报文转发方法
CN101951323A (zh) * 2010-08-12 2011-01-19 上海市共进通信技术有限公司 吉比特无源光网络中实现上行组播的装置及方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6707796B1 (en) * 1999-05-07 2004-03-16 Nortel Networks Limited System device and method for reducing forwarding states in a communication system
US6597703B1 (en) * 1999-11-29 2003-07-22 Nortel Networks Limited System, device, and method for reducing multicast forwarding states in a multicast communication system
US7233987B2 (en) * 2002-12-20 2007-06-19 Alcatel Canada Inc. System and method for converting requests between different multicast protocols in a communication network
US7644177B2 (en) * 2003-02-28 2010-01-05 Cisco Technology, Inc. Multicast-routing-protocol-independent realization of IP multicast forwarding
CN100440818C (zh) * 2006-07-18 2008-12-03 杭州华三通信技术有限公司 一种提高组播点播成功率的方法及协议无关组播路由器
CN101489101B (zh) * 2008-12-31 2011-01-19 华为技术有限公司 一种ip电视频道切换处理方法、装置和系统
CN102075417B (zh) * 2010-09-30 2013-11-06 杭州华三通信技术有限公司 组播剪枝方法及协议无关组播路由器
CN102595248B (zh) * 2012-01-18 2014-02-26 杭州华三通信技术有限公司 组播转发表项维护方法及协议无关组播路由器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101494549A (zh) * 2009-03-02 2009-07-29 杭州华三通信技术有限公司 一种rpr上传输组播数据的方法和rpr节点
CN101557342A (zh) * 2009-05-18 2009-10-14 杭州华三通信技术有限公司 组播报文的转发方法和路由设备
CN101800701A (zh) * 2010-02-24 2010-08-11 北京交通大学 基于集中控制的组播路由控制方法
CN101834791A (zh) * 2010-04-21 2010-09-15 瑞斯康达科技发展股份有限公司 一种组播报文转发方法
CN101951323A (zh) * 2010-08-12 2011-01-19 上海市共进通信技术有限公司 吉比特无源光网络中实现上行组播的装置及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013107340A1 (en) * 2012-01-18 2013-07-25 Hangzhou H3C Technologies Co., Ltd. Maintaining a multicast forwarding table and a pim router
GB2519183A (en) * 2012-01-18 2015-04-15 Hangzhou H3C Tech Co Ltd Maintaining a multicast forwarding table and a pim router
CN102905199A (zh) * 2012-09-28 2013-01-30 杭州华三通信技术有限公司 一种组播业务实现方法及其设备
CN102905199B (zh) * 2012-09-28 2015-11-25 杭州华三通信技术有限公司 一种组播业务实现方法及其设备

Also Published As

Publication number Publication date
WO2013107340A1 (en) 2013-07-25
US20140348164A1 (en) 2014-11-27
GB201408106D0 (en) 2014-06-25
GB2519183A (en) 2015-04-15
CN102595248B (zh) 2014-02-26
DE112013000194T5 (de) 2014-06-26

Similar Documents

Publication Publication Date Title
CN102075417B (zh) 组播剪枝方法及协议无关组播路由器
US20090190587A1 (en) Method for deploying multicast network, multicast network and control server
CN102595248B (zh) 组播转发表项维护方法及协议无关组播路由器
CN101252529A (zh) 一种组播报文的转发方法和设备
CN102739521B (zh) 一种组播业务实现方法及其设备
CN100477635C (zh) 一种域间组播的传输方法及边缘设备
CN101605103A (zh) 一种组播数据静态转发的方法及装置
CN101478490B (zh) 一种支持tipc的多集群网络通信的方法和装置
CN102075422A (zh) 一种组播管理方法及二层设备
RU2012105911A (ru) Способ и устройство для реализации протокола управления хост-узлом с малой загрузкой на маршрутизаторе с функцией многоадресной передачи
CN104506330B (zh) 一种消息同步方法和系统
CN101651626A (zh) 一种流量转发的方法及设备
US20160043878A1 (en) Multicast communications method and aggregation switch
DE502008002386D1 (de) Verfahren und Vorrichtung zum Verteilen eines Datensegments eines Datenstroms an eine Gruppe von mehreren Nutzern
CN105188104A (zh) 一种无线网络通信的实现方法
CN106375100B (zh) 一种视频监控系统中组播实现方法及装置
CN101547110A (zh) 一种组播源的注册方法、系统和设备
CN112187756A (zh) 组播数据的传输方法、装置、设备及存储介质
CN104618247B (zh) 一种组播报文的传输方法及装置
CN104023317A (zh) 一种低功耗多播路由网络及其多播路由方法
CN102394813B (zh) 一种组播路由表项管理方法和路由器
CN108111323B (zh) vxworks系统下igmpsnooping协议的实现系统
CN1937610B (zh) 具有pim功能的解码器,采用该解码器的实时监控系统及方法
CN103200470B (zh) 一种吉比特无源光网络系统组播业务的分发装置及方法
CN110660205B (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.