网络传输
网络层提供了端到端的连接功能(无连接的、尽最大努力交付(best-effort delivery)的数据报服务)
UDP (User Datagram Protocol):
根据端口号进行多路复用
Q1:why?为什么需要UDP协议?
A1:不需要建立连接、不需要维护状态(减少启动延迟,例如DNS),不需要可靠传输(例如视频直播等应用),作为最基本的传输层协议,上层应用可实现更多功能、按需定制(例如UDT、QUIC等)。
TCP
TCP是一种面向字节流的传输协议
TCP将数据分割到不同的数据包
多路复用
连接管理
建立连接:3次握手
关闭连接:4次握手
TCP数据传输
可靠数据传输
(1):丢包检测和重传
(2):发送速率不能超过接收方接收能力
(3):尽可能多利用网络带宽
流量控制
利用滑动窗口实现流量控制
拥塞控制
慢开始,拥塞避免,快重传,快恢复
快速重传:如果一个数据包后面的三个数据包都被确认,而该数据包还未收到确认,则认定该数据包丢失,并重传该数据包
TCP优化
TCP丢包重传优化
提升重传效率,减少超时重传的比例,改进短流完成时间
TCP拥塞控制算法优化
改进拥塞控制算法,提升特定网络环境下的带宽占用率(性能)
在chapter8中讲述