IPv6

下载
第10章IPv6
作者:Tim Parker
本章内容包括:
• IPv6 数据报
• 多I P地址主机
• 单播、组播及任一广播头
• IPv4 到I P v 6的过渡
在I P v 4 (当前版本)开发之时,3 2位的I P地址似乎足够I n t e r n e t需要。但随着I n t e r n e t的增长,
3 2位的地址被证明有问题。正在开发之中的I P下一代,通常称为I P版本6 ( I P v 6 ),就是为了克
服这个不足而设计的。
现在人们正针对I P v 6的实现进行研究,其中最流行的是T U B A (大地址T C P和U D P )、
C ATNIP(Common Architecture for the Internet, Internet通用体系结构)和SIPP(Simple Internet
Protocol Plus, 简单I n t e r n e t协议+)。三者之中没有一个能满足版本6的所有变化,但是基于其
中一个进行改进或折衷却好像可以。
I P下一代必须提供什么?以下变化列表能简单地告诉读者I P v 6的主要特征:
• 128 位而不是3 2位的网络地址。
• IP头中更有效的应用和选项扩展。
• 无头校验和。
• 用于服务质量要求的流标识。
• 不允许有数据报分段。
• 内嵌式的授权和加密安全。
下一节会稍仔细的考查I P v 6,以使这些将影响绝大多数用户、网络程序员以及网络管理
员的变化更加清楚。首先看一下I P v 6头。
10.1 IPv6数据报
如前所述,I P v 6数据报头已经发生了改变。变化主要是提供对新的、更长的1 2 8位I P地址的
支持以及去掉作废的和不用的域。图1 0 - 1显示了I P v 6头结构。为比较方便,I p v 4头结构在图1 0 - 2
中示出。
I P数据报头中的版本号4位长,记录数据报的版本号, I P v 6中此数为6。优先级域4位长包
括一个说明数据优先级的数值。用于定义传输顺序的优先级,首先设置一个粗略分类值,然
后在每一类中再设置范围更精细的标识(参考1 0 . 1 . 1节)。
流标识2 4位长并且还在实验阶段。流标识和源机器I P地址一起提供网络流标识。比如,
用户正在使用网络上的U N I X工作站,那么,流标识就和其他如Windows 95 PC等机器上的流
标识不同。这个域能用于标识流特性并提供一定的调节功能。这个域也能帮助大流量的数据
传输标识目的机器,在这种情况下缓存系统能在源和目的之间更有效地路由。流标识将在
1 0 . 1 . 2节中更详细地讨论。
数据长度域1 6位,用于指示整个I P数据报的长度,以字节为单位。整个长度不包括I P头
自身。1 6位域的使用使最大值限制在65 353之内,但使用扩展头能提供对发送大数据报的支
持(参考1 0 . 1 . 4节内容)。
下一个头域用于标识哪一个应用跟在I P头之后。表1 0 - 1列出了为下一个头域定义了几个
值。
表10-1 IP下一头域值
值描述
0 跳-跳选项
4 I P
6 T C P
1 7 U D P
4 3 路由
4 4 分段
4 5 域间路由
4 6 资源预约
5 0 封装安全
5 1 认证
5 8 I C M P
5 9 没有下一头
6 0 目的选项
跳数限制域决定了数据报经过的最大跳数。每一次转发,该数值减1、当跳数限制减少到
0时,数据报被丢弃。
最后,1 2 8位的源和目的I P地址放置在头中。新的I P地址格式会在1 0 . 1 . 3节中作详细讨论。
10.1.1 优先级分类
I P v 6头中的优先级分类首先把数据报分成两类中的一种:有拥塞控制( c o n g e s t i o n -
c o n t r o l l e d )和非拥塞控制( n o n - c o n g e s t i o n - c o n t r o l l e d )。非拥塞控制的报文总是比拥塞控制的报
文优先路由。有几种非拥塞控制子类型,但是它们都还没有被接受为标准。
如果数据报是拥塞控制的,它会对网络的拥塞问题很敏感。如果拥塞发生时,会减慢数
据的处理。报文会暂时存放在C a c h e中直到问题解决。拥塞控制这一大类之中,又有几个子类
88使用第三部分I P和相关协议
图10-1 IPv6头结构图10-2 IPv4头结构
版本号优先级流标识
下一头跳数限制
源I P地址
目的I P地址
报文长度
版本号头长度数据报长度
分段偏移
头校验和
源I P地址
生存时间
传输
协议
标识
目的I P地址
选项和填充
服务类型
D FMF
下载
用于定义数据报的优先极。子类优先级列在表1 0 - 2中。
表10-2 拥塞控制报文优先级
优先级描述
0 无优先级定义
1 后台流量
2 非特殊照顾的数据传输
3 没分配
4 特殊照顾的块数据传输
5 没分配
6 交互式流量
7 控制流量
非拥塞控制的报文有优先级8到1 5,但是如前所述,它们没有定义。
每个基本子类的例子可以帮助读者理解数据报优先级。路由和网络管理报文具有最高优
先级,给它们分配类7。交互性应用如Te l n e t和Remote X会话分配交互式报文优先级(类6 )。非
实时传送,但仍采用交互式控制,如F T P应用,被分配为类4。电子邮件被分配为类2,低优
先级如新闻被分配优先级1。
10.1.2 流标识
如前所述,新加到I P v 6头中的流标识域能帮助识别一系列I P数据的发送方和接收方。使
用C a c h e来处理流数据报能更有效地路由。不是所有的应用都能处理流标识,在这种情况下,
此域被置为0。
一个简单的例子能说明流标识的用处。例如,一台运行Windows 95的P C和另一网络上的
U N I X服务器连接,并且发送大量的数据报。通过设置一个特殊的流标识给所有传输的数据报,
则沿途上的路由器能在路由C a c h e中放置一项指出对相同流标识的报文如何路由。当后续具有
相同流标识的数据报到达时,路由器不必重新计算路由;路由器仅仅检查C a c h e并且取出保存
的信息即可。这样加速了通过每一个路由器的数据报处理速度。
为了防止C a c h e过大或出现一些过时的信息,I P v 6规定C a c h e中维护的信息不能超过6秒钟。
如果一个具有相同流标识的数据报在6秒钟内没到达时, C a c h e项会被删除。为了防止发送机
器产生重复值,发送方必须等6秒钟才能使用相同的到另一目的机的流标识值。
I P v 6流标识用于给对时间要求严格的应用保留路由。比如实时应用必须在相同的路由上
发送大量数据报且需要尽快地发送(如视频和音频要求),可以先在发送数据报之前建立路由。
注意在中间路由器上不要超过6秒的限制。
10.1.3 128位IP地址
或许I P n g的最重要方面是提供更长I P地址的能力。版本6把I P地址从3 2位增大到1 2 8位。
这样可以有更多的地址,或许永远也用不尽。
新I P地址支持3类地址:单播、组播和任一广播。
• 单播地址(unicast address) 用于标识一台特定机器的接口,这样可以使P C使用几种不同
的协议,每一种有自己的地址。因此,用户能给特定机器的I P接口地址发消息而不是
N e t B E U I接口地址。
第1 0章I P v 6使用89
下载
• 组播地址(multicast address) 标识一组接口,能使组中的所有机器接收相同的报文。这
非常像版本4中的广播,但是定义组更加灵活。用户的机器接口可以属于几个组播组。
• 任一广播地址(anycast address) 用于识别一个组播地址上的一组接口。换句话说也就是
同一台机器上的多个接口可以接收报文。
在1 0 . 3节中会更加详细地考查这三种类型地址。
版本6的I P头有很大变化,提供更多信息和灵活性。分段和重组的处理也发生了变化,为
I P提供更多功能。I P v 6的认证性机制能确保数据在发送与接收之间没被破坏,并且发送端和
接收端是正确的、不被冒充的。
10.1.4 IP扩展头
I P v 6能在I P头上提供附加的头。当到目的地的简单路由不可能时,或者当需要特殊服务
如认证时,扩展头就是必要的。所需的额外信息封装在扩展头中并附加在I P头上。
I P v 6定义了几种扩展头类型,用放在I P头中下一头域中的一位数标识,当前接受的值及
其含义列于表1 0 - 1中。I P头中可以附加几种扩展头,每个扩展头中的下一头域标识下一个扩
展头。正常情况下,扩展头按数值递增的顺序排列,这样便于路由器分析扩展头。
1. 跳-跳( H o p - b y - H o p )头
扩展类型0是跳-跳头,这种类型给报文经过的每一台机器提供I P选项。包括在跳-跳扩展
头中的选项包含下面三部分:类型、长度和类型值( P a d l选项除外, P a d 1类型为0,没有长度和
值域)类型和长度域为1个字节长,值域的长度是可变的,由长度字节指明。
到目前为止,有三种跳-跳扩展头类型: P a d 1、P a d N和Jumbo Payload。P a d 1选项是单字
节,类型为0,没有长度和值域,它用于在必要时改变其他选项的顺序和位置,通常由一个应
用发出命令。P a d N选项是类似的,只是值域中有N个0和一个计算出的长度。
Jumbo Payload扩展选项用于处理大小超过65 535个字节的数据。I P头的长度域限制为1 6
位,因此数据报大小限制在65 535个字节内。要处理更大的数据报文, I P头长度域置为0,使
路由器重新定向扩展头,找到正确的长度值。扩展头中的长度域使用3 2位,超过4 T B。
2. 路由头
当发送机器想控制数据报的路由,而不是靠路径上的路由器时, I P头要附加上路由扩展。
路由扩展(包括整个路由的I P地址),给出到达目的地的路由。
3. 分段头
分段头允许一台机器把大的数据报分段成更小的一部分。设计I P v 6的一个目的是防止分
段,但是在一些情况下,为了沿着网络发送报文,必须允许分段。
4. 认证头
认证头用于保证数据报的内容没有被改变过。缺省情况下, I P v 6使用称为信息摘要
5 ( M D 5 )的认证策略,只要连接双方达成一致意见,也可以使用其他的认证策略。
认证头包括安全参数索引( S P I ),S P I和目的I P地址一起定义认证策略。S P I之后跟着认证
数据,对M D 5而言是1 6字节长。M D 5开始于一个密钥(如果比1 2 8位短会填充),之后附加上整
个报文。密钥在末尾标记, M D 5算法可以运行。为了防止跳数问题和认证头自身改变值,它
们应该置为0,以便于计算认证值。M D 5算法产生一个1 2 8位的值放在认证头中,在接收端,
重复相反步骤。两端必须有相同的密钥,这样策略才能工作。
90使用第三部分I P和相关协议
下载
数据报在产生认证值之前可以使用缺省的I P v 6加密策略Cipher Block Chaining(CBC)进行
加密,C B C是数据加密标准( D E S )的一部分。
10.2 多IP地址主机
除了潜在的地址耗尽问题,研究人员为什么花这么大力气开发完全不同的I P地址结构?
从I P头的组成,读者或许能看出,在新版本中有许多内在的特点。一个最重要的想法是让每
一台主机有多个I P地址。
今天的T C P / I P系统,几乎每台主机都只有单一I P地址。例外情况是作为网关或路由器的
机器,这些设备在每一个相连的局域网接口上有一个I P地址。单穴主机有一系列优点:通过
计算网络上的I P地址数,我们知道存在的机器数。每台主机一个I P地址,配置网络比多I P主机
情况更容易。对用户而言,记住F T P和Te l n e t的单一地址比记住大量不同的地址更容易些。
D N S和其他服务为了映射要求单- I P地址,这些服务不得不随着I P v 6而改变。但是使用多地址
模型有许多原因。
最有用的一个优点是在多用户机器上提供多地址。如果用户和四个其他用户共享一台工
作站(可能是无盘工作站或其他设备),每个用户使用不同的I P地址会更方便些。这样会使连接
到他们自己的文件系统更容易,同时提供更好的跟踪记录和收费功能。每个用户使用不同的
I P地址,这样可以使用一些I P v 6的加密技术。每个用户使用不同的密钥,加强了安全性。
加密也是多主机地址的一个重要好处。考虑到今天的绝大多数服务器通过各种各样的域实
现通信( f t p . t p c i . c o m是F T P域;h t t p : / / w w w. t p c i . c o m是W W W域),所有这些服务在具有相同安全
机制的单一主机上运行。使用I P v 6,用户可以让每种服务具有不同的I P地址(虽然名字可以映
射到相同的字母名)。但是基于I P地址可以使用不同的加密或安全认证策略。比如,一个地址
可以指向h t t p : / / w w w. t p c i . c o m,几乎不需要加密和认证检查;而另一个地址指向f t p . t p c i . c o m,
却使用严格的认证机制来保证只有有效系统允许传输文件。这种服务处理方式基于今天的I P是
可能的,但是I P v 6加入了许多新功能。I P v 6的缺点是需要许多地址映射到名字。
I P v 6的T C P端口号比今天的I P更容易添加。比如,假如想连接服务器上的端口1 4,需要使
用I P地址和端口号(如2 5 5 . 1 5 0 . 8 9 . 1 : 1 4 )寻址系统。作为用户,要知道端口号。在I P v 6中T C P端
口可以很容易地解析为多地址。一个地址可以指向一个F T P端口,比另一地址指向的F T P端口
具有更严格的保护。
当子网汇聚时,多地址可以很好地工作。如果公司有两个局域网,一个用于研究和开发,
另一个用于管理,恰好一个管理员管理开发组,那么这个管理员的机器需要在每个网上有一
个I P地址。在一些情况下,用户的机器可能作为路由器使用,并且通常需要指出想工作于哪
个局域网。使用I P v 6,可以分配I P地址使得用户能立即把信息发送到两个局域网上,或者在
两个局域网之间很快地移动数据(实际上去掉了一个路由器)。
10.3 单播、组播和任一播头
单播地址以各种形式得到支持,包括到所有提供者的全局单播地址,以及特定网络的针
对于某一站点的单播地址,还有和I P v 4机器兼容的单播地址。I P v 6规范允许其他类型的单播
地址,为将来使用。
全局单播地址用于连接I n t e r n e t上的每一个提供者。这种全局的,或称为基于提供者的单
第1 0章I P v 6使用91
下载
播地址格式如图1 0 - 3所示。
在图1 0 - 3中,前3位为0 1 0,标识单播地址是基于提供者的类型。REG ID(Registry ID)域
是分配给提供者ID(PROV ID)的I n t e r n e t地址注册,再由提供者把地址给用户(提供者I D在绝大
多数情况下是I S P )。SUBSC ID允许在提供者的网络中识别多个用户, SUBNET ID允许使用一
个特殊地址。最后, INTF ID是接口号,使用它可以标识一个特定用户接口。
一个特定站点的或局部的用户单播地址仅仅在一个网络或子网中使用。因此,它需要的
信息较少。局部用户单播地址头如图1 0 - 4所示。INTF ID是网络或子网上的接口号。局部用户
单播地址的一些小变化是在头中加入子网号,从INFT ID域中移去空间。当使用时, S U B N E T
I D域能用于指定一个网络中的特定子网。
最后,具有嵌入式I P v 4地址的单播地址头如图1 0 - 5所示。I P v 4地址附加在单播头后面,可
以让I P的旧版本使用。
任一播地址使用和单播头相同的结构,并且在绝大多数情况下,不能和单播的广播加以
区别。
组播头如图1 0 - 6所示。
高8位为1标识头为组播。标志域有4位,前3位为0 (为将来使用保留),最后一位为t r a i l i n g
位,如果此位为0说明是永久性分配的组播地址;如果此位为1,说明是非永久性分配的组播
地址。
范围域4位用于限制组播到达的范围。范围的合法值如表1 0 - 3所示。最后,组号标识一个
特定的组播组。
表10-3 组播范围域的合法值
值描述
0 保留
1 局部结点
2 局部链路
3,4 没分配
5 局部站点
6,7 没分配
8 局部组织
9,A,B,C,D 没分配
E 全局
F 保留
92使用第三部分I P和相关协议
下载
图10-3 基于提供者的单播地址头结构图10-4 局部用户单播头结构
0 1 0 REG ID P R O V
I D
S U B S C
I D
S U B N E T
I D
I N I F
I D 1111111 0 1 0 0 INTF ID
图10-5 嵌入IPv4单播头结构图10-6 组播头结构
8 0位1 6位3 2位
0 0 0⋯0 0 0 F F F F IP v4 地址
11111111 范围组I D
O O O T
(标志)
10.4 从IPv4到IPv6的过渡
虽然从技术上讲, I P v 6优于当今的I P版本( I P v 4 ),但在全球范围内实现I P v 6存在潜在的问
题。不可能在某一天简单地从旧的I P版本切换到更新的版本。因此,过渡必须在一段时间内
提供两个版本的兼容性。因为在全球范围内建立I P v 6仍需几年。因此,二者的过渡就是一个
非常重要的问题。
从I P v 4向I P v 6的过渡会出现的问题是: I P v 4嵌入到T C P / I P组件的许多层和许多应用程序
中。如果实现到I P v 6的切换,那么使用I P的各个应用、驱动程序和T C P栈不得不进行改变。这
会涉及到成百上千的变化,牵扯到数以百万行代码的改动。这么多的生产商,不可能在一个
特定的时间范围内改变它们的代码。这也意味着I P v 4和I P v 6必定会共存相当一段时间。
所有现在的机器(主机、路由器、桥等等)使用I p v 4。当机器转向运行I P v 6 (通过软件或硬
件更新)时,所有的机器将会需要两组I P软件,一组用于旧的版本,一组用于新的版本。在一
些情况下,这样实现会由于存储或性能问题而变得很困难,所以一些设备不得不只有一个I P
版本(或使用功能更强大的设备)。
必须为不能或不会更新至I P v 6的应用开发转换软件。比如,一些使用I P v 4进行通信的设
备和应用,仍需要和I P v 6系统进行通信时,会需要一个转化或翻译应用程序,在两部分之间
进行翻译。这会增加系统的开销,降低性能,但这可能是惟一的解决合法软件和硬件的方法。
I P v 4和I P v 6之间的过渡看起来不像是个大问题,但它确实会带来问题。基本问题是头翻
译,这个过程中发生的一个极小问题就会导致数据丢失。I P v 6是以I P v 4为基础的,但二者的
头非常不同。I P v 6头中的任何不被I P v 4支持的信息(如优先级分类)会在转化过程中被丢失。相
反的,由I P v 4主机生成的报文转化为I P v 6报文时将会丢失大量信息,其中有一些可能是重要
信息。
地址映射( I P v 4地址转换为I P v 6地址,或相反)需要一些特殊处理。如果用户有一台主机,
此主机具有多个I P v 6地址而只有一个I P v 4地址,那么转换器、路由器或其他的转发设备必须
具有一个大的地址映射来完成一个版本到另一个版本的转换。在大型的组织内这将是不现实
的,并且当从I P v 4向I P v 6转化时可能会导致不正确地目的地。一个I P v 4地址可以嵌入到I P v 6
头中,但这会给基于I P v 6的系统带来路由问题。
一些T C P / I P服务到I P v 6的转变需要很长的时间。比如D N S,保存了通用名字到I P地址的
映射。当I P v 6出现时, D N S将不得不处理两个I P版本,并且要为每个主机解析多个I P地址。
用户的P C在I P v 6下可以有1 0个I P地址(比如,在机器上不同的服务有不同的I P地址),D N S必
须能够正确地路由报文。
I P v 4的广播是一个问题,因为经常性地会出现局域网范围或广域网范围的用I P v 4发出的
广播报文( A R P最常见)。I P v 6使用组播来减少广播,这个特性允许广播报文在局域网或广域网
上只经过一次。在转化期间涉及到两个广播系统也会成为问题。
当把整个的网络结构从I P v 4转变到I P v 6时,会涉及到更多的问题。当公司和网络从一个
版本的I P转向另一个版本的I P时会有许多技术问题需要解决,以提供最大化的灵活性。这个
过程不会很容易,并且需要许多年。但最终的结构应该是网络完全以I P v 6为基础(虽然看起来
许多旧的设备将不能升级到I P v 6,因此需要某种形式的转译器),对绝大多数人而言,从I P v 4
到I P v 6的变化将是透明的。网络管理员会小心地为用户做好转换工作。但是对于负责网络管
第1 0章I P v 6使用93
下载
理的人员而言,从I P v 4到I P v 6的转化需要经验。
10.5 小结
虽然I P v 6要经过许多年才能被广泛使用,但是I P v 6的广泛使用必将发生。无论是一下子
就改变还是采取慢慢改变的策略,最终需要实现I P v 6。对绝大多数用户而言,尤其是那些通
过I S P连接的用户,实际的改变还要有相当长的时间。然而对公司而言,变化要快一些。I P v 6
和I P v 4之间的兼容性,会使得旧的I P系统在相当长一段时间内得到支持。
94使用第三部分I P和相关协议
下载 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值