路由器过滤广播帧?

网络工程 路由器 ip
2021-07-06 00:09:38

嗨,我是网络的新手,仍然对一些基本概念感到困惑。如果给出下面的图片: 在此处输入图片说明

我的问题是:

假设节点 C 想向节点 A 发送数据报,但节点 C 不知道节点 A 的 MAC 地址。所以节点C传递一个ARP查询包,其中包含MAC广播地址FF-FF-FF-FF-FF-FF和节点A的IP地址。我知道节点 A 在收到数据包时会返回它的 MAC 地址。但是如果 LAN 使用私有 IP 地址会发生什么?路由器收到数据包后会做什么?由于路由器的另一个接口可能连接到某个其他节点甚至另一个交换机,路由器是否会将数据包广播到其所有接口?

2个回答

假设节点 C 想向节点 A 发送数据报,但节点 C 不知道节点 A 的 MAC 地址。所以节点C传递一个ARP查询包,其中包含MAC广播地址FF-FF-FF-FF-FF-FF和节点A的IP地址。我知道节点 A 在收到数据包时会返回它的 MAC 地址。

这是对 IPv4 的 ARP 的正确描述。

但是如果 LAN 使用私有 IP 地址会发生什么?

只要 LAN 形成一个子网,LAN 使用什么 IP 范围并不重要。

路由器收到数据包后会做什么?

当(广播)ARP 请求不要求路由器的 LAN IP 地址时,该请求将被丢弃。

由于路由器的另一个接口可能连接到某个其他节点甚至另一个交换机,路由器是否会将数据包广播到其所有接口?

不,路由器不会转发与 ARP 一起使用的 L2 广播。

如果节点 C 想要将 IP 数据包发送到 LAN 外的目的地,它的路由表会告诉它将该数据包传递给作为网关的路由器。该数据包由寻址路由器 MAC 的 L2 帧封装。然后路由器接收带有数据包的帧,并根据自己的路由表转发后者。

如果目的地是路由器本地的,路由器会发送目的地 IP 的 ARP 并将发现的 MAC 用于以太网帧(假设使用以太网)。如果目的地不是路由器本地的,它将使用下一跳的 MAC 作为帧中的本地 L2 目的地。

路由器不断地“检查”到达其每个接口的每个数据包目标 IP 地址

如果目标地址与路由表的任何条目匹配,则它将数据包转发到相应的接口。

下图显示了网络中每个路由器的路由表:

在此处输入图片说明

当路由器“看到”一个 ARP 数据包时,它会检查目标 IP 并执行以下检查表:

  1. 如果目标 IP 是路由器本身,则它会通过发送自己的 MAC 的 ARP 回复进行应答。

  2. 如果目标 IP 属于本地网络,则忽略它。

  3. 如果目标 IP 属于路由表中存在的外部网络,则路由器会回复自己的 MAC 地址。

  4. 其他一切都被忽略。