IPv6数据包知识详解(1)


作为网络的基础,协议类型现在在使用的有两种,一个是IPv4,一个就是IPv6。为了能容纳更多的信息,我们扩展了网络地址,也就是IPv6诞生的原因,所以,在这里我们来介绍一下它的结构也就是IPv6数据包的技术知识。

技术信息概述

IPv6包由IPv6包头40字节固定长度)、扩展包头和上层协议数据单元三部分组成。

IPv6包扩展包头中的分段包头下文详述)中指名了IPv6包的分段情况。

其中不可分段部分包括:IPv6包头、Hop-by-Hop选项包头、目的地选项包头适用于中转路由器)和路由包头;可分段部分包括:认证包头、ESP协议包头、目的地选项包头适用于最终目的地)和上层协议数据单元。但是需要注意的是,在IPv6中,只有源节点才能对负载进行分段,并且IPv6超大包不能使用该项服务。

下文还将简述IPv6寻址、路由以及自动配置的相关内容。

IPv6数据包:包头

IPv6包头长度固定为40字节,去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址长度为IPv4的四倍,IPv6包头长度仅为IPv4包头长度的两倍。

其中的各个字段分别为:Version版本号):4位,IP协议版本号,值=6。

TrafficeClass通信类别):8位,指示IPv6数据流通信类别或优先级。功能类似于IPv4的服务类型TOS)字段。

FlowLabel流标记):20位,IPv6新增字段,标记需要IPv6路由器特殊处理的数据流。该字段用于某些对连接的服务质量有特殊要求的通信,诸如音频或视频等实时数据传输。在IPv6中,同一信源和信宿之间可以有多种不同的数据流,彼此之间以非“0”流标记区分。如果不要求路由器做特殊处理,则该字段值置为“0”。

PayloadLength负载长度):16位负载长度。负载长度包括扩展头和上层PDU,16位最多可表示65535字节负载长度。超过这一字节数的负载,该字段值置为“0”,使用扩展头逐个跳段Hop-by-Hop)选项中的巨量负载JumboPayload)选项。

NextHeader下一包头):8位,识别紧跟IPv6头后的包头类型,如扩展头有的话)或某个传输层协议头诸如TCP,UDP或着ICMPIPv6)。

HopLimit跳段数限制):8位,类似于IPv4的TTL生命期)字段。与IPv4用时间来限定包的生命期不同,IPv6用包在路由器之间的转发次数来限定包的生命期。包每经过一次转发,该字段减1,减到0时就把这个包丢弃。

SourceAddress源地址):128位,发送方主机地址。

DestinationAddress目的地址):128位,在大多数情况下,目的地址即信宿地址。但如果存在路由扩展头的话,目的地址可能是发送方路由表中下一个路由器接口。

IPv6数据包:扩展包头

IPv6包头设计中对原IPv4包头所做的一项重要改进就是将所有可选字段移出IPv6包头,置于扩展头中。由于除Hop-by-Hop选项扩展头外,其他扩展头不受中转路由器检查或处理,这样就能提高路由器处理包含选项的IPv6分组的性能。

通常,一个典型的IPv6包,没有扩展头。仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。与IPv4不同,IPv6扩展头长度任意,不受40字节限制,以便于日后扩充新增选项,这一特征加上选项的处理方式使得IPv6选项能得以真正的利用。但是为了提高处理选项头和传输层协议的性能,扩展头总是8字节长度的整数倍。

目前,RFC2460中定义了以下6个IPv6扩展头:Hop-by-Hop逐个跳段)选项包头、目的地选项包头、路由包头、分段包头、认证包头和ESP协议包头:


相关内容

    暂无相关文章