雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 745|回复: 0

[学习/资料] 【SPOTO思博网络】网工协议基础中ARP协议知识点!

[复制链接]
发表于 2021-10-14 23:56:13 | 显示全部楼层 |阅读模式
【SPOTO思博网络】网工协议基础中ARP协议知识点!

ARP 是什么?
ARP(Address Resolution Protocol ) ,即地址解析协议,负责把目的主机的IP 地址解析成目的MAC地址。

当发送者 知道目的主机的IP地址之后, 就可以使用这个IP地址去解析对方的MAC地址。

为什么需要ARP?
在发送者给其他的网络设备发送数据的时候, 是以数据帧的形式发送的,数据帧被网卡解析成电信号或者光信号传递到对端。

数据帧是由源MAC地址和目的MAC地址组成的,如果发送者只知道目的主机的IP地址, 不知道目的主机的MAC地址, 就不能把这个数据包转化成数据帧发走,而ARP 协议就是负责地址解析的, 使用目的主机IP地址来解析对方的MAC地址。

如果发送者和接收者在同一个网络内,arp解析的就是接收者的MAC地址。如果发送者和接收者不在同一个网络内, arp解析的就是这个网络内网关的接口MAC地址。

ARP工作流程
在网络设备中会存在一个ARP缓存表,这个缓存表记录着这个IP 地址和MAC地址的映射关系,可以在设备终端使用arp -a 来查看本地的arp 缓存表的缓存信息。


arp 协议的作用, 就是形成这个arp缓存表,那么,交换机是如何形成这个缓存表的呢?

设备需要解析一个IP地址时, 会发出一个arp 请求报文的广播帧,2层报文中目的MAC地址为全F ,目的设备在收到ARP请求报文之后,会向源设备发送一个单播帧,该单播帧是一个ARP的应答报文,该应答报文中包含了目的设备的MAC地址。

同一个网络内的ARP请求和应答过程如下:

如图:PC 1 只知道PC3 的IP地址是10.1.1.3, 但是不知道PC3的MAC, 现在想获取PC3 的MAC地址:

1、发送者PC1:PC 1 会发送一个广播帧, 源IP和源MAC是PC1, 目的IP是PC3,目的MAC为FF-FF-FF-FF-FF-FF, 这个帧是广播发送的, 该网络内所有主机都会接收到,这个报文的载荷内容是一个ARP请求报文,意思是我的MAC地址是MAC1,我想给10.1.1.3发送数据, 谁是10.1.1.3, 请回复一下我。

2、非目的主机PC2:由于这个广播帧网络内主机都可以收到,PC2 收到这个帧, 提取IP地址, 发现, 它要找的IP地址是10.1.1.3, 我的IP地址是10.1.1.2, 这个数据包不是发给我的, 丢弃, 不回复。

3、 目的主机PC3:PC 3 收到这个广播数据帧后,拆开数据帧, 提取IP地址, 发现和我本地IP地址是一样的, 这个数据包就是发给我的, 然后再拆, 提取报文后, 了解到对方要请求我自己的MAC地址,然后就打包一个ARP的应答报文,源IP和源MAC都是自己的,目的IP和目的MAC是对方的,单播的发送给接收者,这样PC1 就有了PC3的MAC地址。

代理ARP
如果这两个主机不在同一个网络内, 被3层设备隔离了, 怎么通信?


目的IP地址与本机的IP地址位于不同网络, 由于主机A没有配置网关,所以它将会以广播形式发送ARP Request报文,请求主机B的MAC地址。但是,广播报文无法被路由器转发,所以主机B无法收到主机A的ARP请求报文,当然也就无法应答。

在路由器上启用代理ARP功能,就可以解决这个问题。
启用代理ARP后, 主机A解析网关MAC 地址过程:

1、主机A发送arp 请求网关MAC:   在电脑主机要先配置网关地址,主机A给主机B发送数据,发现是不同网段的数据通信,而我本地是没有这个关于B的ARP映射关系的,就会发送一个arp请求报文,解析网关MAC地址,源IP和源MAC地址都是主机A,目的IP是网关IP地址,目的MAC地址是全0。

2、网关回复自己的MAC 地址:网关收到这个arp请求报文后, 检查目的主机是否可达,可达,就会把自己的MAC地址以arp reply报文回复给主机A,目的主机不可达就不回复。

3:主机A 给主机B 发送数据:主机A收到这个arp应答报文就会把网关MAC和网关的IP地址添加进arp表,A要给主机B发送数据,需要先解析B的MAC地址,发送一个arp请求报文,源IP 和源MAC是A的信息,目的IP地址是B的IP地址,目的MAC是网关MAC。

4:网关收到数据包后的处理:网关收到这样的请求,会查找路由表,如果存在主机B的路由表项,路由器将会使用自己的G0/0/0接口的MAC地址来回应该ARP request。主机A收到ARP reply后,将以路由器的G0/0/0接口MAC地址作为目的MAC地址进行数据转发。

arp协议具体用法
ARP是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。说白了,就是把通过ip地址找到设备mac地址。

ARP的命令一般有三个用法,就是查询显示、添加记录、与删除记录,这个在我们做网络项目时经常会用到。

1、arp -a ,当你需要显示当期ip地址对应的mac地址时使用
当你需要了解你网络中设备对应的mac地址时,你可以使用arp地址进行显示,这个有利于我们可以清楚了解到ip地址对应的mac地址是哪台设备。

在命令提示符中输入“arp -a”并回车;自动在缓存中,读取IP地址和mac地址的对应关系表;


2、arp -s ,当你需要手动添加或绑定一条arp记录时使用。
手工输入一条ARP项目,格式为“ARP+空格+-a+IP地址+MAC地址”;

在网络中,通常在办公网络或监控项目中,为了防止用户乱改ip地址或ip地址冲突,我们需要给ip地址绑定设备的mac地址。

如下图,先用ARP -s 192.168.1.1 3c-22-3f-5d-f6-77绑定一条记录,然后用arp -a查询了ARP记录添加是否成功。

其实这个命令也叫作绑定mac地址的命令,例如一个公司的网络,员工经常喜欢改自己电脑的ip地址,经常会造成ip地址混乱,无法管理,那么这个时候你只需要把它的ip地址与它电脑mac地址进行绑定,那么下次出现网络故障,就可以直接mac地址定位到那几台电脑。
3、arp -d,当你觉得某条arp记录有问题时,可以删除。
功能为:删除所有ARP记录

其实如果想彻底清空ARP列表,需要您禁止所有网络连接,否则网络数据交互过程中仍然会产生新的ARP列表。



当你网络中出了问题,可能是有某些ip地址发生冲突了,mac对应的ip地址有误,那么你可以对它进行删除这条arp记录,然后重新添加新的记录,网络问题就会得到解决。



背靠SPOTO,及时掌握一手考场信息!群内有一群一起备考的战友哦
扫描下方二维码
更多更全学习资料与视频找思博
笔试题库,LAB版本,版本讲解视频 :  当你决定成为IE的时候,你就已经是IE了


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-12-22 22:35 , Processed in 0.089020 second(s), 19 queries , Gzip On.

快速回复 返回顶部 返回列表