百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

笔记08:IPv6地址配置方法二——无状态地址自动配置SLAAC

yuyutoo 2024-10-11 21:41 5 浏览 0 评论

手动静态配置IPv6的方式比较合适于需要固定地址的服务器、路由器、交换机等。对于一般主机,自动配置IPv6地址则更显方便。自动配置IPv6地址方式主要分为无状态和有状态。

其中无状态地址自动配置SLAAC是一种简单的IPv6地址配置方式,支持几乎所有的网络终端。其缺点是:

  • 路由器网关或服务器不记录分配给客户机的IPv6地址信息,不利于管理;
  • 不能为指定终端分配固定的IPv6地址;
  • 客户机只能获得可通信的全局IPv6地址,不能获取到诸如IPv6DNS等其他信息。

注:

无状态:是指负责地址分配的网关或服务器不会记录客户获得的IPv6地址,只在RA报文中携带前缀信息选项通告给客户端。该方式的缺点是不利于进行溯源。

无状态地址自动配置过程

IPv6设备能够自动为每个接口配置链路本地地址。通过路由器发现技术——交换RS和RA报文,设备即可确定邻居节点路由器的地址、链路上的前缀、无状态地址以及其他设置参数。路由器通告消息中包含的一些标志作用是:表示是否需要为额外的配置使用地址配置协议(如DHCPv6)。

无状态地址自动配置机制及过程大致如图1

  1. 接口启用IPv6协议后,将使用fe80::/64前缀和接口标识符构建一个临时状态的链路本地地址。(接口标识符可以随机生成,也可以基于EUI-64格式,看是否禁止了随机生成接口标识符功能)
  2. 主机发送NS报文(报文中的目标地址设置为上面生成的链路本地地址)对该临时的链路本地地址进行DAD。
  3. 如果该接口收到响应NS报文的NA报文,则表示该临时的链路本地地址重复了,需重新生成链路本地地址并进行DAD。
  4. 如果没有收到NA响应报文,则说明该临时链路本地地址是唯一的,将在接口上把该地址的状态更改为选用状态
  5. 主机发送RS报文,源地址是上面通过DAD的链路本地地址,目的地址是FF02::2。
  6. 主机如果没收到RA报文,则使用DHCPv6配置地址——向DHCPv6服务器(组播地址FF02::1:2)或中继(组播地址FF05::1:3)发送DHCPv6请求报文,以完成地址配置。
  7. 如果收到RA报文,则检查RA报文中的“路由器生存时间”字段,如果值不为0,则将RA发送方设为自己的默认网关。
  8. 检查RA报文中的管理地址配置标志(M位),如是1,则使用DHCPv6配置地址。
  9. 检查RA报文中的其他状态化配置标志(O位),如是1,则采用DHCPv6获取地址外的其他参数信息。
  10. 检查RA报文,是否携带前缀信息,如果有,主机将提取RA报文中所有的前缀。
  11. 检查前缀中的链路上标志(L位),如是1(On-link),将该前缀加入自己的前缀列表(路由表)中。
  12. 检查前缀中的自治标志(A位),如是1,将进行无状态自动地址配置。
  13. 对临时IPv6地址做DAD,如果通过检测,则将地址状态转成首选状态。
  14. 继续检查前缀列表中每一个前缀的自治标志(A位),如是1,则生成随机的或基于EUI-64格式的接口标识符,加上对应的前缀构成临时状态的公用IPv6地址并进行DAD。

注:

  • 无状态自动配置的地址可与有状态DHCPv6自动配置的地址并存。
  • 无状态自动配置的地址的首选优先级一般高于有状态DHCPv6配置的地址。

自动配置地址的状态

自动配置地址存在以下几种状态,如图2。

  • 试探(Tentative): 该地址正处于验证唯一性的过程中。验证通过DAD来实现的。处于此状态的地址无法接收单播流量,但可以接收和处理DAD的组播NA响应消息。
  • 选用(Preferred): 该地址的唯一性已经被验证,是有效的地址,并且可用于实现不受限制的通信。节点可以发送和接收从选用地址出入的单播流量。通过“路由器通告”消息中“前缀信息”可选项中的“选用生存时间”字段或“DHCPv6 IA地址”可选项中的“选用生存时间”字段,可以判断出该地址处于试探和选用状态的时间周期。
  • 弃用(Deprecated): 该地址的唯一性已经被验证,是有效的地址,但是并不鼓励将它用于新的通信。现存的通信会话仍然可以使用弃用的地址。节点可以发送和接收从弃用地址出入的单播流量。
  • 有效(Valid): 该地址可以用于发送和接收单播流量。有效状态中包括选用(preferred)和弃用(deprecated)状态。通过“路由器通告”消息中“前缀信息”可选项的“有效生存时间”字段或“DHCPv6 IA(身份联系)地址”可选项中的有效生存时间字段,可以确定地址保持在试探、选用以及弃用状态的时间之和。
  • 无效(Invalid): 该地址已不再用于发送或接收单播流量。在有效生存时间到期后,地址就进入无效状态。

SLAAC配置

下面使用H3C的模拟器进行SLAAC配置IPv6地址,地址规划示例如图3拓扑:

与《笔记07:IPv6地址配置方法一——手动静态配置》不同点在于,主要通过R2对PC2进行SLAAC配置。

一、路由器R1配置

# 进入全局配置模式
<H3C> system-view
# 修改主机名
[H3C] hostname R1
# 手工指定接口G6/1的全球单播地址。
[R1] interface gigabitethernet 6/1
[R1-GigabitEthernet6/1] ipv6 address 2001::1/64
# 手工指定接口G0/0的全球单播地址。
[R1-GigabitEthernet6/1] interface gigabitethernet 0/0
[R1-GigabitEthernet0/0] ipv6 address 2012::1/64
[R1-GigabitEthernet0/0] quit

二、路由器R2配置

# 进入全局配置模式
<H3C> system-view
# 修改主机名
[H3C] hostname R2
# 手工指定接口G6/1的全球单播地址,使能接口发布RA消息功能。
[R2] interface gigabitethernet 6/1
[R2-GigabitEthernet6/1] ipv6 address 2002::1/64
[R2-GigabitEthernet6/1] undo ipv6 nd ra halt
# 手工指定接口G0/0的全球单播地址。
[R2-GigabitEthernet6/1] interface gigabitethernet 0/0
[R2-GigabitEthernet0/0] ipv6 address 2012::2/64
[R2-GigabitEthernet0/0]
[R2-GigabitEthernet0/0] quit
# 手工配置IPv6静态路由。
[R2] ipv6 route-static 2001:: 64 2012::1
# 保存配置
[R2] save

注:在HCL5.9版中,缺省情况下,路由器的接口不会发布RA消息,需要手动打开。

三、PC1配置

# 进入全局配置模式
<H3C> system-view
# 修改主机名
[H3C] hostname PC1
# 手工指定接口G0/1的全球单播地址。
[PC1] interface gigabitethernet 0/1
[PC1-GigabitEthernet0/1] ipv6 address 2001::2/64
[PC1-GigabitEthernet0/1] quit
# 手工配置IPv6缺省路由。
[PC1] ipv6 route-static :: 0 2001::1
# 保存配置
[PC1] save

四、PC2配置

# 进入全局配置模式
<H3C> system-view
# 修改主机名
[H3C] hostname PC2
# 使能指定接口G0/1的地址自动配置。
[PC1] interface gigabitethernet 0/1
[PC1-GigabitEthernet0/1] ipv6 address auto
[PC1-GigabitEthernet0/1] quit
# 手工配置IPv6缺省路由。
[PC2] ipv6 route-static :: 0 2002::1
# 保存配置
[PC2] save

验证

一、查看接口信息和邻居状态

(一) 在PC2上查看,如下命令输出

  • 从第5~6行的IPv6地址可以看出:PC2与R2成为了邻居;状态因为没有数据传输,所以处于stale。
  • 从第11~14行可以看到:自动配置的链路本地地址、无状态自动配置的全球单播地址,以及相应的定时器。
  • 从第14~18行可以看到:加入的组播组。
  • 从第20~22行可以看到:ND的默认参数信息。
# 查看邻居状态
<PC2> display ipv6 neighbors all
Type: S-Static    D-Dynamic    O-Openflow     R-Rule    IS-Invalid static
IPv6 address                      MAC address       VID  Interface          State T    Aging
2002::1                               666d-5839-020f  --     GE0/1               STALE D   21
FE80::646D:58FF:FE39:20F  666d-5839-020f  --     GE0/1               STALE D  12
# 查看接口信息
<PC2>display ipv6 interface GigabitEthernet 0/1
GigabitEthernet0/1 current state: UP
Line protocol current state: UP
IPv6 is enabled, link-local address is FE80::8283:69FF:FEC0:306
  Global unicast address(es):
    2002::8283:69FF:FEC0:306, subnet is 2002::/64 [AUTOCFG]
      [valid lifetime 2591720s/preferred lifetime 604520s]
  Joined group address(es):
    FF02::1
    FF02::2
    FF02::1:FFC0:306
  MTU is 1500 bytes
  ND DAD is enabled, number of DAD attempts: 1
  ND reachable time is 30000 milliseconds
  ND retransmit interval is 1000 milliseconds

(二) 类似的在R2上查看,如下命令输出

  • 从第5~8行的IPv6地址可以看出:R2分别与R1、PC2成为了邻居;
  • 从第13~15行可以看到:自动配置的链路本地地址、手工配置的全球单播地址。
# 查看邻居状态
<R2>display ipv6 neighbors all
Type: S-Static    D-Dynamic    O-Openflow     R-Rule    IS-Invalid static
IPv6 address              MAC address    VID  Interface           State T  Aging
2012::1                   666d-4b28-0105 --   GE0/0               STALE D  914
FE80::646D:4BFF:FE28:105  666d-4b28-0105 --   GE0/0               STALE D  909
2002::8283:69FF:FEC0:306  8083-69c0-0306 --   GE6/1               STALE D  919
FE80::8283:69FF:FEC0:306  8083-69c0-0306 --   GE6/1               STALE D  909
# 查看接口信息
<R2>display ipv6 interface GigabitEthernet 6/1
GigabitEthernet6/1 current state: UP
Line protocol current state: UP
IPv6 is enabled, link-local address is FE80::646D:58FF:FE39:20F
  Global unicast address(es):
    2002::1, subnet is 2002::/64
  Joined group address(es):
    FF02::1
    FF02::2
    FF02::1:FF00:1
    FF02::1:FF39:20F
  MTU is 1500 bytes
  ND DAD is enabled, number of DAD attempts: 1
  ND reachable time is 30000 milliseconds
  ND retransmit interval is 1000 milliseconds
  ND advertised reachable time is 0 milliseconds
  ND advertised retransmit interval is 0 milliseconds
  ND router advertisements are sent every 600 seconds
  ND router advertisements live for 1800 seconds
  Hosts use stateless autoconfig for addresses

二、使用Ping测试PC2与PC1之间的互通性

(一) 在PC2上 ping PC1的手工配置的IPv6地址,结果如图4所示,可以ping通。

(二) 在PC1上 ping PC2的自动配置的IPv6地址,结果如图5所示,可以ping通。

从以上验证的结果来看,手工配置和自动配置的IP地址都没有问题。

相关推荐

史上最全的浏览器兼容性问题和解决方案

微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)●●●...

平面设计基础知识_平面设计基础知识实验收获与总结
平面设计基础知识_平面设计基础知识实验收获与总结

CSS构造颜色,背景与图像1.使用span更好的控制文本中局部区域的文本:文本;2.使用display属性提供区块转变:display:inline(是内联的...

2025-02-21 16:01 yuyutoo

写作排版简单三步就行-工具篇_作文排版模板

和我们工作中日常word排版内部交流不同,这篇教程介绍的写作排版主要是用于“微信公众号、头条号”网络展示。写作展现的是我的思考,排版是让写作在网格上更好地展现。在写作上花费时间是有累积复利优势的,在排...

写一个2048的游戏_2048小游戏功能实现

1.创建HTML文件1.打开一个文本编辑器,例如Notepad++、SublimeText、VisualStudioCode等。2.将以下HTML代码复制并粘贴到文本编辑器中:html...

今天你穿“短袖”了吗?青岛最高23℃!接下来几天气温更刺激……

  最近的天气暖和得让很多小伙伴们喊“热”!!!  昨天的气温到底升得有多高呢?你家有没有榜上有名?...

CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

之前也有写过CSS优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义CSS变量,自定义主题颜色。布局...

柠檬科技肖勃飞:大数据风控助力信用社会建设

...

你的自我界限够强大吗?_你的自我界限够强大吗英文

我的结果:A、该设立新的界限...

行内元素与块级元素,以及区别_行内元素和块级元素有什么区别?

行内元素与块级元素首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block)、行内(inline)。块级元素:(以下列举比较常...

让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华
让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华

去年的两会期间,习近平总书记在参加人大会议四川代表团审议时,对治蜀兴川提出了明确要求,指明了前行方向,并带来了“祝四川人民的生活越来越安逸”的美好祝福。又是一年...

2025-02-21 16:00 yuyutoo

今年国家综合性消防救援队伍计划招录消防员15000名

记者24日从应急管理部获悉,国家综合性消防救援队伍2023年消防员招录工作已正式启动。今年共计划招录消防员15000名,其中高校应届毕业生5000名、退役士兵5000名、社会青年5000名。本次招录的...

一起盘点最新 Chrome v133 的5大主流特性 ?

1.CSS的高级attr()方法CSSattr()函数是CSSLevel5中用于检索DOM元素的属性值并将其用于CSS属性值,类似于var()函数替换自定义属性值的方式。...

竞走团体世锦赛5月太仓举行 世界冠军杨家玉担任形象大使

style="text-align:center;"data-mce-style="text-align:...

学物理能做什么?_学物理能做什么 卢昌海

作者:曹则贤中国科学院物理研究所原标题:《物理学:ASourceofPowerforMan》在2006年中央电视台《对话》栏目的某期节目中,主持人问过我一个的问题:“学物理的人,如果日后不...

你不知道的关于这只眯眼兔的6个小秘密
你不知道的关于这只眯眼兔的6个小秘密

在你们忙着给熊本君做表情包的时候,要知道,最先在网络上引起轰动的可是这只脸上只有两条缝的兔子——兔斯基。今年,它更是迎来了自己的10岁生日。①关于德艺双馨“老艺...

2025-02-21 16:00 yuyutoo

取消回复欢迎 发表评论: