每个 TCP/IP 连接都使用 UDP 吗?

网络工程 tcp UDP 奥西 第 4 层 传输协议
2022-02-05 22:24:39

我对 UDP 和 TCP 是一起工作还是完全独立的协议感到困惑。

因此,UDP 用于允许在同一台机器上多路复用不同的服务。因此,基本上,例如,当我向 YouTube.com 发出请求时(从 Chrome 应用程序,假设在端口 10 上运行)。首先,将使用 IP 地址(和不同的标头)创建我的数据包,并与 YouTube 服务器建立 TCP 连接。

然后,当服务器响应时,它会将数据发送到端口 (10) 上的源机器(发出请求的机器)。这是使用UDP协议的时候吗?因此,如果我的计算机上有另一个应用程序,如 Netflix 流媒体(在端口 11 上运行),那么 UDP 知道端口 10 和端口 11 上有一个流,它会将来自 Internet 的这些数据多路复用到特定端口在我的机器上运行的应用程序?

我很难理解是否在每个 TCP/IP 连接中都使用了 UDP,因为每个应用程序基本上都在计算机的端口上运行。那么,UDP 协议是否会知道在特定机器上的任何端口上运行的所有这些应用程序并在该端口上多路复用数据?

1个回答

UDP 和 TCP 是完全独立的传输层(OSI 模型中的第 4 层)协议。还有其他第 4 层协议,但 TCP 和 UDP 是最常用的。UDP 是第一个,它是一种无连接、不可靠、即发即弃的协议。后来添加了 TCP 来为第 4 层提供连接和可靠性。

第 4 层协议有自己的地址,称为端口。UDP 端口 10 与 TCP 端口 10 不同。应用程序向 TCP 或 UDP 注册以使用它们的端口。在任何给定时间,只有一个应用程序可以使用每个协议的端口,但如果您有两个不同的应用程序,一个应用程序可以同时使用 UDP 端口 10,而另一个应用程序使用 TCP 端口 10。

UDP 仅由想要使用 UDP 的应用程序使用,而 TCP 仅由想要使用 TCP 的应用程序使用。一些应用程序将同时使用这两种协议,而一些应用程序则两者都不使用。IPv4 或 IPv6 都不需要协议。