arp请求消息的种类介绍

目录

1 Arp协议定义和作用:

2 Arp消息的结构:

3 Arp请求帧格式

4 Arp应答帧格式

5 Arp请求的种类:

5.1.二层广播arp请求

5.2 单播arp请求消息

5.3 Ip冲突探查arp请求

5.4免费arp宣告使用此ip地址


有图片,看不清的话,请调整浏览器显示比例为200%或者单击图片进行单独查看。

1 Arp协议定义和作用:

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;

发出的条件,是根据路由表,目的ip是直连路由的,才会用子网ip作为源ip发出arp请求消息。

如一个设备192.168.209.201要去ping192.168.209.141

查看路由表,符合直连路由表项

 arp  -a查询发现,命令执行后有新的arp表项生成,获得了对应ip的mac地址

 

抓包显示如下:

2 Arp消息的结构:

 

以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全 1的特殊地址是

广播地址。

两个字节长的以太网帧类型表示后面数据的类型。对于 A R P请求或应答来说,该字段的

值为0 x 0 8 0 6。

硬件类型字段表示硬件地址的类型。它的值为 1即表示以太网地址。协议类型字段表示要

映射的协议地址类型。它的值为 0 x 0 8 0 0即表示I P地址。它的值与包含 I P数据报的以太网数据帧中的类型字段的值相同,这是有意设计的。

接下来的两个1字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协议地址

的长度,以字节为单位。对于以太网上 I P地址的A R P请求或应答来说,它们的值分别为6和4。

操作字段指出四种操作类型,它们是 A R P请求(值为1)、A R P应答(值为2)、R A R P请求(值为3)和R A R P应答(值为4)(我们在第5章讨论R A R P)。这个字段必需的,因为A R P请求和A R P应答的帧类型字段值是相同的。

接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址

(I P地址)、目的端的硬件地址和目的端的协议地址。

3 Arp请求帧格式

4 Arp应答帧格式

 

5 Arp请求的种类:

  1. 广播arp请求
  2. 单播arp请求
  3. Ip冲突探查arp请求
  4. 免费宣告arp请求

5.1.二层广播arp请求

应用场景:访问同网段ip,arp缓存里没有对应表项,就会发出二层广播arp消息,如

 

特点:arp请求消息体里,目的mac地址为空,全00,待目的设备填入自身值。

有对应的响应消息。二层目的mac为6个ff广播消息。

 应答消息为单播,源ip和源mac为请求的目的设备。

5.2 单播arp请求消息

 应用场景:

在arp缓存已有的对应表项,为检测对方是否在线,发出的单播arp探查消息

目的:

Unicast Poll -- Actively poll the remote host by 

periodically sending a point-to-point ARP Request o it, and delete the entry if no ARP Reply is received from N successive polls. Again, the timeout should be on the order of a minute, and typically N is 2。

当arp广播请求过程完成(其实就是主机收到了设备的ARP应答),双方都知道对方的IP--MAC映射,也会在自己的ARP表中生成这个映射;由于ARP老化机制第二种--单播轮询,主机会定期向设备发送点到点的单播ARP请求报文,用来确认对方是否存在,确认这条ARP缓存是该更新(主要是更新老化定时器)还是删除,同时,使用单播还可以减少网络中的ARP报文数量。

如下图:

Arp的缓存表现如下:

下图arp单播请求,隔一段时间发出,在广播消息后,不间断发出。

 应答消息为单播消息

5.3 Ip冲突探查arp请求

 应用场景,插拔网线,网卡激活或者dhcp获取ip后发出,用于探查广播域里是否有ip冲突的现象。一般发出三次(没冲突的情况下)。

 特征:二层广播消息,arp消息体里,源ip和目的mac为空,全0。间隔1秒发三次。

修改ip为dhcp自动获取,发现获取地址后,有arp探查消息发出,获取地址为192.168.209.139

发出三次arp探查消息。

Ip冲突时,arp探查发出一次,有响应,就不用此地址,静态的话,会提示ip冲突,地址变成169.254.xx.xx。

如图:已知环境里存在ip为192.168.209.141,就把pc 的ip修改为209.141,看看抓包结果

 

 流程:修改ip后,发出arp探查,第一次就有响应,然后报ip冲突,使用本地链路地址169.254.240.20,同样三次探查消息发出,并用此ip请求网关mac地址,网关不处理此类地址的请求,所以不停发出arp消息。

 

 因为无法获得网关mac地址,所以无法上网。

 

5.4免费arp宣告使用此ip地址

应用场景:在插拔网线或者dhcp获取地址后,arp探查没有ip冲突,宣告

 特征:二层广播消息,源目的ip相同,目的mac地址为空。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/69516.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

B树和B+树区别

B树和B树的区别 B树 B树被称为平衡树,在B树中,一个节点可以有两个以上的子节点。B树的高度为log M N。在B树中,数据按照特定的顺序排序,最小值在左侧,最大值在右侧。 B树是一种平衡的多分树,通常我们说m阶…

Android布局【TableLayout】

文章目录 说明常见属性子控件设置属性 项目结构主要代码 说明 TableLayout也称为表格布局 常见属性 android:collapseColumns:设置需要被隐藏的列的序列号,从0开始android:stretchColumns:设置允许被拉伸的列的列序号,从0开始&…

vscode vue3+vite 配置eslint

vue2webpackeslint配置 目前主流项目都在使用vue3vite,因此针对eslint的配置做了一下总结。 引入ESlint、pritter 安装插件,执行以下命令 // eslint // prettier // eslint-plugin-vue // eslint-config-prettier // eslint-plugin-prettier yarn ad…

Cenos7 搭建Minio最新版集群部署服务器(一)

------> 道 | 法 | 术 | 器 | 势 <------ 多台服务器间免密登录|免密拷贝 Cenos7 搭建Minio集群部署服务器(一) Cenos7 搭建Minio集群Nginx统一访问入口|反向动态代理(二) Spring Boot 与Minio整合实现文件上传与下载(三) CentOS7的journalctl日志查看方法 …

Docker 安装和架构说明

Docker 并非是一个通用的容器工具&#xff0c;它依赖于已存在并运行的Linux内核环境。 Docker实质上是在已经运行的Liunx下制造了一个隔离的文件环境&#xff0c;因此他的执行效率几乎等同于所部署的linux主机。因此Docker必须部署在Linux内核系统上。如果其他系统想部署Docke…

WSL2打开GUI软件显示方框的解决方法

项目场景&#xff1a; WSL2是支持GUI应用的&#xff0c;而且页面的适配性也不错&#xff0c;很多大厂出的软件基本都没有错位的问题。但是有些时候会出现中文场景下方框的问题&#xff0c;接下来就协助你们解决方框的问题&#xff0c;简单到极点。 问题描述 以Ubuntu-22.04下…

【Tomcat】Tomcat部署及优化

Tomcat 它是一个免费、开源的web应用服务器&#xff1b;基于java代码开发的软件&#xff1b;处理动态请求和基于Java代码的页面开发&#xff1b; 可以在html当中写入Java代码&#xff0c;Tomcat可以解析html页面当中的Java代码&#xff0c;执行动态请求以及动态页面 缺点&#…

英码国产高配边缘计算盒子上市!搭载TPU处理器BM1684X,适配麒麟系统,支持OTA升级!

随着人工智能技术不断深入实际应用场景&#xff0c;加速各行各业场景应用落地&#xff0c;边缘计算的重要性越发凸显。相较于传统的集中式云计算&#xff0c;边缘计算在距离数据源或用户更近的地方提供计算能力&#xff0c;不仅满足了对实时性要求较高的场景应用需求&#xff0…

单片机第一季:零基础13——AD和DA转换

1&#xff0c;AD转换基本概念 51 单片机系统内部运算时用的全部是数字量&#xff0c;即0 和1&#xff0c;因此对单片机系统而言&#xff0c;无法直接操作模拟量&#xff0c;必须将模拟量转换成数字量。所谓数字量&#xff0c;就是用一系列0 和1 组成的二进制代码表示某个信号大…

【IMX6ULL驱动开发学习】04.应用程序和驱动程序数据传输和交互的4种方式:非阻塞、阻塞、POLL、异步通知

一、数据传输 1.1 APP和驱动 APP和驱动之间的数据访问是不能通过直接访问对方的内存地址来操作的&#xff0c;这里涉及Linux系统中的MMU&#xff08;内存管理单元&#xff09;。在驱动程序中通过这两个函数来获得APP和传给APP数据&#xff1a; copy_to_usercopy_from_user …

修改el-tooltip组件的背景色

修改el-tooltip组件的背景色 // 提示气泡的背景色 .el-tooltip__popper{background-color: pink !important; } .popper__arrow {border-top-color: pink !important; } .popper__arrow:after {border-top-color: pink !important; }

taro h5列表拖拽排序 --- sortablejs 和 react-sortable-hoc

描述&#xff1a;列表&#xff0c;拖拽排序&#xff0c;只测试了h5 一、sortablejs 文档&#xff1a;http://www.sortablejs.com/ 1.安装sortablejs 2、引入 import Sortable from sortablejs3、页面 const [list, setList] useState([{id: item-1,content: 选项1 }, {id…