欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 网络原理 >> IPv6 >> 教程正文

  没有公告

教程: IPV6教程-基础-IPv6和ICMPv6 更多...
教程: IPV6教程-基础-IPv6和ICMPv6

长度时包含了IPv6扩展头的长度。
下一个头。这个字段指出了IPv6头后所跟的头字段中的协议类型。与IPv6协议字段类似,下一个头字段可以用来指出高层是T C P还是U D P,但它也可以用来指明IPv6扩展头的存在。
跳极限。长度为8位。每当一个节点对包进行一次转发之后,这个字段就会被减1。如果该字段达到0,这个包就将被丢弃。IPv4中有一个具有类似功能的生存期字段,但与IPv4不同,人们不愿意在IPv6中由协议定义一个关于包生存时间的上限。这意味着对过
期包进行超时判断的功能可以由高层协议完成。
源地址。长度为1 2 8位,指出了IPv6包的发送方地址。
目的地址。长度为1 2 8位,指出了IPv6包的接收方地址。这个地址可以是一个单播、组播或任意点播地址。如果使用了选路扩展头(其中定义了一个包必须经过的特殊路由),其目的地址可以是其中某一个中间节点的地址而不必是最终地址。
图5 - 1中显示了IPv6头的格式。下一节中提供了IPv6头与IPv4头字段间更加详细的比较。

5.1.3 IPv4与IPv6的比较
先回顾一下图2 - 3中定义的IPv4头。尽管这些头字段中有一些与IPv6头类似,但其中真正完全保持不变的只有第一个字段,即版本字段,因为在同一条线路上传输时,必须保证IPv4和IPv6的兼容性。下一个字段,即包头长度,则与IPv6无关,因为IPv6头是固定长度, IPv4中需要这个字段是因为它的包头可能在2 0字节到4 0字节间变化。
服务类型字段与IPv6的流类别字段相似,但TO S的位置比该字段要靠后一些,而且在具体实现中也没有广泛应用。下一个字段是数据报长度,后来发展成了IPv6中的净荷长度。IPv6的净荷长度中包含了扩展头,而IPv4数据报长度字段中则指明包含包头在内的整个数据报的长度。这样一来,在IPv4中,路由器可以通过将数据报长度减去包头长度来计算包的净荷长度,而在IPv6中则无须这种计算。
后面的三个字段是数据报I D、分段标志和分段偏移值,它们都用于IPv4数据报的分段。由于IPv6中由源结点取代中间路由器来进行分段(后面将有更多关于分段的内容),这些字段在IPv6中变得不重要,并被IPv6从包头中去掉了。
而生存期字段,正如上面所述,变成了跳极限字段。生存期字段最初表示的是一个包穿越Internet时以秒为单位的存在时间的上限。如果生存期计数值变为0,该包将被丢弃。其原因是包可能会存在于循环路由中,如果没有方法让它消失,它可能会一直选路(或者直到网络崩溃为止)。在最初的规范中要求路由器根据转发包的时间与收到包的时间的差值(以秒为单位)来减小生存期的值。在实际情况中,大部分路由器都设计为每次对该值减1,而不是计算路由器上真正的处理时间。
协议字段,如前所述,指出在IPv4包中封装的高层协议类型。各协议对应的数值在最新版本的R F C (现在是RFC 1700)中可以查到。这个字段后来发展成为IPv6中的下一个头字段,其中定义了下一个头是一个扩展头字段还是另一层的协议头。
由于如T C P和U D P等高层协议均计算头的校验和, IPv4头校验显得有些多余,因此这个字段在IPv6中已消失。对于那些真的需要对内容进行身份验证的应用, IPv6中提供了身份验证头。
IPv6中仍然保留了3 2位的IPv4源地址和目的地址,但将它们扩展为1 2 8位。而IP选项字段则已经彻底消失,取而代之的是IPv6扩展头。
5.1.4 流标签
IPv4通常被描述为无连接协议。就像任何一个包交换网络一样, IPv4设计为让每个包找到自己的路径以到达其目的地。每个包都分别处理,而结果是两个从相同数据源发往相同目的地的包可以采用完全不同的路由来穿越整个网络。这对于适应网络突发事件来说是个好办法,因为突发事件意味着任何一条路由都可能在任何时间出现故障,但只要两主机间存在某些路由则可以进行数据的交互。
但是,这种方法的效率可能不太高,尤其是当包并不是孤立的,且实际上是两个通信系统间的业务流的一部分时。进一步考虑一个包流从一台主机发往另一主机时在它所经过的路径上将发生的事情:每个中间路由器对每个包的处理将导致在链路上轻微地增加延时。对于类似文件传输或终端仿真之类的大部分传统Internet应用,延时只会带来一点不方便而已,但对于一些提供互操作的音频和视频应用而言,即使只是增加一点点延时也会显著降低服务质量。
对每个IPv4包均进行单独处理带来的另一个问题在于难以把特定的业务流指定到较低代价的链路上。例如,电子邮件的传输优先级不高,并且不是实时应用,但IPv4网络管理员却没有简单的办法来标识这些包,把它们传输到较低开销的Internet链路,并为实时应用保留较高开销的链路。
IPv6中定义的流的概念将有助于解决类似问题。IPv6头字段中的流标签把单个包作为一系列源地址和目的地址相同的包流的一部分。同一个流中的所有包具有相同的流标签。
5.1.5 业务流类别
最早有关IPv6的R F C ( 1 8 8 3 )中定义了4位优先级字段,这意味着每个包可能具备1 6个优先级中的一个。但是,经过多次讨论后这个字段的名字改为“类别”,且长度也扩大到了1字节。在最新的关于RFC 1883的Internet修订草案中,名字又被改为“业务流类别”
IPv6类别字段的数值及如何正确使用还有待定义。使用IPv4服务类型字段和使用IPv6类别的实验最终必将为此带来有用的结果。使用业务流类别的目的在于允许发送业务流的源节点和转发业务流的路由器在包上加上标记,并进行除默认处理方法之外的不同处理。一般来说,在所选择的链路上,可以根据开销、带宽、延时或其他特性而对包进行特殊的处理。
虽然在IPv6的实现中很可能需要并建议高层协议为它们的数据指定一个特定的业务流等级,但这些实现中可能也允许中间路由器根据实际情况修改这个值。
5.1.6 分段
IPv6的分段只能由源节点和目的节点进行,这样就简化了包头并减少了用于选路的开销。逐跳分段被认为是一种有害的方法。首先,它在端到端的分段中将产生更多的分段。此外在传输中,一个分段的丢失将导致所有分段重传。IPv6的确可以通过其扩展头来支持分段,但是如下所述,了解IPv4分段如何工作将有助于了解IPv6中为什么要进行改变。
在IPv4中,当一个没有分段的包由于太长而无法沿着发送源到目的地的网络链路进行传输时,就需要进行包的分段。举例来说,一个源节点可以创建一个长度为1 5 0 0字节的包,并把它向Internet上的某个远端目的地发送。这个包通过源节点的本地以太网到达该节点的默认路由器。然后路由器通过其链路把数据发到Internet上,这条链路可能是到一个I S P的点到点连接。在Internet中的某处或离目的节点较近的某处,可能有条网络链路无法处理这样一大块的数据。在这种情况下,使用该网络链路的路由器将不得不把1 5 0 0字节的数据报分割成许多不超过下一个网络的最大传输单元( MTU )的分段。因此,如果假设下一个链路可以处理的包长度不能超过1280 字节的话,路由器将把最初的一个包分割为两个。第一个包的长度为1 2 6 0字节,留下的2 0字节用于IPv4头。第二段的长度就是剩余数据的长度, 2 4 0字节,另外再用2 0字节作为另一个IPv4头。
IPv4中的分段由包沿途的中间路由器根据需要进行。进行分段的路由器根据需要修改包头并在其中包含进最初的包的数据报标识,同时还将正确地设置分段标志和分段偏移值。当目的节点收到由此产生的分段包之后,该系统必须根据每个分段包的IPv4头后的分段数据重组最初的包。
在使用了分段之后,不论中间的网络是什么类型,不同类型网络上的节点都可以互操作,源节点无需了解任何有关目的节点网络的信息,同时也无需了解它们之间的网络信息。这一直被认为是一个不错的特性,由于不需要节点或路由器存储信息或记录整个Internet的结构,从而Internet可以获得很好的扩展性。但另一方面,它也为路由器带来了性能方面的问题,对IP包进行分段消耗了沿途路由器和目的地的处理能力和时间。了解IP数据报标识、计算分段偏移值、真正把数据分段以及在目的地进行重装都会带来额外的开销。
问题在于对于任何一个指定的路由器,虽然源节点能够了解链路的MTU是多大,但却没有办法事先知道整个路径的MTU。路径MTU是源节点和目的节点之间在不分段时可以沿着该路由穿越任何网络的最大包长。
然而,目前有两种方法可以减少或消除对于分段的需求。第一种方法可用在IPv4中,它使用一种叫做“路径MTU发现”的方法。通过这种方法,路由器可以向目的地发送一个包来报告该路由器上链路的MTU值。如果包到达了一条必须对其进行分段的链路,负责分段的路由器将使用ICMP回送一个报文来指出分段路由器上链路的MTU值。这种过程可以重复进行直到路由器确定路径MTU为止。(后面将有对ICMP的进一步讨论。)
另一种减少分段需求的方法是要求所有支持IP的链路必须能够处理一些合理的最小长度的包。换句话说,如果一个链路的MTU超过2 0字节,那么所有的节点都必须准备产生可观数量的分段包。另一方面,如果能够提出所有网络链路都可以适应的某个合理的长度,并把它设置为允许包长度的绝对最小值,那么就可以消灭分段。
IPv6中实际上同时使用了上面两种方法。在最初的R F C中, IPv6规定每个链路支持的MTU最小为5 7 6字节。那么这些包的净荷长度将是5 3 6字节,另外4 0字节用于IPv6头。由于RFC 1883发表于1995年,后来产生了很多关于更大的MTU的争论。在H u i t e m a提出的报告(参见《IPv6:新的IP》第2版,P r e n t i c e - H a l l )中,建议值为1997,Steve Deering则正在促使将MTU值改为1 5 0 0字节。在最新的于1997年11月发表的Internet草案中, MTU值被设为1 2 8 0字节。很明显,关注的焦点在于:倡导较短MTU的人希望那些不能支持较长MTU的网络不会被完全丢弃,而倡导较长MTU的人不希望为照顾小部分接近于废弃的网络而使得整个Internet的性能下降。
为了对较短的MTU进行一些弥补, IPv6标准中强烈推荐所有IPv6节点都支持路径MTU发现。路径MTU发现最早出现在RFC 11 9 1中,其中使用了分段标志中的“不能分段”来要求中间路由器在发现包太长时返回一个ICMP出错报文。
路径MTU发现的IPv6版本在RFC 1981(IPv6的路径MTU发现)中描述。这是对原有的R F C 11 9 1的升级,但其中加入了一些改变使之可以工作在IPv6中。其中最重要的是,由于IPv6头中不支持分段,因此也就没有“不能分段”位。正在执行路径MTU发现的节点只是简单地在自己的网络链路上向目的地发送允许的最长包。如果一条中间链路无法处理该长度的包,尝试转发路径MTU发现包的路由器将向源节点回送一个ICMP v6出错报文。然后源节点将发送另一个较小的包。这个过程将一直重复,直到不再收到ICMP v6出错报文为止,然后源节点就可以使用最新的MTU作为路径MTU。
这里需要注意,有一些实例并没有实现路径MTU发现。例如,使用最小IPv6实现来进行远程网络启动的终端只是简单地使用5 7 6字节的路径MTU。从源节点到目的节点的IPv6分段,作为一个扩展头来实现,将在下一节中讨论。
5.1.7 扩展头
IPv4选项的问题在于改变了IP头的大小,因此更像一个“特例”,即需要特别的处理。路由器必须优化其性能,这意味着将为最普遍的包进行最佳性能的优化。这使得IPv4选项引发一个路由器把包含该选项的包搁置一边,等到有时间的时候再进行处理。
IPv6中实现的扩展头可以消灭或至少大量减少选项带来的对性能的冲击。通过把选项从IP头中搬到净荷中,路由器可以像转发无选项包一样来转发包含选项的包。除了规定必须由每个转发路由器进行处理的逐跳选项之外, IPv6包中的选项对于中间路由器而言是不可见的。
可用的选项
除了减少IPv6包转发时选项的影响外, IPv6规范使得对于新的扩展和选项的定义变得更加简单。在需要的时候可能还会定义其他的选项和扩展。本节仅列出已定义的扩展,而对于扩展头和选项的使用在第7章中将有更详细的讨论,安全性头将在第9章讨论。RFC 1883中为IPv6 定义了如下选项扩展:
逐跳选项头。此扩展头必须紧随在IPv6头之后。它包含包所经路径上的每个节点都必须检查的选项数据。由于它需要每个中间路由器进行处理,逐跳选项只有在绝对必要的时候才会出现。到目前为止,已经定义了两个选项:巨型净荷选项和路由器提示选项。巨型净荷选项指明包的净荷长度超过IPv6的1 6位净荷长度字段。只要包的净荷超过65 535字节(其中包括逐跳选项头),就必须包含该选项。如果节点不能转发该包,则必须回送一个ICMP v6出错报文。路由器提示选项用来通知路由器, IPv6数据报中的信息希望能够得到中间路由器的查看和处理,即使这个包是发给其他某个节点的(例如,包含带宽预留协议信息的控制数据报)。
选路头。此扩展头指明包在到达目的地途中将经过哪些节点。它包含包沿途经过的各节点的地址列表。

[3] [4] [5] [6] [7]

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    教程: IPV6教程-基础-TCP/IP网络…

    教程: IPV6教程-基础-IPv6解决方…

    教程: HUB-基础教程-集线器(HUB)…

    教程: VLAN-基础教程-经典配置 V…

    教程: TCP/IP教程-基础-广播和多…

    教程: TCP/IP教程-基础-IGMP(Int…
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网