一种多端口组播方法、设备及计算机可读存储介质技术

技术编号:20451609 阅读:29 留言:0更新日期:2019-02-27 04:32
本发明专利技术公开了一种多端口组播方法、设备及计算机可读存储介质。其中,该方法包括:在加入组播组后,在本地配置多端口列表;根据所述多端口列表对接收到的组播报文中的目的端口进行匹配,当匹配成功时,处理所述组播报文。本发明专利技术通过配置多端口列表无需建立多个UDP socket,减少socket的创建,降低了应用层socket的管理复杂度。

【技术实现步骤摘要】
一种多端口组播方法、设备及计算机可读存储介质
本专利技术涉及通信
,特别是涉及一种多端口组播方法、设备及计算机可读存储介质。
技术介绍
在互联网传输领域,随着多媒体视频技术的发展,组播传输技术的应用越来越广泛,比如IPTV的频道传输,新兴的VR(VirtualReality,虚拟现实)直播技术,都使用组播传输媒体数据。而且,这些组播传输需要支持一路组播需要传输多路码流,比如OTT(OverTheTop)组播传输需要传输不同码率的码流,VR组播传输需要支持传输多视角的码流等。目前的windows和linux系统对组播组的管理是依附于UDPsocket。而UDPsocket必须指定组播IP和端口,才能完成组播组的加入和离开。这种情况下,UDPsocket只能接收目的端口为绑定端口(或者系统默认端口)的组播报文。在传统协议栈实现情况下,如果同一组播组要接收不同端口的组播报文,需要创建多个UDP组播socket,每个socket接收包含一种端口的组播报文,增加了应用层UDP组播socket的管理复杂度。并且,由于CDN(ContentDeliveryNetworks,内容分发网络)服务器接口网卡、协议栈的组播路由条目和承载网路由器上组播组的数量(即组播路由条目数量)都是有限的,也就是说,组播资源是非常紧缺的。因此,亟需一种新的组播组的通信方法,以实现同一组播组中多端口组播通信问题。
技术实现思路
本专利技术提供一种多端口组播方法、设备及计算机可读存储介质,用以解决现有技术中组播组无法实现多端口组播通信的问题。为实现上述专利技术目的,本专利技术采用下述的技术方案:依据本专利技术的一个方面,提供一种多端口组播方法,包括:在加入组播组后,在本地配置多端口列表;根据所述多端口列表对接收到的组播报文中的目的端口进行匹配,当匹配成功时,处理所述组播报文。可选的,所述在本地配置多端口列表,包括:在组播协议栈中预先增加端口配置接口;通过所述端口配置接口将多个端口以哈希列表形式添加至所述组播协议栈中。可选的,所述根据所述多端口列表对接收到的组播报文中目的端口进行匹配,包括:对所述组播报文中的组播地址进行验证;当验证成功时,判断所述组播报文中的任一目的端口是否位于所述多端口列表中;当位于时,则匹配成功,将所述组播报文添加至接收队列中。可选的,所述方法还包括:当所述组播地址验证失败或者当所述组播报文中的任一目的端口不在所述多端口列表中时,则将所述组播报文丢弃。可选的,所述方法还包括:当需要发送多端口的组播报文时,将不同的端口配置至所述组播报文中的目的端口字段中。依据本专利技术的一个方面,提供一种多端口组播设备,包括存储器和处理器;其中,所述存储器中存储有多端口组播程序,当所述多端口组播程序被所述处理器执行时,以实现如下步骤:在加入组播组后,在本地配置多端口列表;根据所述多端口列表对接收到的组播报文中目的端口进行匹配,当匹配成功时,处理所述组播报文。可选的,当所述多端口组播程序被所述处理器执行时,以实现如下步骤:在组播协议栈中预先增加端口配置接口;通过所述端口配置接口将多个端口以哈希列表形式添加至所述组播协议栈中。可选的,当所述多端口组播程序被所述处理器执行时,以实现如下步骤:对所述组播报文中的组播地址进行验证;当验证成功时,判断所述组播报文中的任一目的端口是否位于所述多端口列表中;当位于时,则匹配成功,将所述组播报文添加至接收队列中。可选的,当所述多端口组播程序被所述处理器执行时,以实现如下步骤:当需要发送多端口的组播报文时,将不同的端口配置至所述组播报文中的目的端口字段中。依据本专利技术的一个方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有多端口组播程序,当所述多端口组播程序被所述处理器执行时,以实现上述所述的多端口组播方法中的步骤。本专利技术有益效果如下:本专利技术实施例所提供的多端口组播方法、设备及计算机可读存储介质,通过在建立组播组通信后,配置用于多端口通信的多端口列表;在接收到携带不同的端口号的组播报文时,根据该多端口列表可以确定组播报文是否需要处理,以实现同一组播组中不同端口报文的接收。可知,基于本专利技术通过配置多端口列表无需建立多个UDPsocket,减少socket的创建,降低了应用层socket的管理复杂度。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明为了更清楚地说明本专利技术实施例或现有中的方案,下面将对实施例或现有描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中多端口组播方法的流程图;图2为本专利技术一具体实施例中多端口组播方法的流程图;图3为本专利技术体实施例中多端口组播设备的原理框图。具体实施方式以下结合附图以及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不限定本专利技术。在windows和linux这些通用操作系统的协议栈中,通过IGMP(InternetGroupManagementProtocol)协议来控制和管理组播组。只有IGMP协议直接与组播主机联系,运行IGMP的路由器负责管理组成员的加入、离开,维护组成员关系。对于IGMP报文格式参见下表,包括版本字段,包含IGMP版本标识,目前有V1、V2和V3三个版本;类型字段,包括成员关系查询(0x11),成员关系报告(0x12);校验和字段,用于IGMP协议报文的校验和;组地址;当一个成员关系报告正被发送时,组地址字段包含组播地址。当用于成员关系查询时,本字段为0,并被主机忽略。表1而组播组在进行UDPsocket通信时,采用的UDP报文格式如下:在UDP报文中,只有源和目的端口,表示数据报文长度的字段,UDP数据报文校验和,以及UDP数据。表2从IGMP协议规范和报文格式可以看到,IGMP协议在控制和管理组播组的时候,只跟组播组的IP地址有关系,跟IP上承载的UDP协议的端口没有关系。组播报文是承载在IP和UDP协议之上的,因此,在某个组播组上传输多端口的数据流是可行的,也不影响IGMP本身协议族的正常运行。基于上述的思路,提出了本专利技术的多端口组播方法。方法实施例本专利技术实施例所提供的多端口组播方法,如图1所示,具体包括如下步骤:步骤101,在加入组播组后,在本地配置多端口列表。在该步骤中,在组播主机要加入某个组播组时,需要创建UDPsocket,设置组播协议栈中的IP_ADD_MEMBERSHIP属性。而后向交换机发送IGMP协议加入报文,用于完成加入组播组的动作。如果主机要退出某个组播组,需要再次设置该UDPsocketIP层的IP_DROP_MEMBERSHIP属性,向交换机发送IGMP协议的离开报文,用于完成离开组播组的动作。其中,组播主机加入组播组后,建立了UDPsocket通信。在该实施例中,对组播组协议栈进行了改进。具体地,在协议栈中增加了多端口配置接口。在建立组播组通信后,通过多端口配置接口配置可接收的端口号,本文档来自技高网...

【技术保护点】
1.一种多端口组播方法,其特征在于,包括:在加入组播组后,在本地配置多端口列表;根据所述多端口列表对接收到的组播报文中的目的端口进行匹配,当匹配成功时,处理所述组播报文。

【技术特征摘要】
1.一种多端口组播方法,其特征在于,包括:在加入组播组后,在本地配置多端口列表;根据所述多端口列表对接收到的组播报文中的目的端口进行匹配,当匹配成功时,处理所述组播报文。2.如权利要求1所述的多端口组播方法,其特征在于,所述在本地配置多端口列表,包括:在组播协议栈中预先增加端口配置接口;通过所述端口配置接口将多个端口以哈希列表形式添加至所述组播协议栈中。3.如权利要求1或2所述的多端口组播方法,其特征在于,所述根据所述多端口列表对接收到的组播报文中目的端口进行匹配,包括:对所述组播报文中的组播地址进行验证;当验证成功时,判断所述组播报文中的任一目的端口是否位于所述多端口列表中;当位于时,则匹配成功,将所述组播报文添加至接收队列中。4.如权利要求3所述的多端口组播方法,其特征在于,所述方法还包括:当所述组播地址验证失败或者当所述组播报文中的任一目的端口不在所述多端口列表中时,则将所述组播报文丢弃。5.如权利要求1所述的多端口组播方法,其特征在于,所述方法还包括:当需要发送多端口的组播报文时,将不同的端口配置至所述组播报文中的目的端口字段中。6.一种多端口组播设备,其特征在于,包括存储器和处理器;其中,所述存储器中存储有多端口...

【专利技术属性】
技术研发人员:梁建适张晓渠
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1