ndp协议简介

在IPv6中,ARP(地址解析协议)被替代为邻居发现协议(Neighbor Discovery Protocol,NDP)。NDP是IPv6网络中用于发现邻居节点(相邻设备)的协议,类似于IPv4中的ARP。但与ARP不同,NDP不仅提供了邻居解析的功能,还提供了路由器发现、地址自动配置、重定向消息等功能。

邻居发现(Neighbor Discovery):

  • 作用: 确定IPv6网络中其他节点的链路层地址,以便在进行通信时将数据包发送到正确的目的地。
  • 示例: 当IPv6主机 A 需要向主机 B 发送数据时,它首先使用邻居发现协议确定主机 B 的链路层地址(MAC地址),然后将数据包发送到该地址。

路由器发现(Router Discovery):

  • 作用: 允许主机发现其连接到的IPv6网络上的路由器,以便获取IPv6路由信息。
  • 示例: 当IPv6主机启动时,它使用路由器发现协议监听特定的路由器广播消息,以获取网络中可用路由器的信息。然后,主机可以选择一个或多个路由器作为默认网关。

地址自动配置(Address Autoconfiguration):

  • 作用: 支持IPv6地址的自动配置,使得IPv6主机可以通过监听路由器的广播消息来获取自己的IPv6地址。

  • 示例: 当IPv6主机加入一个网络时,它可以使用地址自动配置功能获取一个或多个IPv6地址。主机监听网络上的路由器发送的广播消息,以获得可用的IPv6地址前缀,然后根据前缀规则为自己分配一个唯一的IPv6地址。

注:

以下是地址自动配置的详细过程:

  1. 获取网络前缀: 当一个IPv6主机加入一个网络时,它首先会监听网络上路由器发送的路由器通告(Router Advertisement)消息。这些消息包含了网络的IPv6前缀信息,主机会从中获取可用的网络前缀。
  2. 生成全球唯一地址: 主机使用获取到的网络前缀以及自身的接口标识符(Interface Identifier)来生成一个IPv6地址。接口标识符可以通过多种方式生成,其中最常见的方式是基于主机的MAC地址,但也可以使用随机数或其他方法生成。
  3. 重复地址检测: 主机生成的IPv6地址可能会与网络上其他主机的地址冲突,因此主机会执行重复地址检测。它会发送一个重复地址检测请求(Duplicate Address Detection,DAD),确认生成的地址是否已经被其他主机使用。
  4. 通告地址: 如果重复地址检测通过,主机就会开始使用生成的IPv6地址,并发送一个通告(Neighbor Solicitation)消息,通知其他主机它的IPv6地址。
  5. 维护地址状态: 一旦主机成功获取到IPv6地址并开始使用,它会定期与网络上的路由器通信,以确保地址仍然是有效的。如果网络拓扑发生变化或地址不再可用,主机会根据情况进行地址重新配置。

重定向消息(Redirect Messages):

  • 作用: 允许路由器向主机发送重定向消息,通知主机更好的下一跳路由器地址。
  • 示例: 当主机发送数据包到一个路由器,并且路由器知道有更好的路径时,它可以向主机发送重定向消息,告知主机使用更优的下一跳路由器地址来发送数据。
相关推荐
hhhjhl4 小时前
Protobuf.js 跨端三方库仓颉适配全流程
javascript·网络·udp
ITxiaobing20235 小时前
中国公司海外广告投放的 IP 地址库选型:从“查归属”到“验真实”的工程视角
网络·网络协议·tcp/ip
KKKlucifer6 小时前
运营商非结构化文档安全管控体系建设实践
大数据·网络·安全
网络小江8 小时前
组网第35课:静态路由——下一跳、出接口、默认路由、浮动静态与黑洞路由
服务器·网络·默认路由·黑洞路由·浮动静态路由
acrel78 小时前
医院用电隐患治理与节能降耗及智慧能源平台应用
网络·数据库
Escalating_xu9 小时前
【Linux 网络编程】应用层协议 HTTP(下):Header、连接管理与 C++ HTTP 服务器
linux·服务器·网络
明天也要努力学习10 小时前
TCP 协议的相关特性
网络·网络协议·tcp/ip
qq_4017004111 小时前
100 个 IoT 小项目,给 ESP32 入门补上实操
前端·网络·stm32
2401_8734794011 小时前
源IP告警太多用什么工具分层?ASN与风险评分操作指南
网络·网络协议·tcp/ip