前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >H3C ARP概述

H3C ARP概述

作者头像
py3study
发布2020-01-15 18:00:29
8050
发布2020-01-15 18:00:29
举报
文章被收录于专栏:python3python3

ARP 简介

ARP 作用

    ARP( Address Resolution Protocol,地址解析协议)是将 IP 地址解析为以太网 MAC 地址(或称物理地址)的协议。

    在局域网中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即 IP 地址)。但是仅仅有 IP 地址是不够的,因为 IP 数据报文必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从 IP 地址到物理地址的映射。APR 就是实现这个功能的协议。

ARP 报文结构

    ARP报文分为ARP请求和ARP应答报文,报文格式如 图 1-1 所示。

wKiom1RVG1-QX6n5AACwU4IAeWM252.jpg
wKiom1RVG1-QX6n5AACwU4IAeWM252.jpg

   · 硬件类型:表示硬件地址的类型。它的值为 1 表示以太网地址。

   · 协议类型:表示要映射的协议地址类型。它的值为 0x0800 即表示 IP 地址。

   · 硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上 IP 地址的 ARP 请求或应答来说,它们的值分别为 6 和 4。

   · 操作类型( OP): 1 表示 ARP 请求, 2 表示 ARP 应答。

   · 发送端 MAC 地址:发送方设备的硬件地址。

   · 发送端 IP 地址:发送方设备的 IP 地址。

   · 目标 MAC 地址:接收方设备的硬件地址。

   · 目标 IP 地址:接收方设备的 IP 地址。

ARP 地址解析过程

    假设主机A和B在同一个网段,主机A要向主机B发送信息。如 图 1-2 所示,具体的地址解析过程如下:

    (1) 主机 A 首先查看自己的 ARP 表,确定其中是否包含有主机 B 对应的 ARP 表项。如果找到了对应的 MAC 地址,则主机 A 直接利用 ARP 表中的 MAC 地址,对 IP 数据包进行帧封装,并将数据包发送给主机 B。

    (2) 如果主机 A 在 ARP 表中找不到对应的 MAC 地址,则将缓存该数据报文,然后以广播方式发送一个 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 数据包进行封装后发送出去。

wKioL1RVHDnxBpwHAAFAAbkGfWo697.jpg
wKioL1RVHDnxBpwHAAFAAbkGfWo697.jpg

    当主机 A 和主机 B 不在同一网段时,主机 A 就会先向网关发出 ARP 请求, ARP 请求报文中的目标IP 地址为网关的 IP 地址。当主机 A 从收到的响应报文中获得网关的 MAC 地址后,将报文封装并发给网关。如果网关没有主机 B 的 ARP 表项,网关会广播 ARP 请求,目标 IP 地址为主机 B 的 IP地址,当网关从收到的响应报文中获得主机 B 的 MAC 地址后,就可以将报文发给主机 B;如果网关已经有主机 B 的 ARP 表项,网关直接把报文发给主机 B。

ARP 表

    设备通过 ARP 解析到目的 MAC 地址后,将会在自己的 ARP 表中增加 IP 地址到 MAC 地址的映射表项,以用于后续到同一目的地报文的转发。

    ARP 表项分为动态 ARP 表项和静态 ARP 表项。

    1. 动态 ARP 表项

    动态 ARP 表项由 ARP 协议通过 ARP 报文自动生成和维护,可以被老化,可以被新的 ARP 报文更新,可以被静态 ARP 表项覆盖。当到达老化时间、接口 down 时会删除相应的动态 ARP 表项。

    2. 静态 ARP 表项

    静态 ARP 表项通过手工配置和维护,不会被老化,不会被动态 ARP 表项覆盖。

    配置静态 ARP 表项可以增加通信的安全性。静态 ARP 表项可以限制和指定 IP 地址的设备通信时只使用指定的 MAC 地址,此时***报文无法修改此表项的 IP 地址和 MAC 地址的映射关系,从而保护了本设备和指定设备间的正常通信。

    静态 ARP 表项分为短静态 ARP 表项和长静态 ARP 表项。

   · 在配置长静态 ARP 表项时,除了配置 IP 地址和 MAC 地址项外,还必须配置该 ARP 表项所在 VLAN 和出接口。长静态 ARP 表项可以直接用于报文转发。

   · 在配置短静态 ARP 表项时,只需要配置 IP 地址和 MAC 地址项。如果出接口是三层以太网接口,短静态 ARP 表项可以直接用于报文转发;如果出接口是 VLAN 虚接口,短静态 ARP 表项不能直接用于报文转发,当要发送 IP 数据包时,先发送 ARP 请求报文,如果收到的响应报文中的源 IP 地址和源 MAC 地址与所配置的 IP 地址和 MAC 地址相同, 则将接收 ARP 响应报文的接口加入该静态 ARP 表项中,之后就可以用于 IP 数据包的转发。

说明:

   · 一般情况下, ARP 动态执行并自动寻求 IP 地址到以太网 MAC 地址的解析, 无需管理员的介入。

   · 当希望设备和指定用户只能使用某个固定的 IP 地址和 MAC 地址通信时, 可以配置短静态 ARP表项,当进一步希望限定这个用户只在某 VLAN 内的某个特定接口上连接时就可以配置长静态ARP 表项。

免费 ARP 配置

    免费 ARP 简介

    1. 免费 ARP 报文

    免费 ARP 报文是一种特殊的 ARP 报文, 该报文中携带的发送者 IP 地址和目标 IP 地址都是本机 IP地址,报文源 MAC 地址是本机 MAC 地址,报文的目的 MAC 地址是广播地址。

    设备通过对外发送免费 ARP 报文来实现以下功能:

   · 确定其它设备的 IP 地址是否与本机 IP 地址冲突。当其它设备收到免费 ARP 报文后,如果发现报文中的 IP 地址和自己的 IP 地址相同,则给发送免费 ARP 报文的设备返回一个 ARP 应答,告知该设备 IP 地址冲突。

   · 设备改变了硬件地址,通过发送免费 ARP 报文通知其他设备更新 ARP 表项。

    2. 免费 ARP 报文学习功能

    使能了免费 ARP 报文学习功能后,设备会根据收到的免费 ARP 报文中携带的信息(源 IP 地址、源 MAC 地址)对自身维护的 ARP 表进行修改。设备先判断 ARP 表中是否存在与此免费 ARP 报文源 IP 地址对应的 ARP 表项:

   · 如果没有对应的 ARP 表项,设备会根据该免费 ARP 报文中携带的信息新建 ARP 表项;

   · 如果存在对应的 ARP 表项, 设备会根据该免费 ARP 报文中携带的信息更新对应的 ARP 表项。关闭免费 ARP 报文学习功能后,设备不会根据收到的免费 ARP 报文来新建 ARP 表项,但是会更新已存在的对应 ARP 表项。如果用户不希望通过免费 ARP 报文来新建 ARP 表项,可以关闭免费ARP 报文学习功能,以节省 ARP 表项资源。

ARP 防***

    ARP 协议有简单、易用的优点,但是也因为其没有任何安全机制而容易被***发起者利用。目前ARP ***和 ARP 病毒已经成为局域网安全的一大威胁,为了避免各种***带来的危害,设备提供了多种技术对***进行检测和解决。

   下面将详细介绍一下这些技术的原理以及配置。

免费 ARP 定时发送功能

    免费 ARP 定时发送功能简介

    免费 ARP 定时发送功能可以及时通知下行设备更新 ARP 表项或者 MAC 地址表项,主要应用场景如下:

    (1) 防止仿冒网关的 ARP ***

    如果***者仿冒网关发送免费 ARP 报文,就可以欺骗同网段内的其它主机,使得被欺骗的主机访问网关的流量,被重定向到一个错误的 MAC 地址,导致其它主机用户无法正常访问网络。为了尽量避免这种仿冒网关的 ARP ***,可以在网关的接口上使能免费 ARP 定时发送功能。使能该功能后,网关接口上将按照配置的时间间隔周期性发送接口主 IP 地址和手工配置的从 IP 地址的免费 ARP 报文。这样,每台主机都可以学习到正确的网关,从而正常访问网络。

    (2) 防止主机 ARP 表项老化

    在实际环境中,当网络负载较大或接收端主机的 CPU 占用率较高时,可能存在 ARP 报文被丢弃或主机无法及时处理接收到的 ARP 报文等现象。这种情况下,接收端主机的动态 ARP 表项会因超时而被老化,在其重新学习到发送设备的 ARP 表项之前,二者之间的流量就会发生中断。

    为了解决上述问题,可以在网关的接口上使能免费 ARP 定时发送功能。使能该功能后,网关接口上将按照配置的时间间隔周期性发送接口主 IP 地址和手工配置的从 IP 地址的免费 ARP 报文。这样,接收端主机可以及时更新 ARP 映射表,从而防止了上述流量中断现象。

    (3) 防止 VRRP 虚拟 IP 地址冲突

当网络中存在 VRRP 备份组时,需要由 VRRP 备份组的 Master 路由器周期性的向网络内的主机发送免费 ARP 报文,使主机更新本地 ARP 地址表,确保网络中不会存在与 VRRP 虚拟 IP 地址相同的设备。

    由于用户可以设定 VRRP 虚拟 IP 地址和 MAC 地址对应关系,因此有以下两种情况:

    · 如果当前 VRRP 虚拟 IP 地址和虚拟 MAC 地址对应,则免费 ARP 报文中的源 MAC 地址为VRRP 虚拟路由器对应的虚拟 MAC 地址。

    · 如果当前 VRRP 虚拟 IP 地址和实际 MAC 地址对应,则免费 ARP 报文中的源 MAC 地址为VRRP 备份组中 Master 路由器接口的 MAC 地址。

    (4) 及时更新模糊终结 VLAN 内设备的 MAC 地址表

    三层以太网子接口上同时配置了模糊终结多个 VLAN 和 VRRP 备份组时,为了避免发送过多的VRRP 通告报文,需要关闭 VLAN 终结支持广播/组播功能,并配置 VRRP 控制 VLAN。此时,为了及时更新各个模糊终结 VLAN 内设备的 MAC 地址表项,可以在三层以太网子接口上使能免费ARP 定时发送功能。使能该功能后,三层以太网子接口将按照配置的时间间隔周期性发送 VRRP虚拟 IP 地址、接口主 IP 地址和手工配置的从 IP 地址的免费 ARP 报文。这样,当 VRRP 主备状态切换时,各个模糊终结 VLAN 内设备上可以及时更新为正确的 MAC 地址表项。

ARP 自动扫描和固化功能

    ARP 自动扫描和固化功能简介

    ARP 自动扫描功能一般与 ARP 固化功能配合使用:

   · 启用 ARP 自动扫描功能后,设备会对局域网内的邻居自动进行扫描(向邻居发送 ARP 请求报文,获取邻居的 MAC 地址,从而建立动态 ARP 表项)。

   · ARP 固化功能用来将当前的 ARP 动态表项(包括 ARP 自动扫描生成的动态 ARP 表项)转换为静态 ARP 表项。通过对动态 ARP 表项的固化,可以有效的防止***者修改 ARP 表项。

    说明:推荐在网吧这种环境稳定的小型网络中使用这两个功能。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档