一种简化组播报文的处理方法
技术领域
本发明涉及组播技术领域,尤其涉及一种简化组播报文的处理方法。
背景技术
IP组播是对标准IP网络层协议的扩展,它通过使用特定的IP组播地址,按照最大投递的原则,将IP数据包传输到一个组播群组的主机集合。它的基本方法是:当发送者向一组接收者发送数据时,不必向每一个接收者都发送数据,只需发送到一个特定的预约地址,所有加入该组的接收者都可收到这份数据。这样发送者只需发送一次数据,所有的接收者都可以收到,这就大大减轻了网络的负载和发送者的负担。IP组播在Internet多媒体业务上有着广泛的应用,比如视频会议、远程教育、远程实况转播和视频点播等。
IGMP(Internet Group Management Protocol,Internet,组管理协议)是TCP/IP协议家族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由设备之间建立、维护组播组的成员关系。
组播路由设备为得到与之相连的设备的组播组成员关系,需要定期向设备发送查询报文。当一个网段上有多个组播路由设备的时候,由于组播路由设备都需要发送查询报文,因此,为减少网络中查询报文的数量和有效利用带宽,通过机制,选举出仅由其中一个设备定期发出查询报文。选举出来发出查询报文的设备就是IGMP查询器。
当IGMP查询器收到组离开报告报文时,需要向离开报告报文中的那个组播组发送组查询报文,以确定该网段内是否还有其它该组播组的成员要接收该组播组。当设备接收到IGMP查询器发送的特定组查询报文时,若设备还需要接收该组播组则发送组加入报告报文。
发明内容
本发明针对支持二层组播的交换设备端口上收到组播组的离开报文,提供一种能够在不影响组播数据传输的情况下,减少IGMP查询器发送查询报文的数量,进而减少网络带宽的浪费,减轻组播路由设备的处理负担。
本发明需解决的技术问题是克服上述的不足,提供一种简化组播报文的处理方法。
一种简化组播报文的处理方法,包括:
交换设备接收到设备离开组播组的离开报文;
检测同VLAN的其他端口设备是否需要接收所述组播组的数据;
若同VLAN的其他端口设备需要接收所述组播组的数据,则发出加入所述组播组的加入报文。
优选的,所述简化组播报文的处理方法还包括:
检测所述设备是否再次需要接收所述组播组的数据;
若所述设备再次需要接收所述组播组的数据,则发出加入所述组播组的加入报文,否则不接收所述组播组的数据。
优选的,所述组播组为指定组播数据源IP的组播组。
采用本发明方法后,当某设备不再需要接收组播组的数据时,就会发出离开组播组的离开报文,由于组播组离开报文在所述设备上的同VLAN内是广播的,同VLAN其他端口设备也会收到该组播组离开报文,如果同VLAN的另一设备需要接收所述组播组就会主动发出组播组的加入报文,这样IGMP查询器不用发送IGMP组查询报文,所述另一设备也能继续接收组播数据源服务器发出的组播数据,减少了组播报文对网络带宽的浪费,提高了组播业务的服务质量。
附图说明
图1为本发明的组网拓扑图;
图2为本发明提供的简化组播报文的处理方法的流程图。
具体实施方式
为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合本发明实施方式的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。
下面结合附图和实施方式对本发明作进一步说明。
如图1所示,本发明主要涉及到支持二层组播的二层交换机,相关设备包括组播数据源服务器,IGMP查询器和主机设备,主机设备包括主机A、主机B、和主机C,主机A、主机B、和主机C与二层交换机所连接的端口属于同一个VLAN,在二层交换机开启IGMP Snooping功能后,三个端口分别收到了来自主机A、主机B和主机C发送的IGMP V3组加入报告报文。
参阅图2,为本发明提供的一种实施方式的简化组播报文的处理方法,包括:
步骤S100,交换设备接收到设备离开组播组的离开报文;
步骤S200,检测同VLAN的其他端口设备是否需要接收所述组播组的数据;
在步骤S100中,交换设备在接受到设备离开组播组的离开报文后,在同VLAN中的其他设备也收到该离开报文,此时,同VLAN的其他端口设备检测设备是否需要接收所述组播组的数据,若需要,则执行步骤S300,若不需要,则结束。
步骤300,在检测到同VLAN的其他端口设备需要接收所述组播组的数据时,则发出加入所述组播组的加入报文。
在优选实施方式中,所述组播组为指定组播数据源IP的组播组。
在优选实施方式中,不管同VLAN的其他端口需要接收所述组播组的数据而发出所述组播组的加入报文,还是同VLAN的其他端口设备不需要接收所述组播组的数据,都还包括以下步骤:
步骤S400,检测所述设备是否再次需要接收所述组播组的数据;
即检测发出组播组离开报文的设备是否再次需要接收所述组播组的数据,若是,则执行步骤S500,若否,则执行步骤S600。
步骤S500,发出加入所述组播组的加入报文;
步骤S600,不接收所述组播组的数据。
通过上述步骤S400、步骤S500以及步骤S600,在设备发出组播组离开报文后,不管什么情况,除非本身再次需要接收所述组播组的数据,否则不再接收所述组播组的数据,更进一步的减少了网络带宽,提高了组播业务的服务质量。
结合图1,下面解释说明一下:
在现有技术中,假设设备A发出组播组离开报文,在报文中会指明不再接收的组播数据源IP地址,同样,设备B和C也收到该组播组离开报文。如果设备B或C还需要接收该组播组,设备B或C会主动发出IGMP组加入报文,并指定增加接收的组播数据源IP地址为设备A不再接收的组播数据源服务器的IP地址,同时,设备A不再接收组播数据源IP的组播数据,除非设备A再次需要接收组播数据源IP的组播数据而发出组播组加入报文。
采用本发明方法后,当某设备不再需要接收组播组的数据时,就会发出离开组播组的离开报文,由于组播组离开报文在所述设备上的同VLAN内是广播的,同VLAN其他端口设备也会收到该组播组离开报文,如果同VLAN的另一设备需要接收所述组播组就会主动发出组播组的加入报文,这样IGMP查询器不用发送IGMP组查询报文,所述另一设备也能继续接收组播数据源服务器发出的组播数据,减少了组播报文对网络带宽的浪费,提高了组播业务的服务质量。
以上仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。