网络层 ARP 找Mac地址协议

ARP协议:发送一个ARP请求分组,得到目的网络对应的MAC地址,再存到主机的ARP高速缓存中,以供使用。

正常发送数据的时候需要在链路层添加目的主机和源主机的Mac地址,但是一般目的主机的Mac地址不能轻易获得,因此需要在主机的ARP高速缓存中寻找对应的Mac地址,要是找不到,就立即发送ARP协议得到以得到对应IP的Mac地址

要是ARP缓存中已经存下了Mac地址,就直接用就行了(一般ARP高速缓存只存自己局域网内部的Mac地址)

上图这是在一个局域网内部1号与3号通信、发送数据的过程,都在一个路由器的一端。

正常交换机是没有Mac地址,只有路由器和主机有Mac地址

下图是1号与5号传输信息的过程:ARP缓存中不会有局域网外部5号主机的Mac地址,它只存自己局域网内部的Mac地址。

要是主机发现发送的数据不在局域网内部,就得通过本局域网的默认网关与外界打交道了。默认网关Mac6的地址,要通过ARP协议,通过发送ARP 默认网关IP得到默认网关的Mac地址,然后把数据发送到路由器默认网关IP6

到默认网关IP6需要解封装。每经过一个路由器需要把源Mac地址、目的Mac地址修改。(要是PPP点对点协议,目的Mac地址就是全1,要是HDLC协议目的地址就是特定的Mac地址)

Mac5是右端路由器广播出去一个ARP请求分组,用主机5IP地址换取主机5目的地址。这个ARP分组 的源IP地址、目的IP此时要发生变化。源IP:路由器端口的IP,目的IP是主机5的IP;前面在路由器之间传播的时候不需要更改IP地址的。


ARP协议诞生

实际网络上传输数据的时候,一定要通过Mac地址传输。其实正真传输就是只根据Mac地址,IP地址只是为了获取Mac地址。

功能:ARP就是把IP地址转成Mac地址的协议。解决下一跳走哪

ARP缓存也是有生存周期 10min-20min更新

要么就是找主机Mac地址,要么就是找路由器网关Mac地址

ARP一直是自动进行的
posted @ 2020-08-12 10:11  _Sandman  阅读(901)  评论(0编辑  收藏  举报