无线宽带网络接入市场近年来飞速发展,它在给人们带来方便的同时,网络拥塞和RF环境的恶化却经常导致信息丢失,本文介绍的流量监测方法让设计工程师能够改进应用软件设计,从而提高在各种环境下的数据传输性能,重点比较了RLP和TCP处理出错情况的方法,并通过流量javascript:tagshow(event, '%B2%E2%CA%D4');" href="javascript:;" target=_self>测试对两协议的工作过程进行了分析。
在两台主机的数据交换通路中引入无线网络,如果高速数据传输受到严重的干扰,那么,不但数据率肯定会降低,带来更大的传输延迟,而且因无线路径中存在噪声,误码也将显著增加。在网络产生拥塞时,RF传输条件的退化会导致网络上层曲解超时设置,从而极大降低网络效率。遇到这种情况时,传输控制协议(TCP)会调用一种拥塞控制算法,以便路由器有时间清理出错的数据包,而这类操作对应用层的影响可能会导致软件性能降低至用户无法接受的程度。
要解决以上问题,就需要在应用运行时,测量在各种数据率下和噪声或阴影级别下,射频链路层和传输层的数据流量。这样,就能观测到具体的应用对于数据流量下降的敏感度,从而便于软件设计工程师决定是否需要作出改进。
本文中,我们将考察一种CDMA2000系统的数据流,该系统使用了高速分组数据业务选项33模型,这一标准允许对数据流经的各网络实体中的不同层上的协议要求进行定义,从而使CDMA网络支持数据传输。其中,我们将重点讨论数据流量测试对无线链路协议(RLP)层和TCP层的影响。
可靠性问题
在一个高速CDMA分组数据网中,可靠性是通过面向连接的协议来实现的,包括传输层的TCP协议和物理层的RLP协议。
其中,TCP协议提供了一种基于光纤和铜缆的面向连接的业务,拓展了不同通信终端之间的通信距离。路由器是分组数据网中常用的设备,用于缓冲数据,并将其转发到目的地。在分组数据网中,存在猝发通信的情况,猝发数据会引发拥塞,最终导致数据包延迟甚至完全丢失,但这部分网络却几乎不会出现由于线路噪声而丢失数据的情况。
然而,当网络中包含了一个空中接口之后,造成数据丢失的最主要的原因就不再是拥塞,而是噪声和干扰。TCP认为数据传送的问题是由网络拥塞引起的,所以其应对机制均假设所有问题出现在网络的有线部分。其中的一种应对机制就是保持跟踪传送每个数据分组所需的时间,另一种则是在数据没有在预计时间内到达时重传分组。总之,最终TCP必须保证不漏传任何分组。
而RLP是无线链接的物理层的一部分,用于在一次单跳上提供可靠的数据传输。在一些RF信道中,多径信号和建筑物的影响常常会使信道条件恶化。这时,RLP为保证数据传输而能达到的最佳状况叫做“最佳效果”帧传输。如果信道中出现严重问题,迫使RLP放弃发送部分数据,那么RLP会重启一次,并继续运行,这样就将问题转移给协议栈的上层TCP来处理,而在TCP中,任何错误都必须被纠正。
下面我们将比较RLP和TCP在无线链接中出现信号丢失时的应对措施有什么不同。但首先,让我们先看看分组激活(packet-enabled)CDMA设备的协议栈。
协议栈描述
图1给出了一个CDMA2000无线设备的协议栈,其中阴影区域为专用于Service Option 33(高速分组数据)呼叫的协议实体。
在连接上一个高速分组数据呼叫之后,不同的TCP 对(peers)之间就能进行应用数据交换。TCP规定,接收机在接到数据之后,必须确认,因此如果数据分组被丢失、破坏或延迟,那么TCP就会重新发送这些数据分组。如果在一个预定的时间长度之内,发送设备没能收到分组确认信号,那么TCP就会降低数据流量。
TCP依靠IP(因特网协议)来管理其载荷的传输,将其送至目的设备,这些载荷通常封装在IP数据包之内。IP协议和网络层中的其他控制协议一起,监督着数据包传输路径中的各个路由器对该数据包的中继情况。这一传输路径可能会跨越包括无线链接在内的,具有不同拓扑结构的各种网络。在默认条件下,IP并不完成纠错功能,而是由其下层的服务来完成检错和纠错功能。
PPP(点到点协议)负责在无线站和分组数据业务节点(PDSN)之间建立连接。PPP需要其下所有层的服务才能将数据从PDSN(PDSN是一种专用路由器,用作无线终端与因特网的接口)发送到无线设备。
RLP可为基站和无线终端间提供字节(8位)流服务。复用子层则将RLP数据和其他业务(例如话音业务)数据组合起来,并将这些数据映射到物理层通信信道结构中。在RLP之下的物理信道完成收发二进制数据流所必须的编码和调制功能。
这些协议中,RLP和TCP有许多相似之处:
1. RLP也是一种面向连接的字节流业务,在分割数据时,不会保留数据在上层时的帧边界,而是将帧重组的任务交给上层来完成。
2. RLP中,每一块数据也都分配有一个序列号,如果数据到达时顺序被打乱,那么就按照这个序列号将他们插入到它们各自在字节流中的正确位置中去。
3. RLP中也有一种专门的机制可用于重传那些没有按时到达的数据。
但RLP和TCP之间仍有一些差异值得注意:
1. RLP提供的是“最佳效果”传输,而TCP提供的则是可靠传输。
2. TCP段从大小上来说比RLP帧大很多倍。典型的TCP段为1,500字节,而一个典型的RLP帧只有30字节左右。
3. RLP并不试图控制数据流,数据通常按照业务选择所定义的速率在MAC子层和物理信道中传输。
RLP可为PPP提供类似有线链接的业务
PPP协议通常用于拨号调制解调器应用中,RLP可为PPP提供一种尽力传送服务(best effort delivery service)。在有线情况下,PPP通常通过以太网等高速、低延迟介质传送信息,而这些介质相对较不易受高噪传输线路的影响而丢失数据,因而PPP无需通过分配序列号和对接收分组进行确认来跟踪数据传送的情况。在本文讨论的无线系统中,由于RLP层具备纠错功能,而且试图通过无线网络为PPP协议提供类似有线网络的服务,因此也无需通过分配序列号和对接收分组进行确认来跟踪数据传送的情况。
当空中接口上出现数据丢失时,原因通常是RF信号条件变差。出现这种情况时,RLP会尽快重发丢失的数据帧。如果信道条件在一个足够快的时间内得到改善,那么就不会有数据丢失,而且瞬间数据丢失对上层(尤其是TCP层)的影响已经被屏蔽掉。为了增大RLP快速修复的可能性,重发数据帧的优先级要高于新发送的数据帧。但如果信道条件没有及时得到改善,误码就无法得到纠正。这一级服务是自动完成的,以减轻PPP负担,使其不再负责纠错,但对那些必须确保无错的业务而言,错误修复工作有时就必须上推到TCP层来完成。
假如有任何一帧RLP数据无法传送,那么至少需要重发一个1,500字节的IP包。图2所示为每一协议层所交换的数据单元的典型长度。
TCP流控制对网络数据流量的影响
TCP对数据流有一定的限制,以避免路由器过载或超出接收端对输入数据的缓冲能力。该协议通过测量数据段发送到目标地址并返回确认信息的往返时间来监测网络中是否出现拥塞,从而避免网络过载。根据这一往返时间可以估计出重传定时器的值,而重传定时器的值恰恰反映了当前数据通路的状况。值得注意的是,即使在理想情况下,空中接口也是数据传输的瓶径。
如果在重传定时器超时前都没有收到数据段接收的确认信号,那么该数据段就会被送入重传队列。同时,TCP会启动一种流量控制算法,将数据流量降至接近零,以消除网络拥塞。若收到了确认信息,数据率就会逐渐恢复。数据流量恢复的速度取决于RTT,即TCP估计网络能够应付的数据率。由此可见,TCP拥塞控制算法对错误情况的处理远不同于RLP,后者只是力求尽快重发数据。
此外,TCP还限制了发送数据的量,目的是避免接收机过载。接收机能否继续接收数据,要看它发回给发送端的接收确认信息。该信息通常被视为一个“piggybacked”确认信息,因为它是随着回流到发送端的数据一起,搭便车回来的。如果拥塞控制算法没有降低数据率,那么在某些点上,接收窗口会将数据率降低。
我们可以建立一个高速分组数据连接,并监测IP数据流量(TCP数据段封装在IP分组之中),以此 观测拥塞控制的情况。图3所示为数据流量测量的一次屏幕显示。
该图是从一台显示IP数据率的瞬时值、峰值和平均值的测试仪器上抓取下来的。实验中,我们利用一台移动电话与一台PC机建立数据连接,从而建立起一次CDMA2000 service option 33呼叫。在以153.6 kbit/s的速度上传数据的过程中,我们将RF连接中断了片刻,人为地制造TCP重传超时的情况。
图中,洋红色曲线显示,在其中一点处,TCP数据传输几乎停止,然后数据流量又逐渐恢复,最终接收机窗口重新控制了数据流。青线显示,RLP数据传输速度下降不如TCP那么大,而且也更快恢复正常。
通过观察基站和无线终端之间传送的协议消息,我们还可以分析重传延时。软件在出现TCP消息的时刻标有记号,利用这些记号,我们就能看出重传的次数,并测量重传延时(见图4)。
在图4的第5行处,上传信道中发送了一个以字节2099f33开始的包含1,500字节的数据段。第21行之后,在重发两秒钟前第5行曾发过的那个数据段之前,TCP数据传输几乎中断了一整个数据段的时间。然后,在第24行处,接收机才确认它收到了重发的数据段。
用一个基站仿真器就可以模仿造成RLP层数据丢失,并迫使TCP拥塞控制算法降低数据传输速度的RF条件。监测RLP重发次数的计数器尤其有用。图5所示就是一台测试设备的显示,该设备在监测RLP的同时,还模仿了一个真实的基站向无线设备路由数据的情况。
数据丢失对网络第7层的影响
间歇性数据丢失对不同的应用影响不同。最容易预测的就是它对大文件下载时间的影响,例如在第7层运行FTP时。
对终端用户而言,还有一些影响可能更难以接受,比如以无中断视频流的最小传输速率为指标的视频流会议,或者游戏等包含大量图象的软件应用,数据中断对后者的影响可能更严重。
本文小结
如果能够通过测量数据流量下降的程度来测试应用层性能,就能让软件设计工程师认识到其软件在一个真实的系统中将具备怎样的性能。要达到这一目的,测试设备应该具备一定的灵活性,能够仿真退化的RF传输条件,并监测相应条件下流入和流出无线设备的IP流量,以及记录协议栈的各层上的消息。
作者:Paul Dohrman
安捷伦技术公司
Email: paul_dohrman@agilent.com
文章来源于领测软件测试网 https://www.ltesting.net/