4.2.5 IP数据报(首部)的格式

  • 协议栈的每一层要实现的 功能 可由该层的 协议数据单元 来体现
    协议栈每一层要实现的 功能 一般都放在该层协议数据单元的 首部 里面
    因此,ip数据报的格式能体现ip的功能

  • ip数据报的格式
    (其实就是分析首部的格式和其中各字段的意义)
    在这里插入图片描述
    一个ip数据报由 首部数据 两部分组成

  • 首部
    前一部分是固定长度,固定有20个字节,所有ip数据报必须有的
    固定部分的后面是一些可选字段,长度可变,可有可无,很少用到

  • 首部固定部分各字段的意义
    1、版本:4bit,4 表示 ipv4,6 表示 ipv6
    2、首部长度:4bit,最大值为15,注意这里使用的单位是32bit,就是说最大可以表示60 Byte
    由于首部前一固定长度部分为20 Byte,因此该字段最小值为 5
    当 ip分组 的首部长度不是 4 Byte的整数倍时,需要在最后进行填充(填充字段后面就是数据部分)
    3、区分服务,8bit,只有在使用区分服务时,该字段才起作用(后续章节介绍)
    4、总长度:16bit,首部数据长度 之和,单位是字节
    数据链路层规定了MTU,ip数据报的长度不能超过这个值,否则需要对过长的数据报进行分片处理
    分片后的各数据报中的 总长度字段 就是每个分片的各自的长度
    5、标识:16bit,ip软件在存储器中维持一个 计数器,每产生一个数据报,计数器就加1,赋值给标识字段
    标识不是序号,ip是无连接服务,不要求数据报按序送达
    标识用于:当数据报的长度超过2层的MTU而必须分片时,这个标识字段的值 被赋值到被分开的片中,用于组装回原来的数据报
    6、标志:3bit,前两位有意义
    第1位MF,为1表示后面还有分片,为0表示此为若干数据包分片的最后一个
    第2位BF,为1表示不能分片,为0表示可以分片
    7、片偏移:13bit,较长的分组在分片后,某片在原分组中的相对位置,即相对于用户数据字段的起点,该片从何处开始,单位是8 byte,每个分片的长度一定是 8 byte 的整数倍
    8、生存时间:8bit,TTL,由 发出数据报的源点 设置
    路由器每次转发数据报之前就把TTL值减1
    TTL的意义是指明数据报在互联网中最多可经过几个路由器,目的是防止无法交付的数据报无限制地在互联网中兜圈子
    起初TTL采用 作为单位,但是这么做很不方便:互联网中 没有时钟同步关系的路由器 都要计算通过它的数据报在网络中的逗留时间
    9、协议:8bit,协议字段指出此数据报携带的数据使用何种协议,以便目的主机的ip层知道应将数据部分上交给哪个协议处理
    在这里插入图片描述
    10、首部检验和,16bit,此字段只检验数据报的首部(不包括数据部分),使用反码求和法
    不检验数据部分可以加快检验的过程,使转发更快;但是数据部分出现差错时不能及早发现,只能等到运输层时才能检查数据部分是否有差错。
    在这里插入图片描述
    11、源地址:32bit
    12、目的地址:32bit

  • ip数据报首部的可变部分(很少用)
    其实就是一个选项字段,有各种 附加功能 :如排错、测量等等
    长度可变,最大40 Byte(最大60 - 固定20):首部长度字段 4bit,单位为 4Byte

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值