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.
  • 相关阅读:
    Eclipse / android studio 添加第三方jar包 步骤
    Android checkbox 自定义点击效果
    Android 程序打包和安装过程
    Android 基础
    (转)Genymotion安装virtual device的“unable to create virtual device, Server returned Http status code 0”的解决方法
    (转)eclipse 导入Android 项目 步骤
    微信开放平台注册 步骤
    Android Studio 初级安装
    数组
    作用域问题代码
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6883181.html
Copyright © 2011-2022 走看看