IPv6 笔记

IPv6 地址介绍

IPv6 地址被表示为以冒号(:)分隔的一连串 16 比特的十六进制数。每个 IPv6 地址被分为8组,每组的 16 比特用 4 个十六进制数来表示,组和组之间用冒号隔开,比如:2001:0000:130F:0000:0000:09C0:876A:130B。

为了简化 IPv6 地址的表示,对于 IPv6 地址中的“0”可以有下面的处理方式:
•  每组中的前导“0”可以省略,即上述地址可写为 2001:0:130F:0:0:9C0:876A:130B。
•  如果地址中包含一组或连续多组均为 0 的组,则可以用双冒号“::”来代替,即上述地址可写为 2001:0:130F::9C0:876A:130B。

IPv6 地址分类

IPv6 单播地址

未指定地址

IPv6中的未指定地址即 0:0:0:0:0:0:0:0/128 或者::/128。该地址可以表示某个接口或者节点还没有IP地址,可以作为某些报文的源IP地址(例如在NS报文的重复地址检测中会出现)。源IP地址是::的报文不会被路由设备转发。

地址类型二进制前缀IPv6标识
未指定00...0(128bits)::/128

环回地址 

IPv6中的环回地址即 0:0:0:0:0:0:0:1/128 或者::1/128。环回与IPv4中的127.0.0.1作用相同,主要用于设备给自己发送报文。该地址通常用来作为一个虚接口的地址(如Loopback接口)。实际发送的数据包中不能使用环回地址作为源IP地址或者目的IP地址。

地址类型二进制前缀IPv6标识
环回地址00...1(128bits)::1/128

全球单播地址

全球单播地址是带有全球单播前缀的IPv6地址,其作用类似于IPv4中的公网地址。这种类型的地址允许路由前缀的聚合,从而限制了全球路由表项的数量。

地址类型二进制前缀IPv6标识
全球单播地址00102000::/3

链路本地地址

链路本地地址是IPv6中的应用范围受限制的地址类型,只能在连接到同一本地链路的节点之间使用。它使用了特定的本地链路前缀FE80::/10(最高10位值为1111111010),同时将接口标识添加在后面作为地址的低64比特。

当一个节点启动IPv6协议栈时,启动时节点的每个接口会自动配置一个链路本地地址(其固定的前缀+EUI-64规则形成的接口标识)。这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信。所以链路本地地址广泛应用于邻居发现,无状态地址配置等应用。

以链路本地地址为源地址或目的地址的IPv6报文不会被路由设备转发到其他链路。

地址类型二进制前缀IPv6标识
Link-local地址1111111010FE80::/10

唯一本地地址

唯一本地地址是另一种应用范围受限的地址,它仅能在一个站点内使用。由于本地站点地址的废除,唯一本地地址被用来代替本地站点地址。

唯一本地地址的作用类似于IPv4中的私网地址,任何没有申请到提供商分配的全球单播地址的组织机构都可以使用唯一本地地址。唯一本地地址只能在本地网络内部被路由转发而不会在全球网络中被路由转发。

地址类型二进制前缀IPv6标识
Unique local unicast address1111 110

FC00::/7

IPv6 组播地址

地址应用
FF01::1表示节点本地范围所有节点的组播地址
FF02::1表示链路本地范围所有节点的组播地址
FF01::2表示节点本地范围所有路由器的组播地址
FF02::2表示链路本地范围所有路由器的组播地址

另外,还有一类组播地址:被请求节点(Solicited-Node)组播地址。

被请求节点组播地址通过节点的单播或任播地址生成。当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。一个单播地址或任播地址对应一个被请求节点组播地址。该地址主要用于邻居发现机制和地址重复检测功能。

IPv6中没有广播地址,也不使用ARP。但是仍然需要从IP地址解析到MAC地址的功能。在IPv6中,这个功能通过邻居请求NS(Neighbor Solicitation)报文完成。当一个节点需要解析某个IPv6地址对应的MAC地址时,会发送NS报文,该报文的目的IP就是需要解析的IPv6地址对应的被请求节点组播地址;只有具有该组播地址的节点会检查处理。

被请求节点组播地址由前缀FF02::1:FF00:0/104和单播地址的最后24位组成。

【示例】

[AR1]display ipv6 interface GigabitEthernet 0/0/0
GigabitEthernet0/0/0 current state : UP 
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE99:6146
  Global unicast address(es):
    2021:6:27::1, subnet is 2021:6:27::/126
  Joined group address(es):
    FF02::1:FF00:1 <<<<<自动加组
    FF02::2
    FF02::1
    FF02::1:FF99:6146
  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
  Hosts use stateless autoconfig for addresses

IPv6 任播地址

用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据报文
被传送给此地址所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一
个接口。

IPv6 邻居发现协议

IPv6 邻居发现(Neighbor Discovery,ND)协议使用五种类型的 ICMPv6 消息,实现下面一些功能:地址解析、验证邻居是否可达、重复地址检测、路由器发现/前缀发现、地址自动配置和重定向等功能。

邻居发现协议使用的ICMPv6 消息的类型及作用如下表所示。 

ICMPv6 消息类型号作用
邻居请求消息NS(Neighbor
Solicitation)
135获取邻居的链路层地址
验证邻居是否可达
进行重复地址检测
邻居通告消息NA(Neighbor
Advertisement)
136对NS消息进行响应
节点在链路层变化时主动发送NA消息,向邻居节点通告本节
点的变化信息
路由器请求消息RS(Router
Solicitation)
133节点启动后,通过RS消息向路由器发出请求,请求前缀和其
他配置信息,用于节点的自动配置
路由器通告消息RA(Router
Advertisement)
134对RS消息进行响应
在没有抑制RA消息发布的条件下,路由器会周期性地发布RA
消息,其中包括前缀信息选项和一些标志位的信息
重定向消息(Redirect)137当满足一定的条件时,缺省网关通过向源主机发送重定向消
息,使主机重新选择正确的下一跳地址进行后续报文的发送

IPv6 邻居状态机

RFC中定义了5种邻居状态,分别是:未完成(Incomplete)、可达(Reachable)、陈旧(Stale)、延迟(Delay)、探查(Probe)。

下面以A、B两个邻居节点之间相互通信过程中A节点的邻居状态变化为例(假设A、B之前从未通信),说明邻居状态迁移的过程。

  1. A先发送NS报文,并生成缓存条目,此时,邻居状态为Incomplete。
  2. 若B回复NA报文,则邻居状态由Incomplete变为Reachable,否则固定时间后邻居状态由Incomplete变为Empty,即删除表项。
  3. 经过邻居可达时间,邻居状态由Reachable变为Stale,即不确定邻居节点的可达性。
  4. 如果在Reachable状态,A收到B的非请求NA报文,且报文中携带的B的链路层地址和表项中不同,则邻居状态马上变为Stale。
  5. 在STALE状态到达老化时间后进入Delay状态。
  6. 在经过一段固定时间(5秒)后,邻居状态由Delay变为Probe,其间若有NA应答,则邻居状态由Delay变为Reachable。
  7. 在Probe状态,A每隔一定时间间隔(1秒)发送单播NS,发送固定次数(3次)后,有应答则邻居状态变为Reachable,否则邻居状态变为Empty,即删除表项。

【真机显示效果】

[H3C]display ipv6 neighbors 2021:7:1::2 
Type: S-Static    D-Dynamic    O-Openflow     R-Rule    IS-Invalid static
IPv6 address              MAC address    VID  Interface           State T  Aging
2021:7:1::2               8005-88b5-8599 --   XGE1/0/10.10        REACH D  19  

[H3C]display ipv6 neighbors 2021:7:1::2 
Type: S-Static    D-Dynamic    O-Openflow     R-Rule    IS-Invalid static
IPv6 address              MAC address    VID  Interface           State T  Aging
2021:7:1::2               8005-88b5-8599 --   XGE1/0/10.10        STALE D  1   

[H3C]display ipv6 neighbors 2021:7:1::2 
Type: S-Static    D-Dynamic    O-Openflow     R-Rule    IS-Invalid static
IPv6 address              MAC address    VID  Interface           State T  Aging
2021:7:1::2               8005-88b5-8599 --   XGE1/0/10.10        DELAY D  1  

实验数据

拓扑信息

配置信息

AR1:

#
interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address 2021:6:27::1/126 
#

[AR1]display ipv6 interface GigabitEthernet 0/0/0
GigabitEthernet0/0/0 current state : UP 
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE99:6146
  Global unicast address(es):
    2021:6:27::1, subnet is 2021:6:27::/126
  Joined group address(es):
    FF02::1:FF00:1
    FF02::2
    FF02::1
    FF02::1:FF99:6146
  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
  Hosts use stateless autoconfig for addresses

AR2:

#
interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address 2021:6:27::2/126 
#

[AR2]display ipv6 interface GigabitEthernet 0/0/0
GigabitEthernet0/0/0 current state : UP 
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE4E:6CAF
  Global unicast address(es):
    2021:6:27::2, subnet is 2021:6:27::/126
  Joined group address(es):
    FF02::1:FF00:2
    FF02::2
    FF02::1
    FF02::1:FF4E:6CAF
  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
  Hosts use stateless autoconfig for addresses

测试过程

[AR1]ping ipv6 2021:6:27::2
  PING 2021:6:27::2 : 56  data bytes, press CTRL_C to break
    Reply from 2021:6:27::2 
    bytes=56 Sequence=1 hop limit=64  time = 80 ms
    Reply from 2021:6:27::2 
    bytes=56 Sequence=2 hop limit=64  time = 20 ms
    Reply from 2021:6:27::2 
    bytes=56 Sequence=3 hop limit=64  time = 30 ms
    Reply from 2021:6:27::2 
    bytes=56 Sequence=4 hop limit=64  time = 30 ms
    Reply from 2021:6:27::2 
    bytes=56 Sequence=5 hop limit=64  time = 30 ms

  --- 2021:6:27::2 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/38/80 ms

邻居信息

[AR1]display ipv6 neighbors 
-----------------------------------------------------------------------------
IPv6 Address : 2021:6:27::2                                      
Link-layer   : 00e0-fc4e-6caf                     State : STALE        
Interface    : GE0/0/0                            Age   : 14                  
VLAN         : -                                  CEVLAN: -                   
VPN name     :                                    Is Router: TRUE             
Secure FLAG  : UN-SECURE                          

IPv6 Address : FE80::2E0:FCFF:FE4E:6CAF                          
Link-layer   : 00e0-fc4e-6caf                     State : STALE        
Interface    : GE0/0/0                            Age   : 14                  
VLAN         : -                                  CEVLAN: -                   
VPN name     :                                    Is Router: TRUE             
Secure FLAG  : UN-SECURE                          

-----------------------------------------------------------------------------
Total: 2       Dynamic: 2       Static: 0

交互报文

NS报文:

NA报文:

ICMP request报文:

ICMP reply报文:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值