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)和一个本地链路地址
- 每个接口可选择性的拥有多个唯一的本地地址和全球地址
(2)链路本地地址(Link-Local Unicast Address): 以FE80::/10开头
- 链路本地地址的范围限制在链路之内,在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