传输层

2025年1月24日 | 阅读 5 分钟
  • 传输层是自上而下的第 4 层。
  • 传输层的主要作用是直接为运行在不同主机上的应用程序进程提供通信服务。
  • 传输层在运行在不同主机上的应用程序进程之间提供逻辑通信。尽管不同主机上的应用程序进程没有物理连接,但应用程序进程会使用传输层提供的逻辑通信来相互发送消息。
  • 传输层协议实现在端系统,而不是在网络路由器中。
  • 计算机网络向网络应用程序提供一个以上的协议。例如,TCP 和 UDP 是两个传输层协议,它们向网络层提供不同的一组服务。
  • 所有传输层协议都提供多路复用/分用服务。它还提供其他服务,如可靠数据传输、带宽保证和延迟保证。
  • 应用程序层中的每个应用程序都可以使用 TCP 或 UDP 发送消息。应用程序通过使用这两种协议中的任何一种进行通信。然后,TCP 和 UDP 都将与网络层中的互联网协议进行通信。应用程序可以读写传输层。因此,我们可以说通信是一个双向的过程。
Transport Layer

传输层提供的服务

传输层提供的服务与数据链路层提供的服务类似。数据链路层在单个网络内提供服务,而传输层在由多个网络组成的互连网中提供服务。数据链路层控制物理层,而传输层控制所有较低层。

传输层协议提供的服务可分为五类

  • 端到端交付
  • 应对
  • 可靠交付
  • 流控制
  • 复用
Transport Layer

端到端交付

传输层将整个消息传输到目的地。因此,它确保了从源到目的地整个消息的端到端交付。

可靠交付

传输层通过重传丢失和损坏的数据包来提供可靠性服务。

可靠交付有四个方面

  • 错误控制
  • 顺序控制
  • 丢失控制
  • 重复控制
Transport Layer

错误控制

  • 可靠性的主要作用是错误控制。实际上,没有任何传输能够 100% 无误地交付。因此,传输层协议被设计用来提供无差错的传输。
  • 数据链路层也提供了错误处理机制,但它只确保节点到节点之间的无差错交付。然而,节点到节点之间的可靠性并不能保证端到端的可靠性。
  • 数据链路层检查每个网络之间的错误。如果在路由器之一中引入了错误,则该错误不会被数据链路层捕获。它只检测在链路的开始和结束之间引入的错误。因此,传输层执行端到端的错误检查,以确保数据包已正确到达。
Transport Layer

顺序控制

  • 可靠性的第二个方面是顺序控制,它在传输层实现。
  • 在发送端,传输层负责确保从上层接收到的数据包可供下层使用。在接收端,它确保传输的各个片段能够正确地重新组装。

丢失控制

丢失控制是可靠性的第三个方面。传输层确保传输的所有片段都到达目的地,而不是部分到达。在发送端,传输层会为传输的所有片段分配序列号。这些序列号允许接收方的传输层识别丢失的片段。

重复控制

重复控制是可靠性的第四个方面。传输层保证到达目的地的数据没有重复。序列号用于识别丢失的数据包;同样,它也允许接收方识别和丢弃重复的片段。

流量控制

流量控制用于防止发送方压倒接收方。如果接收方过载了过多的数据,接收方将丢弃数据包并请求重新传输数据包。这会增加网络拥塞,从而降低系统性能。传输层负责流量控制。它使用滑动窗口协议,该协议使数据传输更有效率,并且它控制数据流,以便接收方不会过载。滑动窗口协议是面向字节的,而不是面向帧的。

复用

传输层使用多路复用来提高传输效率。

多路复用可以通过两种方式实现

  • 上行多路复用:上行多路复用意味着多个传输层连接使用同一个网络连接。为了更具成本效益,传输层会将发送往同一目的地的多个传输沿同一路径发送;这是通过上行多路复用实现的。
Transport Layer
  • 下行多路复用:下行多路复用意味着一个传输层连接使用多个网络连接。下行多路复用允许传输层将一个连接分割到多个路径以提高吞吐量。当网络容量低或慢时,会使用这种类型的多路复用。
Transport Layer

应对

  • 根据分层模型,传输层与会话层的功能交互。许多协议将会话层、表示层和应用层协议合并为一个称为应用层的层。在这些情况下,发送到会话层意味着发送到应用层。一台机器上的应用程序生成的数据必须传输到另一台机器上的正确应用程序。在这种情况下,寻址由传输层提供。
  • 传输层提供用户地址,该地址指定为站或端口。端口变量表示指定站的一个特定 TS 用户,称为传输服务访问点 (TSAP)。每个站只有一个传输实体。
  • 传输层协议需要知道哪些上层协议正在通信。
Transport Layer

传输层最常问的选择题

1. 哪个协议在传输层提供面向连接的服务?

  1. UDP
  2. TCP
  3. IP
  4. ICMP
 

答案:B) TCP

解释:TCP(传输控制协议)在传输层提供可靠的、面向连接的服务。


2. 在 OSI 模型中,传输层的主要作用是什么?

  1. 寻址数据包
  2. 错误检测和校正
  3. 在应用程序进程之间提供逻辑通信
  4. 跨网络路由数据包
 

答案:C) 在应用程序进程之间提供逻辑通信

解释:传输层确保数据在不同主机上的应用程序进程之间传输。


3. 下列哪一项不是传输层的功能?

  1. 复用
  2. 流控制
  3. 应对
  4. 数据封装
 

答案:D) 数据封装

解释:数据封装由数据链路层执行,而不是传输层。


4. 传输层使用哪种方法进行流量控制?

  1. 校验和
  2. 滑动窗口协议
  3. 序列号
  4. 奇偶校验位
 

答案:B) 滑动窗口协议

解释:传输层使用滑动窗口协议来确保数据流的效率,并防止接收方过载。


5. 可靠性的哪个方面确保到达目的地的数据没有重复?

  1. 错误控制
  2. 顺序控制
  3. 丢失控制
  4. 重复控制
 

答案:D) 重复控制

解释:重复控制使用序列号来识别和丢弃重复的数据包,从而确保数据完整性。


下一个主题传输层协议