当前位置: 首页 > news >正文

IPv6 NDP 记录

        NDP(Neighbor Discovery Protocol,邻居发现协议) 是 IPv6 的一个关键协议,它组合了 IPv4 中的 ARP、ICMP 路由器发现和 ICMP 重定向等协议,并对它们作出了改进。该协议使用 ICMPv6 协议实现,作为 IPv6 的基础性协议,NDP 还提供了前缀发现、邻居不可达检测、重复地址监测、地址自动配置等功能。在 IPv6 的同个局域网通信的过程中,源主机会对自己的邻居做mac 缓存,达到快速发送mac帧的能力。

rfc4861: https://www.rfc-editor.org/rfc/rfc4861

协议类型

邻居发现协议有两种类型:邻居请求与邻居通告:

源主机向邻居的组播地址发送 NS 请求:

目的 mac 为组播地址而不是广播,可以减少不关注此类请求的设备的性能压力。

目的主机收到 NS 后响应 NA:

Targetr Address 是邻居的链路层地址,用于返回邻居的响应。

邻居状态

        一般而言邻居状态有以下五中:

  • Incomplete:已发送邻居请求,尚未收到邻居通告
  • Reachable:收到邻居通告
  • Stale:距离上次收到邻居通告较久,一般为30s
  • Delay:Stale 状态下,发送了 NS 再探测邻居可达性
  • Probe:Delay 状态下超时未收到 NA,定时发送 NS 探测邻居可达性

可以考虑通过伪造邻居广播消息,将自己的链路层地址发送给其他设备,使其他设备将自己错误地认为是目标设备的邻居,达到劫持对应流量的目的。

http://www.lryc.cn/news/488138.html

相关文章:

  • linux常用命令(文件操作)
  • 内存管理 I(内存管理的基本原理和要求、连续分配管理方式)
  • 【Redis】基于Redis实现秒杀功能
  • Hadoop 使用过程中 15 个常见问题的详细描述、解决方案
  • 【Flutter 问题系列第 84 篇】如何清除指定网络图片的缓存
  • 【UE5】使用基元数据对材质传参,从而避免新建材质实例
  • 鸿蒙动画开发07——粒子动画
  • IDEA2023 创建SpringBoot项目(一)
  • VSCode:终端打开一片空白,无cmd
  • Zea maize GO
  • Android开发实战班 - 数据持久化 - 数据加密与安全
  • EDA实验设计-led灯管动态显示;VHDL;Quartus编程
  • Eclipse 查找功能深度解析
  • 第三百二十九节 Java网络教程 - Java网络UDP套接字
  • Leetcode215. 数组中的第K个最大元素(HOT100)
  • QT与嵌入式——搭建串口
  • Shell编程-6
  • 使用 Postman 设置 Bearer Token 进行身份验证
  • 现在转前端怎么样?
  • 【算法一周目】滑动窗口(1)
  • React Native 基础
  • 【C++笔记】list使用详解及模拟实现
  • 【机器学习】机器学习中用到的高等数学知识-7.信息论 (Information Theory)
  • 《现代制造技术与装备》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • 09 - Clickhouse的SQL操作
  • 如何解决pdf.js跨域从url动态加载pdf文档
  • 深入理解TTY体系:设备节点与驱动程序框架详解
  • 库的操作(MySQL)
  • 在 for 循环中,JVM可能会将 arr.length 提升到循环外部,仅计算一次。可能会将如何解释 详解
  • 回溯--数据在内存中的存储:整数、大小端和浮点数的深度解析