在一段广播网络中
两个主机进行通信时,只知道互相的IP地址,而不知道MAC地址
原因是:一台主机网卡进行更换,其MAC地址变更,而IP地址是不变的。
主机A知道主机B的IP地址,但是不知道主机B的MAC地址,那么A和B就不能进行帧通信。
为了解决这个问题
每个主机中都有一个ARP的高速缓存
保存的是IP和MAC的映射以及映射的类型(静态/动态)
- 当A想和B通信时,首先在自己的ARP缓存中查找B的IP地址
- 发现有,则将其MAC地址和自己的MAC地址进行封装成帧来进行下一步通信
- 发现没有,就要想该网络发送广播帧,该帧中含有A的IP,A的MAC地址,以及B的IP。处于该网络中的所有主机都会收到该帧,然后进行匹配其中的IP,发现是自己的IP时,则会和A进行帧传递(因为广播帧中有A的IP和MAC地址),将自己的MAC地址封装在这个帧中返回给A,然后A就将其加入到ARP映射表中,其类型为动态的(一般的生存时间为2分钟)
数据包在网络链路中的传递其IP是不变的,而MAC地址是逐个改变的
ARP的安全机制
ARP没有安全认证机制,存在ARP诈骗攻击的风险