一、IPv6背景
IPv6 最根本的改变是提供了未来对全球范围内可确定的地址空间的需求。基于移动设备的应用,如:个人数字设备(PDA), 移动电话,汽车, 家庭网络和其他的移动数据通信设备都需要全球范围内可确定的地址。IPv6 将网络地址位数从 32 位扩展到 128 位, 这代表着可以为地球上的任何需要联网的设备提供唯一确定的地址。正是因为有了全球范围内可确定的地址,IPv6 提供了全球范围内的地址可达,端到端的安全通信,以及对所有对地址有要求的应用和服务的支持。 除此之外,丰富的 IPv6 地址空间消除了网络中的 NAT(Network Address Translation)瓶颈,提高了网络效率。
二、 IPv6 地址格式
由于 IPv6 的地址有 128 位长,比 32 位的 IPv4 地址表示起来复杂的多。目前,IPv6 的地址由一串 16 进制的数字表示,每 16 位之间用分号(:)隔开,格式如下: x:x:x:x:x:x:x:x.
下面是两个 IPv6 地址例子:
- 2001:0DB8:7654:3210:FEDC:BA98:7654:3210
- 1080:0:0:0:8:800:200C:417A
通常情况下 IPv6 地址会包含连续的 0。为避免 IPv6 地址表示的复杂性,连续的 0 可缩写为两个冒号表示(::)。able1 lists IPv6 地址的缩写格式。 两个冒号可以用在 IPv6 地址的一部分。你可以在一个接口上配置多个地址,但只能一个 link-local 地址。注意两个冒号(::) 只能在 IPv6 地址中出现一次,只能代表最长的连续的 0。
单播 Unicast 地址
一个 IPv6 单播地址是用来标示一个网络节点的一个接口。一个数据包的目的地址是一个单播地址时,他将被送到以这个地址标示的网络接口。一个 IPv6 的路由器应支持下列单播地址类型:
- Global aggregatable address:可汇聚的全球化地址。
- Site-local address:区域内的地址 (proposal to remove by IETF)
- Link-local address: 链路接口地址
- IPv4-compatible IPv6 address: 兼容 IPv4 的地址
1、可汇聚的全球地址
一个可汇聚的全球地址是一个带有全球化的可汇聚的 IPv6 前缀的地址。 这种结构化的全球化的单播地址可以进行严格的路由前缀的汇聚,这样就可以大大减少整个路由表的路由条数,减少路由的复杂度。 可汇聚的全球 地址用来标示链路地址,可以进行多级的路由汇聚,一直到顶级的 Internet 服务提供商(ISPs).全球化的可汇聚的IPv6 地址被定义为全球化的路由前缀, 子网络号,和接口地址。除了以二进制 000 开始的地址, 所有的全球化的IPv6 单播地址都带有 64 位的接口地址。目前, 全球化的单播地址的分配范围从以二进制的 001 (2000::/3)开始。
2、Site-Local 地址
一个 site-local 地址是一个带着前缀 FEC0::/10 和 16 位子网号加上 64 位的 EUI-64 格式的 IPv6 单播地址。Site-local 地址非常像 IPv4 中的私有地址空间 10.0.0.0/8;可以在一个区域内部进行路由的查找,而不需要全球化的唯一的地址前缀。 Site-local 地址可以被认为是私有地址,因为他只能在一个严格限制的区域内使用。
3、Link-Local 地址
个 link-local 地址是一个带有 link-local 前缀 FE80::/10(1111 1110 10)的 IPv6 单播地址,他采用修改的 EUI-64 地址格式自动产生。 Link-local 地址可用于邻居发现协议(neighbor discovery protocol)和无状态自动配置进程。 在同一个链路上的节点可使用 link-local 地址来通信; 不需要 site-local 地址或全球化的单播地址。
4、与 IPv4 兼容的 IPv6 地址
一个 IPv4 兼容的 IPv6 地址是一个高 96 位全 0 的,低 32 位为 IPv4 地址的 IPv6 单播地址。这种 IPv4 兼容的IPv6 地址可表示为 0:0:0:0:0:0:A.B.C.D 或::A.B.C.D. 整个 128 位的 IPv4 兼容的 IPv6 地址是将网络节点的 IPv4地址直接植入 IPv6 地址的低 32 位。IPv4 兼容的 IPv6 地址用来在运行 IPv4 和 IPv6 双栈时使用自动的隧道技术(tunnels)。
5、IPv6 地址类型: Anycast 地址
一个 anycast 地址是一个属于多个网络节点的接口的 IPv6 的地址。一个以 anycast 地址为目的地址的数据包将被转发到最近的网络接口;接口的远近由路由的计算结果来确定。Anycast 地址从地址的结构上来说同单播地址是不可分的,因为 anycast 地址存在于单播地址的地址空间。但一个单播地址可以被超过一个网络接口接收时,他就是一个 anycast 地址。Anycast 地址需要在网络节点上明确定义:这个地址是一个 anycast 地址。
6、IPv6 地址类型: 组播地址 Multicast
一个前缀 FF00::/8(1111 1111)的 IPv6 地址就代表它是一个 IPv6 组播地址。一个数据包的目的地址为组播地址时,他将被复制转发到多个网络的接收者。组播地址前缀的第二个八进制数代表组播地址的范围。这个八进制数被分为两部分:前四位为 0000 代表是一个永久性的组播地址,前四位为 0001 代表是暂时的组播 地址;后四位代表组播范围,目前定义了 1, 2, 5, 8, or E,分别代表不同的组播范围。如 Figure6 所示。比如:组播地址的前缀为 FF02::/16 代表是一个永久性的组播地址,在链路范围。