本章介绍了IPv4的更新,描述了新的协议头中各字段及IPv6的地址空间,着重介绍了IPv6中包含的变化和新特性。IPv4拥有两个“帮助”协议: Internet控制报文协议( ICMP )和Internet组管理协议( IGMP )。
本章第一小节描述了IPv6协议的基本框架并介绍了RFC 1883(IPv6技术规范)和其他后续标准(到1998年9月还没有分配R F C号码)中定义的IPv6头字段、选项和扩展。本章第二小节概述了RFC 1885( 用于IPv6的Internet控制报文协议( ICMP v6 )的技术规范)中定义的ICMP v6。IGMP v2在RFC 2236(Internet组管理协议第2版)中定义,并且与IPv4和IPv6均有关联。
IPv6的地址方案将在第6章中介绍,第7章对IPv6的选项和扩展头有更详细的介绍。第8章将探讨IPv6的选路。第9章将进一步讨论IPv6中的安全性和身份验证问题,第1 0章将介绍升级到IPv6对IP的上层和下层协议造成的影响。
5.1 IPv6
对IPv4的升级最早在两个R F C中进行了定义。RFC 1883中描述的是协议本身,而R F C 1 8 8 4介绍的是IPv6的地址结构。现在RFC 1884已经被RFC 2373所替代,1998年夏天I E T F批准了一个草案来替换RFC 1883。从3 2位地址到1 2 8位地址的变化代表了一个重大的转变,但如何制定和分配IPv6地址直到1998年秋天也没有定论。第6章将对于IPv6的地址有更详细的介绍。本节只介绍真正的IPv6协议中最重要的改变而不讨论地址细节。
5.1.1 变化概述
IPv6中的变化体现在以下五个重要方面:
扩展地址。
简化头格式。
增强对于扩展和选项的支持。
流标记。
身份验证和保密。
对于IP的这些改变对I A B于1991年制定的IPv6发展方向中的绝大部分都有所改进。IPv6的扩展地址意味着IP可以继续增长而无需考虑资源的匮乏,该地址结构对于提高路由效率有所帮助;对于包头的简化减少了路由器上所需的处理过程,从而提高了选路的效率;同时,改进对头扩展和选项的支持意味着可以在几乎不影响普通数据包和特殊包选路的前提下适应更多的特殊需求;流标记办法为更加高效地处理包流提供了一种机制,这种办法对于实时应用尤其有用;身份验证和保密方面的改进使得IPv6更加适用于那些要求对敏感信息和资源特别对待的商业应用。
1. 扩展地址
IPv6的地址结构中除了把3 2位地址空间扩展到了1 2 8位外,还对IP主机可能获得的不同类型地址作了一些调整。就像在第6章中将要详细介绍的一样, IPv6中取消了广播地址而代之以任意点播地址。IPv4中用于指定一个网络接口的单播地址和用于指定由一个或多个主机侦听的组播地址基本不变。
2. 简化的包头
IPv6中包括总长为4 0字节的8个字段(其中两个是源地址和目的地址)。它与IPv4包头的不同在于,IPv4中包含至少1 2个不同字段,且长度在没有选项时为2 0字节,但在包含选项时可达6 0字节。IPv6使用了固定格式的包头并减少了需要检查和处理的字段的数量,这将使得选路的效率更高。
包头的简化使得IP的某些工作方式发生了变化。一方面,所有包头长度统一,因此不再需要包头长度字段。此外,通过修改包分段的规则可以在包头中去掉一些字段。IPv6中的分段只能由源节点进行:该包所经过的中间路由器不能再进行任何分段。最后,去掉IP头校验和不会影响可靠性,这主要是因为头校验和将由更高层协议( U D P和T C P )负责。
3. 对扩展和选项支持的改进
在IPv4中可以在IP头的尾部加入选项,与此不同, IPv6中把选项加在单独的扩展头中。通过这种方法,选项头只有在必要的时候才需要检查和处理。下面和第7章将对此有更多的讨论。
为便于说明,考虑以下两种不同类型的扩展部分:分段头和选路头。IPv6中的分段只发生在源节点上,因此需要考虑分段扩展头的节点只有源节点和目的节点。源节点负责分段并创建扩展头,该扩展头将放在IPv6头和下一个高层协议头之间。目的节点接收该包并使用扩展头进行重装。所有中间节点都可以安全地忽略该分段扩展头,这样就提高了包选路的效率。
另一种选择方案中,逐跳( h o p - b y - h o p )选项扩展头要求包的路径上的每一个节点都处理该头字段。这种情况下,每个路由器必须在处理IPv6包头的同时也处理逐跳选项。第一个逐跳选项被定义用于超长IP包(巨型净荷)。包含巨型净荷的包需要受到特别对待,因为并不是所有链路都有能力处理那样长的传输单元,且路由器希望尽量避免把它们发送到不能处理的网络上。因此,这就需要在包经过的每个节点上都对选项进行检查。
4. 流
在IPv4中,对所有包大致同等对待,这意味着每个包都是由中间路由器按照自己的方式来处理的。路由器并不跟踪任意两台主机间发送的包,因此不能“记住”如何对将来的包进行处理。IPv6实现了流概念,其定义如RFC 1883中所述:
流指的是从一个特定源发向一个特定(单播或者是组播)目的地的包序列,源点希望中间路由器对这些包进行特殊处理。
路由器需要对流进行跟踪并保持一定的信息,这些信息在流中的每个包中都是不变的。这种方法使路由器可以对流中的包进行高效处理。对流中的包的处理可以与其他包不同,但无论如何,对于它们的处理更快,因为路由器无需对每个包头重新处理。下一节中将对流和流标记有更详细的讨论。
5. 身份验证和保密
RFC 1825(IP的安全性体系结构)描述了IP的安全性体系结构,包括IPv4和IPv6。它发表于在1995年8月,目前正在进行修改和更新。1998年3月发表了一个更新版Internet草案。IP安全性的基本结构仍然很坚固,且已经进行了一些显著的改变和补充。这个体系结构以及它在IPv6中如何实现,都将在第9章介绍。
IPv6使用了两种安全性扩展: IP身份验证头( A H )首先由RFC 1826(IP身份验证头)描述,而IP封装安全性净荷( E S P )首先在RFC 1827(IP封装安全性净荷( E S P ) )中描述。
报文摘要功能通过对包的安全可靠性的检查和计算来提供身份验证功能。发送方计算报文摘要并把结果插入到身份验证头中,接收方根据收到的报文摘要重新进行计算,并把计算结果与A H头中的数值进行比较。如果两个数值相等,接收方可以确认数据在传输过程中没有被改变;如果不相等,接受方可以推测出数据或者是在传输过程中遭到了破坏,或者是被某些人进行了故意的修改。
封装安全性提供机制,可以用来加密IP包的净荷,或者在加密整个IP包后以隧道方式在Internet上传输。其中的区别在于,如果只对包的净荷进行加密的话,包中的其他部分(包头)将公开传输。这意味着破译者可以由此确定发送主机和接收主机以及其他与该包相关的信息。使用E S P对IP进行隧道传输意味着对整个IP包进行加密,并由作为安全性网关操作的系统将其封装在另一IP包中。通过这种方法,被加密的IP包中的所有细节均被隐藏起来。这种技术是创建虚拟专用网( V P N )的基础,它允许各机构使用Internet作为其专用骨干网络来共享敏感信息。
5.1.2 包头结构
在IPv4中,所有包头以3 2位为单位,即基本的长度单位是4个字节。在IPv6中,包头以6 4位为单位,且包头的总长度是4 0字节。IPv6协议为对其包头定义了以下字段:
版本。长度为4位,对于IPv6,该字段必须为6。
类别。长度为8位,指明为该包提供了某种“区分服务”。RFC 1883中最初定义该字段只有4位,并命名为“优先级字段”,后来该字段的名字改为“类别”,在最新的IPv6 Internet草案中,称之为“业务流类别”。该字段的定义独立于IPv6,目前尚未在任何R F C中定义。该字段的默认值是全0。
流标签。长度为2 0位,用于标识属于同一业务流的包。一个节点可以同时作为多个业务流的发送源。流标签和源节点地址唯一标识了一个业务流。在RFC 1883中这个字段最初被设计为2 4位,但当类别字段的长度增加到8位后,流标签字段被迫减小长度来作补偿。
净荷长度。长度为1 6位,其中包括包净荷的字节长度,即IPv6头后的包中包含的字节数。这意味着在计算净荷长度时包含了IPv6扩展头的长度。
下一个头。这个字段指出了IPv6头后所跟的头字段中的协议类型。与IPv6协议字段类似,下一个头字段可以用来指出高层是T C P还是U D P,但它也可以用来指明IPv6扩展头的存在。
跳极限。长度为8位。每当一个节点对包进行一次转发之后,这个字段就会被减1。如果该字段达到0,这个包就将被丢弃。IPv4中有一个具有类似功能的生存期字段,但与IPv4不同,人们不愿意在IPv6中由协议定义一个关于包生存时间的上限。这意味着对过
期包进行超时判断的功能可以由高层协议完成。
源地请保留地址 http://www.qqread.com/net-protocol/v225518.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Sniffer使用简介(上) (14016次浏览)
- 网络监听攻击技术 (728次浏览)
- 教你配置OSPF动态路由协议的身份验证 (625次浏览)
- 控制路由协议 节省网络带宽 (577次浏览)
- TCP/IP原理、基础以及在Linux上的实现 (480次浏览)
- Sniffer Portable看不见的网管专家 (464次浏览)
- 什么是网络协议? (445次浏览)
- ATM应用技术及展望 (379次浏览)
- TCP/IP协议详解卷1学习笔记-IP校验和与ICMP (373次浏览)
- 路由选择原理笔记之协议比较 (341次浏览)



