路由器何时知道将数据包发送到互联网而不是通过 LAN

路由器何时知道将数据包发送到互联网而不是通过 LAN

假设路由器有一个内置交换机,它根据所有本地连接设备的 MAC 地址将数据包传递到 LAN 上的机器,我想知道何时以及如何(使用 IP 地址为互联网准备数据包)将其发送到互联网。我假设所有本地选项都已用尽,但我认为它可能比这更智能。

答案1

注意:为了确定目标 IP 地址,DNS 解析发生在以下任何操作之前。

如果请求的 IP 地址位于您的本地 LAN 上,则您的路由器甚至不会参与(除了交换机部分,它是一系列以太网端口)。

您的本地路由表(win 上的命令行route printroutelin 上的纯文本)向您显示操作系统用来根据寻址确定从哪个接口发送数据包的路由表。然后,IP 堆栈将执行 arp 请求以查找本地网络上机器的 MAC 并通过交换机建立直接通信。

如果 IP 地址对于您的本地网络来说是外部的,那么操作系统路由表会将其发送到网关地址,即您的路由器,并且您的路由器使用类似的路由表将数据包转发到其网关,如此反复,直到到达目的地。

答案2

从非常简单的层面来说,你是对的。

以 Google 为例。当您请求 Google.com 时,路由器首先检查其本地表,如果没有匹配的表(主机/IP),则将其传递给调制解调器。然后调制解调器执行基本相同的操作,并将请求发送到其 DNS 服务器(可能是 ISP 或第三方),此过程重复进行,直到到达具有正确条目的路由器或到达iana 根服务器。

相关内容