• 【面试】IP数据报格式分析


    IP数据报格式

    (除选项外的报头区总共20个字节)

    1)版本:IPV4/IPV6

     

    2)头长度:报头区长度,用于计算数据区的开始位置,比如头长度为6,代表报头区长度为6*4个字节,头长度的单位为4字节,所以报头区长度不为4字节的倍数时必须填充字节,满足倍数要求

     

    3)服务类型TOS:

    IP数据报中的服务类型格式

    8位二进制,用于规定本数据报的处理方式

    1.优先权(0-7):数字越大,表示该数据报的优先级越高,网络中的路由器可以使用优先级进行拥塞控制,如当网络发生堵塞时可以根据数据报的优先级来决定数据报的取舍

    2.短延迟位D:该位为1代表数据报请求以短延迟信道传输,0表示正常延时

    3.高吞吐量位T:该位为1代表数据报请求以高吞吐量信道传输,0表示普通

    4.高可靠位R:该位置为1时代表数据报请求以高可靠信道传输,0表示普通

    5.保留位:没有使用

    下面是各网际协议的IP数据报的服务类型TOS的值:

    各网际协议IP数据报的TOS值

    从上表可以得到的结论:

    对于与用户直接交换的,一般选用短延时

    对于有大量数据传输的,一般选用高吞吐量

    对于传输控制信息的,一般选用高可靠

     

    4)总长度

    IP数据报的总长度(报头区+数据区),总长度理论长度为2的16次方(65536)字节,但由于物理网络限制,远远达不到这个理论值

     

    5)标识:相同的标识可以使得分片后的各数据报片最后能正确的重新组装成原来的数据报

     

    6)标志:标志为1代表后面“还有分片”的数据报

     

    7)片偏移:在较长的分组分片后,某片在原组中的相对位置,片偏移以8个字节为单位,也就是说每个分片的长度都是8的倍数

     

    8)生存时间TTL:指定了IP数据报可以在网络中传输的最长时间,实际中设置为最大经过的路由器跳数,经过1个路由器,TTL就减去1,当TTL为0还没有到达目的地时就丢弃该IP数据报

    TTL为1代表该数据报只能在本局域网中传输,TTL最大为2的8次方255

    TTL存在的目的就是避免数据报在网络中不断的兜圈子,白白的消耗网络资源

     

    9)上层协议:指明该IP数据报使用的是传输层的那种协议

     

    10)首部校验和:采用反码求和的方式校验数据报的首部,路由器进行首部校验【不能绝对的保证首部不出问题,只能在绝大多数情况下保证

  • 相关阅读:
    Django的路由层 路由控制之有名分组
    Django的路由层 路由控制之简单配置
    django 静态文件配置
    基于Django实现的一个简单示例
    Java线程池Executor
    Java 多线程Thread
    Java 异常
    Elementary OS 使用fcitx安装搜狗词库、搜狗输入法(Ubuntu通用)
    Elementary OS常见软件(TIM、微信、企业微信)安装(二)
    dpkg 批量卸载
  • 原文地址:https://www.cnblogs.com/yinbiao/p/10991111.html
Copyright © 2020-2023  润新知