IPv6技术详解(1)
IPv6的报头格式
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Prior | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ Source Address +
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ Destination Address +
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
·版本域:4bit的IP协议版本号,值=6。
·优先权域:4bit 的优先值。
·流标签:24bit
·负载长度:16bit无符号整数。负荷的长度,即IPv6包头后面部分的长度,单位是8位组。
·8bit的选择器。紧跟在IPv6头后面用来识别包头的类型。和IPv4协议域的值相同。
跳数限制:
·8bit的无符号整数。向前传送分组时每过一个节点减1。如果跳数限制减到0时就把这个分组丢弃。
·源地址:128bit。分组发送者地址。
·目的地址:128bit。所期望的分组接受者地址(如果有一个可选的路由头的话可能不是最终的接受者地址)
IPv6的扩展头
IPv6包含一个改善了的选项机制。IPv6选项被放在IPv6头和传输层头之间。大多数的IPv6扩展头并没有被中间的路由器检查或处理直到到达最终目的地。这样就能提高路由器处理包含选项的分组的性能。在IPv4中路由器要检查所有的选项。另一个改善的地方是IPv6不象IPv4的 选项,它的扩展头可以是任意长,选项的总长度并没有限制在40字节内。这个特征加上选项的处理方式就使能使IPv6的选项真正被用起来,而在IPv4中选项实际上并没有用。一个好例子就是IPv6的认证和安全封装选项。为了提高处理后面选项头和传输层协议的性能,IPv6选项总是8字节长度的整数倍。
IPv6扩展头现在定义了以下一些选项:
·路由
·扩展路由(类似于IPv4的松散源路由)
·分段和重装
·认证:完整性和认证,安全封装,机密性。
·跳到跳选项:跳到跳的选项需要特殊的跳到跳的处理。
·目的选项:可选的被目的节点检查的信息。
IPv6的寻址
IPv6的地址有128位bit长,是独立接口的标志符。IPv6的所有类型的地址都是指派给接口而不是节点。.既然每个接口都属于一个节点,那个节点的认何一个接口地址都都可以被当做节点的标志符。一个接口也可能被指定多个IPv6类型的地址.IPv6有三种类型的地址。他们是单点传送地址,任意点传送地址和多点传送地址。单点传送地址标识一个接口。任意点传送地址标识一组接口,一个被送往一个任意点传送地址的分组将被这组接口中的一个所接收。多点传送地址标识一组接口,一个被送往多点传送地址的分组将被这个组中的所有节点接收。在IPv6中没有广播地址,他们的功能被多点传送地址所取代。IPv6支持四倍于IPv4bit数量的地址。也就是说IPv6的地址数量是IPv4的40亿倍。这是一个非常大的地址空间。实际上因为指定和路由地址需要创建层次,这就减少了地址空间使用的有效性。地址中的前几位指定了地址的类型。包含前几位的变量长度域叫做格式前缀。这些前缀的分配如下所示:
分配 前缀 所占寻址空间比例
保留 0000 0000 1/256
未分配 0000 0001 1/256
为NSAP分配保留 0000 001 1/128
为IPX分配保留 0000 010 1/128
未分配 0000 011 1/128
未分配 0000 1 1/32
未分配 0001 1/16
可聚集的全部单点传送地址001 1/8
未分配 010 1/8
未分配 011 1/8
为基于地理位置的地址保留 100 1/8
未分配 101 1/8
未分配 110 1/8
未分配 1110 1/16
未分配 1111 0 1/32
未分配 111 10 1/64
未分配 1111 110 1/128
未分配 1111 1110 0 1/512
链路本地地址 1111 1110 10 1/1024
站点本地地址 1111 1110 11 1/1024
多点传送地址 1111 1111 1/256
这种分配支持提供商地址,本地用户地址和多点传送地址的直接分配。 NSAP地址,IPX地址和中间互连地址的空间被保留。剩下的地址空间没有指定为将来保留。大约15%的地址空间在初始时分配了,剩下85%被保留给将来使用。
单点传送地址
在IPv6中有几种单点传送地址的分配方式:基于全球供应商的地址,中立互连单点传送地址,NSAP地址,IPX分层地址,站点本地地址,链路本地地址,IPv4兼容IPv6主机地址。其他的地址类型可在将来定义。
基于供应商的全球聚集单点传送地址
基于供应商的全球单点传送地址被用于全球通信。它们类似于IPv4地址中无类域间寻址中的功能。格式是:
| 3 | n bits | m bits | o bits | p bits | o-p bits |
+---+-----------+-----------+-------------+---------+----------+
|010| REGISTRY ID|PROVIDER ID|SUBSCRIBER ID|SUBNET ID| INTF. ID |
+---+-----------+-----------+-------------+---------+----------+
前3个bit识别基于供应商的单点传送地址。接下来的注册域ID标识Internet地址注册,它指定了提供互连网服务的供应商标志符。然后是用户地址空间端口。这种表示方法类似于无类域间寻址中的IP分配方式。用户ID区分隶属于Internet服务提供者的供应商ID中的多用户。子网ID识别一个特殊的物理连接。在同一个物理连接上可能有多个子网。一个特定的子网不能跨越多个物理连接。.接口ID标识了一组有同一子网前缀的接口中的某一个接口。
本地用户地址
一个本地用户地址是一个单点传送地址,它只能在本地范围内可路由(在一个子网或一个用户网络中),可能有本地或全球专用范围。它们被用在一个既插既用的本地通信场所和全球地址的初始化过程中。有两种类型的本地使用者单点传送地址的定义。它们是链路本地和站点本地。链路本地地址用在一个连接上而站点本地地址用在一个站点 上。链路本地地址的格式如下:
| 10 |
| bits | n bits | 118-n bits |
+----------+-------------------------+----------------------------+
|1111111010| 0 | INTERFACE ID |
+----------+-------------------------+----------------------------+
链路本地地址被用来为一个链路寻址,例如自动地址配置。
站点本地地址的格式如下:
| 10 |
| bits | n bits | m bits | 118-n-m bits |
+----------+---------+---------------+----------------------------+
|1111111011| 0 | SUBNET ID | INTERFACE ID |
+----------+---------+---------------+----------------------------+
两种本地使用地址的类型都用了接口ID,它在一个域中是唯一的。大多数情况下接口ID都用了IEEE-802的48位地址格式。子网ID标识了一个站点的特定子网。子网ID和接口ID组成了站点本地地址以构造一个大的私有网络。站点本地地址允许没有和全球因特网互连的组织构造网络,而不需要申请一个全球因特网地址空间的地址前缀。如果这个组织后来要连入全球因特网,它可以用它的子网ID和接口ID与一个全球前缀组合成一个全球地址。IPv6自动进行重编号。
IPv6地址和嵌入的IPv4地址
IPv6转换机制有一种技术可以在IPv4路由基础上通过动态隧道技术在主机和路由器之间传递IPv6分组。使用这种技术的IPv6节点分配了特殊的IPv6单点传送地址的低32bit来携带IPv4地址。这种地址的术语叫"IPv4兼容IPv6地址",格式如下:
| 80 bits | 16 | 32 bits |
+--------------------------------------+--------------------------+
|0000..............................0000|0000| IPv4 ADDRESS |
+--------------------------------------+----+---------------------+
还有第二种内嵌IPv4地址的IPv6地址,这种地址被用来表示仅支持IPv4地址的节点。这种地址的术语是"IPv4映射的IPv6地址",格式如下:
| 80 bits | 16 | 32 bits |
+--------------------------------------+--------------------------+
|0000..............................0000|FFFF| IPv4 ADDRESS |
+--------------------------------------+----+---------------------+
任意点传送地址
一个 IPv6任意点传送地址被分配给不只一个接口(典型的属于不同的节点),它的特点是一个被送往任意点传送地址的分组被路由给根据路由协议度量距离为最近的符合此地址的接口.当任意点传送地址被用作一条路径的一部分时,允许一个节点选择一个它认为合适的互连网提供商。这项功能有时被叫作源选择策略。这项功能需要配置任意点传送地址来标识一组属于互连网服务供应商的路由器。这些任意点传送地址可以在一个IPv6路由头中被用作中间地址,以使一个分组能通过一个特定的供应商或一系列的供应商。任意点传送地址的其它可能的用途是标识一组属于一个特定子网的路由器或一组提供路由到一特定域的路由器。任意点传送地址是从单点传送地址空间中分配的,使用了单点传送地址格式中的一种。因此,任意点传送地址在语法上无法和单点传送地址区分开来。当一个单点传送地址被分配给不只一个接口时,就把它变成了一个任意点传送地址,配置了此地址的节点必须被显式地配置以表示它是一个任意点传送地址。
多点传送地址
一个IPv6多点传送地址是一组接口的标志符。多点传送地址的格式如下:
| 8 | 4 | 4| 112 bits |
+------ -+----+----+---------------------------------------------+
|11111111|FLGS|SCOP| GROUP ID |
+--------+----+----+---------------------------------------------+
·最前面的11111111将地址标识为多点传送地址.
+-+-+-+-+
·FLGS 是一个四位组: |0|0|0|T|
+-+-+-+-+
标志的高三位保留,必须初始化成0。
T=0 表示一个被全球互连网编号授权结构永久分配的多点传送地址
T=1表示一个临时的多点传送地址
·SCOP是一个4bit的组播范围域用来限制组播组的范围。这些值如下所示:
0 保留 8 本地组织范围
1 本地节点范围 9 未分配
2 本地链路范围 A 未分配
3 未分配 B 未分配
4 未分配 C 未分配
5 本地 站点范围 D 未分配
6 未分配 E 全球范围
7 未分配 F 保留
·组ID标识在给定范围内的组播组(永久或临时)
0
相关文章