分析IPV4头结构

(1) IPV4的结构图
在这里插入图片描述
(2)4位版本号:指定IP协议的版本,对IPv4来说,为4
(3)4位头部长度标识该IP头部有多少个32bit字(4字节)。因为4位最大表示15,所以IP头部最长是60字节
(4)8位服务类型(Type Of Sevevice,TOS)包括一个3位的优先权字段(现在已经被忽略),4位的TOS字段和1位保留字段(必须置0)。4位的TOS字段分别表示,:最小时延,最大吞吐量,最高可靠性,和最小费用,其中最多有一个能置1,应用程序应该根据实际需要来设置它,比如像SSH和TENET这样的登陆程序需要的是最小时延的服务,而文件传输程序ftp,则需要最大的吞吐量的服务
(5)16位总长度是指整个IP数据报的长度,以字节为单位,因此IP数据报的最大长度为65535(1^16-1)字节。但由于MTU的限制,长度超过MTU的数据包都将被分片传输,所以实际传输的IP数据包(或分片)的长度都远远没有达到最大值。
(6)16位标识唯一地标识主机发送的每一个数据报。其初值由系统随机生成:每发送一个数据报,其值加1,该值在数据报分片时被复制到每个分片中,因此同一个数据报的所有分片都具有相同的标识值
(7)3位标志字段的第一位保留。第二位标识“禁止分片”,如果没有设置了这个位,IP模块将不对数据报进行分片。在这种情况下,如果IP数据报长度超过了MTU的话,IP模块将丢弃该数据报并返回一个ICMP差错报文,第三位表示“更多分片”,除了数据报的最后一个分片外,其他分片都要把它设置为1
(8)13位分片位移是分片相对原始IP数据报开始处(仅指数据部分)的偏移,实际的偏移值是该值的左移3位(乘8)后得到的,由于这个原因,除了最有一个IP分片外,每个IP分片的数据部分的长度必须是8的整数倍(这样才能保证后面的IP分片拥有一个合适的偏移值)
(9)8位生存时间是数据报到达目的地之前允许经过的路由器跳数,TTL值被发送端设置(常见为64)数据报在转发过程中每经过一个路由器,该值就被路由器减1.当TTL值为0时,路由器将丢弃数据报,并向源端发送一个ICMP差错报文。TTL值可以防止数据报陷入路由循环。
(10)8位协议用来区分上层协议
(11)16位头部校验和由发送端填充,接收端对其使用CRC算法以检验IP数据报头部(注意仅检验头部)在传输过程中是否被损坏
(12)32位的源端IP地址和目的端IP地址用来标识数据报的发送端和接收端,一般情况下,这两个地址在整个数据报的传递过程中保持不变,而不论它中间经历了过多少个中转路由器。
(13)IPv4最后一个选项字段为可变长的可选信息。这个部分最多包含40字节,因为IP头部最长为60字节(其中还包括前面讨论的20字节的固定部分),可用的IP选项包括:记录路由,时间戳,松散源路由uxnaze严格源路由选择。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值