zoukankan      html  css  js  c++  java
  • IP数据报首部格式

    IP协议提供不可靠、无连接的数据报传送服务。

    • 不可靠:尽力而为地传输,不保证IP数据报能成功到达目的地。
    • 无连接:每一个数据报之间相互独立地进行路由选择,可不按发送顺序接收。
    IP首部格式例如以下:

    以下就用这幅图结合Wireshark来分析个字段含义。

    这次截取的是DNS数据报,它位于应用层。


    首先看一下整个IP首部的内容:


    相应的原始数据:



    以下按字段分别进行说明。

    4位版本号表示眼下的协议版本号号。这里使用的是IPv4,当然值就是4啦。


    4为首部长度表示首部包括多少个4字节。相应Header length字段的20字节,但依据原始数据能够看出。这个字段实际值应该是5,也就是有5个4字节,共20字节。


    8位服务类型包含最小延迟、最大吞吐量、最高可靠性等性能指标。

    这里全为0表示一般服务。


    16位总长度是指整个IP数据报的长度。以字节为单位。这里为514字节。

    注意这一长度仅仅是包括在以太网帧中的IP数据报的长度,不包括以太网帧开头的目的地址(6字节)、源地址(6字节)、类型(2字节)。


    16位标识唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就加1,这一字段主要用来分片和重组。

    3位标识。在分片和重组时用到,这里暂不讨论。

    13位片廉价。

    在分片和重组时用到,这里暂不讨论。


    8位生存时间表示该数据报能够经过的最多路由器数。经过一个路由器值减1。减到0则丢弃该数据报。并发送ICMP报文通知源主机

    8位协议域,分别有:
    • 1表示ICMP协议
    • 2表示IGMP协议
    • 6表示TCP协议
    • 17表示UDP协议
    我们这里是UDP协议。从而能够知道。DNS协议执行于UDP之上。

    16位首部检验和。详细怎样校验这里不讨论。当校验值有误时,IP层丢弃收到的数据报,但不生成差错报文,由上层去发现丢失的数据报并进行重传


    接下来就是32位的源IP加上32位的目的IP。这里没什么好说的。

    最后的选项字段非常少被使用,这里就不讨论了。

    參考:
    《TCP/IP具体解释》 P24-P27.
  • 相关阅读:
    树莓派4 (1)一键配置
    Android编码学习之Fragment
    android编码学习
    自动化中app支持schema跳转
    jenkins持续集成
    测试环境运维文章集锦
    HTML5 data-* 自定义属性
    了解一下JavaScript的未来——ECMAScript5
    ECMAScript5的其它新特性
    ECMAScript5 Array新增方法
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6883181.html
Copyright © 2011-2022 走看看