博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

IP:网际协议

Posted on 2017-09-12 16:15  开飞机的贝塔  阅读(232)  评论(0编辑  收藏  举报

IP就像一个专职的快递员,所有的TCP、UDP、ICMP等数据都通过IP数据报的形式来进行传输。

IP提供的运输服务有2个特点:

不可靠

不可靠的含义是,不能保证数据成功的送到收件人的手中。

如果传输中不幸发生错误,那么IP首先会丢弃包裹,然后发送ICMP消息给寄件人。

无连接

无连接的含义是,每个包裹之间的传输是独立的,可能B包裹后寄出,但是比A包裹先送达。

 

IP首部

我们可以把IP首部想象成快递单,一般快递单大小为20字节,格式如下:

下面来分析分析这张快递单:

目前使用的协议版本号是4,所以IP也叫做IPv4。

 

首部长度是指32位的数量,首部长度*32=首部大小。由于该字段长度为4比特,所以该数量的最大值为2的4次方-1=15。

所以首部最长为15*32/8=60字节。一般来说,这个值为5,也就是20字节(没有任何选项)。

 

服务类型TOS)字段包括一个 3 bit的优先权子字段(现在已被忽略), 4 bitTOS子字段和1 bit未用位但必须置 0

4 bitTOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。

这4比特中,只能有1位是1,其余3位全部为0。

 

总长度字段是指整个 I P数据报的长度,以字节为单位。利用首部长度字段和总长度字段,
就可以知道 I P数据报中数据内容的起始位置和长度。由于该字段长 1 6比特,所以 I P数据报最
长可达 6 5 5 3 5字节(回忆图 2 - 5,超级通道的 M T U6 5 5 3 5。它的意思其实不是一个真正的
M T U—它使用了最长的 I P数据报)。

 

 

标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加 1

 

T T Lt i m e - t o - l i v e)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据
报的生存时间。 T T L的初始值由源主机设置(通常为 3 26 4),一旦经过一个处理它的路由器,
它的值就减去 1。当该字段的值为 0时,数据报就被丢弃,并发送 I C M P报文通知源主机。

 

协议字段,根据它可以识别是哪个协议向 I P传送数据。

 

首部检验和字段是根据 I P首部计算的检验和码。它不对首部后面的数据进行计算。 I C M P
I G M PU D PT C P在它们各自的首部中均含有同时覆盖首部和数据检验和码。

为了计算一份数据报的 I P检验和,首先把检验和字段置为 0。然后,对首部中每个 16 bit
进行二进制反码求和(整个首部看成是由一串 16 bit的字组成),结果存在检验和字段中。当
收到一份 I P数据报后,同样对首部中每个 16 bit进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,
那么接收方计算的结果应该为全 1。如果结果不是全 1(即检验和错误),那么I P就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢失的数据报并进行重传。

 

最后一个字段是任选项,是数据报中的一个可变长的可选信息。目前,这些任选项定义
如下:

安全和处理限制(用于军事领域,详细内容参见 RFC 1108[Kent 1991]
记录路径(让每个路由器都记下它的 I P地址,见7 . 3节)
时间戳(让每个路由器都记下它的 I P地址和时间,见7 . 4节)
宽松的源站选路(为数据报指定一系列必须经过的 I P地址,见8 . 5节)
严格的源站选路(与宽松的源站选路类似,但是要求只能经过指定的这些地址,不能
经过其他的地址)。
这些选项很少被使用,并非所有的主机和路由器都支持这些选项。

 

IP路由选择