本发明涉及通信技术领域,具体而言,涉及一种组播报文收发方法及系统。
背景技术:
随着标准化且易扩展的网络技术和视频编码技术的不断发展,基于IP网络的智能视频监控技术也得到了快速发展,视频编解码标准像H.264、MPEG4凭借出色的编码效率而被众多安防厂家采用,同时针对如何节约网络链路带宽的前提下保证多媒体服务质量的组播技术得到了广泛的应用。一个监控网络如果需要运行组播技术,则需要网络中的交换机都支持组播,三层设备运行三层组播路由协议,二层设备需要运行IGMP snooping(简称IGSP)协议,但是要支持IGMP snooping功能的基本为有管理交换机,然而有管理交换机的价格比较贵,成本很高。
为了节约成本和投入,现有技术中,大量的前端接入侧或者用户接收端通常会使用价格便宜的无管理交换机。由于无管理交换机不支持IGSP等组播协议,会导致组播泛洪。在信息接收端侧,一个信息接收端可以接收到其他信息接收端请求的组播流,存在安全风险;在信息发送端,一个IPC会收到其他IPC发送的全部组播流,受到组播流的冲击对设备会产生影响,同时有可能导致下行链路拥塞。
技术实现要素:
本发明的目的在于提供一种组播报文收发方法及系统,以改善上述的技术问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种组播报文收发方法,应用于组播报文收发系统,所述组播报文收发系统包括网管服务器、第一无管理交换机和/或第二无管理交换机、第一有管理交换机、第二有管理交换机、信息发送端以及信息接收端,所述组播报文收发方法包括:
所述网管服务器读取所述第一有管理交换机、所述第二有管理交换机的地址解析协议表项、MAC地址表项,以获取所述组播报文收发系统的网络拓扑结构;
所述网管服务器依据所述网络拓扑结构发送第一通知至所述信息发送端,和/或发送第二通知至所述第二有管理交换机,所述第一通知为以第一单播MAC地址为目的MAC地址来发送组播报文的通知,所述第二通知为以第二单播MAC地址为目的MAC地址来发送组播报文的通知。
所述信息发送端在接收到第一通知后,获取作为发送组播报文目的MAC地址的第一MAC地址,并将所述携带有第一MAC地址的组播报文发送至所述第一无管理交换机,所述第一无管理交换机依据所述第一MAC地址发送组播报文至所述第二有管理交换机;
所述第二有管理交换机在接收到第二通知后,获取作为接收组播报文目的MAC地址的第二MAC地址,并将携带有第二MAC地址组播报文发送至所述第二无管理交换机,所述第二无管理交换机依据所述第二单播MAC地址发送所述组播报文至所述信息接收端;
其中,第一MAC地址为所述信息发送端在接收到第一通知后获取到的第一单播MAC地址和/或第二MAC地址为所述第二有管理交换机在接收到第二通知后获取到的第二单播MAC地址。
第二方面,本发明还提供了组播报文收发系统,所述组播报文收发系统包括所述组播报文收发系统包括网管服务器、第一无管理交换机和/或第二无管理交换机、第一有管理交换机、第二有管理交换机、信息发送端以及信息接收端,所述网管服务器与所述第一有管理交换机、所述第二有管理交换机均建立通信连接,
所述网管服务器用于读取所述第一有管理交换机、所述第二有管理交换机的地址解析协议表项、MAC地址表项,以获取所述组播报文收发系统的网络拓扑结构;
所述网管服务器还用于依据所述网络拓扑结构发送第一通知至所述信息发送端,和/或发送第二通知至所述第二有管理交换机,所述第一通知为以第一单播MAC地址为目的MAC地址来发送组播报文的通知,所述第二通知为以第二单播MAC地址为目的MAC地址来发送组播报文的通知;
所述信息发送端用于在接收到第一通知后,获取作为发送组播报文目的MAC地址的第一MAC地址,并将所述携带有第一MAC地址的组播报文发送至所述第一无管理交换机;
所述第一无管理交换机用于依据所述第一MAC地址发送组播报文至所述第二有管理交换机;
和/或所述第二有管理交换机用于在接收到第二通知后,获取作为接收组播报文目的MAC地址的第二MAC地址,并将携带有第二MAC地址组播报文发送至所述第二无管理交换机;
所述第二无管理交换机用于依据所述第二单播MAC地址发送所述组播报文至所述信息接收端;
其中,第一MAC地址为所述信息发送端在接收到第一通知后获取到的第一单播MAC地址和/或第二MAC地址为所述第二有管理交换机在接收到第二通知后获取到的第二单播MAC地址。
相对于现有技术,本发明具有以下有益效果:本发明实施例提供的一种组播报文收发方法及系统,利用第一无管理交换机依据第一MAC地址发送组播报文至第二有管理交换机;和/或所述第二无管理交换机依据第二单播MAC地址发送所述组播报文至所述信息接收端;其中,第一MAC地址为所述信息发送端在接收到第一通知后获取到的第一单播MAC地址和/或第二MAC地址为所述第二有管理交换机在接收到第二通知后获取到的第二单播MAC地址。利用该组播报文收发方法及系统发送组播报文时,信息发送端不会接收到其他信息发送端发送的全部组播流,避免了受到组播流的冲击对设备会产生影响,从而不会造成下行链路拥塞,和/或信息接收端不会接收到其他信息接收端请求的组播流,避免了安全风险。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明较佳实施例提供的组播报文收发方法流程图。
图2示出了本发明较佳实施例提供的组播报文收发系统的交互示意图。
其中,附图标记与部件名称之间的对应关系如下:网管服务器101,第一无管理交换机102,第一有管理交换机103,第二有管理交换机104,第二无管理交换机105,信息发送端106,信息接收端107。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参阅图1、图2,本发明实施例提供的一种组播报文收发方法,应用于组播报文收发系统,所述组播报文收发系统包括网管服务器101、第一无管理交换机102、第二无管理交换机105、第一有管理交换机103、第二有管理交换机104、信息发送端106以及信息接收端107,网管服务器101与第一有管理交换机103、第二有管理交换机104均建立通信连接,所述组播报文收发方法包括:
步骤S101:网管服务器101读取第一有管理交换机103、第二有管理交换机104的地址解析协议表项、MAC地址表项,以获取所述组播报文收发系统的网络拓扑结构。
本实施例中,地址解析协议表项(Address Resolution Protocol,ARP),是根据IP地址获取物理地址的一个TCP/IP协议表项。MAC(Media Access Control或者Medium Access Control)地址,即物理地址、硬件地址,用来定义网络设备的位置。网络拓扑结构是指网络中各个站点相互连接的形式,例如总线型拓扑、星形拓扑、环形拓扑、树形拓扑(由总线型演变而来)以及它们的混合型。本实施例中,信息发送端106、第一有管理交换机103,网管服务器101、第二有管理交换机104,信息接收端107可以构成一个网络拓扑结构。
另外,本实施例中,第一有管理交换机103、第二有管理交换机104均为三层交换机,三层交换机具有部分路由器功能,可加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,可做到一次路由多次转发。对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能由软件实现。第一有管理交换机103、第二有管理交换机104支持网管服务器管理,支持三层组播功能。第一无管理交换机102、第二无管理交换机105均为二层交换机,二层交换机工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换技术的发展已经比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中,仅支持报文的转发。
步骤S102:网管服务器101依据所述网络拓扑结构判断信息发送端106、第一有管理交换机103之间是否通信连接有第一无管理交换机102和信息接收端107、第二有管理交换机104之间是否通信连接有第二无管理交换机105。
需要说明的是,本实施例中,也可预先将信息发送端106、第一有管理交换机103之间连接有第一无管理交换机102;且信息接收端107、第二有管理交换机104之间连接有第二无管理交换机105,并且在网管服务器101设置默认信息发送端106、第一有管理交换机103之间连接有第一无管理交换机102;且信息接收端107、第二有管理交换机104之间连接有第二无管理交换机105的程序,从而可省掉步骤S102。
另外,本实施例中,信息发送端106即为组播源,本实施例中,信息发送端106可以采用但不限于网络摄像机(IP Camera)。
具体地,步骤S102可以包括网管服务器101查看第一有管理交换机103的每个接口是否学习到至少两个的MAC地址,如果是,则判定信息发送端106、第一有管理交换机103之间连接有所述第一无管理交换机102。
当第一有管理交换机103的每个接口学习到至少两个的MAC地址时,则说明第一有管理交换机103学习到的MAC地址包括第一无管理交换机102的MAC地址与至少一个信息发送端106的MAC地址,即说明信息接收端107、第一有管理交换机103连接有第一无管理交换机102。
网管服务器101查看第二有管理交换机104的每个接口是否学习到至少两个的MAC地址,如果是,则判定所述信息接收端107、第二有管理交换机104之间连接有第二无管理交换机105。
当第二有管理交换机104的每个接口学习到至少两个的MAC地址时,则说明第二有管理交换机104学习到MAC地址包括第二无管理交换机105的MAC地址与至少一个信息接收端107的MAC地址,即说明信息接收端107、第二有管理交换机104连接有第二无管理交换机105。
步骤S103:网管服务器101依据网络拓扑结构发送第一通知至信息发送端106,和发送第二通知至第二有管理交换机104。
本实施例中,信息发送端106的数量为但不限于3个。且第一通知为以第一单播MAC地址为目的MAC地址来发送组播报文的通知,第二通知为以第二单播MAC地址为目的MAC地址来发送组播报文的通知。
步骤S104:信息发送端106在接收到第一通知后,获取作为发送组播报文目的MAC地址的第一MAC地址,并将携带有第一MAC地址的组播报文发送至第一无管理交换机102。
其中,第一MAC地址为信息发送端106在接收到第一通知后获取到的第一单播MAC地址、第二MAC地址为第二有管理交换机104在接收到第二通知后获取到的第二单播MAC地址。
步骤S105:第一无管理交换机102依据第一MAC地址通过第一有管理交换机103发送组播报文至第二有管理交换机104。
具体地,第一无管理交换机102接收到组播报文后,依据第一有管理交换机103的MAC地址发送组播报文至第一有管理交换机103,第一有管理交换机103在接收到组播报文后判断接收到的第一单播MAC地址是否与自身的MAC地址一致,如果是,则将二层封装剥离并依据IP层地址进行转发。当查看IP层目的IP为组播报文时,依据组播路由协议将组播报文发送至第二有管理交换机104。本实施例中,第一单播MAC地址可采用信息发送端106发送组播报文时读取到的第一有管理交换机103的MAC地址,其中,第一有管理交换机103的MAC地址具体可表示为例如:“0000-1111-2222”。信息发送端106将组播报文发送至第一无管理交换机102,第一无管理交换机102依据组播报文携带的第一有管理交换机103的MAC地址将组播报文发送至第一有管理交换机103,而不会将组播报文发送至其他的信息发送端106,同时也不会接收到其他信息发送端106发送的组播报文,避免了信息发送端106受到组播流的冲击,从而不会造成下行链路拥塞。
步骤S106:第二有管理交换机104在接收到第二通知后,获取作为接收组播报文目的MAC地址的第二MAC地址,并将携带有第二MAC地址组播报文发送至第二无管理交换机105。
步骤S107:第二无管理交换机105依据第二单播MAC地址发送组播报文至信息接收端107。
本实施例中,信息接收端107的数量可以为但不限于3个,且该信息接收端107可以是,但不限于智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。
本实施例中,所述第二单播MAC地址可以为但不限于所述第二有管理交换机104发送组播报文时读取到的一信息接收端107的MAC地址。例如,信息接收端107的MAC地址具体表现形式可以为“0000―0000-0001”。若信息接收端107有接收组播报文的需求,会发送IGMP报文至第二有管理交换机104,第二有管理交换机在接收到该信息接收端107发送的IGMP报文后,将组播报文发送至第二无管理交换机,第二无管理交换机105依据信息接收端107的MAC地址发送所述组播报文至该信息接收端107。
第二有管理交换机104将携带有信息接收端107的MAC地址发送至第二无管理交换机105,第二无管理交换机105依据信息接收端107的MAC地址发送所述组播报文至与读取到的第二单播MAC地址关联的信息接收端107,从而使得每个信息接收端107不会接收到其他信息接收端107请求的组播流,避免了安全风险。
另外,若有多个信息接收端107有接收组播报文的需求,则第二有管理交换机104将携带有多个信息接收端107的MAC地址的组播报文分别发送至发出接收组播报文的需求的信息接收端107。例如,两个信息接收端107均有接收组播报文的需求,并发送了IGMP报文,两个信息接收端107的MAC地址分别为“0000―0000-0001”、“0000―0000-0003”,因此第二有管理交换机104依据第二单播MAC地址“0000―0000-0001”、“0000―0000-0003”分别发送组播报文至所述两个信息接收端107。
需要说明的是,本发明实施例提供的组播报文收发系统也可以仅仅包括第一无管理交换机102或第二无管理交换机105。当组播报文收发系统仅仅包括第一无管理交换机102时,可实现信息接收端107也不会接收到其他信息发送端发送的组播报文,避免了信息发送端106受到组播流的冲击,从而不会造成下行链路拥塞;当组播报文收发系统仅仅包括第二无管理交换机105时,可实现每个信息接收端107不会接收到其他信息接收端107请求的组播流,避免了安全风险。因此本发明实施例提供组播报文收发系统包括第一无管理交换机102和第二无管理交换机105为较优的组网方式。
请参阅图2,本发明实施例还提供了一种组播报文收发系统,需要说明的是,本实施例所提供的组播报文收发系统,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。具体地,所述组播报文收发系统包括网管服务器101、第一无管理交换机102、第二无管理交换机105、第一有管理交换机103、第二有管理交换机104、信息发送端106以及信息接收端107,网管服务器101与第一有管理交换机103、第二有管理交换机104均建立通信连接。
网管服务器101用于读取第一有管理交换机103、第二有管理交换机104的地址解析协议表项、MAC地址表项,以获取所述组播报文收发系统的网络拓扑结构。
所述网管服务器101还用于依据所述网络拓扑结构判断信息发送端106、第一有管理交换机103之间是否通信连接有第一无管理交换机102和信息接收端107、第二有管理交换机104之间是否通信连接有第二无管理交换机105。
具体地,网管服务器101用于查看第一有管理交换机103的每个接口是否学习到至少两个的MAC地址,如果是,则判定信息发送端106、第一有管理交换机103之间连接有所述第一无管理交换机102;和查看第二有管理交换机104的每个接口是否学习到至少两个的MAC地址,如果是,则判定所述信息接收端107、第二有管理交换机104之间连接有第二无管理交换机105。
若信息发送端106、第一有管理交换机103之间通信连接有第一无管理交换机102;信息接收端107、第二有管理交换机104之间通信连接有第二无管理交换机105,网管服务器101用于依据网络拓扑结构发送第一通知至信息发送端106,和发送第二通知至第二有管理交换机104。
本实施例中,第一通知为以第一单播MAC地址为目的MAC地址来发送组播报文的通知,第二通知为以第二单播MAC地址为目的MAC地址来发送组播报文的通知。
需要说明的是,本实施例中,需要说明的是,本实施例中,也可预先将信息发送端106、第一有管理交换机103之间连接有第一无管理交换机102;且信息接收端107、第二有管理交换机104之间连接有第二无管理交换机105,并且在网管服务器101设置默认信息发送端106、第一有管理交换机103之间连接有第一无管理交换机102;且信息接收端107、第二有管理交换机104之间连接有第二无管理交换机105的程序,从而可省掉网管服务器101判断的步骤。
所述信息发送端106用于在接收到第一通知后,获取作为发送组播报文目的MAC地址的第一MAC地址,并将携带有第一MAC地址的组播报文发送至第一无管理交换机102。
本实施例中,所述第一单播MAC地址可以为但不限于,所述信息发送端106发送组播报文时读取到的第一有管理交换机的MAC地址。
所述第一无管理交换机102用于依据第一MAC地址通过第一有管理交换机发送组播报文至第二有管理交换机104。
具体地,第一无管理交换机102接收到组播报文后,依据第一有管理交换机103的MAC地址发送组播报文至第一有管理交换机103,第一有管理交换机103在接收到组播报文后,判断接收到的第一单播MAC地址是否与自身的MAC地址一致,如果是,则将二层封装剥离并依据IP层地址进行转发,即将报文发送至第二有管理交换机104。
第二有管理交换机104用于在接收到第二通知后,获取作为接收组播报文目的MAC地址的第二MAC地址,并将携带有第二MAC地址组播报文发送至第二无管理交换机105。
本实施例中,所述第二单播MAC地址可以为但不限于,所述第二单播MAC地址为所述第二有管理交换机104发送组播报文时读取到的一信息接收端107的MAC地址。
第二无管理交换机105用于依据第二单播MAC地址发送组播报文至信息接收端107。
需要说明的是,本发明实施例提供组播报文收发系统也可以仅仅包括第一无管理交换机102或第二无管理交换机105。当组播报文收发系统仅仅包括第一无管理交换机102时,可实现信息接收端107也不会接收到其他信息发送端发送的组播报文,避免了信息发送端106受到组播流的冲击,从而不会造成下行链路拥塞;当组播报文收发系统仅仅包括第二无管理交换机105时,可实现每个信息接收端107不会接收到其他信息接收端107请求的组播流,避免了安全风险。因此本发明实施例提供组播报文收发系统包括第一无管理交换机102和第二无管理交换机105为较优先的组网方式。
综上所述,本发明实施例提供的一种组播报文收发方法及系统,利用第一无管理交换机102依据第一MAC地址发送组播报文至第二有管理交换机104;和第二无管理交换机105依据第二单播MAC地址发送组播报文至信息接收端107;其中,第一MAC地址为信息发送端106在接收到第一通知后获取到的第一单播MAC地址和第二MAC地址为第二有管理交换机108在接收到第二通知后获取到的第二单播MAC地址。利用该组播报文收发方法及系统发送组播报文时,信息发送端不会接收到其他信息发送端发送的全部组播流,避免了受到组播流的冲击对设备会产生影响,从而不会造成下行链路拥塞,和/或信息接收端107不会接收到其他信息接收端请求的组播流,避免了安全风险。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。