端口的硬件实现

网络工程 路由器 tcp UDP 第 4 层 硬件
2022-02-09 07:30:14

端口和/或网络套接字的硬件实现是什么?

我知道,在最低级别,当指令执行产生的数据要发送到具有端口映射 I/O 内存地址的外围设备时,x86 使用诸如 IN 和 OUT 之类的操作码。我是否错误地假设端口映射的 I/O 内存地址与为网络识别的端口同义?每当我读到端口的使用时,应用程序已经被抽象得远远超出了物理层,很难在主机硬件和它们在网络中的使用之间建立联系。

2个回答

所有现代接口都使用 DMA 传输。IN/OUT 操作码很古老,主要用于 16 位时代。这些硬件寄存器又名 I/O 端口与硬件接口中的网络端口无关(即插入电缆的位置)。

您可能还指的是不同的 TCP 或 UDP 端口。这些是服务绑定到的主机的子地址(例如用于 HTTP Web 服务器的 TCP 80 或用于 STMP 邮件服务器的 TCP 25)。

没有 TCP 或 UDP 端口或网络套接字的硬件实现。这就像要求 IP 地址的硬件实现一样。端口是第 4 层地址,它们是概念性的。端口代表第 4 层协议和应用程序之间的软件连接。网络套接字由源和目标第 3 层(例如 IP)和第 4 层(例如 TCP)地址的组合组成。