如果确定要发送给本地网络上的主机,则该数据包将发送到哪里?

网络工程 路由 默认网关
2022-02-20 09:34:29

当主机尝试使用 TCP/IP 与另一个设备通信时,它会使用定义的子网掩码和目标 IP 地址与子网掩码和它自己的 IP 地址执行比较过程。这种比较的结果告诉计算机目的地是本地主机还是远程主机。

如果此过程的结果确定目的地是本地主机,则计算机将在本地子网上发送数据包。如果比较结果确定目标是远程主机,则计算机会将数据包转发到其 TCP/IP 属性中定义的默认网关。然后路由器负责将数据包转发到正确的子网。

如果确定要发送给本地网络上的主机,则该数据包将发送到哪里?它是直接发送到目标计算机吗?

2个回答

根据您引用的信息:

如果此过程的结果确定目的地是本地主机,则计算机将在本地子网上发送数据包。

假设以太网* 网络,主机将使用其 ARP(对于 IPV6 的 ND)表将目标 IP 地址转换为 MAC 地址。如果表中没有可用的条目,则在发出 ARP 请求时将保留数据包。

ARP 请求和响应将在两台主机之间的任何以太网交换机的交换表中创建条目。所以实际的数据包通常**只会传送到适当的交换机端口。

请注意,大多数家庭/小型企业路由器都包含一个以太网交换机,因此所有“LAN 侧”端口都在同一个以太网网络上。

* Wi-fi 不是以太网,但对于这些目的来说已经足够接近了。

** 有例外情况,例如交换机重新启动或 MAC 地址表溢出时。