MAC地址有局限性,如果两台电脑不在同一个子网络,就无法直接通过ARP协议知道对方的MAC地址,必须通过网关(gateway)转发
上图中,1号电脑要向4号电脑发送一个数据包。它先判断4号电脑是否在同一个子网络,结果发现不是(后文介绍判断方法),于是就把这个数据包发到网关A。网关A通过路由协议,发现4号电脑位于子网络B,又把数据包发给网关B,网关B再转发到4号电脑。
1号电脑把数据包发到网关A,必须知道网关A的MAC地址。所以,数据包的目标地址,实际上分成两种情况:
场景 | 数据包地址 |
同一个子网络 | 对方的MAC地址,对方的IP地址 |
非同一个子网络 | 网关的MAC地址,对方的IP地址 |
转载自互联网协议入门(二)