您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

网络工程师必须了解的ARP知识

时间:2019-07-16 09:50:52  来源:  作者:

动态ARP表项学习

大多数情况下,设备可以通过ARP协议动态学习和更新ARP表项。设备是如何进行动态学习的呢?其实动态ARP主要是通过广播ARP请求报文和单播ARP应答报文这两个过程完成地址解析的。

网络工程师必须了解的ARP知识

 

例如:小A和小C在一次聚会上互留了IP地址。如上图所示,小A需要与小C进行通信时,知道了小C的IP地址为10.1.1.3/24,判断后发现与自己在同一网段10.1.1.0/24,于是小A会广播发送一个ARP请求报文,请求小C的mac地址。

小C收到ARP请求报文后,会单播发送一个ARP应答报文,告诉对方自己的MAC地址是3-3-3。(在同一网段的小B也会收到ARP请求报文,但是由于ARP请求报文中的目的IP地址不是小B的IP地址,因此小B不会进行应答。)

小A收到ARP应答报文后,就会在自己的ARP表中增加一条动态表项:IP地址10.1.1.3对应MAC地址3-3-3,这样小A就可以与小C进行通信啦。

说明:一方面由于ARP表的容量限制,另一方面也为了保证动态ARP表项的准确性,PC或交换机会对学习到的动态ARP表项进行老化。交换机上动态ARP表项有一定的老化时间,缺省值是20分钟,一般建议使用缺省值。

设备上动态ARP表项到达老化时间后,设备会发送老化探测报文(即ARP请求报文),如果能收到ARP应答报文,则更新该动态ARP表项,本次老化探测结束;如果超过设置的老化探测次数后仍没有收到ARP应答报文,则删除该动态ARP表项,本次老化探测结束。

静态ARP表项配置

对于网络中的重要设备,如服务器等,我们可以在交换机上配置静态ARP表项。这样可以避免交换机上重要设备IP地址对应的ARP表项被ARP攻击报文错误更新,从而保证用户与重要设备之间正常通信。

静态ARP表项不会老化,不会被动态ARP表项覆盖。用户可以通过手工方式配置静态ARP表项

例如,网络中有一台重要的服务器,服务器的IP地址为172.16.10.2,MAC地址为0023-0045-0067。如果交换机与这台服务器相连的接口GE1/0/1处于二层模式,并加入VLAN100。这时可以在交换机上为服务器配置一条对应的ARP表项,具体配置如下。

<Quidway> system-view
[Quidway] vlan batch 100
[Quidway] interface vlanif 100
[Quidway-Vlanif100] ip address 172.16.10.1 24 //VLANIF接口的IP地址需要与静态ARP表项中的IP地址(172.16.10.2)同网段。
[Quidway-Vlanif100] quit
[Quidway] interface gigabitethernet 1/0/1
[Quidway-GigabitEthernet1/0/1] port link-type access
[Quidway-GigabitEthernet1/0/1] port default vlan 100 //接口GigabitEthernet1/0/1处于二层模式,需要加入VLAN100。
[Quidway-GigabitEthernet1/0/1] quit
[Quidway] arp static 172.16.10.2 0023-0045-0067 vid 100 interface gigabitethernet 1/0/1

还是上面的那台服务器,如果交换机与服务器相连的接口处于三层模式,这时在交换机上配置静态ARP表项,可以参考如下配置。

<Quidway> system-view
[Quidway] interface gigabitethernet 1/0/1
[Quidway-GigabitEthernet1/0/1] undo portswitch
[Quidway-GigabitEthernet1/0/1] ip address 172.16.10.1 24 //GigabitEthernet1/0/1的IP地址需要与静态ARP表项中的IP地址(172.16.10.2)同网段。
[Quidway-GigabitEthernet1/0/1] quit
[Quidway] arp static 172.16.10.2 0023-0045-0067 interface gigabitethernet 1/0/1

ARP代理(即Proxy ARP)

前面我们提到,主机进行动态ARP学习时,如果发现目的IP地址与自己在同一网段,会发送广播ARP请求报文进行ARP学习。但是呢,有些情况下两台主机虽然在同一网段,但不在同一广播域,目的主机是无法收到ARP请求报文的,因而也就无法成功学习到ARP表项。

在连接两台主机的交换机上使能ARP代理后,交换机相当于一个中介,Host_1发送ARP请求报文请求Host_2的MAC地址的时候,交换机会将自己的MAC地址告诉Host_1。这样Host_1发给Host_2的数据报文会先发给交换机,再由交换机转发给Host_2。

例如下面的三种情况,我们就可以用到ARP代理。

情况一:需要互通的主机Host_1与Host_2(主机上没有配置缺省网关)处于相同的网段但不在同一物理网络(即不在同一广播域)。由于在不同的广播域,Host_1发送的ARP请求报文Host_2是收不到的,这时可以在交换机的VLANIF10和VLANIF20接口上使能路由式Proxy ARP功能(arp-proxy enable),实现Host_1与Host_2之间的互通。

网络工程师必须了解的ARP知识

 

情况二:需要互通的主机Host_1与Host_2处于相同网段,并且属于相同VLAN,但是VLAN内接口IF_1与IF_2配置了端口隔离。由于IF_1与IF_2之间端口隔离,Host_1发送的ARP请求报文Host_2是收不到的,这时可以在Switch上关联了VLAN10的VLANIF接口上使能VLAN内Proxy ARP功能(arp-proxy inner-sub-vlan-proxy enable),实现Host_1与Host_2之间的三层互通。

网络工程师必须了解的ARP知识

 

情况三:需要互通的主机Host_1与Host_2处于相同网段,但属于不同VLAN。由于不在同一VLAN,Host_1发送的ARP请求报文Host_2当然也是收不到的,这时可以在Switch上关联了VLAN10和VLAN20的VLANIF30接口上使能VLAN间Proxy ARP功能(arp-proxy inter-sub-vlan-proxy enable),实现Host_1与Host_2之间的三层互通。

网络工程师必须了解的ARP知识

 

如何保证ARP表安全?

1、保证合法用户的ARP报文可以上送CPU处理

缺省情况下,为了保证CPU的正常运行,交换机对每种上送CPU的协议报文都设置了CPCAR值,对于超过CPCAR值的报文就会被丢弃。如果非法用户发送大量的ARP报文,就会导致合法用户的ARP报文无法上送CPU,也就无法正常生成ARP表项。

1.1、ARP报文限速功能

基于源MAC地址对ARP报文限速。

[HUAWEI] arp speed-limit source-mac maximum 10 //对于任意MAC地址,每秒最多允许10个ARP报文通过

基于源IP地址对ARP报文限速。

[HUAWEI] arp speed-limit source-ip maximum 10 //对于任意IP地址,每秒最多允许10个ARP报文通过

基于全局对ARP报文限速。

[HUAWEI] arp anti-attack rate-limit enable //开启ARP限速功能
[HUAWEI] arp anti-attack rate-limit packet 200 interval 10 //指定设备在10秒钟内最多允许上送200个ARP报文,超过限速值则丢弃

基于VLAN对ARP报文限速。

[HUAWEI-vlan3] arp anti-attack rate-limit enable //开启ARP限速功能
[HUAWEI-vlan3] arp anti-attack rate-limit packet 200 interval 10 //指定VLAN3在10秒钟内最多允许上送200个ARP报文,超过限速值则丢弃

基于接口对ARP报文限速。

[HUAWEI-GigabitEthernet0/0/1] arp anti-attack rate-limit enable //开启ARP限速功能
[HUAWEI-GigabitEthernet0/0/1] arp anti-attack rate-limit packet 200 interval 10 //指定接口GE0/0/1在10秒钟内最多允许上送200个ARP报文,超过限速值则丢弃

1.2、ARP Miss消息限速功能

如果网络中有用户向设备发送大量目标IP地址不能解析的IP报文(即路由表中存在该IP报文的目的IP对应的路由表项,但设备上没有该路由表项中下一跳对应的ARP表项),将导致设备触发大量的ARP Miss消息。这种触发ARP Miss消息的IP报文会被上送到CPU进行处理,设备会根据ARP Miss消息生成和下发大量临时ARP表项并向目的网络发送大量ARP请求报文,这样就增加了设备CPU的负担。

通过对ARP Miss消息进行限速,可以减少设备CPU的负担,这样合法用户的ARP报文就有可能会被上送处理。

基于源IP地址的ARP Miss消息限速。

[HUAWEI] arp-miss speed-limit source-ip maximum 60 //允许设备每秒最多处理同一个源IP地址触发的60个ARP Miss消息

在全局对ARP Miss消息限速。另外也可以基于VLAN或接口对ARP Miss消息限速。

[HUAWEI] arp-miss anti-attack rate-limit enable //开启ARP Miss限速功能
[HUAWEI] arp-miss anti-attack rate-limit packet 200 interval 10 //指定设备在10秒钟内最多允许上送200个ARP Miss消息,超过限速值则丢弃

1.3、出口ARP检测功能

出口ARP检测就是通过减少VLAN内广播报文较少CPU的负担。其核心原理是根据DHCP Snooping表查找目的IP地址对应的出接口,将ARP请求报文直接从查找到的出接口发送出去,减少VLAN内广播的ARP报文,从而减少CPU的负担。

出口ARP检测功能主要是为了减少网关设备处理的ARP报文个数。如图1所示,通过在L2switch上使能出口ARP检测功能,可以在L2switch广播ARP请求报文之前,查找DHCP Snooping绑定表,如果能够找到ARP报文中目的IP地址对应的出接口,则将ARP请求报文从找到的出接口发送出去,有效减少网关收到的ARP请求报文数量。

网络工程师必须了解的ARP知识

 

出口ARP检测功能配置方法如下:

[L2switch] dhcp enable //全局使能DHCP功能
[L2switch] dhcp snooping enable //全局使能DHCP Snooping功能
[L2switch] vlan 10 
[L2switch-vlan10] dhcp snooping enable 
[L2switch-vlan10] dhcp snooping arp security enable //使能出口ARP检测功能

2、保证ARP表项的正确性

2.1、防止仿冒网关攻击

提供下面几种方法防止仿冒网关的攻击

网络工程师必须了解的ARP知识

 

配置方法如下:

配置网关定时发送免费ARP报文。

[Gateway] arp gratuitous-arp send enable //使能发送免费ARP报文,默认是发送时间间隔是30秒

配置ARP防网关冲突检测。

[Gateway] arp anti-attack gateway-duplicate enable

配置ARP网关保护功能。

[L2switch] interface gigabitethernet 0/0/1 
[L2switch-GigabitEthernet0/0/1] arp filter source 10.1.1.1 //被保护的网关IP地址是10.1.1.1

2.2、防止仿冒合法用户攻击

ARP表项固化

  1. fixed-mac:ARP报文中的MAC地址与ARP表中对应条目的MAC地址不符则丢弃。
  2. fixed-all:ARP报文中的MAC地址、接口、VLAN信息和ARP表项中的信息任一不匹配则丢弃。
  3. send-ack:设备对收到涉及MAC地址、VLAN、或接口信息修改的ARP报文时,先发送ARP请求报文,未收到回应则丢弃。

动态ARP检测功能

设备将根据DHCP Snooping绑定表对收到的ARP报文的IP地址、MAC地址、VLAN或接口信息与绑定表中记录的表项内容进行检查,不匹配则直接丢弃。

配置ARP表项固化,可以基于全局和接口分别进行配置。、

[Gateway] arp anti-attack entry-check fixed-mac enable //指定固化方式是fixed-mac

配置动态ARP检测功能,可以基于接口和VLAN分别进行配置。

[Gateway] vlan 10 
[Gateway-vlan10] arp anti-attack check user-bind enable

3、保证合法用户的ARP表项可以正常生成

限制可以学习的ARP表项数量

当发现某个接口下存在攻击者,占用大量ARP表资源时,通过限制该接口可以学习的ARP表项数量,可以避免ARP表被耗尽。当接口上学习到的ARP表达到指定的限制值时,该接口不再学习新的ARP表项。

ARP表项严格学习

只有本设备主动发送的ARP请求报文的应答报文才能触发本设备进行ARP学习,其他设备主动向本设备发送的ARP报文不能触发本设备进行ARP学习。

配置方法如下:

限制ARP表项。

[HUAWEI] interface gigabitethernet 0/0/1 
[HUAWEI-GigabitEthernet0/0/1] arp-limit vlan 10 maximum 20 //配置接口GE0/0/1最多可以学习到20个VLAN10内的动态ARP表项

配置ARP表项严格学习。

[HUAWEI] arp learning strict //配置ARP表项严格学习

查看ARP表

  1. 想查看所有的ARP表项 :display arp all
  2. 想查看动态的ARP表项 :display arp dynamic
  3. 想查看静态的ARP表项:display arp static
  4. 想查看某一网段的ARP表项:display arp network x.x.x.x
  5. 想查看某一接口相关的ARP表项:display arp interface xx
  6. 想查看某一VPN实例的ARP表项:display arp vpn-instance xx
  7. 想查看某个具体IP地址的ARP表项:display arp all | include x.x.x.x


Tags:ARP   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
虽然都是Car系列,但Carplay与Carlife在使用感受上的差距,非常大。与苹果的丝滑无缝对接不同的是,百度开发的这套车机系统的确在使用感受上,还有很大的提升空间,用户在选择时,更多...【详细内容】
2021-11-24  Tags: ARP  点击:(20)  评论:(0)  加入收藏
在前面的课程中,我们学习了ARP攻击的理论和实践知识,知道了怎么进行攻击,这节中我们将学习如何进行防御,内容包括:&uuml;借助第三方软件防御(360安全卫士,腾讯管家等)&uuml;使用arp...【详细内容】
2021-11-13  Tags: ARP  点击:(32)  评论:(0)  加入收藏
车子没有CarPlay,后期也是可以改一个的。不过需要加装一些额外的硬件,光靠软件升级、安装个APP等就实现CarPlay的功能,非常非常地难。能不能加装熊想涛等人发表在《汽车电器》...【详细内容】
2021-07-14  Tags: ARP  点击:(21)  评论:(0)  加入收藏
欢迎搜索公众号:白帽子左一每天分享更多黑客技能,工具及体系化视频教程(免费领)作者:csdn-Tr0e转载自:http://aaqv.net/240da前言借助ARP欺骗让你回到“村里还没接网线”的年代、...【详细内容】
2021-06-04  Tags: ARP  点击:(127)  评论:(0)  加入收藏
网络命令在我们检测网络故障和对网络进行基础的操作,用的非常多的,项目中也非常实用,如:网络经常掉线、网络时好时坏,网络很卡、监控有几路不显示等问题。 这个在我们弱电VIP技术...【详细内容】
2021-04-22  Tags: ARP  点击:(267)  评论:(0)  加入收藏
DearPyGui,一个针对Python的快速而强大的图形用户界面工具包,具有最小的依赖关系。支持在Windows 10、MacOs、Linux、Raspberry Pi 4上运行。 推荐原因:DearPyGui为Python开发...【详细内容】
2021-04-12  Tags: ARP  点击:(470)  评论:(0)  加入收藏
近几年,无线 CarPlay 已经被越来越多的用户所使用,支持的汽车品牌和型号也多起来了。大家体验了无线 CarPlay 的方便。有线 CarPlay 和无线 CarPlay 的区别,最直观的感受就是那...【详细内容】
2021-04-09  Tags: ARP  点击:(221)  评论:(0)  加入收藏
今天跟大家聊一聊你们认为最熟悉又是最陌生的ARP地址解析协议,现在网络都是 Ethernet,在这个环境中,我们的 PC router 三层设备都包含 MAC IP 地 址。 一、ARP的简单介绍 在以...【详细内容】
2020-09-27  Tags: ARP  点击:(95)  评论:(0)  加入收藏
我们经常在电影中看到黑客能够轻松获取到别人的账号密码信息,那么现实中真的这么容易吗?今天我来带大家了解一下黑客是如何获取到别人的账号和密码信息的。在网路中获取别人的...【详细内容】
2020-09-27  Tags: ARP  点击:(142)  评论:(0)  加入收藏
选装一个Carplay的价格是多少?当你把这个问题抛给保时捷Macan车主时,想必绝大多数人都会脱口而出:3700块。更令人恼火的是,尽管功能的硬件已在车上预埋,但用户依旧需要花费堪比一...【详细内容】
2020-08-12  Tags: ARP  点击:(68)  评论:(0)  加入收藏
▌简易百科推荐
以京训钉开发平台接口文档为例,使用HttpClient类请求调用其接口,对数据进行增删改查等操作。 文档地址: https://www.yuque.com/bjjnts/jxd/bo1oszusing System;using System.C...【详细内容】
2021-12-28  Wednes    Tags:HttpClient   点击:(1)  评论:(0)  加入收藏
阿里云与爱快路由安装组网教程一、开通好阿里云轻量服务器之后在服务器运维-远程连接处进行远程 二、进入控制台后在root权限下根据需要安装的固件位数复制下面命令。32位:wg...【详细内容】
2021-12-28  ikuai    Tags:组网   点击:(1)  评论:(0)  加入收藏
HTTP 报文是在应用程序之间发送的数据块,这些数据块将通过以文本形式的元信息开头,用于 HTTP 协议交互。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应...【详细内容】
2021-12-27  程序员蛋蛋    Tags:HTTP 报文   点击:(5)  评论:(0)  加入收藏
一 网络概念:1.带宽: 标识网卡的最大传输速率,单位为 b/s,比如 1Gbps,10Gbps,相当于马路多宽2.吞吐量: 单位时间内传输数据量大小单位为 b/s 或 B/s ,吞吐量/带宽,就是网络的使用率...【详细内容】
2021-12-27  码农世界    Tags:网络   点击:(3)  评论:(0)  加入收藏
1.TCP/IP 网络模型有几层?分别有什么用? TCP/IP网络模型总共有五层 1.应用层:我们能接触到的就是应用层了,手机,电脑这些这些设备都属于应用层。 2.传输层:就是为应用层提供网络...【详细内容】
2021-12-22  憨猪哥08    Tags:TCP/IP   点击:(35)  评论:(0)  加入收藏
TCP握手的时候维护的队列 半连接队列(SYN队列) 全连接队列(accepted队列)半连接队列是什么?服务器收到客户端SYN数据包后,Linux内核会把该连接存储到半连接队列中,并响应SYN+ACK报...【详细内容】
2021-12-21  DifferentJava    Tags:TCP   点击:(10)  评论:(0)  加入收藏
你好,这里是科技前哨。 随着“元宇宙”概念的爆火,下一代互联网即将到来,也成了互联网前沿热议的话题,12月9日美国众议院的听证会上,共和党议员Patrick McHenry甚至宣称,要调整现...【详细内容】
2021-12-17  王煜全    Tags:Web3   点击:(14)  评论:(0)  加入收藏
一、demopublic static void main(String[] args) throws Exception { RetryPolicy retryPolicy = new ExponentialBackoffRetry( 1000, 3);...【详细内容】
2021-12-15  程序员阿龙    Tags:Curator   点击:(22)  评论:(0)  加入收藏
一、计算机网络概述 1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构 TCP/IP四层模...【详细内容】
2021-12-14  一口Linux    Tags:网络知识   点击:(31)  评论:(0)  加入收藏
无论是在外面还是在家里,许多人都习惯了用手机连接 WiFi 进行上网。不知道大家有没有遇到过这样一种情况, 明明已经显示成功连接 WiFi,却仍然提示“网络不可用”或“不可上网”...【详细内容】
2021-12-14  UGREEN绿联    Tags:WiFi   点击:(25)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条