ARP协议
ARP(地址解析协议)是一种网络协议,用于将网络层的IP地址转换为数据链路层的物理地址(例如MAC地址)。以下是一些常见的ARP应用案例:
-
IP地址解析:ARP用于解析IP地址和MAC地址之间的映射关系。当主机需要将数据发送到目标IP地址时,首先需要查询目标IP地址对应的MAC地址,以便构建数据帧并发送到正确的物理接口上。
-
ARP缓存管理:主机在发送ARP请求获得目标MAC地址后,会将这个映射关系保存在本地的ARP缓存中,以便后续使用。ARP缓存管理涉及到缓存的添加、删除、更新和超时等操作。
主要作用:
在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。
在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。
所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
ARP工作流程
假设主机A和B在同一个网段,主机A要向主机B发送信息,具体的地址解析过程如下:
(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数据包进行封装后发送出去。
其他作用: RARP 逆向ARP (根据MAC找IP)免费ARP/无辜ARP (接口配置/获取IP地址后,自动生成ARP请求向外广播,目的查询该地址是否已经被占用)
如何查看arp表
ARP表-缓存表(主机重启之后会消失)
PC>arp -a
IP MAC static静态/dynamic动态
Internet Address Physical Address Type
ARP报文本身
1.发送人的IP/2.收件人 MAC/3.收件人者IP/4.收件人的MAC
ARP报文封装 以太网2
ARP消息
1.ARP查询请求
2.ARP回复
常规ARP如: