无线环境下的组播转单播的实现方法
技术领域
本发明涉及一种组播转单播的方法,特别是涉及一种在无线环境下组播转单播的实现方法。
背景技术
当前无线用户日益新增,而无线/有线带宽资源却相当有限,为了有效的解决单点发送、多点接收的问题,将组播技术大规模应用于网络,节省了带宽,有效的避免了信道拥塞的可能。然而,如果在某个无线口上存在大量用户如图3-1中AP1所示,但只有一个用户是某些数据的接收者,传统的组播技术会将数据发送至该无线口下所有用户,无形中占用了有限的无线资源,出现无线信道拥塞的可能;同时对于802.11网络来说,组播流转发并不安全,因此组播到单播转换对于提供可靠传输和减少损失和延迟对于多媒体应用是必不可少的。
然而在无线网络应用中却无法解决此类问题,因为一个无线口与二层交换口不同,可以关联多个用户,该方案在无线环境中的使用,依然会导致该问题。
中国专利200610011296.2公开了一种基于RTP协议的IPTV机顶盒组/单播无缝切换方法,应用于IPTV系统中,包括组播转单播方法和单播转组播方法,组播转单播的方法包括:接受组播数据,解码数据并播放;接收到组播改单播命令,暂停解码器的解码;判断最后一个数据帧是否完整,若完整,发出退出组播请求,退出组播,否则,继续收组播数据包;退出组播后,请求单播的统一资源定位器;恢复解码器;请求单播数据;判断接收的数据的时间戳,若大于或等于组播过程中收到的最后一帧的时间戳,则将该单播数据丢弃,否则将单播数据送入解码器解码显示。
中国专利200810126185.5公开一种网络互动电视(IPTV)终端组播转单播切换方法,该方法包括:接收组播RTP数据包的IPTV终端收到组播转单播指令后,建立单播通道;单播通道建好后,退出组播通道,并请求单播数据;根据记录的组播通道最后收到RTP数据包的时戳和编号,以及记录的最新收到RTP数据包的时戳和编号,对收到的RTP数据包进行过滤。本发明还公开一种IPTV终端组播转单播切换系统,包括流媒体服务器、控制服务器和包含RTP数据包接收单元、编号&记录单元、指令接收单元、通道转换单元、数据请求单元、过滤单元的IPTV终端,本发明不需要时刻关注数据帧的完整性,能够更好地进行组播转单播的无缝切换、提高用户体验,且容易实现。
中国专利201010283928.7提供了一种用户端设备及其无线组播转单播业务的实现方法,所述方法包括步骤:在内核协议栈模块接收到组播包时,根据该组播包中携带的组播组MAC地址查找组播转发表中与该组播包相匹配的匹配表项,并根据该匹配表项将所述组播包转换为单播包后发送至对应的无线接口,对应于所述无线接口的无线驱动模块将所述单播包发送至目标主机。与现有技术相比,本发明减少了无线驱动模块处理组播包的环节,在相同的业务条件下可以节省CPU资源,提高组播转单播业务的实时性,在一定程度上解决了无线组播转单播业务依赖高性能的硬件资源问题,从而也降低了产品的硬件成本。
专利[200610011296.2]和专利[200810126185.5]仅仅是通过指令对通道进行单播与组播切换,只是解决了传输模式的切换,并不能解决组播转单播资源浪费的问题;专利[201010283928.7]以MAC地址为关键字建立转发表,转发表(组播组MAC地址、目标主机MAC地址、目标接口设备)以MAC为关键字,可能存在多个组播IP地址命中同一转发表的情况;同时存在多个VLAN的情况下,该专利可能出现数据流转发错误;再者需要用户端设备即AP对每份组播协议报文都进行处理,AP必然损耗大量的资源。
发明内容
本发明解决的技术问题是提供一种无线环境下的组播转单播的实现方法,能够解决现有技术中无线信道拥塞,且数据安全性得不到保证的技术问题。
为解决上述技术问题,本发明提供的技术方案是:提供一种无线环境下组播转单播的实现方法,包括以下步骤,
S01:AP报文转发模块直接转发IGMP协议报文给AP组播协议报文处理模块,AP组播协议报文处理模块直接将IGMP协议报文转发给AC组播转发表模块;
S02:AC组播转发表模块判断是否是第一次处理该IGMP协议报文,若是,根据收到的I GMP协议报文转成AC转发表,并转发至AC组播消息封装模块进行消息封装,AC组播消息封装模块将转发表封装消息发送到AP组播消息处理模块;若否,则不处理该协议报文;
S03:AP组播消息处理模块将封装消息转发给AP组播转发表处理模块,所述AP组播转发表处理模块结合二层转发表确认该用户对应的无线出口,形成AP组播转发表;
S04:根据所述AC转发表和AP组播转发表进行数据流传输。
其中,所述步骤S04具体包括,
S401:AC转发组播流模块获取AC转发表,根据AC转发表将数据流转发给AP组播流处理模块;
S402:AP组播流处理模块获取AP组播转发表,调用AP组播流转单播流模块,将组播地址转为单播地址,再通过单播流转发模块,将数据流传输到所述单播地址上。
所述步骤S402中组播地址转为单播地址,具体包括,修改组播流的目的IP为主机源IP,目的MAC为主机源MAC。
所述步骤02中的AC转发表包括VLAN-ID,组播地址IP,隧道出口。
所述步骤03中的AP转发表包括VLAN-ID,组播地址IP,主机源IP,无线出口。
所述步骤02中的消息封装具体包括封装VLAN-ID,主机源IP,组播地址IP,主机MAC地址。
采用上述技术方案,本发明取得的有益效果是:由于AP对IGMP协议报文只做转发不做处理,AP只处理AC下发的封装表项信息,简化AP组播模块的处理逻辑,AP把从AC下发的组播流,结合组播转发表及二层转发表,发送到单播地址,保证了传输的安全有效性。同时,有效的利用无线局域网的宽带资源,保证用户不接收到非需求的组播流,同时也释放了有限的资源,保证只转发有效的组播流。
附图说明
图1为本发明提供的无线环境下组播转单播的实现方法的流程图;
图2为本发明提供的组播转发表处理流程图;
图3为本发明提供的组播流处理流程图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1和图2,本发明提供一种无线环境下组播转单播的实现方法,其中,本实施例包括:
AP,是指用于无线网络的无线交换机,也是无线网络的核心,无线AP是移动计算机用户进入有线网络的接入点,主要用于宽带家庭、大楼内部以及园区内部,覆盖距离有几十米到上百米。
AC,是指无线控制器,是用于负责管理控制AP和终端站点的设备,由于在具体使用中,无线局域网的AP覆盖范围有线,所以通常需要多个AP分布在不同的区域,这些AP的控制管理和终端站点的控制管理通常集中在一个网络设备上进行,因此就需要使用无线控制器。
IGMP:是internet组管理协议,是用于IP主机向任一个直接相邻的路由器报告他们的组成员情况。IGMP信息封装在IP报文中,其IP的协议号为2,主机和其直接相邻的组播路由器之间建立、维护组播组成员关系。
本实施例提供的无线环境下组播转单播的实现方法,具体包括以下步骤:
S01:AP(access point,无线接入点)报文转发模块直接转发IGMP协议报文给AP组播协议报文处理模块,AP组播协议报文处理模块直接将IGMP协议报文转发给AC组播转发表模块;
S02:AC(access point controller,无线控制器)组播转发表模块判断是否是第一次处理该IGMP协议报文,若是,根据收到的IGMP协议报文转成AC转发表,并转发至AC组播消息封装模块进行消息封装,具体包括封装VLAN-ID,主机源IP,组播地址IP,主机MAC地址,AC组播消息封装模块将转发表封装消息发送到AP组播消息处理模块,若否,则不处理该协议报文;
S03:AP组播消息处理模块将封装消息转发给AP组播转发表处理模块,所述AP组播转发表处理模块结合二层转发表确认该用户对应的无线出口,形成AP组播转发表,其中,AP转发表包括VLAN-ID,组播地址IP,主机源IP,无线出口,用该结构来存放转发表,实现了精确到用户的转发,同时AP采用组播IP地址来替换传统的组播MAC地址存储,有效的解决了组播MAC地址冲突的问题。
请参阅图3,S04:根据所述AC转发表和AP组播转发表进行数据流传输,本步骤具体包括,
S401:AC转发组播流模块获取AC转发表,根据AC转发表将数据流转发给AP组播流处理模块;由于AC转发表包括VLAN-ID、组播地址IP、隧道出口,数据流就能够获取目标地址,以及传输通道,从而将数据流传输到AP;
S402:AP组播流处理模块获取AP组播转发表,调用AP组播流转单播流模块,将组播地址转为单播地址,再通过单播流转发模块,将数据流传输到所述单播地址上。由于AP转发表包括VLAN-ID,组播地址IP,主机源IP,无线出口,该步骤具体包括,将组播地址转为单播地址,即修改组播流的目的IP为主机源IP,目的MAC为主机源MAC。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。