什么是ip协议一

前言

两节结束,为网络底层系列做铺垫。

首先来看一张图:

IOS有七层,但是我们可以简化层4层,ip属于传输层,可以说是非常重要,下面简单的做一个介绍。

正文

ip的介绍:

1.ip是tcp/ip 协议族中最为核心的协议。所以的TCP、UDP、ICMP及ICMP数据都用ip数据报传输。

2.ip提供不可靠、无连接的数据包传输服务。

两个特征:

1.不可靠

2.无连接

不可靠就是说它不能保证ip包一定到目的地,比如在某个路由就丢了,这中可能性还是挺大的,但是会通知源目的地址,ICMP告诉它这个ip数据包是怎么丢的,至于后面怎么处理就看自己了。

无连接很好理解,是这样子的,无连接表示它不维护任何状态,每个数据包都是独立的,他们的到达顺序和发送顺序不一定一致。比如说源地址发送了10个包,它的目的就是到达目的地,目的地都不知道源地址要不要来,啥时候来。

同样源地址发完后也不知道啥情况。

来看下ip头部吧。

首先看下红框这个:

ip版本号,这个现在有4和6,一般现在是ip4。

这个是首部长度,4位,最大为1111,也就是15,但是这里的1表示1个字节的,所以最大为60个字节,所以可选项最大为40个字节。

TOS是什么呢?

来看下这8位是啥?

前面3个位是ip优先级。

看下后面4位是啥。

分别代表了最小延迟、最大吞吐量、最高可靠性、和最小费用。

其实设置了也没啥用,因为经过这么多路由,有些路由器不搭理是设置的,一般是自定义路由来用。

最后一位是用来补差的,没啥用。

然后看一下16位总长度,这个是啥意思呢?

也很好理解,就是指这个ip的总长度呗,16位代表最大为65535,所以一个ip包最大为65535,当然了会经过分片的。

这个16位的标识位是这样子的,比如说操作系统发一个包把这个包标识为1,下一个ip包标识为2,每次加1作为标识。

这个有什么作用呢?因为ip会分片,这个ip不管分为多少片,这个标识都是1这样就好组装。

这个显示是3个位,其实用到的就两个位。分别是df和mf。

这两个代表什么意思呢?比如ip包为2000,一个路由分片规则是1500,这时候一个路由器要分包。

如果设置df为1,那么是什么意思呢?就是告诉这个路由器不能分包,如果分包的话,就把这个包丢了吧,然后用Icmp进行通知。

mf如果设置为1的话,代表的意思是这样子的,比如一个包分了10个,那么最后一个标识为mf表示分包结束。

再来看下13位偏移量,这个是啥子呢?

我们常常说吧ip包分为1、2、3、4包,但是呢ip包那样这些啊。

是这样来的,比如一个包5000分为5个包,第一个包偏移为0、第二个包偏移1000。。。。是这样来的。

看下这个TTL,是这样子的,假设设置为20,每经过一个路由就减一如果到0就丢弃,这个作用是怕出现环形。

8位协议位,这个是什么呢?就是这些TCP、UDP、ICMP的标识。1是ICMP、TCP是6。

16位是检验位,就是用来检验的包是否完整的。

32位源地址和目的地址没啥好说的。

原文地址:https://www.cnblogs.com/aoximin/p/13333898.html