前提:在网络中,直接相邻设备之间的通信是通过MAC地址完成,一个IP地址的主机与另一个IP地址的主机通信,是通过多个MAC地址完成的,需要能够在网络层工作的设备,动态的更新MAC地址,以完成数据的传送。
基本概念:ARP高速缓存(主机存储IP与MAC映射关系的存储空间)、ARP协议、MAC地址、IP地址
在传输前,主机通过子网掩码,可以分辨目的地址和源地址是否在同一个网段,则可分为同网段传输、和不同网段的传输
同网段传输:
1)源主机的ARP高速缓存中有目的IP地址对应的MAC地址,则在数据链路层封装的时候,可以直接取用ARP告诉缓存中的内容进行封装,然后发送。
2)源主机的ARP高速缓存中没有目的IP地址对应的MAC地址,则向局域网中发送一个目的MAC地址为FF-FF-FF-FF-FF-FF的广播帧,当目的主机收到后,向源主机发送目的主机的MAC地址,然后源主机再用目的主机返回的MAC地址封装帧给目的主机发送数据。
不同网段传播:
1)若在不同网段,则源主机局域网中发送一个网络层中目的IP地址为默认网关的广播帧,以此获得路由器的MAC地址,然后源主机用路由器的MAC地址封装帧,将数据发送给路由器,再由路由器选择路由等,传送给目的主机。
当发送方是路由器的时候,路由器同样需要用到ARP协议来寻找目的地址对应的MAC地址,来实现将数据封装成帧,发送给目的主机。