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):

  • 作用: 允许路由器向主机发送重定向消息,通知主机更好的下一跳路由器地址。
  • 示例: 当主机发送数据包到一个路由器,并且路由器知道有更好的路径时,它可以向主机发送重定向消息,告知主机使用更优的下一跳路由器地址来发送数据。
相关推荐
xbzb2 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
火云代理3 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖3 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
火云代理6 小时前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
如夏倾城6 小时前
QUIC——HTTP/3 的唯一底层传输协议 及 0-RTT恢复
网络·网络协议·tcp/ip·安全·http
科研邪修法8 小时前
培训PDF保护配置:把需求转换成可验收权限
linux·服务器·网络
略懂而已1 天前
安装SSL后网站速度变慢?
网络·网络协议·ssl
云上工程笔记1 天前
RDMA / IB 高速互联 GPU 云对比:多机训练网络性能与价格
网络·gpu算力·gpu
codigger1 天前
负载均衡到底在干嘛?7 个场景给你说明白
网络·架构·负载均衡