摘要:通信工程师交换技术考试扩展报头的选项:IPv6的扩展报头几乎取代了IPv4中的选项,但是设计者们还是建议在某些扩展报头中容纳其他扩展报头所不包含的信息。目前所定义的扩展报头中,有两种报头一跳到跳选项头和信宿选项头携带了一定数撤的以Type Length-Value(TLV)方式编码的选项。
4.5.2.3 扩展报头的选项
IPv6的扩展报头几乎取代了IPv4中的选项,但是设计者们还是建议在某些扩展报头中容纳其他扩展报头所不包含的信息。目前所定义的扩展报头中,有两种报头一跳到跳选项头和信宿选项头携带了一定数撤的以Type Length-Value(TLV)方式编码的选项。每个选项的格式如图4-22所示。
每个选项以8bit的选项类型字段开始;接着是一个8bit的选项数据长度字段,它以八比特组的个数表示选项数据的长度;选项数据是可变的.随着选项类型而不同的数据。一个报头中出现的选项必须严格按照它们出现的顺序来处理,接收者不能在报头中寻找某一类,特殊的选项来首先处理。如果IPv6节点不明甶选项的含义,每个选项的选项类型字段的两商位比特字段将指明它们应该如何处理这个数据报,如表4-8所示。
选项的处理Type中的两高位比特跳过这个选项.继续处理下一个报头丢弃这个分组,不向Ift源节点发送ICMP报文丢弃该分组,且不?报文的倍宿地址是不是组播地址,都给报文的倌地址发送一个衷示参数存在问瓶的ICMP报文,code值为2,指针指向无法识别的选项Z-弃分组.如果报文的倌宿地址不是一个mullicast组播地址。则向报文的倌源地址发送一个表示参数存在问题的1CMP报文.codeffi为2,指针指向无法识别的选项类型
选项类型中的第4比特说明选项数据能不能在向信宿发送的路径中改变。如果分组中出现了认证头,对于任何数据在发送路径中可以改变的选项,在计算或确认分组的认证值时它们的选项字段必须看作零值。选项类型中的第三个比特为0,表示选项数据在发送路径中不能改变;为1则表示可以改变。
以上描述的较高位三个比特同样以选项类型字段中的一部分来看待,它们并不独立于选项类型字段。也就是说,某个特定的选项是由8bit的选项类型识别的,并非由其低5位比特决定。
跳到跳选项报头和信宿选项报头的选项类型手段使用同样的编号方式,但是并非所有选项都可以应用于这两种报头,某些特定的选项对应于某种选项报头。
单独的选项可能有特定的对齐要求,以保证选项数据字段中的多个八比特组的值指向自然的边界。一个选项的对齐要求是以+的形式说明的,表示选项类型必须以这样的形式出现:从报头开始处起的x的整数倍个八位组,加上个八比特组。例如:
6n表示任何从报头开始处起的6个八比特组偏移量;
4n+5表示任何从报头开始处起的4个八比特组偏移量,加上5个八比特组。
合理地配置选项对高效处理IP分组是十分重要的。32位及64位字长的微处理器,当数据在存储器中按自然边界存放时,能最有效地对多字节的数据进行存取。图4-23给出了DEC公司64位的Alpha处理器中64比特的数据在内存中按自然边界和不按自然边界存放的二种情况。无论在哪种情况下Alpha处理器都能访问该值,但如按自然边界存放,其读写速度是不按自然边界存放的30倍。其他新开发出的处理器存放率也与此相同。
在IP中为了实现这种配置,可以将一个或一个以上的填充选项置人数据域之前,使该域的位置错位形成正确的自然边界。
IPv6中有两个填充选项,它们都只是选项中的一种类型,其作用是:当需要对齐下一个选项或将本选项在长度上填充到8个八比特组的整数倍时,需要使用这两个选项。所有的IPv6应用程序都能识别这些填充选项。
Pad1选项(无对齐要求)如图4-24所示。
Pad1选项的格式是一种特殊的情况:没有长度字段和数值宇段。Padl选项用于将一个八比特组的填充插人某个报头的选项区。
如果需要插人多个八比特组的填充时,并不使用多个Padl选项,而是使用下面将要说明的PadN选项。
PadN选项用于将两个或多个八比特组的填充插人某个报头的选项区。对于N个八比特组的填充,可以很容易的判断;选项数据长度字段的值应为N-2,选项数据字段由N-2个零值的八比特组组成。
编辑推荐
通信工程师备考资料免费领取
去领取