路由器(不是第 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 数据包?的主要内容,如果未能解决你的问题,请参考以下文章