【IPV6从入门到起飞】1-IPV6简介
IPV6介绍
IPv6(互联网协议第六版)是为了解决IPv4地址耗尽问题而设计的下一代互联网协议。
它引入了更大的地址空间和一些新的特性,以满足现代网络的需求。
1. 地址空间
IPv6使用128位地址长度,相比于IPv4的32位地址,IPv6可以提供极其庞大的地址空间。具体来说,IPv6可以提供约3.4×10^38个地址,这几乎可以为地球上的每一粒沙子分配一个唯一的IP地址。
2. 地址表示
IPv6地址由128位二进制数构成,通常以十六进制形式表示,分为8组,每组16位(4个十六进制数字),用冒号分隔。每组的范围是从0000到FFFF。例如:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
其中每个xxxx代表一个16位的十六进制数。
2.1 地址压缩
IPv6地址可以通过以下方式进行压缩:
- 零压缩:连续的零组可以用双冒号(::)表示,但在一个地址中只能使用一次。例如,上面的地址可以简化为:
2001:0db8:85a3::8a2e:0370:7334
- 前导零省略:每组中的前导零可以省略,例如0001可以表示为1。
3. 地址类型
IPv6地址可以分为以下几种主要类型:
3.1 单播地址(Unicast Address)
单播地址用于标识网络中的单个接口。数据包从一个源发送到一个目的地。单播地址又可以细分为:
- 全球单播地址(Global Unicast Address):可在互联网上唯一标识的地址,通常以2000::/3开头。
- 全球单播地址由全球路由前缀(Global routing prefix,48bit)、子网ID(subnet ID,16bit)、和接口标识(interface 路由前ID,64bit)组成。
- 链路本地地址(Link-Local Address):用于在同一链路上的设备之间通信,地址范围为FE80::/10。这些地址不能被路由到互联网。
- 站点本地地址(Site-Local Address):用于在一个站点内部的通信,已被弃用。
3.2 组播地址(Multicast Address)
组播地址用于向一组接口发送数据包。组播地址以FF00::/8开头。组播可以有效地减少网络带宽的使用,因为数据包只会被发送到需要接收的接口。
3.3 任播地址(Anycast Address)
任播地址用于将数据包发送到一组接口中的最近接口。任播地址的分配通常用于负载均衡和冗余。
3.4 唯一本机地址
ULA,唯一本地地址,概念上相当于私有IP,仅能够在本地网络使用,在IPv6 Internet上不可被路由。上面提到的站点本地地址由于起初的标准定义模糊而被弃用,而后RFC又重新定义了唯一本地地址以满足本地环境中私有IPv6地址的使用。
在RFC4193中标准化了一种用来在本地通信中取代站点本地单播地址的类型。ULA拥有固定前缀FC00::/7,分为两块:FC00::/8暂未定义,FD00::/8定义如下:
3.5 未指定地址
0:0:0:0:0:0:0:0/128 --> ::/128
该地址作为某些报文的源IP地址,比如作为重复地址检测时DAD时发送的邻居请求报文的源地址,或者DHCPv6初始化过程中客户端所发送报文的源IP。
3.6 回环地址
0:0:0:0:0:0:0:1
同IPV4中127.0.0.1地址的含义一样,表示节点自已。
3.7 内嵌IPv4
映射IPV4的IPV6地址–仅用于拥有IPV4和IPV6双协议栈节点的本地范围
其中高80bit设为0,后16bit设为1,再跟IPV4地址,
0000:0000:0000:0000:0000:ffff:206.123.31.2
0000:0000:0000:0000:0000:ffff:ce7b:1f01
4. 地址的组成部分
IPv6地址的组成可以进一步细分为以下几个部分:
4.1 前缀(Prefix)
前缀用于标识网络部分,类似于IPv4中的网络地址。前缀长度通常以斜杠后跟数字的形式表示,例如2001:0db8::/32
,其中/32表示前32位是网络部分。
4.2 接口标识符(Interface Identifier)
接口标识符用于标识网络中的具体接口,通常为后64位。接口标识符可以通过多种方式生成,包括:
- EUI-64格式:基于MAC地址生成的接口标识符。
- 随机生成:为了提高隐私性,接口标识符可以随机生成。
5. 自动配置
IPv6支持无状态地址自动配置(Stateless Address Autoconfiguration, SLAAC),允许设备在没有DHCP服务器的情况下自动生成自己的IP地址。这使得网络设备的配置变得更加简单和灵活。
6. 安全性
IPv6协议内置了IPsec(Internet Protocol Security),提供数据加密和身份验证功能。这使得IPv6在安全性方面比IPv4更具优势。
7. 其他特性
更高效的路由:IPv6的地址结构使得路由表更加简洁,从而提高了路由效率。
多播支持:IPv6原生支持多播,减少了网络带宽的消耗。
扩展性:IPv6设计时考虑了未来的扩展需求,支持更多的协议和服务。
8. 过渡机制
由于IPv4和IPv6并存的现状,网络工程师采用了一些过渡机制,如双栈(Dual Stack)、隧道(Tunneling)和NAT64等,以便在过渡期间实现两种协议的互通。
9. IPV6公有地址
9.1 公有地址(Global Unicast Address)
-
定义
公有地址是可以在互联网上唯一标识的地址,允许设备直接与其他设备进行通信。公有地址通常由互联网服务提供商(ISP)分配。 -
特点
唯一性:每个公有地址在全球范围内是唯一的。
可路由性:公有地址可以被路由到互联网,允许设备之间进行直接通信。
地址范围:公有地址通常以2000::/3
开头,意味着所有以2000到3FFF开头的地址都是公有地址。
示例:一个典型的公有地址示例是:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
9.2 私有地址(Link-Local Address 和 Unique Local Address)
在IPv6中,私有地址主要分为两种类型:链路本地地址(Link-Local Address)和唯一本地地址(Unique Local Address)。
9.2.1 链路本地地址(Link-Local Address)
-
定义
链路本地地址用于在同一链路(局域网)内的设备之间进行通信。它们不能被路由到互联网。 -
特点
地址范围:链路本地地址以FE80::/10
开头,通常后面跟随64位的接口标识符。
自动配置:设备在连接到网络时会自动生成链路本地地址,无需手动配置或使用DHCP。
作用域:链路本地地址仅在本地链路有效,无法跨越路由器。
示例:一个典型的链路本地地址示例是:
FE80::1A2B:3C4D:5E6F:7G8H
9.2.2 唯一本地地址(Unique Local Address)
-
定义
唯一本地地址用于在组织内部进行通信,类似于IPv4中的私有地址。它们也不能被路由到互联网,但可以在不同的子网之间进行路由。 -
特点
地址范围:唯一本地地址以FC00::/7
开头,通常分为两部分:FC00::/8
(由IANA分配)和FD00::/8
(随机生成)。
可路由性:唯一本地地址可以在组织内部的不同子网之间进行路由,但不能被路由到公共互联网。
隐私性:由于这些地址不在公共互联网中使用,因此可以提高网络的隐私性和安全性。
示例:一个典型的唯一本地地址示例是:
FD12:3456:789A:1::1
10 拓展
10.1 各大运营商IPV6前缀
2409(中国移动)
2408(中国联通)
240e(中国电信)
240a(广电电视)
10.2 fe80地址
如果有fe80开头的IPv6地址,那通常是设备自动生成的本地地址
10.3 IPV6唯一但不固定
目前,国内运营商支持IPv6的都会提供独立公网IP,但需要注意的是,这并不意味着IP地址是固定不变的
10.4 其他
前3bit 固定001
地址范围:2xxx:xxxxx/3 - 3FFF: :FFFF
2001::/16
IPV6因特网地址
2002::/16
6to4过渡地址
3ffe::/16
用于6bone测试目的的前缀
参考
https://baijiahao.baidu.com/s?id=1736787745342947999&wfr=spider&for=pc