IPv6 NDP 记录

news/2024/11/18 15:20:41/

        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.ppmy.cn/news/1548018.html

相关文章

后台运行docker compose项目,一直失败,提示:Timeout exceeded while awaiting headers?让我来看看~

最近做实验,后台运行docker compose 项目的时候,一直做不下去,卡了好几天。提示是这样的: Get "https://registry-1.docker.io/v2/": net/http: reguest canceled while waiting for connection (client.Timeout exceed…

Python 第三方库 PyQt5 的安装

目录 前言 PyQt5安装 不同操作系统PyQt5安装 一、Windows 系统 二、macOS 系统 三、Linux 系统(以 Ubuntu 为例) 安装 PyQt5 可能会遇到的问题 一、环境相关问题 二、依赖问题 三、网络问题 四、安装工具问题 五、运行时问题 六、环境配置问…

单电源运放

我们经常看到很多非常经典的运算放大器应用图集,但是他们都建立在双电源的基 础上,很多时候,电路的设计者必须用单电源供电,但是他们不知道该如何将双电源 的电路转换成单电源电路。 在设计单电源电路时需要比双电源电路更加小…

大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作

目录 大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作 示例说明 1. 前向传播与梯度计算 2. All-Reduce操作(包含Reduce和Broadcast-like阶段) 3. LayerNorm的应用 示例中的顺序 结论 大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作 在…

计算机的错误计算(一百五十七)

摘要 探讨 MATLAB 中多项式的计算误差。 例1. 已知 计算 与 直接贴图吧: 另外,两个多项式的准确值分别为 7.13 与 4(ISRealsoft 提供)。这样,MATLAB 的输出均是错误的。 注:可参考计算机的错误计算&am…

Vben-Admin index.js 硬编码漏洞

0x01 产品描述: ‌Vben Admin‌是一个基于Vue3.0、

GIT将源码推送新分支

1. 创建并切换到新分支 首先,确保你在本地创建了一个新的分支并切换到该分支: git checkout -b new-branch-namenew-branch-name 是你要创建的新分支名称,替换为你需要的名称即可。 2. 确保所有更改已提交 在推送之前,确保你的…

第21课-C++[set和map学习和使用]

🌼引言 C 标准模板库(STL)中的 set 和 map 是两种非常实用的关联式容器。它们具备快速查找、有序存储的特点,因而在很多需要高效数据管理的场景中被广泛应用。本文将深入讲解 set 和 map 的用法,并通过实际例子分析如何…