UDP
发送数据前不用进行连接,数据可能出现丢包,
支持一对多,多对多,多对一的方式,也就是说 UDP 提供了单播,多播,广播的功能。
高效,适用实时直播场景
TCP
发送数据前需要进行三次握手连接,关闭连接需要四次挥手


TCP 数据保证完整性
滑动窗口解决了数据的丢包、顺序不对和流量控制问题
发送端窗口,接受端窗口,发送端窗口包含已发送但未收到应答的数据和可以发送但是还未发送的数据,发送端窗口数据大小由接收端窗口剩余大小决定,接收方会把当前接收窗口的剩余大小写入应答报文,发送端收到应答后根据该值和当前网络拥塞情况设置发送窗口的大小,所以发送窗口的大小是不断变化的,帮助 TCP 实现了流量控制
Zero 窗口
发送报文时,对端零窗口,发送端会停止发送数据,并启动 persistent timer,该定时器定时发送请求给对端,让对端告知窗口大小,重试超过一定次数,TCP 可能断开连接
拥塞处理 实现了对流量的控制,保证在全天候环境下最优的传递数据
四个算法:慢开始,拥塞避免,快速重传,快速恢复