路由器(不是第 3 层交换机)是不是直接转发没有 MAC 的 ip 数据包?

Posted

技术标签:

【中文标题】路由器(不是第 3 层交换机)是不是直接转发没有 MAC 的 ip 数据包?【英文标题】:Do routers (not layer 3 switches) directly forward ip packets without MAC?路由器(不是第 3 层交换机)是否直接转发没有 MAC 的 ip 数据包? 【发布时间】:2021-01-17 18:54:47 【问题描述】:

考虑一下这个场景。路由器 A 连接到路由器 B。B 连接到一堆主机 x、y、z。当A转发一个数据包给B时,它是直接根据B的网络ip发送还是使用MAC地址和ARP表? 那么 B 到 x,y,z 呢?如果 x、y、z 通过单独的线路连接到 A,它们真的需要 MAC 地址吗?不能 B 只是将地址映射到链接吗?

【问题讨论】:

【参考方案1】:

如果路由器 A 和路由器 B 通过以太网连接,则以太网必须知道将以太网数据报发送到路由器 B。这是通过将以太网数据包寻址到路由器 B 的 MAC 地址来完成的。

这是包含 IP 数据报的以太网数据包头的属性。它有一个“目标硬件地址”字段,因为这就是以太网数据包头的工作方式。以太网数据包内的 IP 数据包具有目标 IP 地址字段。其中包含目标 IP 地址,可能是也可能不是路由器 B 的地址。

当A转发一个数据包给B时,它是否直接根据B的网络ip发送它

那将是一场灾难。路由器 B 不是数据包的 IP 目的地。如果路由器这样做了,那么路由器 B 不知道 IP 目的地,如何知道将其转发到哪里?

还是使用 MAC 地址和 ARP 表?

这取决于路由器的链接方式。如果它们通过以太网链接,则使用 MAC 和 ARP,因为这就是以太网的工作原理。

B 到 x,y,z 呢?如果 x、y、z 通过单独的线路连接到 A,它们真的需要 MAC 地址吗?不能 B 只是将地址映射到链接吗?

假设它们通过以太网连接。以太网(例如交换机)如何知道如何将数据包发送到正确的下一个设备?

【讨论】:

以上是关于路由器(不是第 3 层交换机)是不是直接转发没有 MAC 的 ip 数据包?的主要内容,如果未能解决你的问题,请参考以下文章

链路层交换机

华为三层交换机如何做RIP协议?

第4章 数据链路层_三个基本问题

三层交换机配置实例+原理

模拟配置三层交换机

三层交换机的配置命令详解