计算机网络——IP协议

1、IP协议简介

IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。
在这里插入图片描述

1.版本号:占四位,就是IP协议的版本,通信双方的IP协议必须要达到一致,IPv4的版本就是4.

2.首部长度:占四位,因为长度为四比特,所以首部长度的最大值为1111,15,又因为首部长度代表的单位长度为32个字(也就是4个字节),所以首部长度的最小值就是0101,当然,也确实如此,大部分的ip头部中首部字节都是0101.也就是5*4=20个字节,如果是最大值15的话,ip首部的最大值就是60个字节,所以记好了,ipv4首部长度的最大值就是60,当然当中我们又能发现,IPv4的首段长度一定是4字节的整数倍,要是不是怎么办呢?别急,后面的填充字段会自动填充补齐到4字节的整数倍的。

3.区分服务:这个没有什么用处,也没有什么好讲的了,只要自动这玩意占八位,一个字节就可以了。

4.总长度:占16位,这个的意思就是ip数据报中首部和数据的总和的长度,因为占16位,所以很好理解,总长度的最大值就是2的16次方减一,65535,这玩意也对应着还有一个很简单的概念,最大传输单元mtu,意味着一个IP数据报的最大长度就只能装下65535个字节,要是传输的长度超过这个怎么办,很简单,分片。

5.标识:占16位,标识这玩意很好理解,IP在存储器中维持一个计数器,每产生一个 数据报,计数器就加1,并将此值赋给标识字段。但这个标识并不是平常的序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分 片时,这个标识字段的值就被复制到所有的数据报片的标识字段中,等到重组的时候,相同标识符的值的数据报就会被重新组装成一个数据报。

6.标志:占三位,一般有用的是前两位,最低位叫做MF,MF=1表示后面还有若干个数据报,MF=0表示这已经是最后一个数据报了。中间位叫做DF,DF表示不能进行分片,DF=0才可以进行分片操作。

7.片偏移:占13位,片偏移就是,在原来的数据报分片以后,该片在原分组中的相对位置,片偏移中的基本单位是8字节,所以,也就是说,只要是分片,每个分片的长度都是8字节的整数倍,最后一个分片不够八字节的一样是填充。

8.生存时间ttl:占8位,(time to
live),表明数据报在网络中的寿命,这个值被设定成跳数,顾名思义,就是这个数据报可以经过多少个路由器的数量,每经过一个路由器,该值就减一,减到为零的时候就被抛弃,显而易见,这个跳数的最大值就是2的8次方减一,255.

9.协议:就是用来指明数据报携带了哪种协议,如TCP或UDP协议,占8位。

10.首部效验和:占16位,这个字段用来效验数据报首段,下面给出简单的计算方法:

在这里插入图片描述

首先在发送端的时候,将效验和全部置为0,然后把数据报首段数据全部进行反码相加,得到的值为效验和,放入首段效验和里面,然后接收端将数据报首段数据和效验和一起全部反码相加,最后若是得到零,则保留,若是不为零,则说明数据报在传输的过程中发生了改变,则丢弃该数据报。

11.IP源地址:占32位,将IP地址看作是32位数值则需要将网络字节顺序转化位主机字节顺序。转化的方法是:将每4个字节首尾互换,将2、3字节互换。

12.目的地址:也占32位,转换方法和来源IP地址一样。

13.到了可变部分IPv4的头部基本上就已经讲完了,增加头部的可变选项实际上就是增加了数据报的功能,可变选项在实际上是很少用到的。

在IP协议中,IP协议是面向非连接的,所谓的非连接就是在数据的传递过程中,不需要检测网络是否连通,所以是不可靠的数据报协议。IP协议主要用于在主机之间的寻址和选择数据包路由。

参考:https://blog.csdn.net/qq_42058590/article/details/82918678

原创文章 62 获赞 133 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43142797/article/details/105619226