IP数据报首部格式
来源:互联网 发布:开源的数据库监控工具 编辑:程序博客网 时间:2024/05/01 16:29
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.
0 0
- IP数据报首部格式
- IP首部数据报格式大解析
- IP数据报首部
- IP数据报的首部
- IP数据报首部checksum的计算
- IP数据报首部校验和算法
- IP数据报首部校验和算法
- IP数据报首部checksum的计算
- IP数据报首部选项字段详解
- IP数据报之首部长度解析
- IP数据报首部的格式:关于标识(identification)、标志(flag)和片偏移
- 网络层(一)IP数据报首部格式&为什么要有IP地址&IP地址演化过程
- IP包首部格式
- IP包首部格式
- IP数据报格式
- IP数据报格式
- IP数据报格式
- IP数据报格式
- 为什么跟越亲的人越没有耐心?
- 前端web包管理
- device_create 函数详细分析
- IPython HTML NoteBook
- 最简单的基于FFMPEG的转码程序
- IP数据报首部格式
- mount.nfs: access denied by server while mounting 一个解决办法
- VS2010不再提示编译错误,怎样还原
- 状态图
- java中的url 编码与解码
- 测试用例---三角形
- JAVA线程池原理以及常用线程池介绍
- OpenCV 入门级一
- java序列化与反序列化