知识清单 - 传输层
传输层
传输层
一、概念
传输层(英语:Transport Layer)在计算机网络中是互联网协议套件与开放系统互连(OSI)网络堆栈中协议的分层结构中的方法的一个概念划分。该层的协议为应用进程提供端到端的通信服务。 它提供面向连接的数据流支持、可靠性、流量控制、多路复用等服务。
最著名的 TCP/IP 传输协议是传输控制协议(TCP), 它的名称借用自整个套件的名称。它用于面向连接的传输,而无连接的用户数据报协议(UDP)用于简单消息传输。TCP 是更复杂的协议,因为它的状态性设计结合了可靠传输和数据流服务。这个协议组中其他重要协议有数据拥塞控制协议(DCCP)与流控制传输协议(SCTP)。
1)传输层提供的服务有:
- 数据传输。
- 错误检查。
- 可靠数据传输。数据的正确性和有序性。
- 拥塞控制。
二、传输层是如何工作的
1)传输层发送数据的过程:
- 客户端进程组装应用层报文
- 进程根据传输层协议,创建相应的 Socket。
- 进程将应用层消息传给 Socket。
- Socket 将应用层报文(Message)分成多份,加上传输层报文头。封装成传输层报文段(Segment)传递给网络层。
2)传输层接收数据的过程:
- 网络层将组装好的报文段传给传输层。
- 传输层接收到报文段,根据报文段的头部信息中的目标端口,将报文段传给指定的 Socket。
- Socket 收集到所有的报文段后,将报文段转换为应用层报文。
- 进程读取 Socket 中的应用层报文。
三、TCP
TODO
- TCP 首部格式
- TCP 的三次握手
- TCP 的四次挥手
- TCP 可靠传输
- TCP 滑动窗口
- TCP 流量控制
- TCP 拥塞控制
- 慢开始与拥塞避免
- 快重传与快恢复
四、UDP
TODO
- UDP 首部格式
五、备注
1、TCP 协议和 UDP 协议的区别
- TCP 是面向连接(三次握手),UDP 是无连接的。
- TCP 提供可靠数据传输服务,UDP 提供不可靠传输。
- TCP 有拥塞控制(传输速度根据丢包情况调整),UDP 最大速度传输。
- TCP 报文头 20 字节,UDP 报文头 8 字节