网络传输层深度解析:TCP、UDP与QUIC的核心功能

本文详细阐述了OSI模型中传输层的核心作用,包括其确保数据包可靠传输的机制、关键功能(如端到端通信、可靠性、流量控制),并对比了TCP与UDP协议,同时介绍了新兴的QUIC协议。文章还探讨了传输层在TCP/IP模型中的实现。

什么是传输层?

传输层是开放系统互连(OSI)通信模型的第4层。它负责确保数据包在发送方和接收方之间准确可靠地到达。传输层最常使用传输控制协议(TCP)或用户数据报协议(UDP)。在TCP/IP网络模型中,传输层位于应用层和网络层之间。

在OSI模型中,传输层位于网络层和会话层之间。网络层负责获取数据包并将其发送到正确的计算机。然后,传输层接收这些数据包,检查错误并进行排序。接着,它将数据包发送给计算机上运行的正确程序的会话层。会话层此时接收格式良好的数据包,并将其用于应用程序的数据。

传输层功能

其总体功能是将应用层与需要担心的具体细节隔离开来。它通过提供端到端通信、可靠性、流量控制、寻址和多路复用来实现这一点:

  • 端到端通信:指传输层为应用程序提供发送和接收数据流的能力。网络层将数据流分割成通过网络发送的数据包,并在另一端重建数据。如果数据包顺序错乱,传输层可以通过分段编号将其重新排序,并以正确的顺序呈现数据。
  • 可靠性:指纠正数据在网络传输过程中可能发生的错误的能力。如果数据在传输过程中被意外更改,纠错和校验和机制会捕获它。如果一个数据包丢失,会被捕获并重传。如果一个数据包被复制,它可以被检测并丢弃。它还可以发送已接收数据包的确认信息以保证交付。一些协议在数据包未收到或损坏时会发送消息。
  • 流量控制:指传输层避免发送超过可可靠传输数据量的能力。它可以缓冲发送和接收的数据,直到有足够的网络容量让其通过。如果接收缓冲区变满,它可以降低发送速率。它还实现了拥塞控制。如果网络因过多重传消息而泛滥,网络将不堪重负且无法恢复。拥塞控制通过动态重传计时器和慢启动来防止这种情况。
  • 寻址:指与计算机上正确应用程序通信的能力。寻址通常使用网络端口来为机器上的每个发送和接收应用程序分配一个特定的端口号。通过结合网络层使用的IP地址和传输层的端口,每个应用程序都可以拥有一个唯一的地址。
  • 多路复用:指任意数量的应用程序使用任意数量的网络连接的能力。例如,一台典型的台式计算机可能只有一个以太网网络连接,但同时可能有多个连接到互联网的连接在运行,例如Web浏览器、视频流和邮件客户端。相反,一台大型服务器可能只有一个应用程序,例如SQL服务器,但有两个物理以太网连接以提供尽可能大的带宽。传输层确保每个应用程序获得公平份额的共享网络连接。

TCP/IP模型中的传输层

OSI模型是关于系统间通信如何被理解的理论框架。它并不直接涉及任何具体的实现。另一方面,TCP/IP是一种在现代计算机网络和互联网上实际实施的协议。

TCP/IP可能实现也可能不实现OSI模型提到的所有功能。支持的功能取决于所使用的协议。 TCP/IP使用的层数也更少。在OSI模型中,传输层位于网络层和会话层之间。在TCP/IP中,它位于网络层和应用层之间。

传输层协议

UDP和TCP是最常见的传输层协议。

  • UDP是一种简单快速的传输协议。它用于无连接传输。它被认为是不可靠的,因为它不使用确认或重传,所以数据包可能会丢失。UDP最适合实时数据,其中交付速度比可靠性更重要,例如视频会议。
  • TCP是功能更丰富的传输协议。它是面向连接的。它使用同步和确认消息来确保交付。它会在需要时重传和重新排序数据包。它可以协商发送和接收速率。TCP比UDP慢。TCP是互联网上最常见的协议。

QUIC,前身为快速UDP互联网连接,是一种新协议。它试图结合TCP的许多最佳可靠性特性和UDP的速度。它针对互联网和超文本传输协议3的使用进行了优化。它使用前向纠错,使其更适合无线传输,例如5G网络。

其他传输层协议包括:

  • 光纤通道协议。
  • 可靠数据协议。
  • 流控制传输协议。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计