`

滑动窗口与拥塞控制

 
阅读更多
滑动窗口:用作流量控制:
1.发送端和接收端各维护一个独立的发送缓冲区和接收缓冲区
2.窗口是一段允许被发送的字节序列
3.接收端会根据接收端缓冲区告诉发送端自己的接收窗口大小,它不像发送端,当发出一个数据段超时,就可以认为网络已经拥塞了
4.发送端会根据这个窗口大小发送数据
5.接收端收到数据后会回复确认ACK,此ACK有可能累积,收到多个报文端回复一个ACK
6.发送端收到确认号,发送窗口向前移动,并关闭重传定时器,将数据备份从队列中删除,否则要重传数据


拥塞控制:流量控制只考虑发送端和接收自身的状况,而拥塞控制则是基于整个网络来考虑的,如果网络中所有的超时都重传则会导致更大的丢包
cwnd(拥塞窗口):发送方为一个动态变化的窗口取名拥塞窗口,大小取决于网络的拥塞程度.发送方一般让自己的发送窗口等于拥塞窗口.网络好的时候,它会不断变大
ssthresh(慢速启动阈值):由发送方保存这样一个变量,当拥塞窗口中的字节达到这个阈值时,拥塞控制算法需调整,在大多数实现中,ssthresh值是65536个字节

拥塞控制算法:
例:初始cwnd等于1,ssthresh等于20,网络拥塞等于28
1.拥塞避免:1,2,3,4,5,6...28

2.慢启动(AMID:加法增大,乘法减小):
a.1,2,4,8,16,20(cwnd翻倍时不能超过ssthresh)...28(出现拥塞,将ssthresh设置为cwnd的一半14,cwnd设置1,然后重复此过程)//乘法减小*1/2
b.1,2,4,8,14,(cwnd(14)等于sthresh(14),停用慢启动,采用拥塞避免算法),15,16,17,...27//加法增大,+1

3.快重传:接收方收到一个失序的报文段后就立刻发出重复确认,而不是等待自己发送数据时才进行捎带确认
a.1,2,4,8,16,20,21...28
b.发送方发送...27,28时,收到...25,26,27的ack,但没有收到28的ack
c.接收方是会确认...27的ack,但不会确认28的ack,这样会不断回复28的ack
d.发送方在连接收到三个28的ack时,则不必等重传计时器超时,直接进行重传未确认的28

4.快恢复
a.1,2,4,8,16,20...28
b.发送方在连接收到三个28的ack时,将(ssthresh减半设置为14,cwnd设置为ssthresh的一半7)
c.7,8...28

无论是慢启动,还是快恢复在出现网络拥塞时,都会快速下降ssthresh和cwnd,以减小注入到网络中的分组数
分享到:
评论

相关推荐

    TCP滑动窗口、流量控制及拥塞控制详解.docx

    TCP 滑动窗口、流量控制及拥塞控制详解 TCP 滑动窗口是 TCP 协议中的一种流量控制机制,它可以控制发送方的发送速度,避免网络拥塞和数据丢失。下面我们将详细介绍 TCP 滑动窗口、流量控制及拥塞控制的原理和机制。...

    TCP重传 滑动窗口 流量控制 拥塞控制 330-371

    "TCP 重传、滑动窗口、流量控制、拥塞控制" TCP 是一个可靠的传输协议,它为了保证可靠性,使用了许多机制来保证,如序列号、确认应答、重发控制、连接管理以及窗口控制等。今天,我们将重点介绍 TCP 的重传机制、...

    六、TCP重传、滑动窗口、流量控制、拥塞控制1

    TCP 使用滑动窗口大小作为流量控制的手段,接收方会告诉发送方其当前可以接收的缓冲区大小,发送方据此调整发送速率。 4. **拥塞控制** - 拥塞控制是防止过多的数据同时充斥在网络中,造成网络拥塞。TCP 使用慢...

    p164 - p198 TCP重传 滑动窗口 流量控制 拥塞控制

    TCP重传、滑动窗口、流量控制、拥塞控制 TCP重传机制是保证数据传输的可靠性的重要机制。其中超时重传是TCP重传机制的一种方式,即在发送数据时,设定一个定时器,当超过指定的时间后,没有收到对端的ACK确认应答...

    TCP Sliding Window滑动窗口协议演示动画

    TCP滑动窗口协议是传输控制协议(TCP)中一种重要的流量控制机制,它确保了数据在两...在实际网络环境中,滑动窗口协议与拥塞控制算法(如慢启动、快速重传和快速恢复等)相结合,为互联网提供了高效且可靠的通信服务。

    计算机网络课件:4_7_6 TCP协议的流量控制与拥塞控制.pptx

    计算机网络课件:TCP协议的流量控制与拥塞控制 ...通过滑动窗口协议、慢开始和拥塞避免算法、拥塞窗口和慢开始门限等机制,TCP 协议能够避免发送方的数据传输速度超过接收方的接收能力,防止网络出现拥塞的情况。

    datalink_BUPT_计网大作业_滑动窗口协议_

    6. **拥塞控制**:在TCP中,滑动窗口还用于检测和缓解网络拥塞。一旦检测到可能的拥塞,窗口大小会减小,从而减少网络中的数据流量。 在这个大作业中,"datalink.c"可能包含了实现滑动窗口协议的逻辑,包括窗口管理...

    滑动窗口简单讲解,PPT

    此外,滑动窗口协议还涉及到流量控制和拥塞控制。流量控制确保发送方不会过快地发送数据,使得接收方能够处理;拥塞控制则是防止网络中过多的数据导致拥塞,两者通常通过调整窗口大小来实现。 例如,当接收方发现...

    滑动窗口协议模拟程序

    4. **TCP滑动窗口**:TCP协议使用滑动窗口来实现流量控制和拥塞控制。它的窗口大小不仅取决于接收方的能力,还根据网络状况动态调整。TCP使用慢启动、拥塞避免、快速重传和快速恢复算法来适应网络环境。 滑动窗口...

    UDP可靠性传输(使用滑动窗口机制实现)

    3. **滑动窗口**:这是实现UDP可靠性传输的关键技术,通过动态调整发送窗口的大小来控制数据发送速率。 4. **网络**:涵盖了整个网络通信的背景知识。 5. **课程设计**:可能是指这是一个教育项目或课程的一部分,...

    滑动窗口协议

    此外,滑动窗口协议还可以结合其他协议,如TCP的滑动窗口机制,它在传输层使用累积确认和选择重传,有效地实现了流量控制和拥塞控制。TCP的滑动窗口不仅考虑了接收方的能力,还通过慢启动、拥塞避免和快速重传/快速...

    滑动窗口机制及TCP中的相关实现

    在TCP中,滑动窗口机制结合了确认、重传和流量控制策略,确保了数据的可靠传输和网络拥塞的预防。TCP连接的每一端都有一个动态调整的滑动窗口,通过ACK(确认)报文来反馈接收情况,通过窗口大小通告来限制发送速率...

    课程设计报告-滑动窗口协议仿真.doc

    滑动窗口协议是一种数据传输协议,它能够解决网络拥塞问题,提高数据传输的效率。在本课程设计报告中,我们将对滑动窗口协议的基本原理进行深入的分析和讨论,并使用 VC++ 进行编程模拟。 一、滑动窗口协议的基本...

    计网滑动窗口.zip

    滑动窗口协议是计算机网络中传输层的一种流量控制机制,主要应用于TCP(传输控制协议)中,用于确保数据的正确顺序接收和防止拥塞。在本实验“计网滑动窗口.zip”中,北邮计算机网络课程的学生们将深入理解和实践这...

    深入理解TCP:流量控制与拥塞控制机制解析

    通过本文的分析,我们了解了流量控制的滑动窗口协议、接收窗口调整,以及拥塞控制的多种算法和协同工作方式。同时,我们也探讨了实际应用中的考虑和现代TCP的改进方向。 本文详细介绍了TCP的流量控制和拥塞控制机制...

    滑动窗口算法

    滑动窗口算法是一种在网络通信中用于流量控制的重要机制,尤其是在数据链路层和传输层中,它有效地解决了数据包的有序传输和拥塞控制问题。本文将深入探讨滑动窗口算法的工作原理、关键概念以及在有限序列号空间中的...

    全网最全面的RDMA拥塞控制教程

    然而,UDP缺乏TCP的可靠性机制,如滑动窗口和确认应答,因此在面临网络拥塞和丢包时,需要一套专门的解决方案来确保数据的可靠传输。为了充分发挥RDMA的性能,构建无损网络至关重要,这意味着网络需要能有效防止丢包...

    计算机通信网络--滑动窗口协议

    滑动窗口协议是计算机通信网络中一种重要的流量控制机制,主要应用于数据传输的可靠性与效率。在TCP/IP协议栈中,TCP(传输控制协议)就使用了滑动窗口协议来确保数据的正确发送和接收。滑动窗口协议允许发送方在...

Global site tag (gtag.js) - Google Analytics