假设我有很多设备连接到单个交换机,而交换机本身连接到提供 Internet 连接的路由器。
每当节点上的应用程序需要通信时,它都需要一个 IP 地址,该地址可以是内部的,也可以是外部的。事实上,IP 数据包被分解成较小的片段作为以太网帧的有效载荷,节点将以太网帧发送到交换机,让交换机决定帧应该去哪里。
以下情况下以太网帧的目的MAC地址是什么:
- 目标 IP 地址是内部的
- 目标 IP 地址是外部的
我在某处读到路由器决定是否应转发 IP 数据包或保留在内部网络中。我感到困惑的是所有 L2 数据的去向。这是我的两个理论:
- 主机上的应用程序并不关心,只是将所有内容发送到路由器。路由器决定数据应该去哪里:到另一个内部主机或被转发到另一个网络。
- 主机上的应用程序将目标 IP 地址与其自己的 IP 地址进行比较,并确定目标是否具有相同的网络前缀。如果它在同一网络上,则目标 MAC 将是目标节点的。如果 IP 不在同一个网络,则目标 MAC 将是路由器。如果通信是内部的,则路由器不参与。
哪一个是正确的?