IP地址冲突检测(Address Conflict Detect)记录

学习目标:

提示:ACD(IP地址冲突检测)原理学习与抓包分析


学习记录:

1、Address Conflict Detection地址冲突检测,简称ACD。RFC 5227提出ACD机制。其中ACD将arp request分为ARP probe和ARP announcement两种;

ACD定义了ARP探测分组和ARP通告分组

ARP探测分组:是一个ARP请求分组,其中发送方协议(IPv4 )地址字段被设置为0。探测分组用于查看一个候选IPv4地址是否被广播域中的任何其他系统所使用。通过将发送方协议地址字段设置为0,避免候选IPv4地址被另一台主机使用时的缓存污染,这是它与免费ARP工作方式的一个差别
ARP通告分组:与ARP探测相同,除了其发送方协议地址和目的协议地址字段被填充为候选IPv4地址外。它用于通告发送方使用侯选IPv4地址的意图                      
参考:https://blog.csdn.net/qq_41453285/article/details/96276963

2、ARP协议(地址解析协议)用于局域网中网络设备按IP地址查询对方的MAC地址,提供一种从网络地址(仅ipv4,ipv6用ND协议替代)到硬件地址(各种链路层协议使用的地址)的映射。

3、ARP数据帧

4、ARP probe:用于检测IP地址冲突,发送端IP填充为0,填充为0是为了避免对其他设备的ARP cache造成污染(ARP probe报文不会使局域网中的其他设备刷新ARP映射关系,若已经有设备正在使用目标IP地址了,其通信不会受影响)。

源IP是全0,MAC是自己;

目的IP是检测的IP(自己)、MAC是全0

5、ARP announcement:用于“昭示”(LAN/VLAN)本设备要使用某个IP地址了,它其实就是一个免费ARP request,即发送端IP地址和目标IP地址都是本设备IP地址的ARP request报文

6、ACD启动机制

  1. 网卡启动或从睡眠状态醒来或link up时,会发送一个ARP probe;
  2. 发送设备收到其他主机发送的arp probe时或者ARP reply。当收到ARP reply时,证明IP有其他主机在使用了。当收到arp probe时,证明有其他主机想要这个ip。 无论是收到arp reply或者prboe,两段将提示用户地址冲突,并激发地址冲突处理机制。
  3. 如果上面两种包都没有收到,说明IP地址可用。设备将发送arp announcement,告诉大家这个IP已经被我在使用了,并且让其他设备更新arp表项。

7、IP地址处理方法

当检测到IP地址冲突后,RFC5527提供了三种可选的解决机制:

  1. 直接放弃使用该IP地址;
  2. 发送一个ARP announcement来进行告诉其他设备自己在使用这个IP地址,如果冲突仍然继续存在,放弃使用这个IP;
  3. 无视冲突,继续使用这个IP。

      个人建议:1、修改为新的IP地址,然后重新进行IP地址冲突检测;2、或者linkdown(一般不推荐),重新修改IP地址再上下电重新进行ACD检测;3、发送ARP announcement告诉其他设备自己使用该IP,让其他设备修改IP地址

参考:https://blog.csdn.net/qq_41453285/article/details/96276963

参考:https://www.cnblogs.com/key-network/p/14330389.html

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入理解 C++ 智能指针

文章目录 一、引言二、 原始指针的问题1、原始指针的问题2、智能指针如何解决这些问题 三、智能指针的类型四、std::shared_ptr1、shared_ptr使用2、shared_ptr的使用注意事项3、定制删除器4、shared_ptr的优缺点5、shared_ptr的模拟实现 五、std::unique_ptr1、unique_ptr的使…

Java_中间件——Redis

Redis 介绍: Redis是一个基于内存的key-value结构数据库(MySQL是通过数据文件方式存储在磁盘上,数据结构是二维表) 特点: 更改配置文件: 使用密码: redis默认是不需要密码的,如果…

spring-data-mongodb版本兼容问题

spring-data-mongodb与mongodb驱动有兼容性问题,不匹配会报NoSuchMethod异常,mongodb的java驱动包在4.0之后由mongodb-java-driver更名为mongodb-driver-sync。 spring-data-mongodb包依赖中有mongodb-driver-core,但缺诸如MongoCollection等…

虚拟机调用摄像头设备一直 select timeout问题的解决

在VMware里面调用v4l2-ctl捕获图像,或者opencv的VideoCapture(0)捕获图像,或者直接调用v4l2的函数,在streamon后,调用select读取数据,均会一直提示select timeout的问题,大概率是由于USB版本的兼容性造成的…

【Oracle】Oracle导入导出dmp文件

文章目录 前言一、什么是dmp?二、imp/impdp、exp/expdp对比及示例1.区别2.imp/impdp对比及示例a. impb. impbp 3.exp/expdp对比及示例a. expb.expdp 3.其他事项 三、执行导入导出前置条件1.创建角色并授权2.创建目录映射 前言 在工作中,经常会遇到需要备…

【Linux】网络配置(静态/动态/手动/nmcli)

目录 一、手动修改网络配置文件:静态 二、手动修改网络配置文件:动态 三、nmcli工具命令修改网络配置文件:静态 四、nmcli工具命令修改网络配置文件:动态 错误排查分析:编辑虚拟网络编辑器不生效 1、排除VMware启…

Excel 将同一分类下的值依次填进分类格右边的格中

表格的第2列是分类,第3列是明细: ABC1S.noAccountProduct21AAAQatAAG32BAAQbIAAW43BAAQkJAAW54CAAQaAAP65DAAQaAAX76DAAQbAAX87DAAQcAAX 需要将同一分类下的值依次填入分类格右边的格中: ABCD1S.noAccountProduct21AAAQatAAG32BAAQbIAAWkJ…

[数据集][目标检测]厨房积水检测数据集VOC+YOLO格式88张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):88 标注数量(xml文件个数):88 标注数量(txt文件个数):88 标注类别数…

笔记-Python pip配置国内源

众所周知,Python使用pip方法安装第三方包时,需要从 https://pypi.org/ 资源库中下载,但是会面临下载速度慢,甚至无法下载的尴尬,这时,你就需要知道配置一个国内源有多么重要了,通过一番摸索和尝…

[office] 快速提取出Excel 2010单元格括号内的文字信息 #知识分享#经验分享

快速提取出Excel 2010单元格括号内的文字信息 实例演示 ①我们打开一份Excel电子表格,我们要将C列里面括号内的内容提取到D列里面,单击D2单元格,输入下面的函数公式: MID(C2,FIND("(",C2)1,LEN(C2)-FIND("("…

文案策划背后的秘密 | 职场高手养成记

要想在文案策划这个行当里混,首先得对自己的文字功底有足够的信心,那种“文章独步天下”的气势不可或缺。 要是没有这份自信,我建议你还是另寻他路。 要想跨入文案策划的大门,可以从以下几个方面入手: 1. 学习文案基…

4000亿薪酬被驳回!马斯克再次讨薪

特斯拉CEO埃隆马斯克的一笔巨额财产,将在数日后的特斯拉股东大会上,由股东投票决定何去何从。 事情是这样的。 3.5研究测试:hujiaoai.cn 4研究测试:askmanyai.cn Claude-3研究测试:hiclaude3.com 2018年,特…

QT 信号和槽 通过自定义信号和槽沟通 如何自定义槽和信号的业务,让它们自动关联 自定义信号功能

通过信号和槽机制通信,通信的源头和接收端之间是松耦合的: 源头只需要顾自己发信号就行,不用管谁会接收信号;接收端只需要关联自己感兴趣的信号,其他的信号都不管;只要源头发了信号,关联该信号…

常见机器学习的原理及优略势

有监督 一、线性回归(Linear Regression) 1. 算法原理 线性回归(Linear Regression)是一种基本的回归算法,它通过拟合一个线性模型来预测连续型目标变量。线性回归模型的基本形式是:y w1 * x1 w2 * x2 … wn * …

操作系统真象还原:内存管理系统

第8章-内存管理系统 这是一个网站有所有小节的代码实现,同时也包含了Bochs等文件 8.1 Makefile简介 8.1.1 Makefile是什么 8.1.2 makefile基本语法 make 给咱们提供了方法,可以在命令之前加个字符’@’,这样就不会输出命令本身…

作业07 递推算法2

作业&#xff1a; #include <iostream> using namespace std; int main(){int a[110][110]{0},b[110][110]{0},n;cin>>n;for(int i1;i<n;i){for(int j1;j<i;j){cin>>a[i][j];}}for(int in-1;i>1;i--){for(int j1;j<i;j){a[i][j]a[i][j]max(a[i1]…

【SQLAlChemy】Query函数可传入的参数有哪些?

Query 函数的使用 参数种类 一般可以传递的参数有如下三种&#xff1a; 模型名。指定查找这个模型的全部属性&#xff08;对应于数据库查询中的全表查询&#xff09;。模型中的属性。可以用来指定只查询某个模型的几个属性值。使用聚合函数。 func.count():统计行的数量。fu…

理财-商业保险

目录&#xff1a; 一、保险查询 1、金事通APP 2、商业保险APP 二、平安寿险 1、智能星 2、智富人生A 3、总结 三、保险中的掩藏项 一、保险查询 1、金事通APP 中国银行保险信息技术管理有限公司发挥金融基础设施作用&#xff0c;以“切实让数据多跑路、百姓少跑腿”为…

安装MySQL Sample Database

本文安装的示例数据库为官方的Employees Sample Database。 操作过程参考其安装部分。 在安装前&#xff0c;MySQL已安装完成&#xff0c;环境为Linux。 克隆github项目&#xff1a; $ git clone https://github.com/datacharmer/test_db.git Cloning into test_db... remo…

OpenAI与核聚变公司寻求合作,白宫拨款1.8亿美元用于核聚变商业化研究

在当下&#xff0c;由 AI 引发的新一轮能源危机已经不再是一个小概率的「黑天鹅」事件&#xff0c;而是一头正在向我们猛冲而来的「灰犀牛」。 Helion Energy&#xff0c;是一家总部位于美国华盛顿州埃弗雷特的能源创业公司。 3.5研究测试&#xff1a;hujiaoai.cn 4研究测试&am…