计算机网络·详解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流量控制,拥塞控制,运输连接管理的主要内容,如果未能解决你的问题,请参考以下文章