CN102394884B - 一种gmrp协议兼容igmp点播客户端的方法 - Google Patents

一种gmrp协议兼容igmp点播客户端的方法 Download PDF

Info

Publication number
CN102394884B
CN102394884B CN201110349667.9A CN201110349667A CN102394884B CN 102394884 B CN102394884 B CN 102394884B CN 201110349667 A CN201110349667 A CN 201110349667A CN 102394884 B CN102394884 B CN 102394884B
Authority
CN
China
Prior art keywords
gmrp
igmp
message
module
value
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
CN201110349667.9A
Other languages
English (en)
Other versions
CN102394884A (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.)
Digital China Networks Beijing Co Ltd
Original Assignee
Digital China Networks Beijing 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 Digital China Networks Beijing Co Ltd filed Critical Digital China Networks Beijing Co Ltd
Priority to CN201110349667.9A priority Critical patent/CN102394884B/zh
Publication of CN102394884A publication Critical patent/CN102394884A/zh
Application granted granted Critical
Publication of CN102394884B publication Critical patent/CN102394884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种GMRP协议兼容IGMP点播客户端的方法,包括:将IGMP报文交由IGMP代理模块处理;IGMP代理模块将收到的IGMP报文转化为GMRPJoin或GMRP Leave报文,传送至GMRP模块处理;GMRP模块发送GMRP LeaveAll报文时,将该报文复制一份送至IGMP代理模块;IGMP代理模块将该报文转化为IGMP Query报文发送给客户端;GMRP模块根据收到的GMRP报文及当前状态机状态,向外发送GMRP报文。本发明增加了轻量级IGMP代理模块,克服了传统GMRP协议无法兼容IGMP点播客户端的缺点,使GMRP适用于同时存在支持IGMP或GMRP点播客户端的组播环境。

Description

一种GMRP协议兼容IGMP点播客户端的方法
技术领域
本发明涉及计算机网络通讯领域,特别涉及一种GMRP协议兼容IGMP点播客户端的方法。
背景技术
随着流媒体、视频等业务在Internet上的相继开展,IP组播技术和应用开始得到快速发展。IP组播技术实现了IP网络中点到多点的高效数据传送,它是利用一种协议将IP数据包从一个组播源传送到多个目的地,只在网络的最远分支处将信息进行拷贝,最终到达接收者处。因此IP组播技术能够有效地节约网络带宽、降低网络负载,在实时数据传送、多媒体会议、数据拷贝、游戏和仿真等诸多方面都有广泛的应用。
在路由层面,路由器可以对组播报文的转发进行控制。但是在很多情况下,组播报文要不可避免地经过一些二层交换设备,尤其是在局域网环境里。如果不对二层设备进行相应的配置,则组播报文就会转发给二层交换设备的所有接口,在二层进行广播,这显然会浪费大量的系统资源,如图1所示,非点播组成员也能收到组播流量,网络带宽被大大浪费。
因此,在二层交换设备需要开启一种可以限制组播流量盲目扩散的二层组播协议,GMRP(GARP Multicast Registration Protocol,GARP组播注册协议)就是这样一种二层组播协议。GMRP是GARP(Generic Attribute RegistrationProtocol,通用属性注册协议)的一种应用,主要提供一种类似于IGMP(Internet Group Management Protocol,互联网组管理协议)探查技术的受限组播扩散功能。GMRP和GARP都是由IEEE 802.1P定义的工业标准协议。GARP协议提供了一种属性扩散传播的机制,GMRP协议基于GARP实现交换机中的动态组播注册。支持GMRP协议的交换机能接收来自其他交换机的组播注册信息,并动态更新本地的组播注册信息,同时也能将本地的组播注册信息向其它交换机传播,这样组播注册信息传播至整个桥接局域网。
GMRP在二层网络的典型应用如图2所示,终端A、B、C、D通过二层网络交换机与组播源相连,其中终端A和终端B加入了组播源的组播组中,图2中设备均在同一VLAN(虚拟局域网)中。当终端和交换机没有开启GMRP时,组播源想发送组播数据,由于交换机没有相应组播MAC地址信息,只能以广播方式转播,如图3所示。
当终端和交换机均开启了GMRP时,当网络中有设备申请注册了组播源,例如图4中的终端A和终端B申请注册了组播源,则能使二层网络中的所有交换机都能注册该信息,组播源想发送组播数据时,交换机就能把数据转发到注册了该组播组的端口出口,如图4所示。
实际用户应用环境中,并不是所有的点播客户端均支持GMRP协议,很多仅支持IGMP协议。这样GMRP就面临一个问题:如果链路上既有支持GMRP协议的点播者,又有支持IGMP协议的点播者,GMRP无法处理点播者发送的IGMP报文,这样仅支持IGMP协议的点播者就无法收到组播报文。如果考虑IGMP Snooping和GMRP同时开启,可以解决该问题,但这两个模块同时运行需要考虑的交互太多,实现比较复杂,另外IGMP Snooping的开启会加重二层交换机的CPU负担,对于一些低端交换机,一般都会导致瘫痪。
发明内容
有鉴于此,本发明的目的在于提供一种GMRP协议兼容IGMP客户端的方法,可以在保持与现有的GMRP协议完全兼容的情况下让GMRP兼容IGMP客户端。使用本发明的技术方案,能够在运行GMRP协议的二层交换机兼容仅支持IGMP协议的点播客户端。具体的技术方案是:增加一个IGMP代理模块协助GMRP模块处理IGMP相关报文,其具体步骤如下:
步骤A,确认收到包括IGMP Report或IGMP Leave的IGMP报文,将IGMP报文交由IGMP代理模块处理;
步骤B,所述IGMP代理模块将收到的IGMP Report或IGMP Leave报文转化为GMRP Join或GMRP Leave报文,传送至GMRP模块处理;
步骤C,所述GMRP模块发送GMRP LeaveAll报文时,原有流程不变的同时将该报文复制一份送至所述IGMP代理模块处理;
步骤D,所述IGMP代理模块将收到的所述GMRP LeaveAll报文转化为IGMPQuery报文发送给点播客户端;
步骤E,所述GMRP模块根据收到的GMRP报文及当前状态机状态,向外发送GMRP报文。
进一步,所述步骤B中,转化报文具体包括以下步骤:
a)获取IGMP Report或IGMP Leave报文中源/目的MAC地址和IGMP Header的type值;
b)根据IGMP Header的type值,选择构造GMRP Join报文或GMRP Leave报文。
进一步,所述步骤b)中,构造GMRP Join或GMRP Leave报文包括:其目的MAC地址取值相同;源MAC地址取值为IGMP Report或IGMP Leave报文的源MAC地址;Attribute Type取值相同;Attribute Value均取值为IGMP Report或IGMP Leave报文的目的MAC地址;构造GMRP Join报文,Attribute Event取值为0x02;构造GMRP Leave报文,Attribute Event取值为0x04;其它值按GMRP协议规定的默认值进行取值。
进一步,所述步骤E,具体包括以下步骤:
a)GMRP模块收到GMRP Join报文后,如果GMRP请求状态机处于VA、VP、AA、AP四个状态之一,当join定时器到期后发送GMRP Join报文;
b)GMRP模块收到GMRP Leave报文后,如果GMRP请求状态机处于LA状态,当join定时器到期后发送GMRP Leave报文。
上述方案中不对GMRP协议作任何修改,仅增加一个轻量级的IGMP代理功能,该功能仅需要监听并处理IGMP Report/Leave和GMRP LeaveAll报文,而无需对所有的组播报文进行监听和解读,降低了CPU的负担。IGMP代理功能与GMRP之间交互关系简单,容易实现。具体实现时可以考虑在VLAN上实现IGMP代理功能,给用户提供更灵活的选择。
综上所述,本发明的优点在于:
1)解决了GMRP兼容IGMP点播客户端的问题;
2)不对GMRP协议作任何修改,不需要额外进行兼容性处理;
3)简单增加轻量级IGMP代理功能,只增加了少量的交换机处理负担且用户可以根据实际需要随时随地的开启或关闭该功能。
附图说明
图1为现有技术组播数据在二层交换设备中广播示意图;
图2为现有技术GMRP在二层网络的典型应用示意图;
图3为现有技术当没有开启GMRP时,组播数据在二层交换设备中广播示意图;
图4为现有技术当开启GMRP时,组播数据在二层交换设备中广播示意图;
图5为本发明的IGMP代理与GMRP协议交互过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施对本发明作进一步详细描述。
由于不确定客户端是否可以发出GMRP Join报文,但是一般都能发出IGMPreport报文,所以可以考虑增加IGMP报文代理功能:
收到点播客户端发送的IGMP报文时,先通过IGMP报文代理功能模块进行处理,IGMP报文代理功能模块根据收到的IGMP报文构建出一个相应GMRP报文送给GMRP功能模块处理,这样一来GMRP就可以间接处理IGMP点播客户端所发送的IGMP报文。
反之,GMRP需要向当前链路发送leaveAll报文,需要拷贝一份给IGMP代理功能模块处理,IGMP报文代理功能模块根据收到的GMRP leaveAll报文构造出一个相应IGMP Query报文发送至当前链路,以查询当前链路支持IGMP协议点播者的情况。
图5为本发明的IGMP代理与GMRP协议交互过程示意图,如图5所示,按照下述IGMP代理与GMRP协议交互的过程,本发明即可以实现在保持与现有的GMRP协议完全兼容的情况下,能够在运行GMRP协议的二层交换机兼容仅支持IGMP协议的点播客户端,具体实现方法如下:
1)确认收到IGMP协议点播客户端发送的IGMP报文,主要是IGMP Report和IGMP Leave报文,将此类报文交由IGMP代理模块处理;
2)IGMP代理模块根据收到的IGMP Report或IGMP Leave报文构造出GMRP Join或GMRP Leave报文再送GMRP模块处理,具体构造过程如下:
a)获取IGMP Report或IGMP Leave报文中源/目的MAC地址和IGMPHeader的type值;
b)如果IGMP Header的type值为0x16,则构造GMRP Join报文;如果值为0x17,则构造GMRP Leave报文;
c)构造GMRP Join或GMRP Leave报文,其目的MAC地址均取值为01-80-C2-00-00-20;源MAC地址取值为IGMP Report或IGMP Leave报文的源MAC地址;构造GMRP Join报文,其Attribute Event取值为0x02;构造GMRP Leave报文则Attribute Event取值为0x04;构造GMRP Join或GMRP Leave报文,其Attribute Type均取值为0x01,其Attribute Value均取值为IGMP Report或IGMP Leave报文的目的MAC地址;其它值按GMRP协议规定的默认值进行取值。
3)GMRP向IGMP协议点播客户端发送GMRP LeaveAll报文时,原有流程不变的同时将该报文发送一份给IGMP代理模块处理;
4)IGMP代理模块收到的GMRP LeaveAll报文后,发送普遍组IGMP Query查询报文给IGMP协议点播客户端;
5)GMRP模块根据收到的GMRP报文和GMRP请求状态机当前所处状态向与收到IGMP报文端口处于同VLAN内的其它端口发送GMRP报文,报文发送细节如下:
a)GMRP模块收到GMRP Join报文后,如果GMRP请求状态机处于VA、VP、AA、AP四个状态之一,当join定时器到期后发送GMRP Join报文;
b)GMRP模块收到GMRP Leave报文后,如果GMRP请求状态机处于LA状态,当join定时器到期后发送GMRP Leave报文。
本发明能在针对GMRP标准协议状态机不做改动的基础上增加了轻量级IGMP代理模块,不但与原有状态机完全兼容,并且与GMRP交互简单,容易实现;本发明克服了传统GMRP协议无法兼容IGMP点播客户端的缺点,使GMRP适用于同时存在支持IGMP或GMRP点播客户端的组播环境,而且可以根据实际需要随时随地的开启或关闭该功能。
上述仅为本发明的较佳实施例及所运用技术原理,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围的内。

Claims (4)

1.一种GMRP协议兼容IGMP点播客户端的方法,其特征在于,增加一个IGMP代理模块协助GMRP模块处理IGMP相关报文,其具体步骤如下:
步骤A,确认收到包括IGMP Report或IGMP Leave的IGMP报文,将IGMP报文交由IGMP代理模块处理;
步骤B,所述IGMP代理模块将收到的IGMP Report或IGMP Leave报文转化为GMRP Join或GMRP Leave报文,传送至GMRP模块处理;
步骤C,所述GMRP模块发送GMRP LeaveAll报文时,原有流程不变的同时将该报文复制一份送至所述IGMP代理模块处理;
步骤D,所述IGMP代理模块将收到的所述GMRP LeaveAll报文转化为IGMPQuery报文发送给点播客户端;
步骤E,所述GMRP模块根据收到的GMRP报文及GMRP请求状态机当前所处状态向与收到IGMP报文端口处于同VLAN内的其它端口发送GMRP报文。
2.根据权利要求1所述的GMRP协议兼容IGMP点播客户端的方法,其特征在于,所述步骤B中,转化报文具体包括以下步骤:
a)获取IGMP Repor t或IGMP Leave报文中源/目的MAC地址和IGMPHeader的type值;
b)根据IGMP Header的type值,选择构造GMRP Join报文或GMRP Leave报文。
3.根据权利要求2所述的GMRP协议兼容IGMP点播客户端的方法,其特征在于,所述步骤b)中,构造GMRP Join或GMRP Leave报文包括:目的MAC地址取值相同;源MAC地址取值为IGMP Report或IGMP Leave报文的源MAC地址;Attribute Type取值相同;Attribute Value均取值为IGMP Report或IGMPLeave报文的目的MAC地址;构造GMRP Join报文,Attribute Event取值为0x02;构造GMRP Leave报文,Attribute Event取值为0x04;其它值按GMRP协议规定的默认值进行取值。
4.根据权利要求1所述的GMRP协议兼容IGMP点播客户端的方法,其特征在于,所述步骤E具体包括以下步骤:
a)所述GMRP模块收到GMRP Join报文后,如果所述GMRP请求状态机处于VA、VP、AA、AP四个状态之一,当join定时器到期后发送GMRP Join报文;
b)所述GMRP模块收到GMRP Leave报文后,如果所述GMRP请求状态机处于LA状态,当join定时器到期后发送GMRP Leave报文。
CN201110349667.9A 2011-11-07 2011-11-07 一种gmrp协议兼容igmp点播客户端的方法 Active CN102394884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110349667.9A CN102394884B (zh) 2011-11-07 2011-11-07 一种gmrp协议兼容igmp点播客户端的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110349667.9A CN102394884B (zh) 2011-11-07 2011-11-07 一种gmrp协议兼容igmp点播客户端的方法

Publications (2)

Publication Number Publication Date
CN102394884A CN102394884A (zh) 2012-03-28
CN102394884B true CN102394884B (zh) 2014-08-27

Family

ID=45862090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110349667.9A Active CN102394884B (zh) 2011-11-07 2011-11-07 一种gmrp协议兼容igmp点播客户端的方法

Country Status (1)

Country Link
CN (1) CN102394884B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095591B (zh) * 2012-12-12 2015-08-12 南京南瑞继保电气有限公司 一种增强gmrp组播注册可靠性的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779198A (zh) * 2007-08-15 2010-07-14 思科技术公司 用于桥接网络的流预留协议
US8036106B1 (en) * 2007-10-31 2011-10-11 World Wide Packets, Inc. Distributed control packet transmission

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100496985B1 (ko) * 2002-10-16 2005-06-28 한국전자통신연구원 가상 랜을 이용한 아이피 멀티캐스트 서비스방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779198A (zh) * 2007-08-15 2010-07-14 思科技术公司 用于桥接网络的流预留协议
US8036106B1 (en) * 2007-10-31 2011-10-11 World Wide Packets, Inc. Distributed control packet transmission

Also Published As

Publication number Publication date
CN102394884A (zh) 2012-03-28

Similar Documents

Publication Publication Date Title
US8189582B2 (en) Multicast supported virtual local area network switching system and method thereof
CN101291240B (zh) 一种组播流传输方法和系统
CN100433730C (zh) 组播点播方法及系统
KR101604810B1 (ko) 단말기의 멀티캐스트 상태를 얻기 위한 방법
CN102137000B (zh) 一种建立切换组播分发树的方法、装置及系统
US20100329252A1 (en) Method and Apparatus for Enabling Multicast Route Leaking Between VRFs in Different VPNs
WO2006081750A1 (fr) Méthode de processus de filtrage de source multidiffusion
CN102215172B (zh) 一种实现跨虚拟专用局域网组播的方法和系统
CN101005434A (zh) 二层组播虚拟局域网聚合方法及其汇聚交换机
CN102598586A (zh) 处理组播的方法和装置
CN110381284B (zh) 一种切换会议的方法、装置、系统、设备及可读存储介质
JP5548696B2 (ja) マルチキャストサービス品質モジュールおよび方法
WO2007054006A1 (fr) Station de base de système d’accès sans fil large bande et système pour réaliser un service de diffusion de groupe
CN1980246B (zh) 二层组播流转发方法
US8238337B1 (en) Hybrid multicast switch employing network-layer routing
CN1996956A (zh) 实现组播流跨vlan转发的三层网络设备及方法
WO2009024054A1 (fr) Procédé, dispositif et système pour réaliser l'agent de protocole de gestion pour des membres dans un groupe de multidiffusion
CN102347906B (zh) 一种组播方法及组播网络系统
CN102394884B (zh) 一种gmrp协议兼容igmp点播客户端的方法
CN101247541A (zh) 移动通信网络多媒体组播业务的实现方法
CN100421410C (zh) 移动通信网络多媒体增强业务的实现方法
CN102377639B (zh) 组播剪枝方法及协议无关组播路由器、组管理窥探交换机
CN106101865A (zh) 一种降低视频播放等待时间的方法、视频播放终端和系统
US20100135298A1 (en) Method and system for providing source specific multicast service on ethernet network
WO2013044740A1 (zh) 一种支持非单一vlan的组播实现方法及装置

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