1ARP配置
1.1ARP简介
ARP(Address Resolution Protocol,地址解析协议)是将 IP 地址解析为以太网 MAC 地址(或称物理地址)的协议。在网络中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即 IP 地址)。但是仅仅有 IP 地址是不够的,因为 IP 数据报必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从 IP 地址到物理地址的映射。ARP就是实现这个功能的协议。
1.2ARP报文
• 硬件类型:表示硬件地址的类型。它的值为 1 表示以太网地址;
• 协议类型:表示要映射的协议地址类型。它的值为 0x0800 即表示 IP 地址;
• 硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以
太网上 IP 地址的 ARP 请求或应答来说,它们的值分别为 6 和 4;
• 操作类型(OP):1 表示 ARP 请求,2 表示 ARP 应答;
• 发送端 MAC 地址:发送方设备的硬件地址;
• 发送端 IP 地址:发送方设备的 IP 地址;
• 目标 MAC 地址:接收方设备的硬件地址;
• 目标 IP 地址:接收方设备的 IP 地址。
1.3ARP地址解析过程
假设主机A和B在同一个网段,主机A要向主机B发送信息。具体的地址解析过程如
下:
(1) 主机 A 首先查看自己的 ARP 表,确定其中是否包含有主机 B 对应的 ARP 表项。如果找到了对应的 MAC 地址,则主机 A 直接利用 ARP 表中的 MAC 地址,对 IP 数据报进行帧封装,并将 IP 数据报发送给主机 B。
(2) 如果主机 A 在 ARP 表中找不到对应的 MAC 地址,则将缓存该 IP 数据报,然后以广播方式发送一个 ARP 请求报文。ARP 请求报文中的发送端 IP 地址和发送端 MAC 地址为主机 A 的 IP地址和 MAC 地址,目标 IP 地址和目标 MAC 地址为主机 B 的 IP 地址和全 0 的 MAC 地址。由于 ARP 请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机 B)会对该请求进行处理。
(3) 主机 B 比较自己的 IP 地址和 ARP 请求报文中的目标 IP 地址,当两者相同时进行如下处理:将 ARP 请求报文中的发送端(即主机 A)的 IP 地址和 MAC 地址存入自己的 ARP 表中。之后以单播方式发送 ARP 响应报文给主机 A,其中包含了自己的 MAC 地址。
(4) 主机 A 收到 ARP 响应报文后,将主机 B 的 MAC 地址加入到自己的 ARP 表中以用于后续报文的转发,同时将 IP 数据报进行封装后发送出去。
当主机 A 和主机 B 不在同一网段时,主机 A 就会先向网关发出 ARP 请求,ARP 请求报文中的目标IP 地址为网关的 IP 地址。当主机 A 从收到的响应报文中获得网关的 MAC 地址后,将报文封装并发给网关。如果网关没有主机 B 的 ARP 表项,网关会广播 ARP 请求,目标 IP 地址为主机 B 的 IP 地址,当网关从收到的响应报文中获得主机 B 的 MAC 地址后,就可以将报文发给主机 B;如果网关已经有主机 B 的 ARP 表项,网关直接把报文发给主机 B.
1.4配置ARP
system-view
arp timeraging 20 //缺省动态ARP表项老化时间为20分钟
arp max-learing-number 100 //配置允许学习动态ARP表项的最大个数
interface g0/0/0
arp max-learing-number 100 //配置该端口允许学习动态ARP表项的最大个数
arp static 192.168.1.1 00e0-fc01-0000 10 FortyGigE 1/0/1 //配置一条静态 ARP 表项,IP 地址为 192.168.1.1,对应的 MAC 地址为 00e0-fc01-0000,此条ARP 表项对应的出接口为属于 VLAN 10 的接口 FortyGigE1/0/1。
dis arp staic|all|dynamic //查看静态表项
reset arp {all|dynamic|interface g0/0/0} //清除老化表项
1.5免费ARP
免费 ARP 报文是一种特殊的 ARP 报文,该报文中携带的发送端 IP 地址和目标 IP 地址都是本机 IP地址。设备通过对外发送免费 ARP 报文来实现以下功能:
• 确定其它设备的 IP 地址是否与本机的 IP 地址冲突。当其它设备收到免费 ARP 报文后,如果发现报文中的 IP 地址和自己的 IP 地址相同,则给发送免费 ARP 报文的设备返回一个 ARP 应答,告知该设备 IP 地址冲突。
• 设备改变了硬件地址,通过发送免费 ARP 报文通知其它设备更新 ARP 表项。
system-view
gratuitous-arp-learning enable //免费ARP报文的学习功能缺省处于开启状态
gratuitous-arp-sending enable //缺省情况下,设备收到非同一网段的ARP请求时不发送免费ARP报文。
interface g0/0/0
arp send-gratuitous-arp [interval milliseconds] //缺省情况下,定时发送 免费 ARP功能处于关闭状态
1.6代理ARP
如果 ARP 请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机,那么连接它们的具有代理 ARP 功能的设备就可以回答该请求,这个过程称作代理 ARP(Proxy ARP)。代理 ARP 功能屏蔽了分离的物理网络这一事实,使用户使用起来,好像在同一个物理网络上。代理 ARP 分为普通代理 ARP 和本地代理 ARP,二者的应用场景有所区别:
• 普通代理 ARP 的应用场景为:想要互通的主机分别连接到设备的不同三层接口上,且这些主机不在同一个广播域中。
• 本地代理 ARP 的应用场景为:想要互通的主机连接到设备的同一个三层接口上,且这些主机不在同一个广播域中。
代理 ARP 和本地代理 ARP 功能均可在 VLAN 接口视图/三层以太网接口视图/三层以太网子接口视图/三层聚合接口视图/三层聚合子接口视图下进行配置。
interface vlan 10
proxy-arp enable //缺省情况下,代理ARP功能处于关闭状态
1.7ARP Snooping
设备上在一个 VLAN 中启用 ARP Snooping 后,该 VLAN 内所有端口接收的 ARP 报文会被上送到CPU。CPU 对上送的 ARP 报文进行分析,获取 ARP 报文的发送端 IP 地址、发送端 MAC 地址、VLAN 和入端口信息,建立记录用户信息的 ARP Snooping 表项。
ARP Snooping 表项的老化时间为 25 分钟,有效时间为 15 分钟。如果一个 ARP Snooping 表项自最后一次更新后 15 分钟内没有收到 ARP 更新报文,则此表项开始进入失效状态,不再对外提供服务,其他特性查找此表项将会失败。当收到发送端 IP 地址和发送端 MAC 与已存在的 ARP Snooping表项 IP 地址和 MAC 均相同的 ARP 报文时,此 ARP Snooping 表项进行更新,重新开始生效,并重新老化计时。当 ARP Snooping 表项达到老化时间后,则将此 ARP Snooping 表项删除。如果 ARP Snooping 收到 ARP 报文时检查到相同 IP 的 ARP Snooping 表项已经存在,但是 MAC地址发生了变化,则认为发生了攻击,此时 ARP Snooping 表项处于冲突状态,表项失效,不再对外提供服务,并在 25 分钟后删除此表项.
system-view
vlan 10
arp snooping enable
arp fast-reply enable //开启ARP快速应答,
dis arp snooping vlan 10
rese