Compare Plans

网际协议之IP分组格式(一)

        我们了解到,分组交换有两种基本方式: 面向连接的虚电路方式和无连接的数据报方式。在 Internet 的发展过程中,参与标准制定的学者和工程师们通过对计算机网络终端特点的分析,选择了第二种方式,即网络层向上只提供简单灵活的 、无连接的、尽最大努力交付的数据报服务。网络在  发送分组时不需要事先建立连接,每一个分组独立发送。网络层不提供任何服务  质量的承诺,所传送的分组可能出错、丢失、重复和乱序,同时也不保证分组交付的时限。由于 IP 层不提供端到端的可靠传输服务,因此大大降低了路由器的设计复杂度,进而降低了设备的成本。如果两个主机的进程间要求可靠的通信,那么就交由主机中的运输层负责,该层提供差错处理、流量控制等多种     功能以保证数据的准确性。因此,采用数据报方式可大大降低通信子网的造 价,同 时 运行方式灵活、能够适应多种应用。In ternet 能够发展到今天的规模, 也 充 分 证 明 了 当 初 这种设计思路的正确性。
        我们首先了解一下 IP 分组的格式,对 IP 协议的功能有一个初步的认识。IP分组的完整格式如图 一所示。在 TCP/ IP 标准中,各种数 据格式 通 常以 32 比特(即 4 字节)为单位来描述。从图中可以看出,每个 IP 分组由首部和数据两部分组成。首部的前一部分是固定长度,共 20 字节,是所 有 IP 分组所必须具有的。在首部的固定部分的后面是一些可选字段,其 长度是可变的。下面具体介绍首部各字段的意义。
图一       IP 分组格式
        1 ) 版本
指 IP 协议的版本。通信双方使用的 IP 协议的版本必须一致。目前有 IPv4 和IPv6 两种版本,IPv4 为目前广泛使用的版本,对于新兴的 1Pv6  我们将在 以后中进行讨论。
       2) 首部长度
由于首部的长度是不固定的,因 此 设 立此字段以指明首部的长度。需要注意的是,该字段 以 32 位 字 ( 4 字节)为单位。该字段的最小值为 5 , 此时首部大小为 20 字节,不包含任何的可选项。该字段的最大值为 ( 24   -  1  ) x 4 = 60  字节,因此选项字段最多为 40 字节。然而,对 于 某 些 选 项 ,比 如 记 录一个分组沿途路径的选项,这个大小往往是不够的。这样做的主要目的是希望用户尽量 减小开销。此外,当IP分组的首部长度不是 4 字节的整数倍时,必 须 利 用 最后的填充字段加以填充。
       3) ) 区分服务
该字段在旧标准中称为“服务类型" (Type of Service)  , 1998  年 IETF 将其更名为"区分服务" ( Diffe rentiated Services ) 。 但无论是改变之前还是改变之后,其 目 的均 为区分不同的服务种类。例如,对于网络视频传输,速度比准确性更为重要,而对于文件传输,准确性比速度更加重要。
该 8 位字段目前只使用了6 位(从左至右)。早期的“服务类型” 包含了一个 3位的 Precedence 域和 3 个标志 D、T、R。Precedence  域是一个从O ( 普通级别)至7(网络控制分组)的优先级。而通过 3 个标志位,源主机可以指定 它最关心的是什么,即时延( Delay 汃吞吐量( Throughput) 和可靠性( Reliability ) 。理论上,路由器可以根据该字段所设定的值在多条路径中做出路由选择,但在实际应用中,路由器通 常完全忽略该字段。最终 IETF 承认了失败,并且将该字段加以微调,以适应区分服务的需要。
       4) 总长度
总长度为首部长度和数据长度之和,以字节为单位。该字段长度为 16 位,因此 IP 分组的最大长度为21 6   -   I = 65535  字节。
       5) ) 标识
我们知道 ,当 IP 分组的长度大于数 据链路层 MTU ( 最大传输单元 ,以太网为1500 字节)的要求时,需要将 IP 分组分割成多个小的报片,以 便数据链路层进行数据帧封装。然而,IP服务是无连接服务 ,不保证分组的按序接收,这样就会在将报片恢复成分组时产生混乱。为解决这一问题,在将 IP  分组分片时,属于同一个分组的所有报片被写入相同的标识值,使目的主机可以确定一个新到达的报片属于哪一个 IP 分组。

下一篇

IP分组格式(三)

通信百科

IP分组格式(三)

10) 首部校验和 其算法是:在发送方,先把1P 分组首部划分为许多 16 位字的序列,并 把校验和字段置零。用反码算术运算把所有16 位字相加后,将得到的和的反码写入校 验和字段。接 ...

相关内容

什么是Asterisk及其常见协议、用途、功能有哪些?

什么是Asterisk及其常见协议、用途、功能有哪些?

Asterisk是一个开源的电话应用平台,它可以将普通计算机转变为功能强大的电话......

通信百科

2024-09-07

UART是什么意思啊(详解串行通信协议及应用场景)。

UART是什么意思啊(详解串行通信协议及应用场景)。

本文目录一览什么是UART?UART的工作原理UART的应用场景如何使用UART......

行业咨询

2023-08-01

什么是TCP(传输控制协议的原理与特点)

什么是TCP(传输控制协议的原理与特点)

TCP(传输控制协议)是互联网协议族的主要协议之一。它位于应用层和网络层之间,用......

通信百科

2023-07-30