TCP
程序员面试必问:TCP拥塞控制算法-慢开始,加法增大和乘法减小
计算机网络 408 考研【2020年 题38】TCP拥塞控制(字幕版)
计算机网络微课堂第069讲 TCP的拥塞控制(有字幕无背景音乐版) 真不错
TCP 拥塞控制算法
TCP基础
第三个报文段(运输层)承载有效载荷,也就是包含应用层数据(应用层)。
MSS 最大报文段长度,也就是报文段(运输层)里应用层数据的最大长度,1460。(基于链路层帧MTU最大传输单元-1500来设置)
TCP 拥塞控制算法
纵坐标 吞吐量(单位时间内从网络输出的分组数量)
横坐标 输入负载(单位时间内输入给网络的分组数量)
纵坐标 cwnd
横坐标 传输轮次 RTT
慢开始算法 一开始向网络注入的报文段少
变量拥塞窗口cwnd=1,单位MSS(最大报文段长度1046)
cwnd<ssthresh:
指数增长,1收到发2个,2个收到发4个。直到ssthresh慢开始阈值。
cwnd=ssthresh:
慢开始/拥塞避免算法
拥塞避免算法
cwnd>ssthresh:
加法增大 每增加一个往返时间RTT,cwnd+1;
- 发生超时重传(重传计时器超时) 拥塞避免算法 乘法减小 ssthresh慢开始阈值 = ssthresh的一半,cwnd=1。重新回到慢开始算法。
快重传算法
- 收到三个重复确认(在超时重传前进行) 接收方丢失一个包,对后续的包发送对该包的重传请求,发送方收到3个连续的对丢失包的重复确认立即重传丢失包,就快重传。
快恢复算法发送方收到3个重复确认,知道丢失个别报文段,不启动慢开始,而是快恢复算法,cwnd和ssthresh设置为ssthresh的一半,开始拥塞避免算法,cwnd加法增大,即cwnd=cwnd+1;
TCP 流量控制-通过滑动窗口
TCPTCP的运输连接管理
计算机网络第36讲-TCP的运输连接管理(计算机网络简明教程及仿真实验
TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
TCP 为什么是三次握手,而不是两次或四次?
TCP连接的可靠性
UDP和TCP
计算机网络第27讲-UDP和TCP的对比(计算机网络简明教程及仿真实验)
UDP | TCP |
---|---|
一对一、一对多、多对一 | 一对一 |
面向报文的、对应用层交付的报文直接打包 | 面向字节流(流量、拥塞基础) |
首部开销小 8字节 | 首部开销大 20-60字节 |
适用于实时应用 | 适用于要求可靠传输的应用 例如文件传输 |