网络协议详解--IPv6
2026-02-08
网络
00
请注意,本文编写于 55 天前,最后修改于 5 天前,其中某些信息可能已经过时。

目录

IPv6产生背景
IPv6的特点
IPv6的地址
地址格式
单播地址
(1)全局单播地址(Global Unicast Address):以2000::/3开头
(2)链路本地地址(Link-Local Unicast Address): 以FE80::/10开头
(3)本地站点地址(Site-Local Unicast Address,已废弃):以FEC0::/10开头
(4)唯一本地地址(Unique-Local Address):
其他地址
任播地址
组播地址
IPv6配置(Huawei设备)
1、使能IPv6
2、配置接口的链路本地地址
3、配置接口的单播地址
4、配置IPv6静态路由
5、查看接口的IPv6信息
6、查看邻居表信息
7、使能系统发布RA报文功能
实例
在AR1、AR2、AR3、AR4全局和相关接口使能IPv6功能,同时自动生成链路本地地址(以AR1为例)
在AR1、AR2相应接口配置静态IPv6全球单播地址
在AR2上配置DHCPv6服务器功能,AR3接口通过DHCPv6方式获取全球单播地址
在AR2使能发布RA报文功能,AR4通过无状态地址配置获取地址
给AR1、AR3、AR4设备配置静态路由

IPv6产生背景

​ **(1)地址空间的耗尽:**因特网呈指数级发展,导致IPv4地址空间几乎耗尽。虽然采用了子网划分、CIDR和NAT地址转换技术,但这没有从根源解决地址耗尽的问题

​ **(2)IP层安全需求的增长:**IPv4设计时没有考虑到安全的问题。虽然现在IPSec协议可以提供对IPv4数据包的安全保护,但协议只是个可选选项。目前企业之间还是使用各自私有的安全方案

​ **(3)更好的实时QoS支持的需求:**在IPv4的首部中包含服务类型字段(TOS),但是在实际使用上,并没有真正的使用。

​ 实际上,就是随着时代的发展,IPv4没有地址给人人们上网了,所以出来的IPv6。但现在的主流还是IPv4

IPv6的特点

​ 与IPv4相比,IPv6由以下特点

​ **(1)新的首部格式:**简化为固定的40字节,去掉了在IPv4首部的一些不必要的字段,并将一些可选字段放在了IPv6首部后面的扩展首部中。

​ **(2)巨大的地址空间:**IPv6的地址从IPv4的32比特增大到128比特,地址空间为2的128次方

​ **(3)层次化的地址结构:**相比较于IPv4地址,IPv6地址的分配更加规范,利于路由聚合(缩减IPv6路由表规模)、路由快速查询

​ **(4)即插即用:**IPv6支持无状态地址自动配置(SLAAC),终端接入更加简单

​ **(5)安全特性:**IPsec、真实源地址认证等保证端到端安全;避免NAT破坏端到端通信的完整性

​ **(6)增强的QoS特性:**额外定义了流标签字段,可谓应用程序或者终端所用,针对特殊的服务和数据流,分配特定的资源

IPv6的地址

地址格式

​ IPv6的128比特位分为8组,每组16比特,每组写成十六进制数的形式,组与组之间用冒号分开,称为冒号十六进制法,如(2001:0DB8:85A3:08D3:1319:8A2E:0270:7344)

优化写法:

​ (1)在每一组的十六进制数中,前面的数字都是0的话,就可以将这些0省略掉。如一组0002,可以省略记为2

​ (2)如果一组全为0或多组连续全0,则可以用一对 “ :: ” 来代替。如(2001:0DB8:0000:0000:85A3...)可以省略为(2001:0DB8::85A3...)。注:这种方法只能使用一次

单播地址

​ 所有格式前缀不是组播格式前缀(1111 1111)的IPv6地址都是IPv6单播格式(任播格式和单播格式相同)。IPv6单播地址和IPv4单播地址一样可聚合

(1)全局单播地址**(Global Unicast Address)**:以2000::/3开头

  • IPv6的全球单播地址和任播地址的格式相同
  • 使用全球路由前缀,这是一种能向上聚合,最终到达ISP的结构
  • 单个接口可分配多个任意类型的地址(单播、组播、任播)
  • 单个支持IPv6的接口至少含有一个环回地址(::1/128)和一个本地链路地址
  • 每个接口可选择性的拥有多个唯一的本地地址和全球地址

  • 链路本地地址的范围限制在链路之内,在IPv6接口上通过使用指定的链路本地地址前缀(FE80::/10)和64位接口标识符动态创建
  • 链路本地地址用于自动地址配置、邻居发现和路由器发现
  • 链路本地地址可连接相同本地网络的设备,而且无需全球地址
  • 使用链路本地地址通信时,因每个接口都连接到FE80::/10,所以必须指定传出接口

(3)本地站点地址**(Site-Local Unicast Address,已废弃)**:以FEC0::/10开头

​ 早期用于在组织内部进行数据通信,但后来被唯一本地地址(Unique-Local Address)所取代

(4)唯一本地地址(Unique-Local Address):

  • 尽管唯一本地地址仅在本地网络中使用,但它们是通过一种机制生成的,以确保在全球范围内的唯一性。这避免了在不同网络之间出现地址冲突的可能性。
  • 唯一本地地址在全局IPv6网络上是不可路由的,这意味着它们不会被路由到互联网上的其他部分。这有助于保护本地网络的隐私和安全。
  • 唯一本地地址以FC00::/7作为固定前缀,进一步细分为FC00::/8(保留)和FD00::/8(实际使用)。其中,FD00::/8是实际用于分配的唯一本地地址空间。

其他地址

​ 在单播中还有一些地址,如:保留地址(由IETF使用)、环回地址(::1/128)、未指定地址(::/128)

任播地址

​ IPv6任播地址格式和单播地址格式相同,用来标识一组接口的地址。一般这些接口粟裕不同的节点,发往任播地址的报文被发送到这组接口中与其最近的接口

  • 任播地址与多播地址类似,多个节点共享一个任播地址,但只有一个节点期待接收给任播地址的数据报。
  • 任播使一种到最近节点的发现机制成为可能,对于客户机和服务器之间不需要有特定关系的一些服务特别有用,如域名服务器和时间服务器。

组播地址

IPv6中没有广播,用组播代替

  • ff00::/8:表示组播地址范围
  • 主要组播地址包括:
    • ff02::1:所有节点地址,发送到该地址的数据包会被本地链路上的所有节点接收
    • ff02::2:所有路由器地址,发送到该地址的数据包会被本地链路上的所有路由器接收
    • ff05::1:3:用于DHCPv6(Dynamic Host Configuration Protocol for IPv6)的组播地址

IPv6配置(Huawei设备)

1、使能IPv6

展开代码
# 使能设备转发IPv6单播报文,包括本地报文的发送和接收 [Huawei]ipv6 # 在接口视图下,在接口上使能该接口的IPv6功能 [Huawei-GigabitEthernet0/0/0]ipv6 enable

2、配置接口的链路本地地址

展开代码
# 在接口视图下,通过手工或自动的方式,配置接口的链路本地地址 # 手工方式 [Huawei-GigabitEthernet0/0/0]ipv6 address ipv6-address link-local # 自动方式 [Huawei-GigabitEthernet0/0/0]ipv6 address auto link-local

3、配置接口的单播地址

展开代码
# 在接口视图下,通过手工或自动(有状态或无状态)的方式,配置接口的全球单播地址 # 手工方式 [Huawei-GigabitEthernet0/0/0]ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } # 自动方式 [Huawei-GigabitEthernet0/0/0]ipv6 address auto { global | dhcp }

4、配置IPv6静态路由

展开代码
[Huawei]ipv6 route-static dest-ipv6-address prefix-length { interface-type interface-number [ nexthop-ipv6-address ] | nexthop-ipv6-address } [ preference prefernece ]

5、查看接口的IPv6信息

展开代码
[Huawei]display ipv6 interface [ interface-type interface-number | brief ]

6、查看邻居表信息

展开代码
[Huawei]display ipv6 neighbors

7、使能系统发布RA报文功能

展开代码
[Huawei-GigabitEthernet0/0/0]undo ipv6 nd ra halt

实例

需求:

  • AR1和AR2之间使用静态IPv6地址互联
  • AR2作为DHCP服务器给AR3的GE0/0/0分配全球单播地址
  • AR4的GE0/0/0接口通过AR2的RA进行无状态地址自动配置
  • 配置静态路由,实现各设备之间互访

在AR1、AR2、AR3、AR4全局和相关接口使能IPv6功能,同时自动生成链路本地地址(以AR1为例)

展开代码
[AR1]ipv6 [AR1]interface GigabitEthernet 0/0/0 [AR1-GigabitEthernet0/0/0]ipv6 enable [AR1-GigabitEthernet0/0/0]ipv6 address auto link-local [AR1-GigabitEthernet0/0/0]q

在AR1、AR2相应接口配置静态IPv6全球单播地址

展开代码
# AR1配置 [AR1]interface GigabitEthernet 0/0/0 [AR1-GigabitEthernet0/0/0]ipv6 address 2001::1 64 [AR1-GigabitEthernet0/0/0]q # AR2配置 [AR2]interface GigabitEthernet 0/0/0 [AR2-GigabitEthernet0/0/0]ipv6 address 2002::1 64 [AR2-GigabitEthernet0/0/0]q [AR2]interface GigabitEthernet 0/0/1 [AR2-GigabitEthernet0/0/1]ipv6 address 2003::2 64 [AR2-GigabitEthernet0/0/1]q [AR2]interface GigabitEthernet 0/0/2 [AR2-GigabitEthernet0/0/2]ipv6 address 2001::2 64 [AR2-GigabitEthernet0/0/2]q

在AR2上配置DHCPv6服务器功能,AR3接口通过DHCPv6方式获取全球单播地址

展开代码
# AR2配置 [AR2]dhcp enable Info: The operation may take a few seconds. Please wait for a moment.done. [AR2]dhcpv6 pool ren1 [AR2-dhcpv6-pool-ren1]address prefix 2002::/64 [AR2-dhcpv6-pool-ren1]q [AR2]interface GigabitEthernet 0/0/0 [AR2-GigabitEthernet0/0/0]dhcpv6 server ren1 [AR2-GigabitEthernet0/0/0]q # AR3配置 [AR3]dhcp enable Info: The operation may take a few seconds. Please wait for a moment.done. [AR3]interface GigabitEthernet 0/0/0 [AR3-GigabitEthernet0/0/0]ipv6 address auto dhcp [AR3-GigabitEthernet0/0/0]q

在AR2使能发布RA报文功能,AR4通过无状态地址配置获取地址

展开代码
# AR2配置 [AR2]interface GigabitEthernet 0/0/1 [AR2-GigabitEthernet0/0/1]undo ipv6 nd ra halt [AR2-GigabitEthernet0/0/1]q # AR4配置 [AR4]interface GigabitEthernet 0/0/0 [AR4-GigabitEthernet0/0/0]ipv6 address auto global [AR4-GigabitEthernet0/0/0]q

给AR1、AR3、AR4设备配置静态路由

展开代码
# AR1配置 [AR1]ipv6 route-static 2002:: 15 2001::2 # AR3配置 [AR3]ipv6 route-static :: 0 2002::1 # AR4配置 [AR4]ipv6 route-static 2001:: 64 2003::1 [AR4]ipv6 route-static 2002:: 64 2003::1

本文作者:zzz

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!