一种无线局域网ip组播传输异常的快速检测方法

文档序号:7969892阅读:251来源:国知局
专利名称:一种无线局域网ip组播传输异常的快速检测方法
技术领域
本发明涉及无线通讯领域中无线局域网组网时IP组播技术业务应用的实现方法,尤其涉及IEEE 802.11无线局域网(WLAN)传输IP组播帧的方法。
背景技术
无线局域网作为网络终端的一种接入技术,具备接入速度高,布线简易等优点,越来越被广泛地应用于家庭网络,随着宽带和视频压缩技术的不断发展,以视频和语音为主的多媒体在网络传输的需求在迅速地增长。当前比较流行的多媒体应用,如视频和语音的实时交互、IPTV(Internet Protocol TV)等应用,均要求比较高的网络带宽支持,通过无线局域网技术传输多媒体应用逐渐成为今后发展的一个重要方向。
传统的IEEE 802.11无线局域网是为数据应用设计的,对组播应用的支持比较弱,从组播源发送一个组播报文到达无线接入点后,无线接入点将这个组播报文发送到关联的无线客户端,但是不属于这个组播组并已经关联到这个无线接入点的其他无线客户端也可以收到这个组播报文。
IEEE 802.11无线局域网传输目的地址是无线客户端MAC地址的单播(Unicast)数据报文时,无线接入点发送的单播报文到达无线客户端后,接收数据的无线客户端发送802.11确认(ACK)帧到无线接入点,如果接入点设备没有接收到无线客户端的ACK帧,PHY层会重传这一帧,如果重传次数超过预先设定的阈值,则丢弃该数据。在一个干扰比较高的802.11无线网络里,802.11 ACK提供了可靠的数据传输机制。接入点设备还可以通过接收无线客户端的802.11 ACK帧以及其他管理或数据帧,来检测无线客户端的信号质量,并根据信号质量实时调整无线客户端的数据发送速率,进一步可以保证数据的可靠传输。
IEEE 802.11无线局域网传输组播(Multicast)数据报文时,802.11协议规定,负责接收组播的无线客户端不能发送802.11 ACK帧到无线接入点,导致无线接入点不能确定无线客户端是否正确接收了组播帧,由于没有802.11 ACK的确认重传机制以及其他可靠保证机制,组播数据的传输可靠性比较低。
同时由于负责接收组播的无线客户端不发送802.11 ACK帧到无线接入点,无线接入点也就不能通过发送的组播报文来检测接收方的信号质量。当无线接入点和无线客户端之间传输的组播报文占据主要流量时,由于无线接入点不能实时检测接收方的信号质量以及根据信号质量调整无线客户端的数据发送速率,会导致某个时段内组播报文发送的误码率增加,组播数据传输的可靠性进一步降低。
以IP组播为主的IPTV直播业务,无线接入点和无线客户端之间传输的单播报文较少,IP组播报文占据了主要带宽。当无线接入点与无线客户端间的信号质量发生变化时,无线接入点和无线客户端之间不能及时调整组播报文发送速率,导致组播报文发送误码率增加,同时由于无线接入点和无线客户端之间的组播帧没有确认接收机制,组播帧的传输可靠性比较低,经常出现播放不流畅,影响业务的开展。
无线接入点发送组播报文是发向所有无线客户端,无线接入点为了保证所有无线客户端都能接收到组播帧,通常无线接入点以最保守的数据速率发送组播帧,如802.11b通常为1Mbps,802.11a/g通常为2Mbps,但实际的带宽比上述的组播帧数据发送速率还要低,这对于至少需要2Mbps甚至更高带宽的多媒体应用如IPTV业务来说,带宽明显不足,影响业务的正常开展。如果固定配置了比较高的组播数据发送速率,会导致信号质量比较低的某些无线客户端不能正确接收,特别是当无线客户端与无线接入点之间的距离、障碍物等环境发生变化引起的无线客户端与无线接入点间的信号质量发生变化,如果无线接入点与无线客户端间的组播发送速率不能实时调整,则会出现较高的组播发送误码率,导致无线客户端不能正确接收组播报文。因此需要增加组播的发送速率以提高带宽,组播发送速率必须支持可实时调整。
在实际应用中,由于无线物理层重传机制的影响,如果发送到一个客户端的数据出现过多的重传,将导致其他客户端的数据不能被发送,因此针对实时性要求较高业务,无线接入设备必须能够快速检测出异常客户端,并进行处理,保证在一个客户端出现异常不能影响其他客户端。通常的做法是设置一个老化时间,譬如5分钟,如果5分钟内客户端和无线接入点之间没有数据交互,就认为客户端异常。但是这种做法不能实时检测,反应速度较慢。

发明内容
本发明所要解决的技术问题是提供一种无线局域网IP组播传输异常的快速检测方法,可以快速检测出异常的客户端,避免不必要的数据重传,提高IP组播传输的可靠性。
为了解决上述技术问题,本发明提供了一种无线局域网IP组播传输异常的快速检测方法,报文发送时的处理包括(a)无线接入设备收到数据包,对所述数据包的目标无线客户端鉴权通过后,如果所述目标客户端在所述硬件缓冲区中没有报文,或者,如果所述目标客户端允许送入所述硬件缓冲区的报文数目的最大值不为零,且所述目标客户端在所述硬件缓冲区中的报文数据小于该目标客户端允许送入所述硬件缓冲区的报文数目的最大值,则将该数据包送入所述硬件缓冲区,增加所述硬件缓冲区的报文数目,否则,丢弃所述数据包;发送回调时的处理包括,当数据发送完成后,减小所述缓冲区的报文数目(i)如果无线接入设备判断该数据包发送失败,增加连续发送失败次数,将该客户端允许送入缓冲区的最大报文数目直接调整为零,或者,将该客户端允许送入缓冲区的最大报文数目调整为,当前允许的最大报文数目减半后的数值与缓冲区最大长度之间的最小值;(ii)如果无线接入设备判断该数据包发送成功,复位连续发送失败次数为零,将该客户端允许送入缓冲区的最大报文数目调整为,当前允许的最大报文数目加倍后的数值与缓冲区最大长度之间的最小值;
(iii)无线接入设备判断当连续发送的失败次数是否达到了预先设定的最大数值,如果是,则认定客户端异常,断开与客户端的连接。
进一步地,上述方法还可具有以下特点在所述步骤(a)中,如果所述目标客户端允许送入所述硬件缓冲区的报文数目的最大值不为零,且所述目标客户端在所述硬件缓冲区中的报文数据小于该目标客户端允许送入所述硬件缓冲区的报文数目的最大值,则判断当前发送时间与上次发送失败时间之差是否小于设定的阈值,如果是则丢弃该数据包,否则将该数据包送入所述硬件缓冲区。
进一步地,上述方法还可具有以下特点在所述步骤(i)中,无线接入设备将该客户端允许送入缓冲区的最大报文数目与1相比较,如果小于等于1,则将该客户端允许送入缓冲区的最大报文数目直接调整为零,否则,将该客户端允许送入缓冲区的最大报文数目调整为,当前允许的最大报文数目减半后的数值与缓冲区最大长度之间的最小值。
进一步地,上述方法还可具有以下特点在所述步骤(i)中,还包括记录当前数据发送失败的时间。
采用本发明所述方法,使得在以IEEE 802.11a/b/g标准以及下一代无线标准IEEE 802.11n组建的无线局域网产品中,能够快速检测出异常客户端,避免对其他客户的影响,克服了IEEE 802.11传输组播报文可靠性差的缺陷,保证了以IP组播技术为主的视频直播业务在无线局域网产品的可靠应用,极大地拓展了无线局域网产品的应用范围,促进无线局域网IP组播业务应用的发展。


图1为本发明IP组播传输设备图;图2为本发明IP组播传输系统应用图;图3为本发明IP组播传输的方案模块图;
图4为本发明IP组播传输的应用示例图;图5为本实施例异常客户端检测报文发送流程图;图6为本实施例异常客户端检测报文发送回调处理流程图。
具体实施例方式
如图1所示,传输IP组播的无线接入点设备由无线接口模块、组播成员管理模块、上行接口模块、802.1d桥接模块、IP路由模块、协议应用模块和配置管理模块组成。设备的无线接口模块接收的报文经802.1d桥接模块或IP路由模块转发到上行接口模块,上行接口模块接收的报文经802.1d桥接模块或IP路由模块转发到无线接口模块。当无线接口模块或上行接口模块接收到IGMP(Intemet组管理协议)报文或IP组播报文时则送由组播成员管理模块处理组播成员管理模块处理从无线接口模块接收的IGMP报文,维护组播成员列表;上行接口模块接收的IP组播报文经802.1d桥接模块或IP路由模块,进一步转发到组播成员管理模块处理,由组播成员管理模块将IP组播报文转发到无线接口模块。其中无线接口模块,包括无线驱动模块以及硬件接口,其中无线驱动模块用于接收和发送无线接入点和无线客户端间的802.11管理和数据帧,并依据与无线客户端交互的802.11帧实时检测无线接入点和无线客户端的连接信号质量,实时调整和确定无线接入点发送到无线客户端的“最佳单播报文发送速率”及“最佳广播报文发送速率”;组播成员管理模块,用于维护组播成员列表以及记录组播成员无线客户端的MAC地址信息,还负责接收和转发组播源与组播成员无线客户端间的IP组播报文;802.1d桥接模块和IP路由模块,用于报文选路和转发报文;上行接口模块,包括驱动和上行硬件接口,用于连接外部网络,如Intemet的接口,可通过连接DSLAM、交换机、BRAS等设备间接连接到Intemet,所述上行接口可以是以太网接口、xDSL接口、xPON等接口;设备的协议应用模块和配置管理模块用于完成各种协议和上层应用,以及本地或远程的配置管理。
IP组播传输系统应用如图2所示,在IP组播传输的应用系统中至少包括无线客户端、无线接入点、分布系统(DS)以及组播源。无线客户端需要请求加入或离开组播源的某个组播组时,无线客户端发送的IGMP(互联网组管理协议)报文经无线接入点发送到组播源,无线接入点将无线客户端加入到这个组播组。组播源发送某个IP组播报文给组播组的成员时,组播源发送的IP组播报文经无线接入点发送给组播组的成员无线客户端,完成IP组播的传输。
其中组播源,用于发送IP组播报文;分布系统,用于连接无线接入点与组播源;一个或多个无线接入点,用于将IP组播报文处理为单播报文并发送给无线客户端,以及处理无线客户端发出的加入或离开组播组的请求信息;一个或多个无线客户端,是使用组播业务的用户,可以向无线接入点发出加入或离开组播组的请求。
如图3所示,在实现本方案所述的高速可靠传输组播报文的无线接入点内,包括无线驱动模块、组播成员管理模块。在无线驱动模块中针对每个无线客户端都保存有一个最佳单播报文发送速率,当每个无线客户端新接入到无线接入点时,无线驱动模块确定该无线客户端的“最佳单播报文发送速率”,或者当无线客户端的“最佳单播报文发送速率”实时发生变化时,无线驱动模块在所有客户端中选择最小的“最佳单播报文发送速率”值,作为无线接入点发送其他广播组播报文(即非IP组播报文)到每个无线客户端的“最佳广播报文发送速率”,所述“最佳广播报文发送速率”也可称为“最佳组播报文发送速率”,是所有客户端共用的速率。
组播成员列表,记录组播组以及组播组的成员无线客户端信息,每个组播组有一张组播成员列表,由组播成员管理模块动态维护,可以存储在组播成员管理模块内,其中无线客户端信息包括无线客户端的MAC地址信息。
在具体应用中如图4所示。在以IEEE 802.11a/b/g标准以及下一代无线标准IEEE 802.11n组建的无线局域网产品中,无线接入点设备接入多个无线客户端STA。无线客户端向无线接入点发送IGMP组播加入报文IGMPReport请求加入某个IP组播组,或者无线客户端向无线接入点发送IGMP组播离开报文IGMP Leave请求离开某个IP组播组。无线接入点的组播成员管理模块从无线驱动模块接收到无线客户端的IGMP组播加入或离开报文,动态维护组播成员列表以及无线客户端的MAC(介质访问控制)地址等信息。
在现有的IEEE 802.11a/b/g无线局域网网络以及下一代无线标准IEEE802.11n无线局域网网络内,IP组播报文的传输方法包括以下步骤步骤110,从组播源发出的IP组播报文到达无线接入点;步骤120,无线接入点中的组播成员管理模块查找组播成员列表,判断该IP组播报文对应的组播组在组播成员列表内是否有组播成员无线客户端,如果有,则执行下一步,否则,丢弃该IP组播报文;步骤130,组播成员管理模块将IP组播报文进行组播报文转单播报文的处理,将IP组播报文的组播目的地址替换成该组播组中成员无线客户端的MAC地址;如果无线客户端有多个,则将IP组播报文的目的MAC地址依次替换为组播组中各无线客户端的MAC地址,每替换一次地址发送一次,直到向组播组中所有成员无线客户端全部发送完毕。
步骤140,组播成员管理模块将该IP组播报文以单播报文的形式转发到无线驱动模块;步骤150,无线驱动模块向组播组中的成员无线客户端发送IP组播报文;如果无线驱动模块发送的报文目的地址是无线客户端的MAC地址,则依据各无线客户端的“最佳单播报文发送速率”发送到无线客户端,无线接入设备事先根据接收的无线客户端的802.11报文确定最佳单播报文发送速率。
步骤160,无线客户端收到报文后返回确认消息。
无线接入点接收无线客户端的802.11确认帧(ACK)保证数据的可靠传输。
其他进入无线接入点的广播(Broadcast)类型数据报文和非IP组播的多播(Multicast)类型数据报文,不需要交给组播成员管理模块,直接交给无线驱动模块发送。无线驱动模块发送的广播和其他组播报文,以“最佳广播报文发送速率”发送。
与通常无线接入点以最保守的数据速率发送组播帧(如802.11b通常为1Mbps,802.11a/g通常为2Mbps)相比,当每个无线客户端的“最佳单播报文发送速率”都高于最保守的数据速率,也就是“最佳广播报文发送速率”高于最保守的数据速率时,可以提高组播报文的发送速率。
以IEEE 802.11a/b/g标准以及下一代无线标准IEEE 802.11n的无线局域网产品中,无线局域网接入点设备通过将IP组播转换为无线客户端单播MAC地址报文的方法,组播源发送到无线接入点的IP组播报文可以分别发送到IP组播对应的组播组成员无线客户端,不同组播组间的报文互相不影响,同时由于报文是以单播报文送达的无线客户端,其速率和可靠性达到单播报文的性能和可靠性指标,保证了以IP组播技术为主的视频直播业务在无线局域网产品的可靠应用。
在现有的IEEE 802.11a/b/g无线局域网网络以及下一代无线标准IEEE802.11n无线局域网网络内,实现IP组播传输异常快速检测的技术方案分为数据发送和发送回调处理两个部分。当报文发送时,无线接入设备收到数据包,对所述数据包的目标无线客户端鉴权通过后,根据该目标客户端允许向无线接入设备硬件缓冲区送入的报文数目判断,若该目标客户端允许向所述硬件缓冲区送入报文,则将该数据包送入所述硬件缓冲区,否则,丢弃所述数据包;当发送回调时,无线接入设备若判断该数据包发送失败,则减小该目标客户端允许向无线接入设备硬件缓冲区送入的报文数目。
首先初始化判别准则参数,每个客户端都有如下这些参数。
当前发送时间Current_time,表示当前数据包(报文)放入无线接入设备硬件缓冲区的时间;上次发送失败时间Time_i,表示第i个客户端上次数据包发送失败的时间;连续发送错误值Tx_err_i,第i个客户端连续发送失败的数据包个数;缓冲区报文数目PKT_i,第i个客户端在硬件队列中数据包的个数;允许最大报文数目MAX_PKT_i,第i个客户端允许硬件队列中数据包个数的最大值;连续失败时间阈值Min_time_gap,客户端允许连续两次发送失败的时间差的最大值,例如,客户端的第i个数据包出现错误的时刻是Ti,第j(j>i)个数据包在被放入硬件缓冲队列时刻是Tj,i到j之间的数据包没有出现发送错误,我们检查Tj与Ti的时间差,这个时间差不能小于Min_time_gap;连续失败阈值Max_allow_err,客户端允许连续发送失败次数的最大值;队列最大长度MAX_TX_QUEUE_LEN,硬件缓冲区中所有数据包的个数。
报文发送处理流程,如图5所示,包括以下步骤步骤5-1,无线接入设备收到数据包后,判断该数据包的目标无线客户端是否关联(即是否有权限访问网络),如果没有关联则丢弃数据,否则,执行步骤5-2;步骤5-2,判断该目标客户端允许送入硬件缓冲区的报文数目的最大值MAX_PKT_i是否为0,如果是,执行步骤5-3,否则,执行步骤5-4;步骤5-3,根据该目标客户端在硬件缓冲区中报文数目PKT_i判断硬件缓冲区中有是否有报文,如果有,则丢弃当前数据,否则,将当前数据送到硬件缓冲区,将PKT_i值加1,等待发送数据;在另一实施例中,在步骤5-2判断MAX_PKT_i为零后,也可直接丢弃数据包,而不进行步骤5-3的判断,那么以后发往该客户端的数据包都会被丢弃,只有该客户端重新连接后才能接收到数据包。
步骤5-4,判断该目标客户端在硬件缓冲区中报文数目PKT_i是否小于允许的报文数目的最大值MAX_PKT_i,如果是,执行下一步,否则,则丢弃数据;步骤5-5,比较当前发送时间Current_time与上次发送失败时间Time_i,如果时间差小于设定的阈值Min_time_gap,则丢弃数据包,否则将数据包送入硬件缓冲区,将PKT_i值加1;在另一实施例中,也可不进行时间差的比较,而直接将数据包送入硬件缓冲区,将PKT_i值加1。
数据发送回调处理(硬件完成发送后的回调,用于通知上层数据包发送情况,包括成功失败等等),如图6所示步骤6-1,数据发送完成后,无线接入设备将硬件缓冲区报文数目PKT_i减1;步骤6-2,无线接入设备判断物理层是否正常发送数据,如果是,复位发送错误统计数值Tx_err_i,同时将允许送入硬件缓冲区的数值MAX_PKT_i调大,等待下一次发送回调,否则,执行下一步;可以将缓冲区允许的最大报文数目调整为MIN(MAX_PKY_i*2,AX_TX_QUEUE_LEN),即允许最大报文数目MAX_PKY_i乘2与缓冲区最大长度二者之间的最小值。
步骤6-3,将数据发送错误统计值Tx_err_i加1;步骤6-4,将缓冲区中允许的最大报文数目MAX_PKT_i与1相比较,如果小于等于1则执行步骤6-5,否则执行步骤6-6;比较的目的是将MAX_PKT_i调整为零,在其他实施例中,也可以和其他数值进行比较,如果MAX_PKT_i不从零开始记,则也可将其调整为其他数值,便于数据发送时进行判断。
步骤6-5,设置缓冲区中允许的最大报文数目MAX_PKT_i为零,执行步骤6-7;步骤6-6,将缓冲区中允许的最大报文数目MAX_PKT_i调小,执行步骤6-7;可以将允许的最大报文数目MAX_PKT_i调整为MIN(MAX_PKT_i/2,1),即减半后的允许的最大报文数目与1二者的最小值。
步骤6-7,记录当前数据发送失败的时间Time_i;步骤6-8,判断连续发送的错误次数Tx_err_i是否达到了预先设定的最大数值Max_allow_err,如果是,则断开与客户端的连接,否则等待下一次发送回调。
断开与客户端的连接后,无线接入点设备中的无线驱动模块会通知组播管理模块从组播成员列表中删除该客户端。
本发明在数据交互过程中,根据无线网络链路状况来检测,并且采用了反应灵敏的数值调节方法,因此能够在极短的时间内发现客户端发生异常,避免过多的重传。
本方法克服了IEEE 802.11传输IP组播报文带宽低可靠性差的缺陷,极大地拓展了无线局域网产品的应用,特别是以IP组播技术为主的视频直播业务在无线局域网产品的应用,为无线局域网产品在家庭网络的普及与发展提供了有力的保证。
权利要求
1.一种无线局域网IP组播传输异常的快速检测方法,报文发送时的处理包括(a)无线接入设备收到数据包,对所述数据包的目标无线客户端鉴权通过后,如果所述目标客户端在所述硬件缓冲区中没有报文,或者,如果所述目标客户端允许送入所述硬件缓冲区的报文数目的最大值不为零,且所述目标客户端在所述硬件缓冲区中的报文数据小于该目标客户端允许送入所述硬件缓冲区的报文数目的最大值,则将该数据包送入所述硬件缓冲区,增加所述硬件缓冲区的报文数目,否则,丢弃所述数据包;发送回调时的处理包括,当数据发送完成后,减小所述缓冲区的报文数目(i)如果无线接入设备判断该数据包发送失败,增加连续发送失败次数,将该客户端允许送入缓冲区的最大报文数目直接调整为零,或者,将该客户端允许送入缓冲区的最大报文数目调整为,当前允许的最大报文数目减半后的数值与缓冲区最大长度之间的最小值;(ii)如果无线接入设备判断该数据包发送成功,复位连续发送失败次数为零,将该客户端允许送入缓冲区的最大报文数目调整为,当前允许的最大报文数目加倍后的数值与缓冲区最大长度之间的最小值;(iii)无线接入设备判断当连续发送的失败次数是否达到了预先设定的最大数值,如果是,则认定客户端异常,断开与客户端的连接。
2.如权利要求1所述方法,其特征在于,在所述步骤(a)中,如果所述目标客户端允许送入所述硬件缓冲区的报文数目的最大值不为零,且所述目标客户端在所述硬件缓冲区中的报文数据小于该目标客户端允许送入所述硬件缓冲区的报文数目的最大值,则判断当前发送时间与上次发送失败时间之差是否小于设定的阈值,如果是则丢弃该数据包,否则将该数据包送入所述硬件缓冲区。
3.如权利要求1所述方法,其特征在于,在所述步骤(i)中,无线接入设备将该客户端允许送入缓冲区的最大报文数目与1相比较,如果小于等于1,则将该客户端允许送入缓冲区的最大报文数目直接调整为零,否则,将该客户端允许送入缓冲区的最大报文数目调整为,当前允许的最大报文数目减半后的数值与缓冲区最大长度之间的最小值。
4.如权利要求1所述方法,其特征在于,在所述步骤(i)中,还包括记录当前数据发送失败的时间。
全文摘要
无线局域网IP组播传输异常的快速检测方法,报文发送时(a)无线接入设备收到数据包,对数据包的目标无线客户端鉴权通过后,如果目标客户端在所述硬件缓冲区中没有报文,或者,如果目标客户端允许送入所述硬件缓冲区的报文数目的最大值不为零,且目标客户端在所述硬件缓冲区中的报文数据小于该目标客户端允许送入所述硬件缓冲区的报文数目的最大值,则将该数据包送入所述硬件缓冲区,否则,丢弃所述数据包;发送回调时(b)数据发送完成后,无线接入设备若判断该数据包发送失败,记录连续发送失败次数,减小该目标客户端允许向无线接入设备硬件缓冲区送入的报文数目;当连续发送的错误次数达到了预先设定的最大数值,则认定客户端异常。
文档编号H04L12/56GK1937516SQ20061014025
公开日2007年3月28日 申请日期2006年10月20日 优先权日2006年10月20日
发明者孙旺强, 刘鹏午, 王占利 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1