NS-2实践:分析TCP的拥塞控制原理

上传人:无*** 文档编号:158376475 上传时间:2022-10-04 格式:DOC 页数:6 大小:112.50KB
收藏 版权申诉 举报 下载
NS-2实践:分析TCP的拥塞控制原理_第1页
第1页 / 共6页
NS-2实践:分析TCP的拥塞控制原理_第2页
第2页 / 共6页
NS-2实践:分析TCP的拥塞控制原理_第3页
第3页 / 共6页
资源描述:

《NS-2实践:分析TCP的拥塞控制原理》由会员分享,可在线阅读,更多相关《NS-2实践:分析TCP的拥塞控制原理(6页珍藏版)》请在装配图网上搜索。

1、NS-2实践:分析TCP的拥塞控制原理作者:何坚 (来源:赛迪网) 2005年07月05日之前我曾经给大家介绍了如何安装网络模拟器NS-2,如何安装移动IPv6快速切换协议的扩展,以及如何使用NAM和XGRAPH对试验结果进行分析(请参见NS-2实践:在NS-2环境下模拟移动IPv6的快速切换)。这篇文章中,我将在上篇文章的基础上,给大家详细介绍如何利用XGRAPH来分析TCP的拥塞控制原理。 TCP是Transmission Control Protocol的缩写,即传输控制协议,它对应于OSI七层模型中的传输层,建立于网络层之上。TCP旨在给互联网提供一种可靠的端到端的字节传输流。 自从1

2、988年问世以来,TCP在研究者的努力下先后得到了许多新的发展,目前主要的模型包括四个,即TCP TAHOE,TCP RENO,TCP NEWRENO和TCP SACK。TCP TAHOE模型是最早的TCP协议之一,它由Jacobson提出。Jacobson观察到,TCP报文段(TCP Segment)丢失有两种原因,其一是报文段损坏,其二是网络阻塞,而当时的网络主要是有线网络,不易出现报文段损坏的情况,网络阻塞为报文段丢失的主要原因。针对这种情况,TCP TAHOE对原有协议进行了性能优化,其特点是,在正常情况下,通过重传计时器是否超时和是否收到重复确认信息(dupack)这两种丢包监测机制

3、来判断是否发生丢包,以启动拥塞控制策略;在拥塞控制的情况下,采用慢速启动(Slow Start)算法和快速重传(Fast Retransmit)算法来控制传输速率。 在试验中,我们以TCP TAHOE模型为例,对TCP的拥塞控制原理进行分析,包括两种丢包监测机制和拥塞控制中的慢速启动算法和快速重传算法。 1. TCP拥塞控制相关技术简介 1.1 慢速启动算法 在TCP TAHOE模型中,拥塞控制主要是通过调整发送端的发送速率,而这又主要是通过三个变量实现的:拥塞窗口(Congestion Window),接收端窗口(Receiverss Window),慢速启动阈值(Slow Start Th

4、reshold,SSTHRESH)。发送端一旦监测到数据包丢失(其原因可能是重传计时器超时,亦可能是收到重复的ACK信令),它就会开始调整发送速率。这包括,ssthresh调整为当前拥塞窗口的一半,同时拥塞窗口将降低到1个报文段。然后,随着通信过程的恢复,拥塞窗口持续增长。在拥塞窗口大小未达到ssthresh之前,它以指数速度增长;到达之后则开始线性增长。有趣的是,虽然这种算法称为慢速启动算法,但实际上一点儿也不慢,它是指数增长的。 1.2 快速重传算法 当发送端连续收到3个对应于同一个序列号的ACK信令时,就触发了其快速重传算法,即发送端不等重传计时器超时,立即向接收端发送指定的报文段。 1

5、.3 丢包检测机制有如下两种 (1). 重复ACK信令 重复ACK有两个作用,其一,发送端可以确信该ACK序列号之前的TCP报文段都已经被接收端成功接收;其二,发送端可以据此判断出接收端接收到的TCP报文段发生了乱序的情况和接收端当前期待的TCP报文段序列号,从而触发其拥塞控制策略。 (2). 超时重传 发送端发出报文段后,在规定的时间内没有能够收到接收端返回的ACK信令,从而使得发送端认为该报文段丢失,触发其拥塞控制策略。在这里面主要涉及到重传计时器(retransmission timer),它是TCP协议中最重要的计时器。根据Computer Networks, Fourth Editi

6、on,当报文段发出后,重传计时器立即启动,如果发送端在计时器超时之前得到ACK,则计时器停止;如果计时器超时后仍然没有收到ACK,那么报文段就重传,并且计时器重新启动。计算超时的主要公式有: Timeout = RTT + 4D D = D + (1) | RTT M | RTT = RTT + (1) M 其中M 、RTT、D均为可变值,M是当次的RTT值。 2. 试验网络拓扑图与参数 该试验基于NS-2网络模拟器,并在我们之前搭建好的无线环境中进行,试验目的是分析TCP拥塞控制原理。 图1是试验网络拓扑图。由于网络层协议是移动IPv6,因此有名称为通信节点(Corresponding No

7、de,CN)、家乡代理(Home Agent,HA)、接入路由器(Access Router,AR)、移动节点(Mobile Node,MN)的网络实体,其中CN为数据发送端,MN为数据接收端,AR是接入路由器,HA则对于我们这次的试验没有影响,因此不予介绍。NodeX为普通网络节点。网络链路的典型参数,即带宽和延迟,标于每条链路之上。 一般情况下,由于Internet上传送的数据量大,相应的延迟比较大,因此Internet的延迟设为了50ms;无线网络的带宽比较小,因此我们设为了1M。整个试验过程持续80秒。CN为FTP型的数据源,TCP报文段大小为256bytes,拥塞控制窗口(Conge

8、stion Window)为32。CN从第6秒开始向MN1发送TCP报文段,一直到整个试验结束。该TCP协议采用NS-2中的Tahoe模型。两个接入路由器(Access Router,AR)分别接入两个局域网,它们的位置分别为(85.0,135.0),(155.0,135.0),相隔70米,AR的有效覆盖范围是以AR自身为中心,半径40米的圆,又因为PAR和NAR在纵坐标相同,因此在他们两者的中心连线上,有10米重复的覆盖范围。 MN从第5秒开始接收CN发送过来的FTP数据,经过5秒钟的稳定时间后,于第10秒以1m/s的恒定速度由位置(85.0,135.1)走到(155.0,135.1)处,相

9、当于沿着PAR与NAR的中心连线,由PAR走向NAR处。试验进行到第80秒的时候,MN刚好走到目的地。 对于网络节点而言,没有配置好网络层就不能够正常的进行传输层通信。在该试验中,MN在移动过程中会发生切换,其间由于MN需要进行网络层的配置将不能够进行正常的传输层通信,因此CN会监测到报文段丢失的情况,并且会启动其拥塞控制策略,这就是我们观察的重点。 3. 试验与分析 我们的测试分为两部分。第一部分试验以重复ACK信令作为TCP拥塞控制策略的触发事件,第二部分试验以超时重传作为TCP拥塞控制策略的触发事件。每部分都做10次模拟试验以求试验数据的客观性。 当试验结束后,我们用XGRAPH制图,有

10、两种类型。第一种为TCP序列号图,它们基于通信节点(发送报文段的节点)和移动节点(接收报文段的节点)的发送和接收缓存中的TCP序列号制成,能反映TCP报文段的传输情况,这类图的横坐标为时间,纵坐标为TCP序列号。第二类图为拥塞窗口变化图,能反映数据包的传输速率,这类图的横坐标为时间,纵坐标为拥塞窗口大小。 首先我们根据图2至图7来分析通过重复ACK信令触发CN(发送节点)启用TCP拥塞控制策略的情况。 图4 通信节点和移动节点发送端TCP序列号详图 图5 通信节点和移动节点接收端TCP序列号详图 图6 通信节点拥塞控制窗口变化 图7 通信节点拥塞控制窗口变化详图 其中,图2至图5是试验期间CN

11、(通信节点,在试验中又是发送节点)和MN(移动节点,在试验中又是接收节点)的接收缓存和发送缓存中的TCP序列号图。图6和图7则是试验期间CN的拥塞窗口变化图。图4、图5分别为为图2、图3红色矩形区域的放大图;图7为图6蓝色矩形区域的放大图。 具体分析如下: (1). MN进行切换的过程中,短时间内将不能够接收TCP报文段,这在图5中,表现为MN的接收端TCP序列号在40.4至40.6秒期间,有一个缺口; (2).由于CN并不了解MN已经不能够接收TCP报文段,所以它继续发送数据。可以从图4中看到CN发送的TCP报文段序列号比MN的长了一段,而正常通信情况下,应该是CN发出的每一个报文段,MN都

12、会回应一个ACK信令,在图中表现为纵坐标相同; (3). 由于MN接收的报文段序列号有缺口,意味着它收到了乱序的报文段,因此MN发送了一连串的重复ACK信令,对应于图4中一段平行于时间轴的直线; (4). 40.6秒左右,CN收到一连串的来自MN的重复ACK信息,即图5中一段平行于时间轴的直线,这就触发了CN的拥塞控制策略及快速重传算法; (5). 根据快速重传算法,CN在收到第3个重复确认信令后,不等重传计时器超时,立即发送MN在ACK信令中所指定的报文段,因此在图4中,在40.6秒时间轴的右方,有个红色的三角形,即代表CN发出的TCP报文段。快速重传算法在此处加速了通信速度,因为,CN与M

13、N间的RTT(Round Trip Time)至少为它们之间网络延迟之和的两倍,即112毫秒,RTO(Retransmission Time Out)还要更长,如果等到RTO超时再重发数据包,则需要花至少112毫秒;但实际上,从图4中可以看出,CN重发数据包只花了40毫秒左右的时间。因此,快速重传在这里发挥了作用。 (6). 与此同时,在图7中可以看到,启动拥塞控制策略后,CN对拥塞窗口大小进行了调整,首先是在40.6秒左右降到1个报文段,然后根据慢速启动算法,CN以指数形式来提高拥塞窗口大小,即20,21,22,23,直到将其调整到慢速启动阈值(SSTHRESH,Slow Start Thr

14、eshold)。在这里,由于试验中定义拥塞窗口大小为32,因此,发生网络拥塞时,SSTHRESH调整为拥塞窗口大小的一半,即16。从图7中可以看出,拥塞窗口大小增长到16后进入线性增长阶段。 (7). 此外,由于拥塞窗口大小的限制,CN在快速重传开始后,前面四次TCP报文段传送速率分别是一次发送20,21,22,23个TCP报文段,这在图4中,表现为红色三角形在40.6秒后的四次发送数量分别是1,2,4,8个。 上述就是根据数据图对重复ACK信令引起的拥塞控制策略进行的分析,如果对此有了充分的理解,那么超时重传的情况也与此类似。因此,接下来我们根据图8至图9来简单说明通过超时重传触发发送端启用

15、TCP拥塞控制策略的情况。 图8 通信节点和移动节点发送端TCP序列号 可以看到, 从图9中可以看到,50.1秒左右,由于MN开始切换,不能够正常接收TCP报文段;并且由于切换时间较长,MN长时间内都不能够给CN进行回应。于是当CN等到自己的重传计时器超时,就再次发送没有得到MN回应的报文段。在50.1秒后,CN分别隔了0.5秒,1.0秒,2.0秒发送了三次同样的TCP报文段,这对应于图8中的标记。该超时重传过程持续到MN最终完成切换配置,并对第三次重发的报文段进行回应,于是两者开始恢复通信。 图9 通信节点和移动节点接收端TCP序列号 4. 小结 通过该试验,一方面我们试验数据分析和验证了T

16、CP的拥塞控制原理;另一方面,我们可以看到,TCP TAHOE模型并不太适合作为无线网络的传输协议。 TCP协议由于出现的比较早,其性能方面的优化主要是基于传输网络为有线网络这个假设,因此,一旦根据重传计时器超时或者重复ACK信令判断出发生了数据包丢失,当前的TCP协议就认为发生了网络拥塞,于是启用网络拥塞策略来降低传输速率,比如慢速启动,将拥塞窗口调整为1个TCP报文段;而实际情况是,我们的传输基于无线网络,当不能够接收到ACK信令的时候,很有可能是因为移动节点正在进行切换或者是无线网络的信号不好,因此,需要发送节点保持或者加快发送速率,而不是减速发送。 适合无线网络运行的TCP协议已经引起了许多研究者的兴趣。考虑到无线网络和有线网络经常混合在一起,有些研究者提出了新的协议模式,如Bakne and Badrinath (1995)提出了indirect TCP,这种方案把连接分为有线和无线两部分,在两部分中分别采用适合各自网络特点的传输协议;有些研究者提出了新的算法,如2003年提出的RFC3522(The Eifel Detection Algorithm for TCP)。总之,无线网络正得到大力发展,它将和有线网络长期并存,这是设计新的传输协议时必须考虑的问题。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!