一、运输层
1. 逻辑通信结构
2. 端口号、复用与分用
二、TCP与UDP的区别
1. 概览图
2. 用户数据报协议UDP(User Datagram Protocol)
-
UDP面向应用层报文,可以在任何时候发起传输(无连接),向上层提供不可靠传输服务,即如果传输过程中出现误码,也不会触发重传。
-
可以支持一对一、一对多、一对全通信
基于这样的特性,UDP常用于视频、音频通话等实时应用。
3. 传输控制协议TCP(Transmission Control Protocol)
-
TCP是面向字节的,有连接的协议。能保证接收方收到的字节流与发送方发出的字节流完全相同(提供可靠的传输服务),实际应用中使用全双工通信
-
只能支持一对一通信
基于TCP的这种特性,常用于要求可靠传输的应用,如文件传输。
4. TCP与UDP报文的区别(简略)
UPD与TCP报文格式详解可以看文末的链接,其他博主写得很好很详细。
三、TCP可靠传输的实现
1. 流量控制
(1)总结
(2)应用举例
(3)持续计时器
2. 拥塞控制
(1)背景
实际的拥塞曲线与理想曲线越接近越好
(2)拥塞控制方法
- 慢开始与拥塞避免
- 快重传与快恢复
补充:实际的发送方窗口应当考虑服务器ACK指定的窗口和网络拥塞算法得出的窗口,取小。
3. 超时重传及时间选择
结论计算公式如下:
四、TCP运输连接管理
1. 概览
2.TCP三报文握手建立连接
TPC规定,SYN为1的报文不携带数据,但要消耗一个序号(seq)。ack=x+1是指对上一个收到的报文进行确认。
3.TCP四报文挥手释放连接
五、TCP报文格式
参考这两篇文章,写得很详细了
本来还是有点兴致想要去研究一下cheksum机制的,但是今天因为某些事导致世界观遭到了打击和刷新,已经没有心情去看了,以后再说吧。