分析TCP的拥塞控制原理

合集下载

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拥塞控制算法的核心算法,它通过逐渐增加发送窗口的大小来控制数据的发送速率,以适应网络的拥塞程度。

而拥塞避免算法则是为了防止网络发生拥塞而采取的一种措施,它通过减小发送窗口的大小来控制数据的发送速率。

快速重传算法是一种在网络拥塞时快速重传丢失的数据包的算法,它通过重复发送丢失的数据包来保障数据的可靠传输。

而快速恢复算法则是快速重传算法的改进版本,它通过逐渐增加发送窗口的大小来控制数据的发送速率。

总之,TCP拥塞控制原理是保障网络传输的可靠性和稳定性的关键之一,也是网络性能优化的重要方向之一。

- 1 -。

tcp协议实验报告

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协议的窗口调整与拥塞避免策略(十)

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拥塞控制

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的拥塞控制》课件

《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流量控制原理
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)来判断网络拥塞情况。

tcp使用的阻塞控制机制

tcp使用的阻塞控制机制

tcp使用的阻塞控制机制
TCP使用的阻塞控制机制主要有以下几种:
1.慢启动(Slow Start):这是TCP使用的一种阻塞控制机制,也被称为指数增长期。

在慢启动阶段,TCP每次收到接收窗口的确认时,都会增加已确认段的数目,这种情况一直持续到要么没有新的段收到,要么窗口大小达到预先定义的阈值。

如果发生丢失事件,TCP 就认为这是网络阻塞,就会采取措施减轻网络拥挤。

一旦发生丢失事件或者到达阈值,TCP就会进入线性增长阶段。

2.拥塞控制(Congestion Control):当网络出现拥塞时,TCP 会减少发送的数据量,以避免网络拥塞进一步恶化。

具体来说,当TCP发现网络出现拥塞时,它会将窗口大小减小到1个段,并开始执行“慢启动”算法。

3.快重传(Fast Retransmit):当TCP收到3个以上的相同确认时,就认为数据段丢失了,这时TCP会立即重传丢失的数据段,而不必等待定时器的超时。

4.快恢复(Fast Recovery):在发生数据段丢失后,TCP会立即执行快恢复算法,重新设定拥塞窗口大小,并开始执行“快重传”算法。

这些是TCP主要的阻塞控制机制。

传输控制协议介绍

传输控制协议介绍

传输控制协议介绍一、传输控制协议的概念传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

它在互联网协议(IP)网络通信中起着重要的传输控制作用,确保数据能够可靠、有序、错误校验地从一个主机传输到另一个主机。

TCP提供了一种可靠的、有序的和错误校验的数据传输方式,能够自动处理数据流量控制和数据包的重新发送等任务。

二、TCP的主要特点1.面向连接:TCP是一种面向连接的协议,需要先建立连接才能进行数据传输。

在传输数据之前,需要通过三次握手(three-way handshake)建立可靠的连接。

2.可靠传输:TCP提供了可靠的数据传输服务,能够保证数据的有序、可靠、错误校验的传输。

它通过确认机制、重传机制、流量控制和拥塞控制等机制实现可靠性。

3.字节流:TCP将数据看作字节流,没有消息边界的概念。

发送方和接收方以字节流的形式发送和接收数据,不需要关心数据的具体格式和分段。

4.错误校验:TCP提供了错误校验功能,通过校验和(checksum)对数据包进行错误检测,确保数据在传输过程中没有被损坏或篡改。

5.流量控制:TCP通过流量控制机制防止接收方来不及处理接收到的数据而造成数据丢失。

流量控制基于滑动窗口协议(sliding window protocol),通过动态调整窗口大小来控制发送方的发送速率。

6.拥塞控制:拥塞控制是为了防止过多的数据包同时发送到网络中,导致网络拥塞甚至崩溃。

TCP通过拥塞控制机制(congestion control mechanism)来动态调整发送方的发送速率,确保网络通畅。

三、TCP的工作原理TCP通过一系列机制来保证数据传输的可靠性和有序性。

以下是TCP工作原理的简要概述:1.建立连接:在传输数据之前,需要通过三次握手协议来建立TCP连接。

三次握手包括SYN(synchronize)报文、SYN-ACK(synchronize-acknowledge)报文和ACK(acknowledge)报文,以确认双方都准备就绪并建立可靠的连接。

简述对拥塞控制和避免的相关理解

简述对拥塞控制和避免的相关理解

HUNAN UNIVERSITY计算机网络论文题目:简述对拥塞控制和避免的理解学生姓名田玉祥学生学号20110801129专业班级 2011级计科一班指导老师王东老师2014年04月23日简述对拥塞控制和避免的理解田玉祥摘要:随着网络科技的进步,人们越来越多地提出了包括多媒体通信在内的综合服务要求,拥塞控制现在是Internet研究的热点,在最初的TCP协议中只有流量控制(flow control)而没有拥塞控制,接收端利用TCP报头将接收能力通知发送端.这样的控制机制只考虑了接收端的接收能力,而没有考虑网络的传输能力,导致了网络崩溃(congestion collapse)的发生。

在计算机网络中的链路容量,交换节点中的缓冲区和处理机等,都是网络的资源。

在某段时间,若对网络中的某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。

这种情况就叫做拥塞(congestion)。

若网络中有许多资源同时产生拥塞。

网络的性能就要明显变差,整个网络的吞吐量就将随输入的负荷的增大而下降。

网络中的拥塞来源于网络资源和网络流量分布的不均衡性.拥塞不会随着网络处理能力的提高而消除.拥塞控制算法的分布性、网络的复杂性和对拥塞控制算法的性能要求又使拥塞控制算法的设计具有很高的难度.到目前为止,拥塞问题还没有得到很好的解决。

因此对拥塞控制的讨论是一个很重要的问题,同时对于端到端的流量控制和拥塞控制性能的研究是非常重要的。

关键字:拥塞控制,拥塞,拥塞控制算法,研究Abstract:With the advancement of internet technology, more and more people including multimedia communications, presented a comprehensive service requirements, Internet congestion control is now a hot research,only the flow control without the congestion control, the receiver using the TCP header will receive capability to inform the sender in the first TCP protocol. Such control mechanisms considered only receiving the receive capability, without considering the transmission capacity of the network, resulting in a congestion collaps e occurs.In a computer network link capacity, the buffer and the switch node processors, are resources in the network. At a certain time, if the demand for network resources over a portion of the available resources can provide, network performance would deteriorate. This situation is called congestion.If the network has a lot of resources while producing congestion. Significantly deteriorate the performance of the network is necessary, increasing the throughput of the network will decrease with load input. Congestion in the network and the network resources from the imbalance of the distribution of network traffic. Congestion does not deal with the increase of the network capacity and elimination. Distributed congestion control algorithm, the complexity and performance of the congestion control algorithm and network requirements make congestion control algorithm is designed with a high degree of difficulty so far, congestion problems have not been solved. Therefore, the discussion of thecongestion control is a very important issue, and for the end to end flow control and congestion control study is very important.Keywords:congestion control,congestion,congestion control algorithm,Research引言Internet中拥塞控制的大部分工作是由TCP完成的,目前标准TCP协议的实现都包含了一些避免和控制网络拥塞的算法。

深入理解TCP协议及其源代码-拥塞控制算法分析

深入理解TCP协议及其源代码-拥塞控制算法分析

深⼊理解TCP协议及其源代码-拥塞控制算法分析这是我的第五篇博客,鉴于前⾯已经有很多⼈对前四个题⽬如三次握⼿等做了很透彻的分析,本博客将对拥塞控制算法做⼀个介绍。

⾸先我会简要介绍下TCP协议,其次给出拥塞控制介绍和源代码分析,最后结合源代码具体分析拥塞控制算法。

⼀、TCP协议1.TCP协议产⽣背景:互联⽹络与单个⽹络有很⼤的不同,因为互联⽹络的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包⼤⼩和其他参数,且不同主机的应⽤层之间经常需要可靠的、像管道⼀样的连接,但是IP层不提供这样的流机制,⽽是提供不可靠的包交换。

2.TCP是能够动态地适应互联⽹络的这些特性,⽽且具备⾯对各种故障时的健壮性,且能够在不可靠的互联⽹络上提供可靠的端到端字节流⽽专门设计的⼀个传输协议。

3.TCP作⽤原理过程:应⽤层向TCP层发送⽤于⽹间传输的、⽤8位字节表⽰的数据流,然后TCP把数据流分区成适当长度的报⽂段(通常受该计算机连接的⽹络的数据链路层的最⼤传输单元(MTU)的限制)。

之后TCP把结果包传给IP层,由它来通过⽹络将包传送给接收端实体的TCP层。

TCP为了保证不发⽣丢包,就给每个包⼀个序号,同时序号也保证了传送到接收端实体的包的按序接收。

然后接收端实体对已成功收到的包发回⼀个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进⾏重传。

TCP⽤⼀个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

4.TCP协议作⽤过程的7个要点:数据分⽚、到达确认、超时重发、滑动窗⼝、失序处理、重复处理、数据校验(具体可参见百度百科对TCP的解释)5.TCP⾸部格式图:⼏个重要参数解释如下:紧急 URG —— 当 URG =1 时,表明紧急指针字段有效。

它告诉系统此报⽂段中有紧急数据,应尽快传送(相当于⾼优先级的数据)。

确认 ACK —— 只有当 ACK = 1 时确认号字段才有效。

无线网络TCP拥塞控制综述

无线网络TCP拥塞控制综述
总第 4 4期
S um No. 4 4
湖 南广 播 电 视 大 学 学 报
J u n lo n n Ra i & T lv s n Unv r i o r a fHu a do ee ii ie st o y
21 0 0年第 4 期
N . .O 0 O 4 2 l
无 线 网 络 T P拥 塞 控 制 综 述 C
用ቤተ መጻሕፍቲ ባይዱT P2协议 , C 为用 户 提供 了可靠 的 、 到端 的拥 塞 端
控制 服 务 。 自 2 0世 纪 8 0年 代 以来 , 很 多专 家 学 有
者做 了大 量关 于 T P拥 塞 控 制 机制 的研 究 , 取 得 C 并
重要 成就 , 出现 了大量 的 T P改 进协议 , 括 T P 也 C 包 C
T h o T PR n 、C ak N w R n 、 e a 等 。 ae 、C eo T P Sc 、 e eo V gs 尽管 T P协 议 在 传 统 有 线 网 络 中 已经 能够 实 C
施有 效 的拥 塞 控 制 , 随着 无 线 通 信 技 术 的 飞 速发 但 展 , 有 的 T P拥 塞 控制 机 制 在无 线 网络 中遇 到 了 原 C
的降低 。
究最多的一种方法。端对端传输层 的方法主要通过 检测 端 到端 的测 度 , 如往 返 延 时 RI1单 程 往 返 、 r、 ’ I 包
间间隔 、 C A K速 率 等 , 判 断丢 包 的原 因 。其 中 , 来 比 较著 名 的 有 N P D_ 、C eo 等 。 如 图 1所 C L 3 T PV n ]
优 缺 点 的基 础 上 , 出 了今 后 研 究的 方 向 。 提
关 键 词 : 塞 控 制 ;C ; 线 网络 拥 TP无

TCP的拥塞控制

TCP的拥塞控制

TCP的拥塞控制1.引⾔计算机⽹络中的带宽、交换结点中的缓存和处理机等,都是⽹络的资源。

在某段时间,若对⽹络中某⼀资源的需求超过了该资源所能提供的可⽤部分,⽹络的性能就会变坏。

这种情况就叫做拥塞。

拥塞控制就是防⽌过多的数据注⼊⽹络中,这样可以使⽹络中的路由器或链路不致过载。

拥塞控制是⼀个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。

2.慢开始与拥塞避免发送⽅维持⼀个叫做拥塞窗⼝cwnd(congestion window)的状态变量。

拥塞窗⼝的⼤⼩取决于⽹络的拥塞程度,并且动态地在变化。

发送⽅让⾃⼰的发送窗⼝等于拥塞窗⼝,另外考虑到接受⽅的接收能⼒,发送窗⼝可能⼩于拥塞窗⼝。

慢开始算法的思路就是,不要⼀开始就发送⼤量的数据,先探测⼀下⽹络的拥塞程度,也就是说由⼩到⼤逐渐增加拥塞窗⼝的⼤⼩。

这⾥⽤报⽂段的个数的拥塞窗⼝⼤⼩举例说明慢开始算法,实时拥塞窗⼝⼤⼩是以字节为单位的。

如下图:当然收到单个确认但此确认多个数据报的时候就加相应的数值。

所以⼀次传输轮次之后拥塞窗⼝就加倍。

这就是乘法增长,和后⾯的拥塞避免算法的加法增长⽐较。

为了防⽌cwnd增长过⼤引起⽹络拥塞,还需设置⼀个慢开始门限ssthresh状态变量。

ssthresh的⽤法如下:当cwnd<ssthresh时,使⽤慢开始算法。

当cwnd>ssthresh时,改⽤拥塞避免算法。

当cwnd=ssthresh时,慢开始与拥塞避免算法任意。

拥塞避免算法让拥塞窗⼝缓慢增长,即每经过⼀个往返时间RTT就把发送⽅的拥塞窗⼝cwnd加1,⽽不是加倍。

这样拥塞窗⼝按线性规律缓慢增长。

⽆论是在慢开始阶段还是在拥塞避免阶段,只要发送⽅判断⽹络出现拥塞(其根据就是没有收到确认,虽然没有收到确认可能是其他原因的分组丢失,但是因为⽆法判定,所以都当做拥塞来处理),就把慢开始门限设置为出现拥塞时的发送窗⼝⼤⼩的⼀半。

然后把拥塞窗⼝设置为1,执⾏慢开始算法。

TCP网络拥塞控制研究

TCP网络拥塞控制研究

S u mm a r y o f TCP Ne t wo r k Co n g e s t i o n Co n t r o l Re s e a r c h
KONG J i n-s h e n g, REN Pi ng -y i n g
( Z h e n g z h o u U n i v e r s i t y , Z h e n g z h o u 4 5 0 0 0 1 , C h i n a )
第2 4卷 第 1 期 2 0 1 4年 1 月
计 算 机 技 术 与 发 展
COMP UTER I ' E CHNOL OGY AND DEVEL OP MENT
Vo 1 . 2 4 N o . 1 J a n . 2 0 1 4
T C P网 络 拥 塞 控 制 研 究
也成 为 了一个 热点 问题 , 并且 一直 在不 断地改 进与 完善 。文 中在对 网络 拥塞控 制 与 T C P网络拥 塞控 制原 理 进行 分 析 的基
础上 , 重点 阐述 了 T C P网络拥 塞控 制算 法 。列举 了现有 的 T C P网络拥 塞控 制算 法 , 并 对其 进行分 析 , 对这些 算法 的优 缺 点 进行 了 比较 , 总结 了 T C P拥 塞控 制 目前 的研 究成 果 , 指 明 了未来 的研究 热点 和发 展方 向 。 关 键词 : 网络拥 塞 ; T C P拥塞 控制 ; 控制 算法 ; 研究 热点
中图分 类号 : T P 3 1 文献 标识 码 : A 文章 编号 : 1 6 7 3 — 6 2 9 X ( 2 0 1 4 ) 0 1 — 0 0 4 3 — 0 4
d o i : 1 0 . 3 9 6 9 / j . i s s n . 1 6 7 3 — 6 2 9 X. 2 0 1 4 . 0 1 : I n t h e I n t e me t T CP ( T r a n s mi s s i o n C o n r t o l P r o t o c o 1 )i s t h e mo s t w i d e l y u s e d , S O t h e s t u d y o f T C P n e t w o r k c o n g e s t i o n c o n t r o l

tcp协议拥塞控制算法的基本流程

tcp协议拥塞控制算法的基本流程

tcp协议拥塞控制算法的基本流程
TCP协议的拥塞控制算法主要包括慢开始、拥塞避免、快重传和快恢复四个部分。

下面是这四个部分的基本流程:
1. 慢开始:当TCP连接建立后,拥塞窗口大小初始化为1,然后每经过一个往返时间RTT就将发送方的拥塞窗口大小乘以2,呈指数规律增长,直到达到慢开始门限ssthresh。

2. 拥塞避免:当拥塞窗口大小超过慢开始门限ssthresh后,使用拥塞避免算法,每经过一个往返时间RTT就将发送方的拥塞窗口大小加1,呈线性规律增长。

3. 快重传:如果发送方收到一个重复的ACK或者一个失序的报文段,就认为网络中可能发生了拥塞。

此时,发送方将慢开始门限ssthresh值和拥塞窗口大小调整为当前窗口值的一半,然后执行慢开始算法。

4. 快恢复:当发送方收到三个重复的ACK时,就认为网络中发生了严重拥塞。

此时,发送方将慢开始门限ssthresh值和拥塞窗口大小调整为当前窗口值的一半,然后执行拥塞避免算法。

以上是TCP协议拥塞控制算法的基本流程,主要是通过动态调整发送方的拥塞窗口大小来控制网络拥塞的发生。

分析tcp协议实验报告

分析tcp协议实验报告

分析tcp协议实验报告TCP协议实验报告分析在计算机网络中,TCP(Transmission Control Protocol,传输控制协议)是一种常用的传输层协议,它提供可靠的、面向连接的通信。

TCP协议的设计和实现对于网络通信的稳定性和性能至关重要。

本文将对TCP协议的实验报告进行分析,探讨其关键内容和实验结果。

实验目的和背景首先,实验报告应明确实验的目的和背景。

TCP协议的设计目标是提供可靠的数据传输,确保数据的完整性和顺序性。

通过实验,可以验证TCP协议的可靠性和性能,并分析其在不同网络环境下的适应性。

实验设计和方法实验报告中应包含实验的设计和方法。

实验设计应包括实验所使用的工具和设备,实验所涉及的网络拓扑结构,以及实验过程中的具体步骤和参数设置。

实验方法应明确实验的操作流程和数据采集方式。

实验结果和分析实验报告的重点是实验结果和分析。

实验结果可以包括数据传输速度、丢包率、延迟等性能指标的测量结果。

实验结果应以图表的形式展示,并对结果进行详细的分析。

在分析实验结果时,可以从以下几个方面进行讨论:1. 可靠性:通过实验结果可以评估TCP协议在不同网络环境下的可靠性。

例如,可以比较在高丢包率和低丢包率环境下的数据传输情况,分析TCP协议对丢包的处理能力。

2. 吞吐量:实验结果可以反映TCP协议的吞吐量性能。

通过比较不同网络条件下的吞吐量,可以评估TCP协议在不同网络带宽和拥塞程度下的性能表现。

3. 延迟:实验结果可以反映TCP协议的延迟性能。

通过测量数据传输的延迟时间,可以评估TCP协议在不同网络环境下的响应速度。

4. 拥塞控制:实验结果可以揭示TCP协议的拥塞控制机制。

通过观察拥塞窗口的变化和传输速率的调整,可以评估TCP协议对网络拥塞的响应能力。

实验总结和展望实验报告应包含对实验结果的总结和展望。

总结部分可以对实验结果进行概括,并提出对TCP协议性能的评价和改进建议。

展望部分可以探讨未来可能的研究方向和改进空间,以及对实验结果的进一步分析和验证。

tcp的拥塞控制机制

tcp的拥塞控制机制

tcp的拥塞控制机制TCP的拥塞控制机制是指在网络传输过程中,通过一系列算法和控制策略来避免网络拥塞和保持网络的稳定性。

本文将从TCP拥塞控制机制的基本原理、具体算法以及应用场景等方面进行介绍和分析。

一、TCP拥塞控制机制的基本原理TCP拥塞控制机制的基本原理是通过检测网络拥塞的程度,并根据检测结果采取相应的控制策略来调整数据的发送速率,以保持网络的稳定性和可靠性。

其基本原理包括以下几个方面:1.1 慢启动:当TCP连接刚建立时,发送方将初始拥塞窗口设置为一个较小的值,然后随着时间的推移逐渐增加发送窗口的大小,以逐步探测网络的容量。

这样可以避免在网络刚启动时出现大量数据的拥塞。

1.2 拥塞避免:一旦网络出现拥塞,TCP发送方将根据网络的拥塞程度来调整发送窗口的大小。

具体而言,TCP发送方会根据网络丢包的情况来判断网络拥塞的程度,并相应地减小发送窗口的大小,以降低数据的发送速率。

1.3 快速重传和快速恢复:当TCP发送方检测到丢包时,它会立即重传丢失的数据包,而不是等待超时后再进行重传。

此外,TCP发送方还会根据收到的重复确认来判断网络的拥塞情况,并相应地调整发送窗口的大小,以快速恢复数据的发送速率。

二、TCP拥塞控制算法TCP拥塞控制机制主要通过以下几种算法来实现:2.1 慢启动算法:慢启动算法通过逐渐增加发送窗口的大小来控制数据的发送速率,以避免在网络启动时出现拥塞。

具体而言,慢启动算法将初始拥塞窗口设置为一个较小的值,然后每经过一个往返时间(RTT),发送窗口的大小就翻倍,直到达到一个阈值。

2.2 拥塞避免算法:拥塞避免算法主要通过线性增加发送窗口的大小来控制数据的发送速率,以避免网络拥塞。

具体而言,拥塞避免算法将发送窗口的大小每经过一个RTT就增加一个MSS大小,直到达到一个阈值。

2.3 快速重传算法:快速重传算法主要通过接收到的重复确认来判断网络的拥塞情况,并及时重传丢失的数据包,以提高数据的传输效率。

探析计算机无线网络通信中的传输控制技术

探析计算机无线网络通信中的传输控制技术

探析计算机无线网络通信中的传输控制技术1. 引言1.1 研究背景计算机无线网络通信中的传输控制技术是当前亟待解决的重要问题之一。

随着移动互联网的快速发展和智能设备的普及,人们对无线网络的需求越来越迫切,而传输控制技术的研究则成为提升网络性能和用户体验的关键。

在传统有线网络中,传输控制协议TCP是主要的传输层协议,其流量控制和拥塞控制机制能够有效保证数据的可靠传输。

在无线网络中,由于信道质量不稳定、带宽受限和信号干扰等因素的影响,TCP 协议的性能会受到较大影响,甚至出现严重的性能下降现象。

研究无线网络中的传输控制技术具有重要意义。

通过深入探讨传输控制协议TCP的技术特点、流量控制和拥塞控制等问题,可以为优化无线网络的传输性能提供重要参考。

比较TCP和UDP两种常见的传输协议,探讨它们在无线网络中的应用场景和优缺点,也有助于深入理解无线网络传输控制技术的特点和挑战。

本文将从传输控制协议TCP技术分析、流量控制技术探讨、拥塞控制技术分析等方面入手,探讨无线网络中的传输控制技术,为进一步研究该领域提供理论基础和技术支持。

1.2 研究目的在网络通信中,传输控制技术起着至关重要的作用。

研究的目的在于深入探讨计算机无线网络通信中的传输控制技术,了解其中的原理和应用,为网络通信的稳定性和效率提升提供理论支持和技术指导。

通过对传输控制协议TCP技术、流量控制技术、拥塞控制技术等内容进行深入分析和探讨,旨在揭示其在无线网络通信中的应用场景和优化方法。

本研究旨在比较TCP与UDP的特点与适用情况,为选用合适的传输协议提供参考依据。

通过研究传输控制技术在无线网络中的应用,探索和总结其在实际应用中的优势和不足之处,为未来的网络通信技术发展提供参考和借鉴,促进网络通信技术的进步与完善。

即是深入探究计算机无线网络通信中的传输控制技术,为提升网络通信的效率与稳定性做出贡献。

1.3 研究意义计算机无线网络通信中的传输控制技术在现代信息社会中扮演着至关重要的角色。

网络拥塞控制和流量控制

网络拥塞控制和流量控制

浅析Internet中的拥塞控制和流量控制前言计算机网络在当今社会生活中起到越来越重要的作用,其规模也成爆炸式的增长,应用也越来越广,但是随着人们对网络的要求越来越高,网络拥塞和数据冲突问题已经引起人们的密切关注。

拥塞控制和流量控制技术针对网路中的拥塞和数据冲突而成为网络领域的核心技术。

网络拥塞和流量控制的原理1.网络拥塞的含义网络拥塞指的是在分组交换网络中传送分组的数目太多时,由于存储转发节点的资源有限而造成网络传输性能的下降情况。

网络发生拥塞时,一般会出现数据丢失,时延加大,吞吐量下降,严重时甚至会导致“拥塞崩溃”的现象。

拥塞发生的主要原因在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间、链路带宽容量和中间节点处理能力,由于互联网是基于TCP/IP协议的网络,而TCP/IP 协议提供的是一种“尽力而为”的传输服务,互联网的这种机制导致其缺乏“接纳控制”能力,在网络资源不足时不能限制用户的数量,只能依靠降低服务质量来继续为用户服务。

1网络流量不均衡引起的拥塞$ns duplex-link $n0 $n2 2Mb 10ms DropTail$ns duplex-link $n1 $n2 2Mb 10ms DropTail$ns duplex-link $n2 $n3 2Mb 10ms DropTail如图所示为流量分布的不均衡,图中带宽分布是均衡的,节点0与节点2之间,节点1与节点2之间,节点2与节点3之间链路带宽都是2Mb,在0和1都以2Mb/s 的速率向2发送数据时,在2会发拥塞。

产生拥塞的主要原因:(1)存储空间不足。

当一个端口收到几个输入端口的报文时,接收的报文就会在这个端口的缓冲区中排队。

如果端口没有足够的存储空间存储,在缓冲区占满时,报文就会被丢弃,对突发的数据流更是如此。

适当增加存储空间在某种程度上可以缓解拥塞,但是如果过于增加存储空间,报文会因在缓冲区中排队时间过长而超时,源端会认为他们已经被丢弃而选择了重发,从而浪费了网络的资源,并且进一步加重了网络的拥塞。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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信令的时候,很有可能是因为移动节点正在进行切换或者是无线网络的信号不好,因此,需要发送节点保持或者加快发送速率,而不是减速发送。

相关文档
最新文档