传输层概述
- TCP和UDP
- TCP的头部是20B,IP数据报首部是20B,至少是40B
- 寻址和端口,唯一确定主机当中的进程
- 端口号长度为16bit
- 服务端口号和客户端端口号
- 服务端口号:21(FTP)
- 登记端口号:大于1023
- 提供复用和分用功能
- 可靠传输
- 关键是确认重传机制
UDP协议
- UDP特点:无连接,可靠交于应用层
- UDP首部构成是目的,源的端口号,UDP长度,校验和,一共至少8B
- 伪首部是12B,最后校验和是异或再取反,传输的时候不含伪首部
TCP协议
- 面向连接
- 面向字节流
- TCP的报文字段
- 每一个字节都有一个序号
- 每一个报文中的序列号就是第一个字节的序号
- 确认号,希望收到的下一个序列号
- 数据偏移,表示首部长度,占4位,单位是4B,所以首部长度是4B的整数倍,固定长度是20B
- 校验和和UDP类似,加入伪首部一起校验,协议字段改成6
TCP连接管理
- 建立连接,三次握手:分配缓存和变量。前两次握手,SYN = 1
- 连接释放四次握手
TCP可靠传输
- 可靠:按序接收
- 确认重传机制
- 对于未确认的报文,采用自适应算法
- 收到3次冗余ACK,就会使用快恢复算法
TCP流量控制
- 设计一个计时器,超时发送探测报文
TCP拥塞控制
- 慢开始和拥塞避免
- 快开始和快恢复