Skip to content

知识清单 - 传输层

传输层

传输层

一、概念

传输层(英语: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 拥塞控制
      1. 慢开始与拥塞避免
      1. 快重传与快恢复

四、UDP

TODO

  • UDP 首部格式

五、备注

1、TCP 协议和 UDP 协议的区别

  • TCP 是面向连接(三次握手),UDP 是无连接的。
  • TCP 提供可靠数据传输服务,UDP 提供不可靠传输。
  • TCP 有拥塞控制(传输速度根据丢包情况调整),UDP 最大速度传输。
  • TCP 报文头 20 字节,UDP 报文头 8 字节