• ND协议——无状态地址自动配置 (SLAAC)


    参考学习:计算机网络 | 思科网络 | 无状态地址自动配置 (SLAAC) | 什么是SLAAC_瘦弱的皮卡丘的博客-CSDN博客

    与 IPv4 类似,可以手动或动态配置 IPv6 全局单播地址。但是,动态分配 IPv6 全局单播地址有两种方法:

    • 如图所示,无状态地址自动配置 (SLAAC)
    • IPv6 的动态主机配置协议(有状态 DHCPv6)

    有状态 DHCPv6分配IPv6地址可以阅读我的上一篇文章
    一文读懂DHCP协议 && DHCPv6协议
    无状态地址自动配置 (SLAAC)过程过程")

    一、SLAAC概述

    SLAAC 是一种可以在没有 DHCPv6 服务器服务的情况下获取 IPv6 全局单播地址的方法。SLAAC 的核心是 ICMPv6
    ICMPv6 与 ICMPv4 类似,但它包括其他功能,也是一种更稳定的协议。SLAAC 使用 ICMPv6 路由器请求消息路由器通告消息提供通常本由 DHCP 服务器提供的编址和其他配置信息。

    • 路由器请求 (RS) 消息 - 当配置客户端以使用 SLAAC 自动获取其编址信息时,该客户端会将 RS 消息发送至路由器。将 RS 信息发送至 IPv6 所有路由器组播地址 FF02::2
    • 路由器通告 (RA) 消息 - 路由器发送 RA 消息来提供所配置客户端的编址信息,以自动获取其 IPv6 地址。RA 消息包括本地数据段的前缀和前缀长度。客户端使用此信息创建自己的 IPv6 全局单播地址。**路由器定期发送 RA 消息或响应 RS 消息。**默认情况下,思科路由器每隔 200 秒发送一次 RA 消息。始终将 RA 消息发送到 IPv6 全节点组播地址 FF02::1

    SLAAC 是无状态的。无状态服务意味着没有维护网络地址信息的服务器。与 DHCP 不同,没有 SLAAC 服务器知道哪些 IPv6 地址正在使用中,哪些地址是可用的。

    二、SLAAC 工作原理

    路由器必须启用 IPv6 路由,然后才能发送 RA 消息:

     Router(config)# ipv6 unicast-routing 
    
    • 1

    图1. 配置 PC1 以自动获取 IPv6 编址
    在图 1 所示的示例拓扑中,配置 PC1 以自动获取 IPv6 编址。自启动开始,PC1 未收到一条 RA 消息,因此,它发送 RS 消息至所有路由器组播地址来通知本地 IPv6 路由器它需要 RA。
    图2. R1 接收 RS 消息并以 RA 消息作为回应
    如图 2 所示,R1 接收 RS 消息并以 RA 消息作为回应。RA 消息中包括网络的前缀和前缀长度。以路由器的本地链路地址为 IPv6 源地址将 RA 消息发送至 IPv6 全节点组播地址 FF02::1
    image.png
    图3. PC1 收到包含本地网络前缀和前缀长度的 RA 消息
    PC1 收到包含本地网络前缀和前缀长度的 RA 消息。PC1 会使用此信息创建自己的 IPv6 全局单播地址。PC1 现在有一个 64 位网络前缀,但是还需要一个 64 位接口 ID **(IID) **来创建全局单播地址。

    PC1 可以使用两种方式创建自己的唯一 IID:

    • EUI-64 - PC1 将使用 EUI-64 进程通过其 48 位 MAC 地址创建一个 IID。
    • 随机生成 - 该 64 位 IID 可以是客户端操作系统随机生成的数值。

    如图 3 所示,PC1 可以将 64 位前缀与 64 位 IID 相结合创建一个 128 位 IPv6 全局单播地址。PC1 会将路由器的本地链路地址用作其 IPv6 默认网关地址。
    图4. PC1发送 ICMPv6 请求消息
    由于 SLAAC 是无状态的过程,PC1 必须先验证此新创建的 IPv6 地址是唯一的,然后才能使用。
    如图 4 所示,PC1 使用一个特殊构造的多播地址发送 ICMPv6 邻居请求消息,此地址称为请求节点组播地址,它复制 PC1 的 IPv6 地址的最后 24 位。

    • 如果没有其他设备回应邻居通告消息,则实际上确保该地址是唯一的,可被 PC1 使用。
    • 如果 PC1 接收到邻居通告,那么该地址就不是唯一的,而且操作系统必须确定可用的新接口 ID。

    此过程是 ICMPv6 邻居发现的一部分,称为重复地址检测 (DAD)

    三、SLAAC 和 DHCPv6

    是否要配置客户端以使用 SLAAC、DHCPv6 或两者的组合来自动获取其 IPv6 地址信息取决于 RA 消息中的设置。

    这两个标记是管理地址配置标记(M 标记)其他配置标记(O 标记)
    图5. M 标记和 O 标记的不同组合的RA选项
    如图所示,如果使用 M 标记和 O 标记的不同组合,RA 消息会包含 IPv6 设备的三个编址选项之一。

    • SLAAC(仅路由器通告【RA】)【A=1, M=0, O=1】
    • 无状态 DHCPv6(路由器通告【RA】和 DHCPv6)
    • 有状态 DHCPv6(仅限 DHCPv6)【A=0, M=1】

    :虽然 RA 消息指定了客户端在动态获取 IPv6 地址时应使用的过程,但是客户端操作系统也可能选择忽略 RA 消息,并且只使用 DHCPv6 服务器的服务。
    =2023/10/10更新=====

    ICMPv6路由器请求(Router Solicitation)消息


    其中字段含义如下:
    Options(选项)字段:只能是源链路层地址选项,表明该报文发送者的链路层地址,不过如果IPv6报头的源地址为未指定地址,则不能包括该选项。

    ICMPv6路由器请求(Router Solicitation)消息:Type字段值为133,节点启动后,通过RS消息向路由器发出请求,请求前缀和其他配置信息,用于节点的自动配置。

    ICMPv6路由器通告(Router Advertisement)消息

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
    其中字段含义如下:
    image.pngimage.png
    选项字段中个选项的含义如下:
    1)源链路层地址选项:路由器发送RA报文的接口的链路层地址。
    2)MTU选项:包含了在链路上运行的链路层协议所能支持的MTU最大值。
    3)前缀信息选项(Prefix Information Option):用于地址自动配置的前缀信息,可包含多个。前缀信息选项在RFC2461中定义,用于表示地址前缀和有关地址自动配置的信息,值用于RA报文中;在其他的消息中,此选项应该被忽略。其格式如下图所示:
    其各字段的含义如下所示:
    image.pngimage.png
    4)路由信息选项(Route Information Option):用于主机生产默认路由。路由信息选项在RFC4191中定义,取代了原前缀信息选项的功能。接收RA报文的主机将选项中的信息添加到自己的贝蒂路由表中,以便在发送报文时做出更好地转发决定,其个数如下图所示:

    其中各字段含义如下所示:
    image.png

    ICMPv6路由器通告(Router Advertisement)消息:Type字段值为134,对RS消息进行回应。在没有抑制RA消息发布的条件下,路由器会周期性地发布RA消息,其中包括前缀信息选项和一些标志位的信息。

    在Native模式下分为RA模式和PD模式。板子如果在Native模式下,会先启动RA模式,再到PD模式。
    而SLAAC在RA模式下启动,DHCPv6在PD模式启动。

  • 相关阅读:
    将本地前端工程中的npm依赖上传到Nexus
    【HTML期末学生大作业】 制作一个简单HTML宠物网页(HTML+CSS)
    angr初探
    Elasticsearch系列组件:Logstash强大的日志管理和数据分析工具
    调度器/调度程序
    B站:提高你的词汇量:如何用英语谈论驾驶
    iText7高级教程之构建基础块——5.使用AbstractElement对象(part 2)
    ActiveMQ消息中间件简介
    【数据库数据恢复】EXT3文件系统ORACLE数据库误删除的数据恢复
    Android10禁用wifi随机mac地址,固定mac地址
  • 原文地址:https://blog.csdn.net/m0_51451952/article/details/133855254