ARP(Address Resolution Protocol)
【网络层】是用来将IP
地址解析为MAC
地址的协议,其表项可分为动态和静态两种类型
Proxy ARP
,即代理ARP
,当主机上没有配置默认网关地址(即不知道如何到达本地网络的网关设备),可以发送一个广播ARP
请求(请求目的主机的MAC
地址),使具备Proxy ARP
功能的路由器收到这样的请求并确认请求地址可达后,会使用自身的MAC
地址作为该ARP
请求的回应,使得处于不同物理网络的同一网段的主机之间可以正常通信
实验目的
- 理解
ping
的工作原理【ARP
协议探路再发送ICMP
报文】 - 通过抓包方式看清
ARP
工作过程
实验拓扑图
实验步骤
-
配置
R1
两个接口的IP
地址并且保证直连网络之间可以ping
通R1: <Huawei>system-view //进入系统视图 [Huawei]undo info-center enable //关闭消息提醒 [Huawei]interface g0/0/1 //进入g0/0/1接口视图 [Huawei-GigabitEthernet0/0/1]ip address 10.1.1.254 24 //设置此接口的地址与掩码 [Huawei-GigabitEthernet0/0/1]quit //退出接口模式 [Huawei]interface g0/0/2 //进入g0/0/2接口视图 [Huawei-GigabitEthernet0/0/2]ip address 10.1.2.254 24 //设置此接口的地址与掩码 [Huawei-GigabitEthernet0/0/2]quit //退出接口模式
配置完
R1
路由器,设置好PC1、PC2
的IP
地址与掩码后,让PC1 ping PC2
,PC1 ping g0/0/1
,PC3 ping g0/0/2
,此三者都能够ping
通则第一个步骤成功。 -
ping
命令本质上是通过ARP协议
找到IP地址
对应的MAC地址
进行访问,因此若映射发生错误,则即使IP地址
正确也无法ping
通,我们可以通过修改映射来验证这一点由于我们第一步曾经
ping
通过,所以ARP
表记录了各个PC
的IP
地址与MAC
地址映射display arp all //查看路由器ARP表 arp static IP地址 MAC地址 //手动修改或添加ARP表内容
-
当我们想
ping
某个地址但是却不知道往哪条路径走时就会走向网关地址所在的路径,在此实验中由于没有为PC
配置网关且它们分别处于两个广播域,所以此时PC1 ping PC3
一定是不通的,我们可以通过抓包查看这个过程发生了什么在不为
PC
设置网关的情况下若想要使其ping
成功,则需要为路由器启动ARP
代理功能[R1]interface g0/0/1 //进入R1端口 [R1-GigabitEthernet0/0/1]arp-proxy enable //为此端口启动ARP代理功能
启动
ARP
代理后工作流程如下:R1
收到PC1
寻找PC3
的MAC
地址的ARP
请求时先比对ARP
表,若发现没有适合的MAC
地址则再将此IP
地址拿去比对自身的路由表。若路由表中有合适的路由则会回复本接口的MAC
地址给PC1
,此后PC1
发送给PC3
的数据都是先发送至此端口,接着比对路由表后再将其转运至真正目的地
ARP代理的方式会因为引入额外的路由器而延迟增大,并且存在着瓶颈问题,所以一般只作为临时解决方案使用。面对规模不大的网络,若是担心遭受ARP攻击【主机感染病毒后向网关通告错误的ARP通告,导致网关路由器上使用不正确的动态ARP映射条目】,则最好能够手动配置ARP表内容
本实验取自华为公司《HCNA网络技术实验指南》,此书对于新手学习计算机网络协议以及熟悉eNSP操作十分友好,强烈推荐!!!