计算机网络·详解TCP流量控制,拥塞控制,运输连接管理

Posted 只想婧婧的小菜鸡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络·详解TCP流量控制,拥塞控制,运输连接管理相关的知识,希望对你有一定的参考价值。


一、TCP流量控制

  • 目的:让发送方不要发太快(既让接收方接收得过来,又不让网络发生拥塞)
  • 取决于接收方rwnd接收能力
  • 利用连续ARQ协议中的滑动窗口实现
  • 以下面情况为例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 绿色方框为发送端窗口,共移动三次
  • ①②③是在第一个窗口下发送的数据,依次类推
  • 由于201~300丢失,故在第二窗口时发生超时重传
	例题:甲的发送窗口4000字节,TCP报文段封装1000字节数据,甲连续发送了两个报文段,
	乙发回对第一个报文段的接收确认,并且通知甲自己的窗口是2000字节,
	问,甲还能发送多少字节的数据?

乙的窗口是2000B,那么甲的发送窗口也修改为2000B,
在甲的窗口中,连续发送两个报文段后,窗口已经占满,
收到第一个确认后,向前移动1000B,故此时还能发送1000B

二、TCP拥塞控制

  • 取决于cwnd拥塞情况
  • 慢开始:慢开始门限指数级增长
  • 拥塞避免:慢开始之后,线性增长
  • 快重传三个重复的确认,慢开始门限减半从减半后的数值开始,执行拥塞避免
  • 快恢复超时检测,慢开始门限减半从1开始

在这里插入图片描述
在这里插入图片描述

三、TCP运输连接管理

这块内容很多,但我觉得老师讲的很敷衍的亚子

  • 三个阶段:连接建立,数据传送和连接释放

  • 建立方式:C/S,客户–服务器方式

  • 三次握手(连接建立)
    第一次,A 的 TCP 向 B 发出连接请求报文段,其首部中的同步位 SYN = 1,并选择序号 seq =x,表明传送数据时的第一个数据字节的序号是 x。

    第二次,B 的 TCP 收到连接请求报文段后,如同意,则 发回确认。 B 在确认报文段中应使 SYN = 1,使 ACK = 1,
    其确认号ack = x + 1,自己选择的序号 seq = y。

    第三次,A 收到此报文段后向 B 给出确认,其 ACK = 1,确认号 ack = y + 1。A 的 TCP通知上层应用进程,连接已经建立。
    在这里插入图片描述

  • 四次挥手(连接释放)
    在这里插入图片描述
    推荐阅读:
    我终于搞懂了TCP的三次握手和四次挥手(图片案例超详解)

以上是关于计算机网络·详解TCP流量控制,拥塞控制,运输连接管理的主要内容,如果未能解决你的问题,请参考以下文章

尽力详解:计网基础 ·运输层

尽力详解:计网基础 ·运输层

TCP-拥塞控制

计算机网络TCP的可靠传输 流量控制 拥塞控制 详解

运输层协议---TCP协议总结

计算机网络 运输层(下)