首页 百科知识 协议与分组格式

协议与分组格式

时间:2022-10-01 百科知识 版权反馈
【摘要】:Internet的网络层协议为IP协议,IP协议的任务是提供尽力投递的服务将数据分组从源端传送到目的端。◆ 服务类型域:长度为8比特,用于定义IP分组的优先级与源主机关心的网络质量信息等。IPv6是由国际标准化组织Internet工程任务组IETF设计的用来替代现行的IPv4协议的一种新的IP协议,也被称作下一代互联网协议。与IPv4不同,IPv6扩展头长度任意,不受40字节限制,以便于日后扩充新增选项。

Internet的网络层协议为IP(Internet Protocol)协议,IP协议的任务是提供尽力投递(Best-Efforts,即不提供任何保障)的服务将数据分组从源端传送到目的端。目前,IP协议主要包括IPv4(Internet Protocol Version 4)和IPv6(Internet Protocol Version 6)两个版本。

在IPv4协议中,每个分组均包含了一个头部和一个数据部分,其中,分组的头部总长为20~60字节,包括了一个20字节的定长部分和一个可选的变长部分(长度不超过40字节),如图4.1所示,其中:

图4.1 IPv4分组及其头部格式

◆ 版本(Version)域:长度为4比特,用于记录IP分组属于哪个版本的协议(例如:IPv4等)。

◆ 头部长度(Internet Header Length,IHL)域:长度为4比特,用于指明头部的长度。IHL的最小值为5(0101),最大值为15(1111),其长度单位为4字节,因此对应的头部长度范围为20~60字节,即头部最长为60字节(=15×4字节,有可选项时),最短为20字节(=5×4字节,没有可选项时),故变长的可选项部分最长为40字节。

◆ 服务类型(Type of Service)域:长度为8比特,用于定义IP分组的优先级与源主机关心的网络质量信息等。

◆ 分组总长度(Total Length)域:长度为16比特,用于记录IP分组中所有内容(头部+数据部分)的总长度,其最大长度为65 536字节(即0000000000000000~1111111111111111),因此,IP分组中数据部分的长度范围为65 476字节(去掉60字节头部)~65 516字节(去掉20字节头部)。

◆ 标识(Identification)域:长度为16比特,用于让目标主机确定一个新到达的分段属于哪个分组。属于同一个IP分组的所有分段均包含相同的Identification值。

◆ 标志(Flag)域:长度为3比特,用于标识分组是否包含了分段,其中,若包含了分段,则除了最后1个分段之外,分组的所有分段必须为8字节的整数倍,即必须采用8字节作为基本分段单位。

◆ 分段偏移量(Fragment offset)域:长度为13比特,表示一个分组最多可分为8 192(即0000000000000~1111111111111)个分段。

◆ 生存时间(Time to Live)域:长度为8比特,时间计量单位为秒,因此,每个分组的最大生存时间为255(即11111111)s。

◆ 协议(Protocol)域:长度为8比特,用于指明该分组应递交给传输层的哪个协议(进程)处理。

◆ 头部校验和(Header Checksum)域:长度为16比特,用于校验分组头部的正确性。

◆ 源IP地址(Source Address)域:长度为32比特,用于记录源主机的IP地址。

◆ 目的IP地址(Destination Address)域:长度为32比特,用于记录目标主机的IP地址。

◆ 可选项(Options)域:长度为0~40字节,用于附加信息的增补。例如:分组的安全信息以及分组路由过程必须遵循的完整路径信息等。

IPv6是由国际标准化组织Internet工程任务组IETF(Internet Engineering Task Force)设计的用来替代现行的IPv4协议的一种新的IP协议,也被称作下一代互联网协议。在IPv6协议中,每个分组也均包含了一个头部和一个数据部分,其中,分组的头部总长为40字节,去掉了IPv4分组中的可选的变长部分,如图4.2所示,其中:

◆ 版本(Version)域:长度为4比特,用于记录IP分组属于哪个版本的协议(例如:IPv6等)。

◆ 服务类型(Traffic Class)域:长度为8比特,用于指示IPv6数据流通信类别或优先级,其功能类似于IPv4的服务类型域。

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

◆ 负载长度(Payload Length)域:长度为16比特,最多可表示65 535字节负载长度。超过这一字节数的负载,则应将该字段值置为“0”,并同时使用扩展头逐个跳段(Hop-by-Hop)选项中的巨量负载(Jumbo Payload)选项,其中,Jumbo Payload选项用于传送超大分组(负载长度超过65 535字节的IPv6分组称为超大分组,使用Jumbo Payload选项,分组有效载荷长度最大可达4 294 967 295字节)。

◆ 下一分组头(Next Header)域:长度为8比特,识别紧跟IPv6头后的分组头类型,例如:扩展头(有的话)或某个传输层协议头(诸如TCP,UDP或ICMPv6等)。

◆ 跳步限制(Hop Limit)域:长度为8比特,其功能类似于IPv4的生存时间域,使用分组在路由器之间的转发次数来限定分组的生存时间,分组每经过一次转发,则该域中的值减1,减到0时就把这个分组丢弃。

◆ 源地址(Source Address)域:长度为128比特,用于记录源端的IP地址。

◆ 目标地址(Destination Address):长度为128比特,用于记录目的端的IP地址。如果存在路由扩展头,目标地址可能是源端路由表中下一个路由器的接口地址。

图4.2 IPv6分组及其头部格式

通常,一个典型的IPv6包是不包含扩展头的,仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。与IPv4不同,IPv6扩展头长度任意,不受40字节限制,以便于日后扩充新增选项。不过,为了提高处理选项头和传输层协议的性能,扩展头总是8字节长度的整数倍。目前,RFC 2460中定义了以下6个IPv6扩展头:Hop-by-Hop(逐个跳段)选项分组头、目的地选项分组头、路由分组头、分段分组头、认证分组头以及ESP (Encapsulating Security Payload,封装安全载荷)协议分组头。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈