专利名称:互联网组管理协议侦听的实现方法、系统及装置的利记博彩app
技术领域:
本发明涉及互联网中的报文传输技术,特别涉及互联网组管理协议侦听(IGMP Snooping)的实现方法、系统及装置。
背景技术:
随着互联网的不断发展,网络中交互的数据越来越多,电子商务、网络电视(IPTV)等新型服务也逐渐兴起,这些变化对网络带宽都提出了新的要求,传统的点对点传输报文的方法,已经不能满足新的要求。在这种情况下出现了能够实现点到多点高效传输的组播技术,大量节约网络带宽,降低网络负载,同时很方便的提供一些新的增值服务。
但是,使用组播技术时,组播路由器将组播报文发送到用户侧接入设备之后,用户侧接入设备需要将报文复制为与交换机下成员相同数目的个数,然后向每个交换机转发,这样就将报文发送给了一些并不需要组播报文的交换机,不能实现按需传输。IGMP Snooping技术解决了这一问题,网络侧设备按照设定的查询周期向交换机发送成员关系查询报文,网络侧设备如果在设定的查询周期内侦听到交换机发送的成员关系查询报文反馈,即成员关系查询报告,则认为交换机下包括组播组成员,网络侧设备如果在设定的查询周期内没有侦听到交换机发送的成员关系查询报告,就认为交换机下不包括组播组成员,通过这种方式就可以获知哪些交换机下有组播报文的接收者,只有包括组播报文接收者的交换机才能够接收到组播报文。图1示出了IGMP Snooping技术的应用场景,图中的实线连接为链路,虚线箭头为组播报文流向。如图1所示,第一交换机下有两个组播组成员,用户接入设备将组播报文传输到第一交换机,再由第一交换机传输到两个组播组成员,由于第二交换机下没有组播组成员,所以第二交换机没有获得发送的组播报文,实现按需传输。
QinQ协议为基于802.1Q的隧道协议,提出的主要目的是为了解决日益增多的虚拟局域网(VLAN)数量问题,减少服务提供商网络上的VLAN。QinQ协议的核心思想为,给每一个群组用户分配一个公网VLAN(ProviderVLAN,P-VLAN),当该群组内的用户报文进入服务提供商骨干网络时,除了为每个用户报文打上用户网标签(C-VLAN Tag)以外,再为每个用户报文打上新分配的公网标签(P-VLAN Tag),也就是说用户报文带着两层标签穿越服务提供商的骨干网络,这种封装的方法可以称为QinQ封装。当用户报文到达骨干网另一侧的设备时,剥离P-VLAN Tag,还原出用户报文后再传送给用户设备。图2示出了报文在基于QinQ协议的网络中的传输示意图,基于QinQ协议的网络称为QinQ网络。如图2所示,报文从第一用户网络201通过服务提供商骨干网络202,传输到第二用户网络203。在传输过程中,报文在第一用户网络201时只用一层C-VLAN Tag,通过服务提供商骨干网络202时,报文被打上了第二层P-VLAN Tag,到达第二用户网络203时,报文剥离P-VLAN Tag。
目前,将组播技术应用于QinQ网络成为一个新的课题,在组播路由器和用户侧接入设备之间通过QinQ网络通信,用户侧接入设备连接着不同VLAN的用户网络。为了在QinQ网络中有效的支持组播技术,将IGMPSnooping技术也应用到QinQ网络中来。比较常用的一种技术就是在组播路由器上实现IGMP Snooping技术,通过侦听交换机发送的成员关系查询报告来确认哪些C-VLAN中的交换机需要接收组播报文,组播路由器接收到组播报文之后,采取QinQ封装给用户侧接入设备发送多份组播报文,发送的组播报文数目等于需要接收组播报文的C-VLAN中所有交换机的数目,接入设备接收到组播报文之后剥离外层P-VLAN,按照内层C-VLAN将组播报文转发给需要组播报文的C-VLAN中的所有交换机。
上述在QinQ网络中应用组播技术以及IGMP Snooping技术的方式,虽然实现了在QinQ网络中按需分发组播报文,但按需分发是基于C-VLAN实现的,当两个交换机位于同一C-VLAN且只有一个交换机需要组播报文时,则按照这种方式另一个不需要组播报文的交换机也会接收到组播报文,造成用户侧网络带宽的浪费,同时使得组播报文在QinQ网络中需要复制多份,网络负载加重,当C-VLAN数目很多时,容易出现流量拥塞和丢包。
发明内容
本发明实施例提供IGMP Snooping的实现方法,该方法能在QinQ网络中有效使用网络带宽,避免流量拥塞,实现组播报文按需分发。
本发明实施例提供IGMP Snooping的实现系统,该系统能在QinQ网络中有效使用网络带宽,避免流量拥塞,实现组播报文按需分发。
本发明实施例提供IGMP Snooping的实现装置,该装置能在QinQ网络中有效使用网络带宽,避免流量拥塞,实现组播报文按需分发。
本发明实施例提供的IGMP Snooping的实现方法,该方法中用户侧接入设备维护包括公网标签P-VLAN Tag、组播组标识的组与用户网标签C-VLANTag标识的用户设备的对应关系,该方法还包括A、用户侧接入设备接收网络侧设备发送的携带P-VLAN Tag和组播组标识的组播报文;B、用户侧接入设备根据组播报文中的P-VLAN Tag和组播组标识,根据所述对应关系查找对应的C-VLAN Tag标识的用户设备;C、用户侧接入设备将组播报文中的P-VLAN Tag替换成查找到的C-VLANTag后,发送到C-VLAN Tag标识的用户设备。
本发明实施例提供的IGMP Snooping的实现系统,该系统包括网络侧设备、用户侧接入设备和用户设备;所述网络侧设备将携带P-VLAN Tag和组播组标识的组播报文,通过QinQ网络发送给用户侧接入设备;所述用户侧接入设备,用于维护设备中包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系;根据网络侧设备发送的组播报文携带的P-VLAN Tag和组播组标识,根据所述对应关系查找与包括P-VLANTag、组播组标识的组有对应关系的C-VLAN Tag标识的用户设备,将组播报文中的P-VLAN Tag替换成查找到的C-VLAN Tag后,发送到C-VLAN Tag标识的用户设备;所述用户设备,用于接收用户侧接入设备发送的组播报文。
本发明实施例提供的IGMP Snooping的实现装置,该装置包括收发模块、解析模块和存储模块;所述收发模块,用于接收网络侧设备发送的携带P-VLAN Tag和组播组标识的组播报文,传输给解析模块;根据解析模块的查找结果,将组播报文的P-VLAN Tag替换为C-VLAN Tag后,发送给C-VLAN Tag标识的用户设备;所述解析模块,用于接收收发模块传输的组播报文,根据组播报文中的P-VLAN Tag和组播组标识,在存储模块存储的对应关系中查找包括该P-VLANTag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系,得到查找结果后发送给收发模块;所述存储模块,用于存储包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系。
由上述技术方案可见,本发明实施例提供的IGMP Snooping的方法,在用户侧接入设备上维护包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系,网络侧设备将携带P-VLAN Tag和组播组标识的组播报文发送给用户侧接入设备,用户侧接入设备从维护的对应关系中查找接收该组播报文的用户设备,再使用查找到的C-VLAN Tag替换组播报文中的P-VLANTag后发送到用户设备。通过上述方法,仅将组播报文发送给需要接收组播报文的用户设备,有效使用网络带宽,避免流量拥塞,实现了组播报文按需分发。
本发明实施例提供的IGMP Snooping的系统,系统中的网络侧设备用于将携带P-VLAN Tag和组播组标识的组播报文,通过QinQ网络发送给用户侧接入设备,用户侧接入设备用于维护包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系,在接收到组播报文后,从维护的对应关系中查找接收该组播报文的用户设备,再使用查找到的用户设备的C-VLAN Tag替换组播报文中的P-VLAN Tag后发送到该用户设备。利用上述系统,仅将组播报文发送给需要接收组播报文的用户设备,有效使用网络带宽,避免流量拥塞,实现了组播报文按需分发。
本发明实施例提供的IGMP Snooping的装置,该装置中的收发模块,用于接收用户侧接入设备发送的携带P-VLAN Tag和组播组标识的组播报文,传输给解析模块;根据解析模块的查找结果,将组播报文的P-VLAN Tag替换为C-VLAN Tag后发送给C-VLAN Tag标识的用户设备。设备中的解析模块,用于接收收发模块传输的组播报文,根据组播报文中的P-VLAN Tag和组播组标识,在存储模块存储的对应关系中查找包括该P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系。设备中的存储模块,用于存储包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系。利用上述装置,仅将组播报文发送给需要接收组播报文的用户设备,有效使用网络带宽,避免流量拥塞,实现了组播报文按需分发。
图1为现有技术IGMP Snooping技术应用场景示意图;图2为QinQ网络传输示意图;图3为本发明实施例IGMP Snooping的实现系统结构示意图;图4为本发明实施例用户侧接入设备维护的组播接收表结构示意图;图5为本发明实施例IGMP Snooping的实现方法较佳实施方式流程图;图6为本发明实施例IGMP Snooping的实现方法中用户侧接入设备维护组播接收表的较佳实施方式流程图;图7为本发明实施例IGMP Snooping的实现方法基于图3所示系统的流程图;图8为本发明实施例IGMP Snooping的实现装置的结构示意图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例作进一步详细描述。
本发明实施例提供IGMP Snooping的实现方法,用户侧接入设备维护包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系,首先,网络侧设备将携带P-VLAN Tag和组播组标识的组播报文发送给用户侧接入设备;其次,用户侧接入设备根据组播报文中的P-VLAN Tag和组播组标识,在维护的对应关系中查找与包括P-VLAN Tag、组播组标识的组形成对应关系的C-VLAN Tag标识的用户设备;最后用户侧接入设备将组播报文中的P-VLAN Tag替换成查找到的C-VLAN Tag后,发送到的C-VLAN Tag标识的用户设备。
本发明实施例提供IGMP Snooping的实现系统,该系统包括网络侧设备、用户侧接入设备和用户设备,网络设备用于通过QinQ网络将携带P-VLAN Tag和组播组标识的组播报文传输给用户侧接入设备,用户侧接入设备用于维护包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系,从组播报文中获取P-VLAN Tag和组播组标识,在维护的对应关系中查找与包括P-VLAN Tag和组播组标识的组有对应关系的C-VLAN Tag标识的用户设备,将组播报文中的P-VLAN Tag替换成C-VLAN Tag,发送到C-VLAN Tag标识的用户设备。
本发明实施例提供IGMP Snooping的实现装置,该装置包括收发模块、解析模块和存储模块。收发模块,用于接收网络侧设备发送的携带P-VLAN Tag和组播组标识的组播报文,传输给解析模块;根据解析模块的查找结果,将组播报文的P-VLAN Tag替换为C-VLAN Tag后发送给C-VLAN Tag标识的用户设备。解析模块,用于接收收发模块传输的组播报文,根据组播报文中的P-VLAN Tag和组播组标识,在存储模块存储的对应关系中查找包括该P-VLANTag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系。所述存储模块,用于存储包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系。
下面对本发明实施例提供的IGMP Snooping的实现方法、系统以及装置进行详细描述。
首先,对本发明实施例提供的IGMP Snooping的实现系统进行详细描述。参见图3,图3示出了本发明实施例IGMP Snooping的实现系统结构示意图,其中实线连接为链路连接,虚线箭头为组播报文流向。如图3所示,该系统包括网络侧设备311、用户侧接入设备303和用户设备312。其中网络侧设备311包括组播源301和组播路由器302,用户设备312包括第一交换机304、第二交换机305,第三交换机306和第四交换机307,第一交换机304和第二交换机305在第二VLAN 308中,第三交换机306和第四交换机307在第三VLAN 309中。组播路由器302和用户侧接入设备303通过基于QinQ协议的第一VLAN 310通信,假设第一VLAN的标签为P-VLAN1,第二VLAN 308的标签为C-VLAN 2,第三VLAN 309的标签为C-VLAN3。
组播源301,用于将携带组播组标识的组播报文发送到组播路由器302。
组播路由器302,与用户侧接入设备303连接,通过第一VLAN 310将组播报文发送给用户侧接入设备303,用于为组播源301发送的携带组播组标识的组播报文封装一层P-VLAN Tag,将封装后的组播报文发送到用户侧接入设备303。在发送组播报文时,组播路由器302仅给携带组播组标识的组播报文打上一层P-VALN Tag,之后将携带组播组标识和P-VALN Tag的组播报文发送给用户侧接入设备303。本发明实施例中,组播路由器302通过第一VLAN 310发送组播报文,则组播路由器302给组播报文打上的P-VLAN Tag为P-VLAN 1。
用户侧接入设备303与组播路由器302、第一交换机304、第二交换机305、第三交换机306以及第四交换机307连接。用户侧接入设备303上使能IGMP Snooping功能,在用户侧接入设备303中维护一张组播接收表,该组播接收表内包括P-VLAN Tag、组播组标识的组与C-VLAN Tag及出端口的对应关系,其中出端口指用户侧接入设备303与第一交换机304、第二交换机305、第三交换机306以及第四交换机307的出端口。图4示出了本发明实施例用户侧接入设备303维护的组播接收表的结构示意图,如图4所示,组播接收表中的每一个包括P-VLAN Tag和组播组标识的组对应一个或一个以上转发节点,转发节点中包括需要接收组播报文的C-VLAN Tag以及出端口,组播接收表中的节点指针,指向每一组的第一个转发节点。转发节点数标识了一组中包含转发节点的数目。组播报文发送到转发节点对应的C-VLAN Tag标识的用户设备后,节点指针指向下一个转发节点,直到节点指针指向一个空的转发节点,按照该组中的转发节点的转发结束,结束后节点指针跳转回本组的第一个转发节点。本发明实施例中,假设用户侧接入设备303与第一交换机304、第二交换机305、第三交换机306以及第四交换机307的出端口分别为PORT1、PORT2、PORT3和PORT4,组播报文所属的组播组标识为G1,假设需要接收组播报文的为C-VLAN 2中的出端口PORT1对应的第一交换机304,以及C-VLAN 3中的出端口PORT4对应的第四交换机307,由于本发明实施例中,组播路由器302只通过标签为P-VLAN 1的第一VLAN 310向用户侧接入设备303发送组播报文,因此转发时只用到图4所示组播接收表中的第一组。用户侧接入设备303通过第一VLAN 310接收组播路由器302发送的组播报文,获取P-VLAN 1和组播组G1,按照组播接收表中P-VLAN1和G1构成的组中的转发节点,将组播报文依次从PORT1及PORT4发送到第一交换机304和第四交换机307。
第一交换机304、第二交换机305,第三交换机306和第四交换机307,分别与用户侧接入设备303连接,用于接收用户侧接入设备303送入的组播报文。
在上述描述的本发明实施例提供的IGMP Snooping的实现系统中,用户侧接入设备303上维护有组播接收表,用户侧接入设备可以通过两种方式维护该组播接收表。
第一种方式,第一交换机304、第二交换机305,第三交换机306和第四交换机307中分别进一步包括报文发送模块,用于向用户侧接入设备303发送报文,所发报文为组播组加入报文或组播组离开报文。组播路由器302中可以进一步包括一个用户报文接收模块。用户侧接入设备303通过接收各交换机中的报文发送模块发送的报文来维护本设备中的组播接收表。用户侧接入设备303侦听到交换机发送的组播组加入报文时,根据该报文的C-VLAN Tag和申请加入的组播组标识,在组播接收表中查找包括P-VLANTag和该组播组标识的组,在该组中增加包括该交换机C-VLAN Tag和出端口的转发节点,如果用户侧接入设备303在组播接收表中没有查找到包括P-VLAN Tag和该组播组标识的组,则认为申请加入该组播组的交换机为第一个申请加入该组播组的交换机,用户侧接入设备303将向组播路由器302中的用户报文接收模块发送该组播组加入报文,在组播路由器302中的用户报文接收模块对该报文做出响应后,用户侧接入设备303在组播接收表中增加包括P-VLAN Tag、该组播组标识的组,并在该组中增加对应发送组播组加入报文的用户设备的转发节点;用户侧接入设备303侦听到交换机发送的组播组离开报文时,根据该报文的C-VLAN Tag和申请离开的组播组标识,在组播接收表中查找包括P-VALN Tag和该组播组标识的组,查找完成后在该组中删除包括该交换机C-VLAN Tag和出端口的转发节点,如果用户侧接入设备303在组播接收表中查找到的包括P-VLAN Tag和该组播组标识的组中,只有发送该组播组离开报文的用户设备对应的转发节点,则认为发送该组播组离开报文的交换机为最后一个申请离开该组播组的交换机,用户侧接入设备303首先将最后一个申请离开该组播组的交换机对应的转发节点删除,再从组播接收表中删除包括P-VLAN Tag、该组播组标识的组,最后向组播路由器302中的用户报文接收模块发送该组播组离开报文,告知组播路由器302该组播组已经离开。
第二种方式,组播路由器302中可以进一步包括查询模块,用于通过发送携带P-VLAN Tag和组播组标识的成员关系查询报文来发起查询,并接收各交换机通过用户侧接入设备303发送的成员关系报告。第一交换机304、第二交换机305,第三交换机306和第四交换机307中分别进一步包括报文发送模块,用于向用户侧接入设备303发送成员关系查询报告,作为成员关系查询报文的响应。如果在设定的查询周期内,用户侧接入设备303在设定的查询周期内,接收到被查询的交换机发送的成员关系查询报告,则认为被查询设备仍在所属组播组,组播接收表中关于该交换机的转发关系不变,当接收到的成员关系查询报告有多个时,通过抑制这些成员关系报告的发送,选择一个或多个成员关系报告发送到组播路由器302中的查询模块,以保证用户侧接入设备303和组播路由器302之间的网络带宽;如果用户侧接入设备303在设定的查询周期内,没有接收到被查询的交换机发送的成员关系查询报告,根据该交换机的C-VLAN Tag和出端口标识,在组播接收表中查找对应的包括P-VLAN Tag和组播组标识的组,在组播组标识与成员关系查询报告所示该交换机所属的组播组相同的那些组对应的转发节点中,删除包括该交换机C-VLAN Tag和出端口的转发节点。
在上述第二种维护组播接收表的方式中,也可以在网络侧进一步设置一个查询设备,专门用于发起成员关系查询,将携带P-VLAN Tag的成员关系查询报文发送到组播路由器302,再由组播路由器302为成员关系查询报文封装P-VLAN Tag后,将携带P-VLAN Tag和组播组标识的成员关系查询报文发送到用户侧接入设备303。
上述本发明实施例提供的IGMP Snooping的实现系统,组播路由器302仅给组播报文封装P-VLAN Tag,用户侧接入设备303通过在本设备维护的组播接收表查找到需要接收组播报文的用户设备,使用查找到的用户设备的C-VLAN Tag替换组播报文的P-VLAN Tag后,将组播报文发送给用户设备。通过这种方式,组播路由器302无需将组播报文复制为与C-VLAN下用户设备相同的份数,从而减轻了QinQ网络的流量负载,节省了网络带宽,实现了真正的按需分发。
其次,对本发明实施例提供的IGMP Snooping的实现方法进行详细描述。图5为本发明实施例提供的IGMP Snooping的实现方法较佳实施方式的流程图,该流程中,用户侧接入设备维护包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系,该流程还包括步骤501网络侧设备将携带P-VLAN Tag和组播组标识的组播报文发送给用户侧接入设备。
本步骤中,网络侧设备不采取QinQ方式封装组播报文,仅给携带组播组标识的组播报文打上单层P-VLAN Tag,将携带P-VLAN Tag和组播组标识的组播报文发送给用户侧接入设备。
步骤502用户侧接入设备根据组播报文中携带的P-VLAN Tag和组播组标识,在维护的对应关系中查找与包括P-VLAN Tag、组播组标识的组有对应关系的C-VLAN Tag标识的用户设备。
步骤503用户侧接入设备将组播报文中的P-VLAN Tag替换成查找到的C-VLAN Tag后,发送到C-VLAN Tag标识的用户设备。
上述本发明实施例提供的IGMP Snooping的实现方法的较佳实施方式,网络侧设备仅给组播报文封装P-VLAN Tag,用户侧接入设备通过在本设备维护的对应关系中查找到需要接收组播报文的用户设备,使用查找到的用户设备的C-VLAN Tag替换组播报文的P-VLAN Tag后,将组播报文发送给用户设备。通过这种方式,网络侧设备无需将组播报文复制为与C-VLAN下用户设备相同的份数,从而减轻了QinQ网络的流量负载,节省了网络带宽,实现了真正的按需分发。
在该较佳实施方式中,用户侧接入设备维护包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备对应关系的方法有两种第一是通过侦听用户设备发送的报文,针对不同的报文类型维护所述对应关系。用户设备发送的报文类型有两种,即组播组加入报文和组播组离开报文;第二是根据用户设备对网络侧设备发起的成员关系查询报文发送的报文,即成员关系查询报告维护所述对应关系。图6为用户侧接入设备维护包括P-VLANTag、组播组标识构成的组与C-VLAN Tag标识的用户设备对应关系的方法较佳实施方式流程图,该流程包括步骤601用户侧接入设备从用户设备发送的报文中获取C-VLAN Tag和组播组标识,报文是组播组加入报文时,执行步骤602,报文是组播组离开报文时,执行步骤605,报文是成员关系查询报告时,执行步骤608。
步骤602用户侧接入设备根据C-VLAN Tag和申请加入的组播组标识,在组播接收表中查找包括P-VLAN Tag和该组播组标识的组,增加查找到的包括P-VLAN Tag、组播组标识的组与发送组播组加入报文的C-VLAN Tag标识的用户设备的对应关系。
步骤603判断步骤602中发出组播组加入报文的用户设备是否为要求加入的组播组中的第一个成员,如果是执行步骤604,如果不是则结束流程。
本步骤中,如果用户侧接入设备在维护的对应关系中没有查找到包括P-VLAN Tag和该组播组标识的组,则认为申请加入该组播组的用户设备为第一个申请加入该组播组的用户设备。
步骤604用户侧接入设备向网络侧设备发送该组播组加入报文,在网络侧设备做出对该报文的响应后,用户侧接入设备在维护的对应关系中,增加包括P-VLAN Tag、该组播组标识的组及与发送该组播组加入报文的C-VLAN Tag标识的用户设备的对应关系。
步骤605用户侧接入设备根据C-VLAN Tag和申请离开的组播组标识,在组播接收表中查找包括P-VLAN Tag和组播组标识的组,删除查找到的包括P-VLAN Tag、组播组标识的组与发送组播组离开报文的C-VLAN Tag标识的用户设备的对应关系。
步骤606判断步骤605中发出组播组离开报文的用户设备是否为要求离开的组播组中的最后一个成员,如果是执行步骤607,如果不是则结束流程。
本步骤中,如果用户侧接入设备在维护的对应关系中,只查找到包括P-VLAN Tag和该组播组标识的组与发送该组播组离开报文的用户设备的对应关系,则认为发送该组播组离开报文的用户设备为最后一个申请离开该组播组的用户设备。
步骤607用户侧接入设备在维护的对应关系中,删除查找到的包括P-VLAN Tag、该组播组标识的组及与发送该组播组离开报文的C-VLAN Tag标识的用户设备的对应关系,向网络侧设备发送该组播组离开报文。
步骤608用户侧接入设备对用户设备发送的成员关系查询报告加以抑制,选择一个或多个成员关系查询报告向网络侧设备发送后结束流程。
上述步骤601~步骤608描述了用户侧接入设备维护包括P-VLANTag、组播组标识的组与用户网标签C-VLAN Tag标识的用户设备对应关系的方法较佳实施方式的流程,其中步骤602~步骤607描述的是当用户侧接入设备接收到用户设备发送的组播组加入报文或组播组离开报文时,维护所述对应关系的情况,这种方式使得用户侧接入设备根据用户设备发送的报文主动维护所述对应关系。步骤608描述的是当网络侧设备发起查询时,用户侧接入设备维护所述对应关系的情况,用户侧接入设备对用户设备发送的成员关系查询报告加以抑制,只选择性的向网络侧设备发送一个或多个成员关系查询报告,这样保证了用户侧接入设备与网络侧设备之间的网络带宽。
本发明实施例提供的IGMP Snooping的实现方法较佳实施方式的流程,可以应用在图3所示的本发明实施例提供的IGMP Snooping的实现系统中,图7示出了本发明实施例提供的IGMP Snooping的实现方法基于图3所示系统的流程图,在该流程中,用户侧接入设备维护包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备对应关系的组播接收表,该流程还包括步骤701组播路由器将携带P-VLAN Tag和组播组标识的组播报文发送给用户侧接入设备。
本步骤中,组播路由器为携带组播组标识G1的组播报文封装单层P-VLAN1,将携带组播组标识G1和P-VLAN1的组播报文发送给用户侧接入设备。
步骤702用户侧接入设备从组播报文中获取P-VLAN Tag和组播组标识。
本步骤中,用户侧接入设备从组播报文中获取P-VLAN1和组播组标识G1。
步骤703用户侧接入设备从组播接收表中,查找包括P-VLAN Tag、组播组标识的组对应的第一个转发节点。
本步骤中,用户侧接入设备从组播接收表中,查找包括P-VLAN1,G1的组对应的第一个转发节点。
步骤704用户侧接入设备判断查找到的转发节点是否为空,转发节点不为空时执行步骤705,转发节点为空时结束流程。
本步骤中,按照图2所示的本发明实施例组播接收表结构,用户侧接入设备从组播接收表中,查找到包括P-VLAN1,G1的组对应的第一个转发节点包括C-VLAN2和出端口PORT1,继续执行步骤705。
步骤705用户侧接入设备从转发节点中取出C-VLAN Tag和出端口标识,将组播报文中的P-VLAN Tag替换成C-VLAN Tag。
本步骤中,用户侧接入设备从转发节点中取出C-VLAN1和PORT1,将组播报文中的P-VLAN1替换成C-VLAN1。
步骤706用户侧接入设备在出端口上发送组播报文。
本步骤中,用户侧接入设备在PORT1标识的出端口上发送组播报文,也就是将组播报文通过PORT1发送给第一交换机304。
步骤707用户侧接入设备将组播接收表中的节点指针后移,跳转执行步骤704。
本步骤中,用户侧接入设备将组播接收表中的节点指针后移,跳转执行步骤704,查找到第二个转发节点C-VLAN3和出端口PORT4,继续执行步骤705~706,经过上述步骤705~步骤706,用户侧接入设备将组播报文通过PORT 4发送给第四交换机307。用户侧接入设备将组播接收表中的节点指针后移,查找到第三个转发节点为空,结束流程,同时节点指针跳转到该组的第一个转发节点。
上述本发明实施例提供的IGMP Snooping的实现方法的较佳实施方式基于图3所示系统的流程中,图3所示系统按照本发明实施例提供的IGMPSnooping的实现方法的较佳实施方式进行组播报文的分发,组播路由器无需将组播报文复制与C-VLAN下用户设备相同的份数,从而减轻了QinQ网络的流量负载,节省了网络带宽,实现了真正的按需分发。
在本方法流程中,用户侧接入设备通过侦听用户设备发送的报文,维护组播接收表。用户设备发送的报文类型有两种,即组播组加入报文或组播组离开报文,用户设备针对网络侧查询发送的报文为成员关系查询报告。组播接收表结构如图4所示,假设一种情况即包括P-VLAN1与G1的组中只包括对应第四交换机307的PORT4和C-VLAN3组成的转发节点,先以第一交换机304发送组播组G1加入报文为例描述用户设备加入组播组的流程,再以第四交换机307发送组播组G1离开报文为例描述用户设备离开组播组的流程,该流程包括步骤601a用户侧接入设备从用户设备发送的报文中获取C-VLAN Tag和组播组标识,报文是组播组加入报文时,执行步骤602a,报文是组播组离开报文时,执行步骤605a,报文是成员关系查询报告时,执行步骤608a。
步骤602a发送组播组加入报文的是第一交换机304,用户侧接入设备根据C-VLAN1和组播组标识G1在组播接收表中查找到与其对应的包括P-VLAN1和组播组标识G1的组,在组播接收表中包括P-VLAN1、组播组标识G1的组中增加C-VLAN1及出端口标识PORT1的转发节点。
步骤603a判断步骤602a中发出组播组加入报文的第一交换304是否为要求加入的组播组中的第一个成员,如果是执行步骤604a,如果不是则结束流程。根据本发明实施例假设,第一交换机304不是要求加入组播组G1的第一个成员,则可以结束用户侧接入设备对组播组加入报文的处理流程。当第一交换机304是要求加入组播组G1的第一个成员时,继续执行步骤604a。
步骤604a用户侧接入设备向组播路由器中的用户报文接收模块发送组播组G1加入报文,在组播组路由器的用户报文接收模块做出对该报文的响应后,用户侧接入设备在组播接收表中,增加包括P-VLAN1、该组播组标识G1的组,并在组中增加第一交换机304的C-VLAN1与PORT1组成的转发节点。
步骤605a发送组播组离开报文的是第四交换机307,用户侧接入设备根据C-VLAN3和组播组标识G1在组播接收表中查找到与其对应的包括P-VLAN1和组播组标识G1的组,在组播接收表中,删除包括P-VLAN1、组播组标识G1的组及对应的C-VLAN3及出端口标识PORT4的转发节点。
步骤606a判断步骤605a中发出组播组离开报文的第四交换机307是否为要求离开的组播组G1的最后一个成员,如果是执行步骤607a,如果不是则结束流程。根据本发明实施例中假设,第四交换机307不是要求离开组播组G1的最后一个成员,则可以结束用户侧接入设备对组播组离开报文的处理流程。当第四交换机307是离开组播组报文的最后一个成员时,继续执行步骤607a。
步骤607a用户侧接入设备在维护的组播接收表中,删除查找到的包括P-VLAN1、G1的组及与发送该组播组离开报文的C-VLAN3标识的第四交换机307的对应关系,再向组播路由器中的用户报文接收模块发送组播组G1离开报文。
经过步骤601a~步骤607a,组播接收表中包括P-VLAN1、G1的组中,只包括C-VLAN1、PORT1组成的转发节点。
步骤608a用户侧接入设备接收第一交换机304发送的成员关系查询报告。如果包括P-VLAN1、G1的组中还包括其他转发节点,用户侧接入设备对这些转发节点对应的交换机发送的成员关系查询报告加以抑制,即只选择一个或多个交换机发送的成员关系查询报告发送给组播路由器中的查询模块后结束流程,以保证用户侧接入设备和组播路由器之间的网络带宽。
上述步骤601a~步骤608a,描述了图6所示用户侧接入设备维护组播接收表的较佳实施方式基于图3所示系统的流程,其中步骤601a~步骤607a为是当用户侧接入设备接收到用户设备发送的组播组加入报文或组播组离开报文时,维护所述对应关系的情况,这种方式使得用户侧接入设备根据用户设备发送的报文主动维护所述对应关系。步骤608a为当网络侧设备发起查询时,用户侧接入设备维护所述对应关系的情,用户侧接入设备将转发节点对应的交换机发送的成员关系查询报告加以抑制,保证了用户侧接入设备和组播路由器之间的网络带宽。对应不同的报文类型,可以选择上述不同步骤进行处理。
最后,对本发明实施例提供的IGMP Snooping的实现装置进行详细说明。图8示出了本发明实施例提供的IGMP Snooping的实现装置的结构示意图,该装置为用户侧接入设备801,包括收发模块802、解析模块803和存储模块804。
存储模块804,与解析模块803连接,存储有包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备对应关系的组播接收表。
收发模块802,与解析模块803连接,用于将接收到的由用户侧接入设备801外部发送携带P-VLAN Tag和组播组标识的组播报文,发送给解析模块803,根据解析模块803送入的查找结果,使用C-VLAN Tag替换P-VLANTag后的组播报文送入外部用户设备。
解析模块803,与收发模块802和存储模块804分别连接,用于接收收发模块802送入的携带P-VLAN Tag和组播组标识的组播报文,从存储模块804中的组播接收表里查找包括P-VLAN Tag、组播组标识的组与C-VLANTag标识的用户设备的对应关系,将查找结果提供给收发模块802。
上述本发明实施例提供的IGMP Snooping的实现装置,收发模块802、解析模块803和存储模块804配合共同完成以下功能维护包括P-VLANTag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系的组播接收表,接收到组播报文后从组播接收表中查找到需要接收组播报文的用户设备,使用查找到的用户设备的C-VLAN Tag替换组播报文的P-VLAN Tag后,将组播报文发送给用户设备。通过这种方式,将组播报文只分发给C-VLAN下需要组播报文的用户设备,从而使网络侧设备发送组播报文时无需先将组播报文复制为与C-VLAN Tag下用户设备数目相同的份数,减轻了网络侧和用户侧之间的流量负载,节省了网络带宽,实现了真正的按需分发。上述装置可以是用户侧接入设备801,也可以是具备上述相同结构和功能的其他装置。
在本发明实施例中,当发送组播组加入报文的用户设备为第一个申请加入该组播组的用户设备时,用户侧接入设备向网络侧设备发送的该组播组加入报文,当发送组播组离开报文的用户设备为最后一个申请离开该组播组的用户设备,用户侧接入设备向网络侧设备发送的该组播组离开报文,以及用户侧接入设备向网络侧设备发送的成员关系查询报告,用户侧接入设备在发送上述用户侧向网络侧的报文时,都可以先将报文的C-VLAN Tag替换为P-VLAN Tag之后再向网络侧设备发送,也可以采用其他使网络侧设备接收到用户侧发送的报文时能够获知该报文的公网标签的其他方式,例如用户侧接入设备在用户设备发送报文的本来携带的C-VLAN Tag上再封装一层P-VLAN Tag,而不是采用将C-VLAN Tag替换为P-VLAN Tag的方式。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种互联网组管理协议侦听的实现方法,其特征在于,用户侧接入设备维护包括公网标签P-VLAN Tag、组播组标识的组与用户网标签C-VLAN Tag标识的用户设备的对应关系,该方法还包括A、用户侧接入设备接收网络侧设备发送的携带P-VLAN Tag和组播组标识的组播报文;B、用户侧接入设备根据组播报文中的P-VLAN Tag和组播组标识,根据所述对应关系查找对应的C-VLAN Tag标识的用户设备;C、用户侧接入设备将组播报文中的P-VLAN Tag替换成查找到的C-VLANTag后,发送到C-VLAN Tag标识的用户设备。
2.如权利要求1所述的方法,其特征在于,所述用户侧接入设备维护对应关系的方法为所述用户侧接入设备接收用户设备发送的组播组加入报文,根据报文中的C-VLAN Tag和组播组标识,在所述对应关系中查找到对应的包括P-VLAN Tag和组播组标识的组,增加查找到的组与发送组播组加入报文的C-VLAN Tag标识的用户设备的对应关系。
3.如权利要求2所述的方法,其特征在于,如果在所述对应关系中未查找到对应的包括P-VLAN Tag、组播组标识的组,该方法进一步包括所述用户侧接入设备向网络侧设备发送所述组播组加入报文,当网络侧设备做出响应后,所述用户侧接入设备增加包括P-VLAN Tag、该组播组标识的组及与发送该组播组加入报文的C-VLAN Tag标识的用户设备的对应关系。
4.如权利要求1所述的方法,其特征在于,所述用户侧接入设备维护所述对应关系的方法为所述用户侧接入设备接收用户设备发送的组播组离开报文,根据报文中的C-VLAN Tag和组播组标识,在所述对应关系中查找对应的包括P-VLAN Tag和组播组标识的组,删除查找到的组与发送组播组离开报文的C-VLAN Tag标识的用户设备的对应关系。
5.如权利要求4所述的方法,其特征在于,如果在所述对应关系中查找到的包括P-VLAN Tag和组播组标识的组只对应发送该组播组离开报文的用户设备,该方法进一步包括所述用户侧接入设备删除包括P-VLAN Tag、该组播组标识的组及与发送该组播组离开报文的C-VLAN Tag标识的用户设备的对应关系,再向网络侧设备发送所述组播组离开报文。
6.如权利要求1所述的方法,其特征在于,所述用户侧接入设备维护的对应关系,为包括P-VLAN Tag、组播组标识的组与转发节点的对应关系,每个转发节点包括C-VLAN Tag、用户侧接入设备与C-VLAN Tag标识用户设备的出端口。
7.如权利要求1所述的方法,其特征在于,所述组播报文是成员关系查询报文,所述用户侧接入设备维护对应关系的方法为所述用户侧接入设备在接收到成员关系查询报文后的设定查询周期内,接收到用户设备发送的携带C-VLAN Tag的成员关系报告,选择一个或多个接收到的成员关系报告发送给所述网络侧设备;所述用户侧接入设备在接收到成员关系查询报文后的设定查询周期内,没有接收到用户设备发送的成员关系查询报告,在维护的对应关系中删除包括P-VLAN Tag、组播组标识的组与接受查询的C-VLAN Tag标识的用户设备的对应关系。
8.一种互联网组管理协议侦听的实现系统,其特征在于,该系统包括网络侧设备、用户侧接入设备和用户设备;所述网络侧设备将携带P-VLAN Tag和组播组标识的组播报文,通过QinQ网络发送给用户侧接入设备;所述用户侧接入设备,用于维护设备中包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系;根据网络侧设备发送的组播报文携带的P-VLAN Tag和组播组标识,根据所述对应关系查找与包括P-VLANTag、组播组标识的组有对应关系的C-VLAN Tag标识的用户设备,将组播报文中的P-VLAN Tag替换成查找到的C-VLAN Tag后,发送到C-VLAN Tag标识的用户设备;所述用户设备,用于接收用户侧接入设备发送的组播报文。
9.如权利要求8所述的系统,其特征在于,所述对应关系为包括P-VLANTag、组播组标识的组与转发节点的对应关系,转发节点包括C-VLAN Tag、用户侧接入设备与C-VLAN Tag标识用户设备的出端口。
10.如权利要求8所述的系统,其特征在于,所述网络侧设备包括组播源和组播路由器,所述用户设备还包括报文发送模块;所述组播源,用于向组播路由器发送携带组播组标识的组播报文;所述组播路由器,用于接收组播源发送的组播报文,为组播报文封装P-VLAN Tag后发送到所述用户侧接入设备。
11.如权利要求10所述的系统,其特征在于,所述组播路由器还包括用户报文接收模块,用于接收所述用户设备中的报文发送模块通过用户侧接入设备送入的报文;所述用户设备的报文发送模块,用于通过所述用户侧接入设备向组播路由器的用户报文接收模块发送报文。
12.如权利要求11所述的系统,其特征在于,所述用户设备中的报文发送模块发送的报文为组播组加入报文或组播组离开报文。
13.如权利要求10所述的系统,其特征在于,所述组播路由器还包括查询模块,用于将携带P-VLAN Tag的成员关系查询报文送入所述用户侧接入设备,接收所述用户设备中的报文发送模块通过所述用户侧接入设备送入的成员关系查询报告。
14.一种互联网组管理协议侦听的实现装置,其特征在于,该装置包括收发模块、解析模块和存储模块;所述收发模块,用于接收网络侧设备发送的携带P-VLAN Tag和组播组标识的组播报文,传输给解析模块;根据解析模块的查找结果,将组播报文的P-VLAN Tag替换为C-VLAN Tag后,发送给C-VLAN Tag标识的用户设备;所述解析模块,用于接收收发模块传输的组播报文,根据组播报文中的P-VLAN Tag和组播组标识,在存储模块存储的对应关系中查找包括该P-VLANTag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系,得到查找结果后发送给收发模块;所述存储模块,用于存储包括P-VLAN Tag、组播组标识的组与C-VLAN Tag标识的用户设备的对应关系。
全文摘要
本发明提供互联网组管理协议侦听的方法,该方法中用户侧接入设备维护组播报文分发的对应关系,还包括A.用户侧接入设备接收携带组播组标识和公网标签(P-VLAN Tag)的组播报文;B.用户侧接入设备根据组播报文中的P-VLAN Tag和组播组标识,在所述对应关系查找对应的用户网标签(C-VLAN Tag)标识的用户设备;C.用户侧接入设备将组播报文中的P-VLAN Tag替换成查找到的C-VLAN Tag后,发送到C-VLAN Tag标识的用户设备。本发明还提供了一种互联网组管理协议侦听的系统,该系统包括网络侧设备、用户侧接入设备和用户设备。本发明还提供了一种互联网组管理协议侦听的装置。
文档编号H04L29/06GK1996957SQ20061016838
公开日2007年7月11日 申请日期2006年12月27日 优先权日2006年12月27日
发明者王黎阳, 赵凤华, 周鹏, 刘学勤, 凌义 申请人:华为技术有限公司