分析TCP的拥塞控制原理
TCP拥塞控制算法理论及调优实践

TCP拥塞控制算法理论及调优实践TCP(Transmission Control Protocol)是当前Internet上最重要的传输协议之一,其主要特点是提供了可靠的数据传输服务。
然而,在高负载情况下,TCP数据传输过程中容易出现拥塞现象,导致网络性能下降、数据丢失等问题。
因此,TCP拥塞控制算法成为网络性能优化中的重要一环。
TCP拥塞控制算法的原理TCP拥塞控制算法主要基于网络反馈机制实现,在网络出现拥塞时,TCP协议会相应地降低发送数据的速度,以此来缓解网络负载压力。
TCP拥塞控制算法主要包括四种基本算法:Slow Start、Congestion Avoidance、Fast Retransmit和Fast Recovery。
Slow Start算法是TCP拥塞控制算法中最基本的算法之一,其主要原理是当TCP协议开始发送数据时,先以一个较小的速率进行发送,逐渐递增发送速率,同时不断根据网络反馈调整发送速率,直到网络达到拥塞阈值时,TCP协议则根据反馈信息逐渐降低发送速率,以缓解网络拥塞压力。
Congestion Avoidance算法主要是在Slow Start算法的基础上进一步进行优化,其主要想法是当网络出现拥塞时,不仅仅是降低发送速率,同时也要通过降低拥塞窗口大小来减少拥塞现象的发生。
Fast Retransmit算法主要是当发送方在经过一段时间后始终没有收到确认数据包时,则会认为数据包已经丢失,此时会立即重发数据包以避免数据包过多地停留在网络中发生拥塞现象。
这种方式可以大大缩短丢包重传的时间,提高数据传输的时效性。
Fast Recovery算法主要是在Fast Retransmit中进一步进行优化,当收到重复的确认数据包时,TCP协议会认为数据包已经被正确接收,此时会立即完成重传操作并根据网络反馈情况以逐渐增加发送速率的方式来提高数据传输效率。
TCP拥塞控制算法的调优实践TCP拥塞控制算法的调优是一项非常复杂的工作,需要综合考虑网络拓扑结构、流量类型、网络负载情况等多个因素。
tcp拥塞控制原理

tcp拥塞控制原理
TCP拥塞控制原理是指在网络拥塞的情况下,TCP协议通过控制
发送窗口大小,从而控制网络流量的过程。
TCP拥塞控制算法的主要目标是在网络拥塞时控制数据的发送,以避免网络的拥塞进一步加剧,导致网络性能的下降和数据包的丢失。
TCP拥塞控制算法主要包括四种:慢启动、拥塞避免、快速重传和快速恢复。
其中,慢启动算法是TCP拥塞控制算法的核心算法,它通过逐渐增加发送窗口的大小来控制数据的发送速率,以适应网络的拥塞程度。
而拥塞避免算法则是为了防止网络发生拥塞而采取的一种措施,它通过减小发送窗口的大小来控制数据的发送速率。
快速重传算法是一种在网络拥塞时快速重传丢失的数据包的算法,它通过重复发送丢失的数据包来保障数据的可靠传输。
而快速恢复算法则是快速重传算法的改进版本,它通过逐渐增加发送窗口的大小来控制数据的发送速率。
总之,TCP拥塞控制原理是保障网络传输的可靠性和稳定性的关键之一,也是网络性能优化的重要方向之一。
- 1 -。
tcp协议实验报告

tcp协议实验报告TCP协议实验报告一、引言在计算机网络中,TCP(Transmission Control Protocol)是一种常用的传输层协议,负责实现可靠的数据传输。
本实验旨在通过对TCP协议的实验研究,深入理解其工作原理和性能特点。
二、实验目的1. 理解TCP协议的基本原理和机制。
2. 掌握TCP协议的连接建立、数据传输和连接释放过程。
3. 了解TCP协议的流量控制和拥塞控制机制。
三、实验环境1. 操作系统:Windows 102. 实验工具:Wireshark、Python四、实验过程1. 连接建立在实验中,我们使用Python编写了一个简单的TCP服务器和客户端程序。
首先,客户端向服务器发起连接请求(SYN包),服务器接收到请求后发送确认包(SYN+ACK包),最后客户端发送确认包(ACK包)完成连接建立过程。
2. 数据传输在连接建立后,我们通过客户端向服务器发送数据,观察数据在网络中的传输情况。
Wireshark工具可以捕获和分析网络数据包,我们可以通过它来查看TCP 数据包的详细信息,包括源地址、目的地址、序列号、确认号等。
3. 连接释放当数据传输完成后,我们需要关闭TCP连接。
在实验中,我们模拟了正常关闭连接和异常关闭连接两种情况。
正常关闭连接时,客户端和服务器分别发送FIN包和ACK包,最后双方都发送FIN包完成连接释放。
异常关闭连接时,我们可以通过强制关闭客户端或服务器进程来模拟,观察TCP协议对连接异常关闭的处理过程。
五、实验结果通过实验,我们观察到TCP协议的一些重要特点和性能表现:1. 可靠性:TCP协议通过序列号和确认号机制,确保数据的可靠传输。
如果接收方收到的数据包乱序或丢失,TCP协议会要求发送方重新发送。
2. 流量控制:TCP协议通过滑动窗口机制实现流量控制,防止发送方发送速度过快导致接收方无法处理。
当接收方缓冲区已满时,会发送窗口为0的ACK包,告知发送方暂停发送。
TCP协议的窗口调整与拥塞避免策略(十)

TCP(Transmission Control Protocol,传输控制协议)是一种在计算机网络中广泛使用的协议,它负责将数据在网络中可靠地传输。
而TCP的窗口调整与拥塞避免策略是TCP实现高效传输的关键。
一、TCP的基本原理TCP采用了一种称为“三次握手”的连接建立方式,这意味着发送方和接收方需要互相确认才能建立连接。
一旦建立了连接,TCP就开始进行数据的传输。
TCP通过使用序号、确认和重传机制来保证数据的可靠性。
二、TCP的窗口调整在发送数据过程中,发送方和接收方都有一个窗口的概念,窗口的大小决定了能够连续发送的数据量。
TCP的窗口调整策略旨在根据网络的情况动态地调整窗口的大小,以达到较高的传输效率。
1. 慢启动TCP的窗口调整策略中有一种被称为慢启动的算法。
在慢启动过程中,发送方在开始时以较小的窗口大小发送数据,然后根据接收方的确认逐渐增加窗口的大小。
这种策略的初衷是为了尽量避免网络拥塞。
2. 拥塞避免除了慢启动之外,TCP还采用了拥塞避免算法来调整窗口的大小。
在传输过程中,如果发现网络出现了拥塞情况,TCP会适当地减小窗口的大小,以降低对网络的负载压力。
拥塞避免策略可以使得TCP在网络拥塞时能够调整自身的传输速率,防止网络资源的过度占用。
三、TCP的拥塞控制TCP的拥塞控制是指通过一系列的算法和机制来监测网络的拥塞情况,并相应地调整数据的传输速率。
TCP的拥塞控制策略包括以下几个方面:1. 拥塞窗口TCP的拥塞控制机制中有一个重要的参数就是拥塞窗口。
拥塞窗口指的是发送方能够连续发送的数据量。
通过动态调整拥塞窗口的大小,TCP能够在网络出现拥塞时及时进行调整,避免网络资源的过度占用。
2. 拥塞信号TCP的拥塞控制还需要一些反馈机制来获取网络的拥塞情况。
这些反馈机制包括接收方发送的确认信号和超时重传机制。
通过分析这些反馈信号,TCP可以判断网络是否出现了拥塞,并相应地调整数据的传输速率。
TCP拥塞控制

计算机网络
往返时延RTT优化
往返时间RTT
往返时间:
往返时间(RTT)是指从数据段发送开始,到接 收到该数据段对应应答所经历的时间,主要由链路传播时 间、端系统处理时间和路由器排队/处理时间组成。 对同一个TCP连接,链路传播时间、端系统处理 时间相对固定,因此,网络拥塞情况可通过路由器排队/ 处理时间的变化而推断。
其中: pi为第i条路径的丢包率, RTTi为第i条路径的往返时延, b为每个ACK应答的分组数, pktsize为分组的大小, n为路径的总数。
基于MFD的多路径算法
可见, 要在给定的网络条件下提高端到端吞吐率, 必须减小往返时延RTTi。路径的往返时延是正向路径时延 以及反向路径时延之和。 第i条路径对应的正向路径时延为fi, 反向路径时延 为ri.不失一般性,假设ri≤ri +1(1≤i≤n)。如果采取MTCP算法, 则RTTi =fi+ri。 为了提高吞吐率,可以采用最小反馈时延MFD的多径 传输协议, 即选取时延最小的反向路径来传输应答分组。 MFD可以减少各条路径的往返时延 RTT‘i=fi+r1<fi+ri=RTTi ,从而提高端到端的吞吐率, 降低拥塞。
Freeze-TCP
Freeze-TCP用于解决主机移动所引起的丢包. 主要思想: 让移动主机监测无线信号的能量,并检测出即将发生 的主机切换事件.当切换即将发生时,移动主机向发送者 发送一个通告窗口为零的反馈,从而迫使发送者进入零窗 口探测模式. 在零窗口探测模式中,发送者不会改变它的拥塞窗口 和超时计时器的时长.
RTT分析
在无线环境下,忽略链路传播时延的前提下,在误码 丢包的作用下,RTT呈现无规律变化,且有趋小趋势. 因此,在无线环境下,考察RTT的变化区分误码丢 包与拥塞丢包进行发送速率的调整是可行的:在RTT变 小时,说明网络拥塞丢包风险小,拥塞窗口向下调整幅度 应较小;在RTT变大时,说明网络拥塞丢包风险大,拥 塞窗口向下调整幅度应较大,是符合无线网络实际情况的。
《TCP的拥塞控制》课件

慢开始和拥塞避免算法的实现举例
拥塞窗口 cwnd
24 20
ssthresh 的初始值16
拥塞避免 “加法增大”
网络拥塞
拥塞避免 “加法增大” “乘法减小”
新的 ssthresh 值12
慢开始
8
4
指数规律增长
传输轮次
0
0 2 4 6 8 10 12 14 16 18 20 22
慢开始
慢开始
发送端的发送窗口不能超过拥塞窗口 cwnd 和接收端 窗口 rwnd 中的最小值。我们假定接收端窗口足够大, 因此现在发送窗口的数值等于拥塞窗口的数值。
● 使用慢开始算法后,每经过一个传输轮次,拥塞窗 口 cwnd 就加倍。
● 一个传输轮次所经历的时间其实就是往返时间 RTT。
●“传输轮次”更加强调:把拥塞窗口 cwnd 所允许 发送的报文段都连续发送出去,并收到了对已发送 的最后一个字节的确认。
● 例如,拥塞窗口 cwnd = 4,这时的往返时间 RTT 就是发送方连续发送 4 个报文段,并收到这 4 个报 文段的确认,总共经历的时间。
慢开始算法的原理
●在主机刚刚开始发送报文段时可先设置拥塞 窗口 cwnd = 1,即设置为一个最大报文段 MSS 的数值。
●在 每 收 到 一 个 对 新 的 报 文 段 的 确 认 后 , 将 拥 塞窗口加 1,即增加一个 MSS 的数值。
●用 这 样 的 方 法 逐 步 增 大 发 送 端 的 拥 塞 窗 口 cwnd,可以使分组注入到网络的速率更加合 理。
cwnd = 1 cwnd = 2
发送方每收到一个对新报文段的确认 (重传的不算在内)就使 cwnd 加 1。
发送方
接收方
发送 M1
tcp流量控制原理

tcp流量控制原理
TCP流量控制是一种网络传输机制,用于控制发送端发送数据的速率,以防止接收端的缓冲区溢出或丢包。
它通过接收端发送的确认信号(ACK)来实现。
TCP流量控制主要涉及两个因素:窗口大小和拥塞窗口。
窗口大小是接收端向发送端传达的一个数值,表示接收端能够接收的数据量。
发送端应根据此值来控制发送速率。
接收端会在每个ACK中返回一个窗口大小,如果窗口大小为0,则表示接收端的缓冲区已满,发送端应暂停发送。
拥塞窗口是发送端自己设置的一个变量,用于限制当前发送到网络中的数据量。
发送端根据拥塞窗口大小来控制发送速率。
当网络拥塞时,拥塞窗口会减小,以降低发送速率,从而减少拥塞程度。
具体来说,TCP流量控制通过以下步骤实现:
1. 发送端向接收端发送数据段,并将其添加到发送缓冲区中。
2. 接收端接收到数据段后,将其从接收缓冲区中取出,并发送ACK确认信号给发送端,同时返回当前窗口大小。
3. 发送端收到ACK确认信号后,根据接收端返回的窗口大小和当前的拥塞窗口大小,决定下一次发送的数据段数量。
4. 发送端重复以上步骤,不断调整发送速率,以适应网络的变化情况。
通过TCP流量控制,发送端和接收端能够保持相对稳定的数据传输速率,从而实现高效可靠的数据传输。
它能够根据网络状况和接收端的处理能力动态调整发送速率,以提高传输效率和减少数据丢失的可能性。
计算机网络中的拥塞控制方法与算法

计算机网络中的拥塞控制方法与算法一、引言计算机网络中的拥塞控制是确保网络流量不过载的重要机制,它能够有效地提高网络的性能和可靠性。
本文将介绍计算机网络中常用的拥塞控制方法与算法,并详细讨论它们的步骤和原理。
二、拥塞控制方法1. 阻塞停止(Blocking)阻塞停止是一种简单直观的拥塞控制方法,当检测到网络拥塞时,停止向网络发送数据。
虽然该方法的实施简单,但会导致网络资源的浪费和延迟增加。
2. 慢启动(Slow Start)慢启动是一种靠增大发送数据的速率来探测网络容量的拥塞控制方法。
该方法的步骤如下:- 发送方初始化拥塞窗口大小为一个较小的值。
- 每当成功接收到一个确认消息,拥塞窗口增加一倍。
- 如果网络拥塞,发送方被告知发生拥塞,拥塞窗口大小减半。
3. 拥塞避免(Congestion Avoidance)拥塞避免是一种通过缓慢提高发送速率和避免拥塞的方法。
该方法的步骤如下:- 与慢启动类似,发送方初始化拥塞窗口大小为一个较小的值。
- 每当成功接收到一个确认消息,拥塞窗口根据一定的算法增加一定量。
- 如果网络拥塞,发送方根据一定的算法减小拥塞窗口大小。
4. 拥塞发现(Congestion Detection)拥塞发现是一种通过检测网络丢包情况来判断是否发生拥塞的方法。
该方法的步骤如下:- 发送方一旦检测到数据包丢失,就认为网络发生了拥塞。
- 发送方采取相应的拥塞控制策略,如减小拥塞窗口大小。
- 当拥塞窗口大小减小到适当的程度时,发送方重新开始慢启动或拥塞避免。
三、拥塞控制算法1. 加法增乘法减(Additive Increase Multiplicative Decrease,AIMD)AIMD是一种经典的拥塞控制算法,用于TCP协议。
该算法的步骤如下:- 每当成功接收到一个确认消息,发送方增加拥塞窗口大小一个固定值。
- 如果网络拥塞,发送方减小拥塞窗口大小为当前大小的一半。
2. TCP-VegasTCP-Vegas是一种基于拥塞窗口的拥塞控制算法,通过测量往返时间(RTT)来判断网络拥塞情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分析TCP的拥塞控制原理TCP是Transmission Control Protocol的缩写,即传输控制协议,它对应于OSI七层模型中的传输层,建立于网络层之上。
TCP旨在给互联网提供一种可*的端到端的字节传输流。
自从1988年问世以来,TCP在研究者的努力下先后得到了许多新的发展,目前主要的模型包括四个,即TCP TAHOE,TCP RENO,TCP NEWRENO和TCP SACK。
TCP TAHOE 模型是最早的TCP协议之一,它由Jacobson提出。
Jacobson观察到,TCP报文段(TC P Segment)丢失有两种原因,其一是报文段损坏,其二是网络阻塞,而当时的网络主要是有线网络,不易出现报文段损坏的情况,网络阻塞为报文段丢失的主要原因。
针对这种情况,TCP TAHOE对原有协议进行了性能优化,其特点是,在正常情况下,通过重传计时器是否超时和是否收到重复确认信息(dupack)这两种丢包监测机制来判断是否发生丢包,以启动拥塞控制策略;在拥塞控制的情况下,采用慢速启动(Slow Start)算法和快速重传(Fast Retransmit)算法来控制传输速率。
在试验中,我们以TCP TAHOE模型为例,对TCP的拥塞控制原理进行分析,包括两种丢包监测机制和拥塞控制中的慢速启动算法和快速重传算法。
1. TCP拥塞控制相关技术简介1.1 慢速启动算法在TCP TAHOE模型中,拥塞控制主要是通过调整发送端的发送速率,而这又主要是通过三个变量实现的:拥塞窗口(Congestion Window),接收端窗口(Receivers’s W indow),慢速启动阈值(Slow Start Threshold,SSTHRESH)。
发送端一旦监测到数据包丢失(其原因可能是重传计时器超时,亦可能是收到重复的ACK信令),它就会开始调整发送速率。
这包括,ssthresh调整为当前拥塞窗口的一半,同时拥塞窗口将降低到1个报文段。
然后,随着通信过程的恢复,拥塞窗口持续增长。
在拥塞窗口大小未达到ssthresh之前,它以指数速度增长;到达之后则开始线性增长。
有趣的是,虽然这种算法称为慢速启动算法,但实际上一点儿也不慢,它是指数增长的。
1.2 快速重传算法当发送端连续收到3个对应于同一个序列号的ACK信令时,就触发了其快速重传算法,即发送端不等重传计时器超时,立即向接收端发送指定的报文段。
1.3 丢包检测机制有如下两种(1). 重复ACK信令重复ACK有两个作用,其一,发送端可以确信该ACK序列号之前的TCP报文段都已经被接收端成功接收;其二,发送端可以据此判断出接收端接收到的TCP报文段发生了乱序的情况和接收端当前期待的TCP报文段序列号,从而触发其拥塞控制策略。
(2). 超时重传发送端发出报文段后,在规定的时间内没有能够收到接收端返回的ACK信令,从而使得发送端认为该报文段丢失,触发其拥塞控制策略。
在这里面主要涉及到重传计时器(retransmission timer),它是TCP协议中最重要的计时器。
根据《Computer Netw orks, Fourth Edition》,当报文段发出后,重传计时器立即启动,如果发送端在计时器超时之前得到ACK,则计时器停止;如果计时器超时后仍然没有收到ACK,那么报文段就重传,并且计时器重新启动。
计算超时的主要公式有:Timeout = RTT + 4×DD = α D + (1-α) | RTT - M |RTT = α RTT + (1-α) M其中M 、RTT、D均为可变值,M是当次的RTT值。
2. 试验网络拓扑图与参数该试验基于NS-2网络模拟器,并在我们之前搭建好的无线环境中进行,试验目的是分析TCP拥塞控制原理。
图1是试验网络拓扑图。
由于网络层协议是移动IPv6,因此有名称为通信节点(C orresponding Node,CN)、家乡代理(Home Agent,HA)、接入路由器(Access Rou ter,AR)、移动节点(Mobile Node,MN)的网络实体,其中CN为数据发送端,MN为数据接收端,AR是接入路由器,HA则对于我们这次的试验没有影响,因此不予介绍。
N odeX为普通网络节点。
网络链路的典型参数,即带宽和延迟,标于每条链路之上。
一般情况下,由于Internet上传送的数据量大,相应的延迟比较大,因此Intern et的延迟设为了50ms;无线网络的带宽比较小,因此我们设为了1M。
整个试验过程持续80秒。
CN为FTP型的数据源,TCP报文段大小为256bytes,拥塞控制窗口(Conges tion Window)为32。
CN从第6秒开始向MN1发送TCP报文段,一直到整个试验结束。
该TCP协议采用NS-2中的Tahoe模型。
两个接入路由器(Access Router,AR)分别接入两个局域网,它们的位置分别为(85.0,135.0),(155.0,135.0),相隔70米,A R的有效覆盖范围是以AR自身为中心,半径40米的圆,又因为PAR和NAR在纵坐标相同,因此在他们两者的中心连线上,有10米重复的覆盖范围。
MN从第5秒开始接收CN发送过来的FTP数据,经过5秒钟的稳定时间后,于第1 0秒以1m/s的恒定速度由位置(85.0,135.1)走到(155.0,135.1)处,相当于沿着PAR与NAR的中心连线,由PAR走向NAR处。
试验进行到第80秒的时候,MN刚好走到目的地。
对于网络节点而言,没有配置好网络层就不能够正常的进行传输层通信。
在该试验中,MN在移动过程中会发生切换,其间由于MN需要进行网络层的配置将不能够进行正常的传输层通信,因此CN会监测到报文段丢失的情况,并且会启动其拥塞控制策略,这就是我们观察的重点。
3. 试验与分析我们的测试分为两部分。
第一部分试验以重复ACK信令作为TCP拥塞控制策略的触发事件,第二部分试验以超时重传作为TCP拥塞控制策略的触发事件。
每部分都做10次模拟试验以求试验数据的客观性。
当试验结束后,我们用XGRAPH制图,有两种类型。
第一种为TCP序列号图,它们基于通信节点(发送报文段的节点)和移动节点(接收报文段的节点)的发送和接收缓存中的TCP序列号制成,能反映TCP报文段的传输情况,这类图的横坐标为时间,纵坐标为TCP序列号。
第二类图为拥塞窗口变化图,能反映数据包的传输速率,这类图的横坐标为时间,纵坐标为拥塞窗口大小。
首先我们根据图2至图7来分析通过重复ACK信令触发CN(发送节点)启用TCP 拥塞控制策略的情况。
图4 通信节点和移动节点发送端TCP序列号详图图5 通信节点和移动节点接收端TCP序列号详图图6 通信节点拥塞控制窗口变化图7 通信节点拥塞控制窗口变化详图其中,图2至图5是试验期间CN(通信节点,在试验中又是发送节点)和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都会回应一个ACK信令,在图中表现为纵坐标相同;(3). 由于MN接收的报文段序列号有缺口,意味着它收到了乱序的报文段,因此M N发送了一连串的重复ACK信令,对应于图4中一段平行于时间轴的直线;(4). 40.6秒左右,CN收到一连串的来自MN的重复ACK信息,即图5中一段平行于时间轴的直线,这就触发了CN的拥塞控制策略及快速重传算法;(5). 根据快速重传算法,CN在收到第3个重复确认信令后,不等重传计时器超时,立即发送MN在ACK信令中所指定的报文段,因此在图4中,在40.6秒时间轴的右方,有个红色的三角形,即代表CN发出的TCP报文段。
快速重传算法在此处加速了通信速度,因为,CN与MN间的RTT(Round Trip Time)至少为它们之间网络延迟之和的两倍,即112毫秒,RTO(Retransmission Time Out)还要更长,如果等到RTO超时再重发数据包,则需要花至少112毫秒;但实际上,从图4中可以看出,CN重发数据包只花了4 0毫秒左右的时间。
因此,快速重传在这里发挥了作用。
(6). 与此同时,在图7中可以看到,启动拥塞控制策略后,CN对拥塞窗口大小进行了调整,首先是在40.6秒左右降到1个报文段,然后根据慢速启动算法,CN以指数形式来提高拥塞窗口大小,即20,21,22,23,直到将其调整到慢速启动阈值(SSTHR ESH,Slow Start Threshold)。
在这里,由于试验中定义拥塞窗口大小为32,因此,发生网络拥塞时,SSTHRESH调整为拥塞窗口大小的一半,即16。
从图7中可以看出,拥塞窗口大小增长到16后进入线性增长阶段。
(7). 此外,由于拥塞窗口大小的限制,CN在快速重传开始后,前面四次TCP报文段传送速率分别是一次发送20,21,22,23个TCP报文段,这在图4中,表现为红色三角形在40.6秒后的四次发送数量分别是1,2,4,8个。
上述就是根据数据图对重复ACK信令引起的拥塞控制策略进行的分析,如果对此有了充分的理解,那么超时重传的情况也与此类似。
因此,接下来我们根据图8至图9来简单说明通过超时重传触发发送端启用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. 小结通过该试验,一方面我们试验数据分析和验证了TCP的拥塞控制原理;另一方面,我们可以看到,TCP TAHOE模型并不太适合作为无线网络的传输协议。
TCP协议由于出现的比较早,其性能方面的优化主要是基于传输网络为有线网络这个假设,因此,一旦根据重传计时器超时或者重复ACK信令判断出发生了数据包丢失,当前的TCP协议就认为发生了网络拥塞,于是启用网络拥塞策略来降低传输速率,比如慢速启动,将拥塞窗口调整为1个TCP报文段;而实际情况是,我们的传输基于无线网络,当不能够接收到ACK信令的时候,很有可能是因为移动节点正在进行切换或者是无线网络的信号不好,因此,需要发送节点保持或者加快发送速率,而不是减速发送。