xuezhengyyy 2019-09-10
在局域网中,当主机或其它三层网络设备有数据要发送给另一台主机或三层网络设备时,它需要知道对方的网络层地址(即IP地址)。但是仅有IP地址是不够的,因为IP报文必须封装成二层帧才能通过物理网络发送,因此发送方还需要知道接收方的物理地址(即MAC地址),这就需要一个从IP地址到MAC地址的映射。ARP协议就是实现将IP地址解析为MAC地址。主机或三层网络设备上会维护一张ARP表,用于存储IP地址和MAC地址的关系。
ARP协议是建立在网络中所有节点都是可信的情况下,在可信的环境中,它是高效的;但是在我们实际的网络环境中,由于ARP协议不会检查自己是否发过请求包,也不管是否是合法的应答,只要收到目标MAC是自己的ARP reply包或arp广播包(包括ARP request和ARP reply),都会接受并缓存。这就导致了局域网中各种ARP攻击层出不穷。说到底,如今ARP攻击如此泛滥,还是因为协议上的缺陷。
下面介绍下集中ARP的应用方式:
1. 动态ARP
动态ARP表项由ARP协议通过ARP报文自动生成和维护,可以被老化,可以被新的ARP报文更新;此方式不需要管理员手动维护ARP表项,适合于大型或者拓扑复杂的网络环境中。(实际我们一般都是使用的动态ARP)。
(1) 什么情况下才会新增arp表项
在实际的环境中,只有同时满足以下两个条件时,设备的ARP表才会更新:
(2) ARP老化时间:
华为交换机默认ARP的老化时间为20分钟,当达到配置的表项老化时间后,根据探测次数每隔5s发送一个探测报文,如果一直没有收到应答消息则表项被删除。
2. 静态ARP
静态ARP表项是由网络管理员手工建立的IP地址和MAC地址之间固定的映射关系。静态ARP表项不会被老化,不会被动态ARP表项覆盖。
静态ARP表项分为短静态ARP表项和长静态ARP表项。
对于以下场景,可以配置静态ARP表项:
3. 免费ARP
设备主动使用自己的IP地址作为目的IP地址发送ARP请求,此种方式称免费ARP。
免费ARP有如下作用:
4. 代理ARP