软件和硬件端口之间的关系是什么?

网络工程 传输协议
2022-02-11 00:39:53

端口号是一个 16 位无符号整数,因此范围从 0 到 65535

https://en.wikipedia.org/wiki/Port_(computer_networking)

而且我认为计算机具有少量用于网络通信的硬件接口(端口),那么硬件和软件端口之间的关系是什么。就像默认情况下 HTTP 将在端口 80 上运行一样,这是否意味着它将在硬件端口 80 上运行?

1个回答

没有关系(或只有非常遥远的关系)。

硬件接口将网络连接到主机(或交换机或路由器等设备)。

传输层协议 (L4) 中的端口号用作主机上的子地址 - 这样,您可以在主机上运行多个独立的应用程序。每个子地址/端口都允许您处理主机上的应用程序/进程,而不是整个主机(大致)。如果没有 L4 端口,您将无法在单个服务器上运行 FTP、HTTP、SSH、SMTP 等。

从网络理论的角度来看,硬件接口(物理层L1)通过在数据链路层(L2)中使用例如MAC地址和VLAN来复用。这又通过使用例如网络层(L3)中的IP地址进行复用。反过来,它使用 TCP 或 UDP (L4) 等传输层协议进行多路复用。然后使用端口号对其中的许多进行多路复用