问题描述
考虑这个场景。路由器A连接到路由器B。B连接到一堆主机x,y,z。当A将数据包转发到B时,它是根据B的网络IP直接发送它还是使用MAC地址和ARP表? B到x,y,z呢?如果x,y,z通过单独的线路连接到A,它们是否真的需要MAC地址? B不能只是将地址映射到链接?
解决方法
如果路由器A和路由器B通过以太网连接,则以太网网络必须知道将以太网数据报发送到路由器B。这是通过将以太网数据包寻址到路由器B的MAC地址来实现的。
这是包含IP数据报的以太网数据包头的属性。它具有“目标硬件地址”字段,因为这就是以太网数据包头的工作方式。以太网数据包内部的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不能只是将地址映射到链接?
说他们通过以太网连接。以太网(例如交换机)如何知道如何将数据包发送到正确的下一台设备?