ARP 地址解析协议
Address Resolution Protocol
用TCP/IP 技术构建的互联网,其目的就是要屏蔽底层不同物理网络的细节,实现透明,只用网络层的IP 进行 通信 。但是主机A和主机B 完成最后的通信需要预先知道B 的物理地址,怎么通过逻辑地址得到物理地址呢?
对于不同物理网络的物理地址长度,有不同的解决方法 :
ARP 工作原理
在跨网络中,IP 分组转发时,在每一个物理网络中, ARP 要把转发分组的下一跳的IP 地址映射成物理地址,再组装成数链层的帧,把IP 分组发给下一跳路由器。
在ARP 高速缓存中,使用了超时计数器,即每一个地址绑定一个计时器,超时后就删除,典型时间为20min ,下次如需要,再来一次ARP即可。他的优势在于自治性(一台主机能够确认自己的缓存表信息何时生效,与其他主机无关; 不需要第三方信息来确定失效 ,如果目的不响应,发送站就认为其下线。)
ARP 欺诈
- 路由器ARP表欺诈 :主机A 通知路由器一系列内网的错误MAC ,导致真实的MAC 无法被保存,真实PC 就无法收到消息,A 可以进行监听;
- 网关欺诈 : 主机 A 把自己的MAC 伪装 成网关MAC ,真实PC 会无法上网,导致网内大面积掉线;
为了有效的防护,可以进行IP 和MAC 的绑定,或者安全软件保护。