3.1 地址
I P v 4与I P v 6地址之间最明显的差别在于长度: I P v 4地址长度为3 2位,而I P v 6地址长度为1 2 8位。RFC 2373中不仅解释了这些地址的表现方式,同时还介绍了不同的地址类型及其结构。I P v 4地址可以被分为2至3个不同部分(网络标识符、节点标识符,有时还有子网标识符),
I P v 6地址中拥有更大的地址空间,可以支持更多的字段。I P v 6地址有三类、单播、组播和泛播地址。下一节将对此作更详细的介绍。单播和组播地址与I P v 4的地址非常类似;但I P v 6中不再支持I P v 4中的广播地址,而增加了一个泛播地址。
本节介绍的是I P v 6的寻址模型、地址类型、地址表达方式以及地址中的特例。
(1)地址表达方式
I P v 4地址一般以4部分间点分的方法来表示,即4个数字用点分隔。例如, 下面是一些合法的I P v 4地址,都用十进制整数表示:
1 0 . 5 . 3 . 1
1 2 7 . 0 . 0 . 1
2 0 1 . 1 9 9 . 2 4 4 . 1 0 1
I P v 4地址也时常以一组4个2位的十六进制整数或4个8位的二进制整数表示,但后一种情况较少见。
I P v 6地址长度4倍于I P v 4地址,表达起来的复杂程度也是I P v 4地址的4倍。I P v 6地址的基本表达方式是X : X : X : X : X : X : X : X,其中X是一个4位十六进制整数( 1 6位)。每一个数字包含4位,每个X包含4个数字,每个地址包括8个X,共计1 2 8位( 4×4×8 = 1 2 8 )。例如,下面是一些合法的I P v 6地址:
CDCD : 910A : 2222 : 5498 : 8475 : 1111 : 3900 : 2020
1030 : 0 : 0 : 0 : C9B4 : FF12 : 48AA : 1A2B
2000 : 0 : 0 : 0 : 0 : 0 : 0 : 1
下面试举一例,先看一个以二进制形式表示的IPv6地址: 00100001110110100000000011010011000000000000000000101111001110110000001010101010000000001111111111111110001010001001110001011010 该128位地址以16位为一分组可表示为: 0010000111011010 0000000011010011 0000000000000000
0010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010 每个16位分组转换成十六进制并以冒号分隔: 21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A IPv6可以将每4个十六进制数字中的前导零位去除做简化表示,但每个分组必须至少保留一位数字。去除前导零位后,上述地址可写成: 21DA:D3:0:2F3B:2AA:FF:FE28:9C5A
请注意这些整数是十六进制整数,其中A到F表示的是1 0到1 5。地址中的每个整数都必须表示出来,但起始的0可以不必表示。这是一种比较标准的I P v 6地址表达方式,此外还有另外两种更加清楚和易于使用的方式。
1.某些I P v 6地址中可能包含一长串的0 (就像上面的第二和第三个例子一样)。当出现这种情况时,标准中允许用“空隙”来表示这一长串的0。换句话说,地址
2000 : 0 : 0 : 0 : 0 : 0 : 0 : 1
可以被表示为:
2000 : : 1
这两个冒号(::)表示该地址可以扩展到一个完整的1 2 8位地址。在这种方法中,只有当1 6位组全部为0时才会被两个冒号取代,且两个冒号在地址中只能出现一次。
2.在I P v 4和I P v 6的混合环境中可能有第三种方法。I P v 6地址中的最低3 2位可以用于表示I P v 4地址,该地址可以按照一种混合方式表达,即X : X : X : X : X : X : d . d . d . d,其中X表示一个1 6位整数,而d表示一个8位十进制整数。例如,地址
0 : 0 : 0 : 0 : 0 : 0 : 10 . 0 . 0 . 1
就是一个合法的I P v 4地址。把两种可能的表达方式组合在一起,该地址也可以表示为:
: : 10 . 0 . 0 . 1
由于I P v 6地址被分成两个部分—子网前缀和接口标识符,因此人们期待一个 I P节点地址可以按照类似CIDR(无类别域际路由选择)地址的方式被表示为一个携带额外数值的地址,其中指出了地址中有多少位是掩码。即,I P v 6节点地址中指出了前缀长度,该长度与I P v 6地址间以斜杠区分,例如:
1030 : 0 : 0 : 0 : C9B4 : FF12 : 48AA : 1A2B / 6 0
这个地址中用于选路的前缀长度为6 0位。
IPv6 前缀 前缀是地址中具有固定值的位数部分或表示网络标识的位数部分。IPv6的子网标识、路由器和地址范围前缀表示法与IPv4采用的CIDR标记法相同,其前缀可书写为:地址/前缀长度。例如21DA:D3::/48是一个路由器前缀,而21DA:D3:0:2F3B::/64是一个子网前缀。 注意:在IPv4实现中普遍使用的被称为子网掩码的点分十进制网络前缀表示法在IPv6中已不再使用,IPv6仅支持前缀长度表示法。