CN102598616B - 组播实现方法、装置和系统 - Google Patents

组播实现方法、装置和系统 Download PDF

Info

Publication number
CN102598616B
CN102598616B CN201080013052.2A CN201080013052A CN102598616B CN 102598616 B CN102598616 B CN 102598616B CN 201080013052 A CN201080013052 A CN 201080013052A CN 102598616 B CN102598616 B CN 102598616B
Authority
CN
China
Prior art keywords
message
igmp message
igmp
multicast group
last
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.)
Active
Application number
CN201080013052.2A
Other languages
English (en)
Other versions
CN102598616A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102598616A publication Critical patent/CN102598616A/zh
Application granted granted Critical
Publication of CN102598616B publication Critical patent/CN102598616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • 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
    • 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

Landscapes

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

Abstract

公开了组播实现方法、装置和系统。其中的组播实现方法包括:接收或产生因特网组管理协议IGMP报文;判断并在所述IGMP报文中标识所述IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文;如果后续实体根据该标识判断所述IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文,就不对该IGMP报文进行组播处理;向所述后续实体转发所述IGMP报文。上述技术方案在减轻了网络设备的报文处理压力的同时,满足了实际网络中对IGMP报文的需求。

Description

组播实现方法、装置和系统
技术领域
本发明涉及网络通讯技术领域,具体涉及组播技术。
背景技术
在组播实现过程中通常会利用到SNOOPING(嗅探)或者MulticastListenerDiscoveryProxy(组播侦听发现代理,MLD代理)技术。
在实现本发明的过程中,发明人发现:在采用SNOOPING技术时,由于采用SNOOPING的网络设备之上的其它网络设备需要对接收到的所有InternetGroupManagementProtocol(因特网组管理协议,IGMP)报文(如IGMP加入报文和IGMP离开报文等)进行组播处理,因此,对网络设备的报文处理能力要求高;在采用MLD代理技术时,由于MLD代理会终结用户设备的IGMP报文,因此,不能满足实际网络中对IGMP报文的需求,例如,网络中需要根据用户设备的点播行为进行全局用户的统计和分析处理,再例如,网络提供商(NSP)需要为内容提供商(ISP)提供透明通道,以使ISP能够获得用户设备的IGMP报文等。
发明内容
本发明实施方式提供的组播实现方法、装置和系统,在减轻了网络设备的报文处理压力的同时,满足了实际网络中对IGMP报文的需求。
本发明实施方式提供的一种组播实现方法,包括:
接收或者产生因特网组管理协议IGMP报文;
判断并在所述IGMP报文中标识所述IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文;所述标识用于后续实体根据该标识判断出所述IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对该IGMP报文进行组播处理;
向所述后续实体转发所述IGMP报文。
本发明实施方式提供的另一种组播实现方法,包括:
接收因特网组管理协议IGMP报文;
在根据所述IGMP报文中的标识确定出所述IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文时,对所述IGMP报文进行组播处理,并转发所述IGMP报文;
在根据所述IGMP报文中的标识确定出所述IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对所述IGMP报文进行组播处理,转发所述IGMP报文。
本发明实施方式提供的一种组播实现装置,包括:
第一模块,接收或者产生因特网组管理协议IGMP报文;
区别标识模块,用于判断并在所述IGMP报文中标识所述IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文;所述标识用于后续实体根据该标识判断出所述IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对该IGMP报文进行处理;
第一发送模块,用于向所述后续实体转发所述IGMP报文。
本发明实施方式提供的另一种组播实现装置,包括:
接收模块,用于接收因特网组管理协议IGMP报文;
分拣模块,用于根据所述IGMP报文中的标识确定所述IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文;
处理模块,用于在所述分拣模块确定出所述IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文时,对所述接收模块接收的IGMP报文进行组播处理,在所述分拣模块确定出所述IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对所述接收模块接收的IGMP报文进行组播处理;
第二发送模块,用于转发所述接收模块接收到的IGMP报文。
本发明实施方式提供的网络设备,包括:
第一装置,用于接收因特网组管理协议IGMP报文,判断并在所述IGMP报文中标识所述IGMP报文是否为第一报文;所述第一报文包括:组播组的第一个加入报文或组播组的最后一个离开报文;所述标识用于后续实体根据该标识判断出所述IGMP报文不为第一报文时,不对该IGMP报文进行组播处理;转发所述IGMP报文;
第二装置,用于接收第一装置转发来的IGMP报文,在根据所述IGMP报文中的标识确定出所述IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文时,对所述IGMP报文进行组播处理,并转发所述IGMP报文,在根据所述IGMP报文中的标识确定出所述IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对所述IGMP报文进行组播处理,转发所述IGMP报文。
本发明实施方式提供的组播实现系统,包括:第一网络设备、第二网络设备和最终接收设备,所述第一网络设备与所述最终接收设备之间通过至少一级第二网络设备连接;
第一网络设备,用于接收或者产生因特网组管理协议IGMP报文,判断并在所述IGMP报文中标识所述IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文;转发所述IGMP报文。
第二网络设备,用于接收所述第一网络设备或者上游第二网络设备发送来的IGMP报文,在根据所述IGMP报文中的标识确定出所述IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文时,对所述IGMP报文进行组播处理并向下游节点转发所述IGMP报文;在根据所述IGMP报文中的标识确定出所述IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对所述IGMP报文进行组播处理并向下游节点转发所述IGMP报文;
最终接收设备,用于接收并存储最后一级上游第二网络设备发送来的IGMP报文。
通过上述技术方案的描述可知,通过判断并标识为IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文,使本网络设备或者下游网络设备可以获知是否需要对IGMP报文进行组播处理,避免了本网络设备或者下游网络设备对所有IGMP报文均进行组播处理的现象,减轻了网络设备的报文处理压力;通过转发接收到的IGMP报文,使最终接收设备可以获知网络中的IGMP报文,避免了不能对用户设备的点播行为进行全局用户的统计和分析处理、以及NSP不能够为ISP提供透明通道等现象;从而本实施例能够在降低对网络设备的报文处理能力要求的同时,满足实际网络中对IGMP报文的需求。
附图说明
图1是本发明实施例一的组播实现方法流程图;
图2是本发明实施例二的组播实现方法流程图;
图3是本发明实施例三的组播实现装置示意图;
图4是本发明实施例四的组播实现装置示意图;
图5是本发明实施例五的网络设备示意图;
图5A是本发明实施例五的第一装置500执行的操作示意图;
图5B是本发明实施例五的第二装置510执行的操作示意图;
图6是本发明实施例六的组播实现系统示意图;
图6A是本发明实施例六的一个具体的组播实现系统示意图。
具体实施方式
下面通过实施例对本发明的具体实现过程进行例举说明。显然,下面所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一、组播实现方法。本实施例的执行主体可以为接入设备,也可以为其它网络设备。接入设备如DigitalSubscriberLineAccessMultiplexer(数字用户线接入复用器,DSLAM)或者OpticalLineTerminaton(光线路终端,OLT)等。其它网络设备如交换机或者路由器或者终端设备等。终端设备如MODEM(调制解调器)或者家庭网关或者SetTopBox(机顶盒,STB)等。该方法的流程如附图1所示。
S100、接收IGMP报文或者产生IGMP报文。当本实施例的执行主体为STB等IGMP报文的源端时,S100为产生IGMP报文。当本实施例的执行主体为IGMP报文的源端之上的网络设备时,S100可以为接收主机侧传输来的IGMP报文。
S110、为IGMP报文是否为组播组的第一个加入报文和组播组的最后一个离开报文进行区别标识,即判断并在该IGMP报文中标识该IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文。第一个加入报文具体可以为IGMPv2中的Report(报告)报文或者MLDv1中的Report报文,也可以为IGMPv3中的表示加入某个组的Report报文或者MLDv2中表示加入某个组的Report报文。第一离开报文具体可以为IGMPv2中的Leave(离开)报文或者MLDv1中的Leave报文,也可以为IGMPv3中的表示离开某个组的Report报文或者MLDv2中的表示离开某个组的Report报文。本实施例不限制第一个加入报文以及最后一个离开报文具体采用的协议以及报文的具体名称等。
为IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文进行标识也就是对IGMP报文进行增加区别标识的处理,以区分IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文。
对IGMP报文进行增加标识(该标识也可以称为区别标识)的处理可以为:如果IGMP报文是组播组的第一个加入报文或组播组的最后一个离开报文,则给IGMP报文加入特定报文特征标识,否则,不给IGMP报文增加标识。
对IGMP报文进行增加区别标识的处理也可以为:如果IGMP报文不是组播组的第一个加入报文或组播组的最后一个离开报文(即:该IGMP报文既不是组播组的第一个加入报文,也不是组播组的最后一个离开报文),则给IGMP报文加入非特定报文特征标识,否则不给IGMP报文增加标识。
对IGMP报文进行增加区别标识的处理还可以为:如果IGMP报文是组播组的第一个加入报文或组播组的最后一个离开报文,则给IGMP报文加入特定报文特征标识,否则,给IGMP报文加入非特定报文特征标识。
上述给IGMP报文增加的区别标识在IGMP报文中的位置可以根据网络的实际情况来确定,即可以选择IGMP报文中对网络没有影响的字段来承载区别标识。例如,可以将区别标识包含在IGMP报文以太网封装头中的类型字段中,也可以将区别标识包含在IGMP报文的IP报文头的选项字段中。本实施例不限制区别标识在IGMP报文中的具体位置、以及具体取值等。
给IGMP报文增加的区别标识主要用于后续实体根据IGMP报文中的标识判断出该IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对该IGMP报文进行组播处理,即通知后续实体该IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文,从而后续实体可以获知是否需要对该IGMP报文进行组播处理,这里的组播处理如建立端口与组播组的对应关系或者删除端口与组播组的对应关系等。这里的后续实体可以本地网络设备中的其它单板如主控板等,也可以为与本地网络设备连接的其它网络设备。本实施例不限制组播处理的具体实施方式,也不限制后续实体的具体表现形式。
S120、转发IGMP报文,即向下游(即上述后续实体)转发IGMP报文。这里的下游可以是本网络设备中的其它单板,也可以是与本地网络设备连接的其它网络设备。
针对本实施例需要特别说明的是,在本实施例的执行主体为IGMP报文的源端之上的网络设备(如接入设备)时,该网络设备向与其连接的下游网络设备转发的IGMP报文可以是一个用户设备针对一个组播组的第一个加入报文或者最后一个离开报文,也可以是一个用户设备针对一个组播组的所有加入报文或者所有离开报文。在某些具体应用中,可能会不需要用户设备针对一个组播组的除第一个加入报文之外的其它加入报文,也可能会不需要用户设备针对一个的除最后一个离开报文之外的其它离开报文,因此,网络设备向与其连接的下游网络设备转发一个用户设备针对一个组播组的第一个加入报文或者最后一个离开报文的技术方案可以满足这些具体应用,而且,减少了网络中IGMP报文的传输数量。网络设备可以根据IGMP报文中的地址信息(如MAC地址)等来区分不同的用户设备。本实施例不限制网络设备识别出IGMP报文是否为一个用户设备针对一个组播组的第一个加入报文或者最后一个离开报文的具体实现方式。
从上述实施例一的描述可知,实施例一通过为IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文进行区别标识,使本网络设备或者下游网络设备可以获知是否需要对IGMP报文进行组播处理,避免了本网络设备或者下游网络设备对所有IGMP报文均进行组播处理的现象,减轻了网络设备的报文处理压力;通过转发IGMP报文,使最终接收设备可以获知网络中的IGMP报文,避免了不能对用户设备的点播行为进行全局用户的统计和分析处理、以及NSP不能够为ISP提供透明通道等现象;从而本实施例能够在降低对网络设备的报文处理能力要求的同时,满足实际网络中对IGMP报文的需求。
实施例二、组播实现方法。该方法的流程如附图2所示。
S200、接收IGMP报文。
S210、根据IGMP报文中的标识(也即区别标识)判断IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文,在判断出IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文时,到S220,否则,到S230。
S210的具体判断过程可以根据增加区别标识的不同方式而有所不同,一个具体的例子:在判断出IGMP报文中包含有特定报文特征标识时,确定出该IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文,在判断出IGMP报文中没有包含特定报文特征标识时,确定出该IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文。另一个具体的例子:在判断出IGMP报文中包含有非特定报文特征标识时,确定出该IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文,在判断出IGMP报文中没有包含非特定报文特征标识时,确定出该IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文。第三个具体的例子:在判断出IGMP报文中包含有特定报文特征标识时,确定出该IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文,在判断出IGMP报文中包含非特定报文特征标识时,确定出该IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文。本实施例不限制根据区别标识判断IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文的具体实现方式。
S220、对IGMP报文进行组播处理,到S230。这里的组播处理如建立端口与组播组的对应关系或者删除端口与组播组的对应关系等。本实施例不限制组播处理的具体实施方式。
S230、转发该IGMP报文。
可选的,在S210判断出IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文之后,在S230转发IGMP报文之前,还可以包括:去除IGMP报文中包含的区别标识,如去除特定报文特征标识、以及去除非特定报文特征标识等。也就是说,S230转发出去的IGMP报文中可以不包含有区别标识。
本实施例的执行主体可以为接入设备,也可以为其它网络设备。接入设备如DSLAM或者OLT等。其它网络设备如交换机或者路由器等。
从上述实施例二的描述可知,实施例二可以通过IGMP报文中的区别标识来识别IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文,因此可以获知是否需要对IGMP报文进行组播处理,避免了对所有IGMP报文均进行组播处理的现象,减轻了网络设备的报文处理压力;通过转发接收到的IGMP报文,使最终接收设备可以获知网络中的IGMP报文,避免了不能对用户设备的点播行为进行全局用户的统计和分析处理、以及NSP不能够为ISP提供透明通道等现象;从而本实施例能够在降低对网络设备的报文处理能力要求的同时,满足实际网络中对IGMP报文的需求。
实施例三、组播实现装置,该装置可以设置于接入设备中,也可以设置于其它网络设备中。接入设备如DSLAM或者OLT等。其它网络设备如交换机或者路由器或者终端设备等。该装置的结构如附图3所示。
图3中的组播实现装置包括:第一模块300、区别标识模块310和第一发送模块320。
第一模块300,接收或者产生IGMP报文。接收的IGMP报文是从主机侧传输来的IGMP报文。
区别标识模块310,用于判断并在IGMP报文中标识该IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文,即:为第一模块300输出的IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文进行区别标识。第一个加入报文具体可以为IGMPv2中的Report报文或者MLDv1中的Report报文,也可以为IGMPv3中的表示加入某个组的Report报文或者MLDv2中表示加入某个组的Report报文。第一离开报文具体可以为IGMPv2中的Leave报文或者MLDv1中的Leave报文,也可以为IGMPv3中的表示离开某个组的Report报文或者MLDv2中的表示离开某个组的Report报文。本实施例不限制第一个加入报文以及最后一个离开报文具体采用的协议以及报文的具体名称等。
区别标识模块310为第一模块300输出的IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文进行区别标识也就是区别标识模块310对IGMP报文进行增加区别标识的处理,以区分接收到的IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文。区别标识模块310对IGMP报文进行增加区别标识的处理方式有多种,例如,如果IGMP报文是组播组的第一个加入报文或组播组的最后一个离开报文,则区别标识模块310给IGMP报文加入特定报文特征标识,否则,区别标识模块310不给IGMP报文增加标识;再例如,如果IGMP报文不是组播组的第一个加入报文或组播组的最后一个离开报文,则区别标识模块310给IGMP报文加入非特定报文特征标识,否则,区别标识模块310不给IGMP报文增加标识;再例如,如果IGMP报文是组播组的第一个加入报文或组播组的最后一个离开报文,则区别标识模块310给IGMP报文加入特定报文特征标识,否则,区别标识模块310给IGMP报文加入非特定报文特征标识。
上述区别标识模块310可以包括:第一标识子模块311和第二标识子模块312中的任意一个或两个。
第一标识子模块311,用于在确定出第一模块300输出的IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文时,为该IGMP报文加入特定报文特征标识。
第二标识子模块312,用于在确定出第一模块300输出的IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,为该IGMP报文加入非特定报文特征标识。
上述区别标识模块310、第一标识子模块311或者第二标识子模块312给IGMP报文增加的区别标识在IGMP报文中的位置可以根据网络的实际情况来确定,即可以选择IGMP报文中对网络没有影响的字段来承载区别标识。例如,可以区别标识模块310、第一标识子模块311或者第二标识子模块312将区别标识包含在IGMP报文以太网封装头中的类型字段中,也可以将区别标识包含在IGMP报文的IP报文头的选项字段中。本实施例不限制区别标识模块310、第一标识子模块311或者第二标识子模块312为IGMP报文增加的区别标识在IGMP报文中的具体位置、以及具体取值等。
区别标识模块310、第一标识子模块311或者第二标识子模块312给IGMP报文增加的区别标识主要用于后续实体根据该标识判断出IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对该IGMP报文进行组播处理,即该区别标识用于通知后续实体该IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文,从而后续实体可以获知是否需要对该IGMP报文进行组播处理,这里的组播处理如建立端口与组播组的对应关系或者删除端口与组播组的对应关系等。这里的后续实体可以本实施例的组播实现装置所在的网络设备中的其它单板如主控板等,也可以为与本实施例的组播实现装置所在的网络设备连接的其它网络设备。本实施例不限制组播处理的具体实施方式,也不限制后续实体的具体表现形式。
第一发送模块310,用于转发区别标识模块310区别标识处理后的IGMP报文。即第一发送模块310向下游转发IGMP报文。这里的下游可以是本实施例的组播实现装置所在的网络设备中的其它单板,也可以是与本实施例的组播实现装置所在的网络设备连接的其它网络设备(即下游网络设备)。
针对本实施例需要特别说明的是,在本实施例的组播实现装置设置于IGMP报文源端之上的网络设备(如接入设备)中时,第一发送模块310向下游网络设备转发的IGMP报文可以是一个用户设备针对一个组播组的第一个加入报文或者最后一个离开报文,也可以是一个用户设备针对一个组播组的所有加入报文或者所有离开报文。在某些具体应用中,可能会不需要用户设备针对一个组播组的除第一个加入报文之外的其它加入报文,也可能会不需要用户设备针对一个的除最后一个离开报文之外的其它离开报文,因此,第一发送模块310向下游网络设备转发一个用户设备针对一个组播组的第一个加入报文或者最后一个离开报文的技术方案可以满足这些具体应用,而且,可以减少网络中IGMP报文的传输数量。第一发送模块310可以根据IGMP报文中的地址信息(如MAC地址)等来区分不同的用户设备。本实施例不限制第一发送模块310识别出IGMP报文是否为一个用户设备针对一个组播组的第一个加入报文或者最后一个离开报文的具体实现方式。
从上述实施例三的描述可知,实施例三中的区别标识模块310通过为IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文进行区别标识,使组播实现装置所在的网络设备或者下游网络设备可以获知是否需要对IGMP报文进行组播处理,避免了组播实现装置所在的网络设备或者下游网络设备对所有IGMP报文均进行组播处理的现象,减轻了网络设备的报文处理压力;第一发送模块310通过转发第一模块300接收到的IGMP报文,使最终接收设备可以获知网络中的IGMP报文,避免了不能对用户设备的点播行为进行全局用户的统计和分析处理、以及NSP不能够为ISP提供透明通道等现象;从而本实施例能够在降低对网络设备的报文处理能力要求的同时,满足实际网络中对IGMP报文的需求。
实施例四、组播实现装置,该装置可以设置于接入设备中,也可以设置于其它网络设备中。接入设备如DSLAM或者OLT等。其它网络设备如交换机或者路由器等。该装置的结构如附图4所示。
图4中的组播实现装置包括:接收模块400、分拣模块410、处理模块420和第二发送模块430。可选的,该装置还可以包括:还原模块440。
接收模块400,用于接收IGMP报文。该IGMP报文是从主机侧传输来的IGMP报文。
分拣模块410,用于根据接收模块400接收的IGMP报文中的区别标识确定该IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文。
分拣模块410的具体判断过程可以根据增加区别标识的不同方式而有所不同,一个具体的例子:分拣模块410在判断出IGMP报文中包含有特定报文特征标识时,确定出该IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文,分拣模块410在判断出IGMP报文中没有包含特定报文特征标识时,确定出该IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文。另一个具体的例子:分拣模块410在判断出IGMP报文中包含有非特定报文特征标识时,确定出该IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文,分拣模块410在判断出IGMP报文中没有包含非特定报文特征标识时,确定出该IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文。第三个具体的例子:分拣模块410在判断出IGMP报文中包含有特定报文特征标识时,确定出该IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文,分拣模块410在判断出IGMP报文中包含非特定报文特征标识时,确定出该IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文。本实施例不限制分拣模块410根据区别标识判断IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文的具体实现方式。
处理模块420,用于在分拣模块410确定出接收模块400接收到的IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文时,对接收模块400接收到的IGMP报文进行组播处理,在分拣模块410确定出接收模块400接收到的IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,处理模块420不对接收模块400接收的IGMP报文进行组播处理。处理模块420进行组播处理如处理模块420建立端口与组播组的对应关系或者删除端口与组播组的对应关系等。本实施例不限制处理模块420的组播处理的具体实施方式。
在本实施例的装置不包括还原模块440的情况下,第二发送模块430,用于转发接收模块400接收到的IGMP报文。
在本实施例的装置包括还原模块440的情况下,还原模块440,用于去除接收模块400接收到的IGMP报文中的区别标识,例如,还原模块440去除特定报文特征标识、以及去除非特定报文特征标识等。还原模块440向第二发送模块430传输去除区别标识后的IGMP报文;此时,第二发送模块430转发还原模块440传输来的IGMP报文,也就是说,此时,第二发送模块430转发出去的IGMP报文中不包含有区别标识。
从上述实施例四的描述可知,实施例四中的分拣模块410可以通过IGMP报文中的区别标识来识别IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文,因此,处理模块420可以获知是否需要对IGMP报文进行组播处理,避免了处理模块420对所有IGMP报文均进行组播处理的现象,从而减轻了网络设备的报文处理压力;第二发送模块430通过转发接收模块400接收到的IGMP报文,使最终接收设备可以获知网络中的IGMP报文,避免了不能对用户设备的点播行为进行全局用户的统计和分析处理、以及NSP不能够为ISP提供透明通道等现象;从而本实施例能够在降低对网络设备的报文处理能力要求的同时,满足实际网络中对IGMP报文的需求。
实施例五、网络设备。该网络设备可以为接入设备或者其它网络设备。接入设备如DSLAM或者OLT等。其它网络设备如交换机或者路由器等。该网络设备的结构如附图5所示。
图5中的网络设备包括:第一装置500和第二装置510。
第一装置500,用于接收IGMP报文,判断并在IGMP报文中标识该IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文,即第一装置500为IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文进行区别标识。这里的区别标识用于后续实体根据该标识判断出IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对该IGMP报文进行组播处理,即该区别标识用于通知第二装置510是否对该IGMP报文进行组播处理。第一装置500向第二装置510转发区别标识处理后的IGMP报文。第一装置500的结构可以如上述实施例三中的描述,在此不再重复说明。
在实施例五所示的网络设备为具有SNOOPING功能的网络设备的情况下,第一装置500执行操作的一个具体例子如附图5A所示。
在图5A中,第一装置500进行报文捕获,第一装置500对捕获到的报文进行SNOOPING处理,这里的SNOOPING处理除了包含现有的处理操作之外,与本发明相关的处理操作可以包括:判断该报文是否为IGMP报文中的组播组的第一个加入报文或组播组的最后一个离开报文。在判断出该报文为组播组的第一个加入报文或组播组的最后一个离开报文时,第一装置500为该报文进行特征标记处理,该特征标记处理可以包括:为该报文增加特定报文特征标识。在判断出该报文为IGMP报文但是不为组播组的第一个加入报文或组播组的最后一个离开报文时,第一装置500可以不为该报文增加任何特征标识。之后,第一装置500进行报文转发处理。在报文为组播组的第一个加入报文或组播组的最后一个离开报文的情况下,报文转发处理包括:第一装置500向下游发送增加了特定报文特征标识的组播组的第一个加入报文或组播组的最后一个离开报文。在报文为IGMP报文但是不为组播组的第一个加入报文或组播组的最后一个离开报文的情况下,报文转发处理包括:第一装置500向下游发送没有增加任何特征标识的报文。
第二装置510,用于接收第一装置转发来的IGMP报文,在根据IGMP报文中的区别标识确定出该IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文时,对IGMP报文进行组播处理,并向下游转发该IGMP报文,在根据IGMP报文中的区别标识确定出IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对该IGMP报文进行组播处理,向下游转发该IGMP报文。第二装置510的结构可以如上述实施例四中的描述,在此不再重复说明。
在实施例五所示的网络设备为具有SNOOPING功能的网络设备的情况下,第二装置510执行操作的一个具体例子如附图5B所示。
在图5B中,第二装置510对接收到的报文进行报文分拣处理,这里的报文分拣处理除了包含现有的处理操作之外,与本发明相关的处理操作可以包括:第二装置510判断接收到的报文是否为包含有特定报文特征标识的IGMP报文。在判断出接收到的报文为包含有特定报文特征标识的IGMP报文时,第二装置510对该报文进行SNOOPING处理,这里的SNOOPING处理如组播处理等。在判断出接收到的报文为没有包含特定报文特征标识的IGMP报文时,第二装置510可以不对该报文进行SNOOPING处理。之后,第二装置510对包含有特定报文特征标识的IGMP报文进行特征还原处理。特征还原处理即去除组播组的第一个加入报文或组播组的最后一个离开报文中的特定报文特征标识。最后,第二装置510进行报文转发处理。该报文转发处理可以包括:向下游发送去除特定报文特征标识后的IGMP报文、以及向下游发送不为组播组的第一个加入报文或组播组的最后一个离开报文的IGMP报文。
上述针对图5A和图5B的描述是以第一装置500和第二装置510设置于同一网络设备为例进行说明的。明显的,第一装置500和第二装置510可以设置于不同的网络设备中,在这种情况下,第一装置500和第二装置510执行的操作依然如上所述,在此不再重复说明。
从上述实施例五的描述可知,实施例五中的第一装置500通过为IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文进行区别标识,使第二装置510可以获知是否需要对IGMP报文进行组播处理,避免了第二装置510对所有IGMP报文均进行组播处理的现象,减轻了第二装置510的报文处理压力;第二装置510通过转发IGMP报文,使最终接收设备可以获知网络中的IGMP报文,避免了不能对用户设备的点播行为进行全局用户的统计和分析处理、以及NSP不能够为ISP提供透明通道等现象;从而本实施例能够在降低对网络设备的报文处理能力要求的同时,满足实际网络中对IGMP报文的需求。
实施例六、组播实现系统。该系统如附图6所示。
图6中的组播实现系统包括:第一网络设备(即低层节点)600、第二网络设备(即高层节点)610和最终接收设备620。
在图6的组播实现系统中,低层节点600与最终接收设备620之间通过至少一级高层节点610连接。低层节点600的位置可以有多种,如低层节点600可以位于终端设备的位置或者终端设备之上的接入设备等位置,低层节点600的位置可以根据实际需要来设置。最终接收设备620即需要收集网络中IGMP报文的节点。图6虽然只示出了一个低层节点600和一个高层节点610,但是,在实际的网络应用中,该系统可以包括多个低层节点600,也可以包括多个高层节点610。多个低层节点600可以通过一个或多个高层节点610与最终接收设备620连接,且一个低层节点600与最终接收设备620之间可以通过一级或多级高层节点610连接。
低层节点600,用于接收主机侧发送来的IGMP报文或者产生IGMP报文,判断并在IGMP报文中标识该IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文,即低层节点600为该IGMP报文是否为第一报文进行区别标识。之后,低层节点600向下游高层节点610转发IGMP报文。
高层节点610,用于接收低层节点600或者上游高层节点610发送来的IGMP报文,在根据IGMP报文中的区别标识确定出该IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文时,对IGMP报文进行组播处理并向下游节点转发该IGMP报文;在根据IGMP报文中的区别标识确定出该IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对该IGMP报文进行组播处理,直接向下游节点转发该IGMP报文。这里的下游节点如下游高层节点610或者最终接收设备620。
最终接收设备620,用于接收并存储最后一级上游高层节点610发送来的IGMP报文。在希望最终接收设备620接收到不包含区别标识的IGMP报文的情况下,该系统中的最后一级上游高层节点610还可以去除向最终接收设备620转发的IGMP报文中的区别标识。另外,也可以在最终接收设备620之前设置专用于去除IGMP报文中的区别标识的装置,这样,高层节点610向最终接收设备转发的IGMP报文先传输到该装置处,由该装置执行去除区别标识的操作,之后,该装置将去除区别标识的IGMP报文转发给最终接收设备620。
从上述实施例六的描述可知,实施例六中的低层节点600通过为IGMP报文是否为组播组的第一个加入报文或组播组的最后一个离开报文进行区别标识,使高层节点610可以获知是否需要对IGMP报文进行组播处理,避免了高层节点610对所有IGMP报文均进行组播处理的现象,减轻了高层节点610的报文处理压力;高层节点610通过转发IGMP报文,使最终接收设备620可以接收并存储网络中的IGMP报文,避免了不能对用户设备的点播行为进行全局用户的统计和分析处理、以及NSP不能够为ISP提供透明通道等现象;从而本实施例能够在降低对网络设备的报文处理能力要求的同时,满足实际网络中对IGMP报文的需求。
本发明实施例在应用于具有SNOOPING功能的系统的情况下,实施例六的组播实现系统的一个具体例子如附图6A所示。
在图6A中,该系统包括:多个STB601、多个SNOOPING设备611和一个最终接收设备620。STB601可以对应低层节点600,SNOOPING设备611可以对应高层节点610。
STB601产生IGMP报文,并对IGMP报文进行区别标识;如为组播组的第一个加入报文或组播组的最后一个离开报文的IGMP报文增加特定报文特征标识。之后,STB601向与其连接的下游SNOOPING设备611转发IGMP报文。
SNOOPING设备611接收STB601发送来的IGMP报文,在根据IGMP报文中的区别标识确定出该IGMP报文为组播组的第一个加入报文或组播组的最后一个离开报文时,对IGMP报文进行组播处理并向下游SNOOPING设备611转发该IGMP报文;在根据IGMP报文中的区别标识确定出该IGMP报文不为组播组的第一个加入报文或组播组的最后一个离开报文时,不对该IGMP报文进行组播处理,直接向下游SNOOPING设备611转发该IGMP报文。
最终接收设备620,用于接收并存储最后一级SNOOPING设备611发送来的IGMP报文。在希望最终接收设备620接收到不包含区别标识的IGMP报文的情况下,该系统中的最后一级上游SNOOPING设备611还可以去除向最终接收设备620转发的IGMP报文中的区别标识。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,所述的软件产品在可以用于执行上述的方法流程。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。

Claims (6)

1.一种组播实现方法,其特征在于,包括:
产生多个因特网组管理协议IGMP报文;所述多个IGMP报文为一个用户设备产生,用于加入一个组播组;
在所述多个IGMP报文中的第一个IGMP报文和最后一个IGMP报文中添加标识,所述标识用于后续实体根据该标识判断出所述IGMP报文不为组播组的第一个加入报文或最后一个离开报文时,不对该IGMP报文进行组播处理;
向所述后续实体转发所述IGMP报文。
2.如权利要求1所述的方法,其特征在于,所述在所述IGMP报文中标识所述IGMP报文是否为组播组的第一个加入报文和最后一个IGMP报文包括:
在确定出所述IGMP报文为组播组的第一个加入报文或者最后一个IGMP报文时,为所述IGMP报文加入特定报文特征标识;和/或者
在确定出所述IGMP报文不为组播组的第一个加入报文或者最后一个IGMP报文时,为所述IGMP报文加入非特定报文特征标识。
3.一种组播实现装置,其特征在于,包括:
第一模块,产生多个因特网组管理协议IGMP报文;所述多个IGMP报文用于加入一个组播组;
区别标识模块,用于在所述多个IGMP报文中的第一个IGMP报文和最后一个IGMP报文中添加标识,所述标识用于后续实体根据该标识判断出所述IGMP报文不为组播组的第一个加入报文或者最后一个离开报文时,不对该IGMP报文进行处理;
第一发送模块,用于向所述后续实体转发所述IGMP报文。
4.如权利要求3所述的装置,其特征在于,所述区别标识模块包括:
第一标识子模块,用于在确定出所述IGMP报文为组播组的第一个加入报文或者最后一个IGMP报文时,为所述IGMP报文加入特定报文特征标识;和/或者
第二标识子模块,用于在确定出所述IGMP报文不为组播组的第一个加入报文或者最后一个IGMP报文时,为所述IGMP报文加入非特定报文特征标识。
5.一种组播实现系统,其特征在于,包括:第一网络设备、第二网络设备和最终接收设备,所述第一网络设备与所述最终接收设备之间通过至少一级第二网络设备连接;
第一网络设备,用于产生多个因特网组管理协议IGMP报文,所述多个IGMP报文用于加入一个组播组;判断并在所述IGMP报文中标识所述IGMP报文是否为组播组的第一个加入报文或者最后一个IGMP报文;转发所述IGMP报文;
第二网络设备,用于接收所述第一网络设备或者上游第二网络设备发送来的IGMP报文,在根据所述IGMP报文中的标识确定出所述IGMP报文为组播组的第一个加入报文或者最后一个IGMP报文时,对所述IGMP报文进行组播处理并向下游节点转发所述IGMP报文;在根据所述IGMP报文中的标识确定出所述IGMP报文不为组播组的第一个加入报文或者最后一个IGMP报文时,不对所述IGMP报文进行组播处理并向下游节点转发所述IGMP报文;
最终接收设备,用于接收并存储最后一级上游第二网络设备发送来的IGMP报文。
6.如权利要求5所述的系统,其特征在于:
最后一级上游第二网络设备,还用于去除向所述最终接收设备转发的所述IGMP报文中的所述标识。
CN201080013052.2A 2010-06-24 2010-06-24 组播实现方法、装置和系统 Active CN102598616B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/074376 WO2011160300A1 (zh) 2010-06-24 2010-06-24 组播实现方法、装置和系统

Publications (2)

Publication Number Publication Date
CN102598616A CN102598616A (zh) 2012-07-18
CN102598616B true CN102598616B (zh) 2015-12-02

Family

ID=45370841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080013052.2A Active CN102598616B (zh) 2010-06-24 2010-06-24 组播实现方法、装置和系统

Country Status (5)

Country Link
US (1) US8971324B2 (zh)
EP (1) EP2587755B1 (zh)
CN (1) CN102598616B (zh)
ES (1) ES2584963T3 (zh)
WO (1) WO2011160300A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103795636B (zh) * 2012-11-02 2017-04-12 华为技术有限公司 组播处理方法、装置及系统
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US10778584B2 (en) 2013-11-05 2020-09-15 Cisco Technology, Inc. System and method for multi-path load balancing in network fabrics
US9674086B2 (en) 2013-11-05 2017-06-06 Cisco Technology, Inc. Work conserving schedular based on ranking
US9374294B1 (en) 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US9825857B2 (en) 2013-11-05 2017-11-21 Cisco Technology, Inc. Method for increasing Layer-3 longest prefix match scale
US20150124824A1 (en) * 2013-11-05 2015-05-07 Cisco Technology, Inc. Incast drop cause telemetry
US9655232B2 (en) 2013-11-05 2017-05-16 Cisco Technology, Inc. Spanning tree protocol (STP) optimization techniques
US9769078B2 (en) 2013-11-05 2017-09-19 Cisco Technology, Inc. Dynamic flowlet prioritization
US9502111B2 (en) 2013-11-05 2016-11-22 Cisco Technology, Inc. Weighted equal cost multipath routing
US10951522B2 (en) 2013-11-05 2021-03-16 Cisco Technology, Inc. IP-based forwarding of bridged and routed IP packets and unicast ARP
US9876711B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
US9509092B2 (en) 2013-11-06 2016-11-29 Cisco Technology, Inc. System and apparatus for network device heat management
US10904134B2 (en) * 2017-03-15 2021-01-26 Nicira, Inc. Multicast packet handling in logical networks
US10511548B2 (en) * 2017-06-22 2019-12-17 Nicira, Inc. Multicast packet handling based on control information in software-defined networking (SDN) environment
US10979246B2 (en) 2018-07-24 2021-04-13 Nicira, Inc. Multicast packet handling in software-defined networking (SDN) environments
US11316797B2 (en) 2018-07-24 2022-04-26 Vmware, Inc. Queue filter configuration for multicast packet handling

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163002A (zh) * 2006-10-12 2008-04-16 中兴通讯股份有限公司 一种高效组播认证方法
CN101163093A (zh) * 2006-10-12 2008-04-16 中兴通讯股份有限公司 在综合接入设备上实现集中组播管理的方法
CN101448003A (zh) * 2008-12-23 2009-06-03 杭州华三通信技术有限公司 一种处理igmp报文的方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337457C (zh) 2005-06-03 2007-09-12 华为技术有限公司 以太网交换机跨虚拟局域网的二层组播数据传输方法
CN1863187B (zh) * 2005-07-22 2012-01-11 华为技术有限公司 提高组播业务可运营性的实现方法及装置
US20070107024A1 (en) * 2005-11-10 2007-05-10 Scientific-Atlanta, Inc. Atomic channel changes in a switched digital video system
JP4806278B2 (ja) * 2006-03-16 2011-11-02 富士通株式会社 マルチキャストシステム、通信装置、およびマルチキャスト方法
CN101060465B (zh) 2006-04-27 2011-12-28 华为技术有限公司 控制组播数据传输的方法及系统
CN101483655B (zh) * 2009-02-10 2012-01-25 杭州华三通信技术有限公司 一种互联网组管理协议报文传输方法和代理设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163002A (zh) * 2006-10-12 2008-04-16 中兴通讯股份有限公司 一种高效组播认证方法
CN101163093A (zh) * 2006-10-12 2008-04-16 中兴通讯股份有限公司 在综合接入设备上实现集中组播管理的方法
CN101448003A (zh) * 2008-12-23 2009-06-03 杭州华三通信技术有限公司 一种处理igmp报文的方法和装置

Also Published As

Publication number Publication date
WO2011160300A1 (zh) 2011-12-29
US8971324B2 (en) 2015-03-03
CN102598616A (zh) 2012-07-18
ES2584963T3 (es) 2016-09-30
EP2587755A1 (en) 2013-05-01
EP2587755A4 (en) 2013-05-01
US20120281697A1 (en) 2012-11-08
EP2587755B1 (en) 2016-04-27

Similar Documents

Publication Publication Date Title
CN102598616B (zh) 组播实现方法、装置和系统
CN101171809B (zh) 用于在数据交换网上传输组播流的方法和设备
US8064449B2 (en) Methods and apparatus for managing multicast traffic
US8416777B2 (en) Method for managing multicast traffic in a data network and network equipment using said method
US8848709B2 (en) Source rooted multicast (SRM)
WO2020255033A1 (en) Method and apparatus for adding notifications related with user equipment multicast group and leave
WO2011012582A2 (en) Multicast traffic management in a network interface
CN1988507A (zh) 转发组播数据的方法、系统及路由器
US20220368623A1 (en) Multicast Packet Detection Method, Network Device, and System
CN102316083B (zh) 一种在ip网络中实现组播业务的方法和装置
CN1996956A (zh) 实现组播流跨vlan转发的三层网络设备及方法
CN103188120A (zh) 一种组播业务的丢包检测方法及装置
CN102347906B (zh) 一种组播方法及组播网络系统
WO2009102246A1 (en) Segmentation of multicast distributed services
CN101409704B (zh) 组播成员管理协议的处理方法及装置
CN103067280A (zh) 报文处理方法和装置
CN103780503A (zh) 一种负载均衡的实现方法和设备
CN101848169B (zh) 一种集群管理中的报文转发方法和交换机
CN102651693B (zh) 双栈组播系统及其双栈组播方法
KR100965053B1 (ko) 제한적 멀티캐스트 기반의 인터넷 방송 데이터 전송 방법
CN103166929A (zh) 媒体播放方法及装置
CN118827544A (zh) 数据传输方法、装置、电子设备和存储介质
Blaga et al. Alternative Solutions toward IPv4/IPv6 Multicast

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