网络层协议初识之IP字段(一)

网络层协议初识(一)
IP字段:
一个IP 数据包是由IP数据包头 和数据组成的
网络层协议初识之IP字段(一)
这里是一个IP 数据包的表现形式如下图所示:蓝色框中的是 包头部分,黄色部分是上层传下来的上层数据部分,这里组成了一个IP数据包。

网络层协议初识之IP字段(一)
这里我们专门了解一下IP数据包的包头部分,这里为了更好的理解包头的各个部分,我们用wireshark 这个抓包软件,进行抓包来专门讲解。
如下图所示:我们用wireshark 抓取了一个传输层的IP包。我们打开网络层的IP包,可以看到正常情况下的IP包的构成。正常情况下对于刚开始学习的朋友们看到那么多的英文肯定时头皮发麻的,我们千万不能害怕,因此我们重头看看各个部分。
我们可以看根据图中显示的各个部分来看IP段的各个部分:
1.版本:即图中的“Version 4”,表示IP 的版本号,4比特
2.首部长度:即图中的“Header length”的这段,表示IP数据包头长度,4比特,IP数据包头最短为20字节,但是其长度可变,具体长度取决于可选项字段的长度。
3.优先级与服务类型:即图中“DIfferentiated services field”这段,用于表示数据包的优先级和服务类型,8比特。通过在数据包中划分一定的优先级,用于实现Qos(服务质量)的要求
4.总长度:即图中 的“Total length”这段,用以指示整个IP数据包的长度,16比特。最长为65535字节,包括包头和数据。
5.标识符:即图中的“Identification”这段,表示IP数据包的标识符,16比特。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误的重组。标识符字段用于标识一个数据包,以便接收节点可以重组被分片的数据包。
6.标志:即图中的“Flags”,标志字段,3比特,标志和分片一起被用来传递信息。例如,当数据包从一个以太网发送到另一个以太网时,指示对当前的包不能进行分片或者一个包被分片后指示在一系列的分片中最后一个分片是否已发出。

网络层协议初识之IP字段(一)
7.段偏移量:即图中的“fragment offset”,该字段用于表示段偏移量,13比特。段偏移量中包含的信息是在一个分片序列中如何将各分片重新连接起来。
8.TTL:即图中的“time to live”,该字段用于表示IP 数据包的生命周期,8比特。该字段包含的信息是防止一个数据包在网络中无限循环的转发下去。
TTL值对应于一个数据包通过路由器的数目。一个数据包没经过一个路由器,TTL将减去1.当TTL值为0时,数据包将被丢弃。
9.协议号:即图中的“Protocol”,协议字段,8比特。该字段用以指示在IP 数据包中封装的是哪个协议,是TCP 还是UDP,tcp的协议号是6,UDP的协议号是17 ,这里我们看到的是TCP 协议号是6。
10.首部校验和:即图中的“Header checksum status”,该字段用于表示校验和,16比特。校验和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算包头的校验和,就如同源主机所做的一样。如果数据没有被改动过,两个计算结果应该是一样的。
11.源和目的地址就是下面的两行,这个都清楚就不说了。
小结:在学习计算机相关的时候我们会遇见很多的困难,其中一个最容易遇到的就是 看不懂,如果英文水平一般的在我们刚开始就会很艰难,笔者这里也是这样,不过我们不能害怕,可以通过有道词典等一些工具一个一个的翻译进行操作,耐下心来,一起学习~!