摘要:每个流是通过源地址、目标地址和流编号来指定的,所以,在给定的一对IP地址之间,可以同时有许多个活动的流。而且,按照这种方法,来自不同主机的两个流即使有相同的流标签,当它们通过同一台路由器的时候,路由器也能够利用源地址和目标地址将它们区分出来。流标签的选取最好是随机的,而不是从1开始顺序分配,因此,路由器最好对它们进
每个流是通过源地址、目标地址和流编号来指定的,所以,在给定的一对IP地址之间,可以同时有许多个活动的流。而且,按照这种方法,来自不同主机的两个流即使有相同的流标签,当它们通过同一台路由器的时候,路由器也能够利用源地址和目标地址将它们区分出来。流标签的选取最好是随机的,而不是从1开始顺序分配,因此,路由器最好对它们进行散列处理。
净荷长度(Payloadlength)域指明了紧跟在图5-37所示的40字节头之后还有多少字节数。在IPv4中该域的名字为总长度(Totallength),之所以改成现在的名字是因为其含义略有不同:40字节的头部不再像以前那样作为长度中的一部分。
下一个头(Nextheader)域正显示了IPv6的关键之处。IPv6头部之所以能够得以简化的原因是,它还可以有附加(可选)的扩展头。该域指明了如果当前头之后还有扩展头的话,
该扩展头是哪种扩展头(当前已经定义了6种扩展头)。如果当前的头是最后一个IP头,那么Nbxtheader域指定了该分组将被传递给哪一个传输协议处理(如TCP,UDP)。
跳数限制(Hoplimit)域被用来避免分组永远留在网络中。在实践中,它与IPv4中的生存期(Timetolive,TTL)域是一样的,也就是说,在每一跳上该域中的值都要被递减。IPv4中的TTL域理论上是一个以秒为单位的时间值,但是所有的路由器都不按照时间值来使用该域,所以在IPv6中将其名字改过来,以便反映出它的实际用法。
接下来是源地址和目标地址域。这是固定长度的16字节地址。为了书写16字节的地址。IETF也设计了一种新的标记法。16个字节被分成8组来书写,每一组4个十六进制数字,组之间用冒号隔开,如下所示:
8000:0000;0000:0000:0123:4567:89AH:CDEF
由于许多地址的内部可能有很多个0,所以有3种优化方法也可以使用。第一种,在一个组内,前导的0可以省略,如0123可以写成123.第二种,16个“0”位构成的一个或多个组可以用一对冒号来代替,因此,上面的地址现在可以写成:
8000::123;4567:89AH:CDEF
第三种,IPv4地址现在可以写成一对冒号再加上老式的点分十进制数,例如:
::192.31.20.46
比较一下IPv4与IPv6的头,注意在IPv6中省略了什么,这是非常有意义的。IHL域不再出现了,因为IPv6头有固定的长度。协议域也被拿掉了,因为Nextheader域指明了最后的IP头后面跟的是什么(如UDP或者TCP分段)。
所有与分段有关的域都被去掉了,因为IPv6采用另一种方法来实现分段的功能。首先,所有遵从IPv6的主机都应该能够动态地确定将要使用的数据报长度。由于有了这条规则,所以分段就变得不再有必要。而且,数据报长度的最小值也从576Byte增加到1280Byte,以便允许1024Byte的数据和许多头信息。此外,当主机发送了一个非常大的IPv6分组时,如果路由器不能转发这么大的分组的话,它并不是对该分组进行分段,而是送回一条错误消息。路由器通过此消息告诉主机,所有将来发送给这一目标的分组都要分解得更小一些。从根本上来讲,让主机从一开始就发送合适大小的分组,比让沿途的路由器动态地对分组进行分段要有效得多。
最后,校验和域也被去掉了,因为计算校验和会极大地降低性能。现在常用的是可靠网络,而且数据链路层和传输层通常有它们自己的校验和,所以在网络层上再使用校验和,相比它所付出的性能代价而言是不值得的。去掉了所有这些待性之后得到的是一个精简的网络层协议。因此,这份设计方案已经满足了IPv6的目标,即一个快速,但仍然灵活,并且具有足够大地址空间的协议。
有些辑略掉的IPv4域偶尔还会有用,所以IPv6引入了(可选的)扩展头(extensionheader)的概念。这些扩展头可以用来提供一些额外的信息,但是它们的编码方式更加高效。现在已经定义了6种扩展头。每一种扩展头部是可选的,但如果有多个扩展头出现的话,那么它们必须直接跟在固定头部的后面,而且最好使用表5-6中列出的顺序。
有些扩展头有固定的格式,其他扩展头包含可变数目的可变长度域。对于所有这些可变项,每一项都被编码成一个(类型,长度,值)三元组。类型(Type)是一个单字节域,它指明了这是哪个选项。Type的值有特殊的选取方法,它的前2位告诉路由器应该如何处理此选项。选择方案有:跳过此选项:丢弃该分组:丢弃该分组并送回一个ICMP分组;与前一种选择相同,但是对于多播地址不送回ICMP分组,这样可以避免一个坏的多播分组产生大:量的ICMP报告。
长度也是一个单字节域,它说明了值域有多长(范围是0-255Byte)。值域是任何必要的信息,可以长达255Byte。
返回目录:通信工程师考试培训互联网技术重点汇总
编辑相关推荐:
[1] [2]
通信工程师备考资料免费领取
去领取