IP数据报报文格式

news2025/4/4 8:22:29

一 概述

IP数据报由两部分组成:首部+数据部分。首部的前一部分是固定长度,一共20字节大小,是所有IP数据报文必须具有的;固定部分后面是一些可选字段,其长度是可变的。

二 首部固定部分各字段意义

(1)版本:占4位,指IP协议的版本(IPv4或者IPv6)。通信双方的IP协议版本必须一直。

(2)首部长度:占4位,可表示的最大十进制数值为15。其中,首部长度字段所表示的数的单位为32位字(1个32位字长是4字节)。以为首部固定部分为20字节,所有首部长度字段最小值为5(即二进制表示的首部长度0101),最大值为15(二进制位1111),表示首部最大长度可达15个32位字长,即60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字节加以填充。为了尽量避免开销,最常用的首部长度是20字节。

(3)区分服务:占8位。在旧标准中叫做服务类型,但实际一直未使用。

(4)总长度:占16位,指首部和数据部分长度之和,单位为字节,最大长度为:2^16-1=65535字节,实际情况极少遇到,因为在数据链路层种数据帧又有个字段叫做MTU值,其规定了最大传输数据长度。

(5)标识:占16位,每产生一个数据报,计数器就加1,并将此值给标识字段。因为当数据报的长度超过网络的MTU值而必须分片时,这个标识字段的值就被复制道所有的数据报片的标识字段中,相同的标识字段的值使分片后的各数据报能正确的重装为原来的数据报。

(6)标志:占3位,但目前只有两位有意义.标志位最低位为MF,当MF=1表示后面还有分片数据报,MF=0表示这是若干分片数据报的最后一个报文。标志字段中间的一位位DF,意思是不能分片,当DF=0时才允许分片。

(7)片偏移:占13位。指较长的分组在分片后,某分片数据报在原分组种的相对位置。也就是说相对于用户数据字段的起点,该片从何处开始。以8字节位偏移单位,所以每个分片的长度一定是8字节的整数倍。

(8)生存时间:也叫做TTL,占8位,表明这是数据报在网络种的寿命。

(9)协议:占8位,协议字段指出此数据报携带的数据时使用何种协议。

(10)首部校验和:占16位,这个字段只校验数据报的首部,不包括数据部分。

(11)源地址:占32位。

(12)目的地址:占32位。

三 IP部分

首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,此字段的长度可变,从1字节道20字节不等。

四 实战分析

抓取本地任意数据报

整个IP头部如框选所示:45 00 01 80 C2 B6 40 00 37 06 31 1B 1B DE 03 E1 C0 A8 6E 3F,共20字节。

版本:4,表示使用的是IPv4版本

头部长度:5,表示头部长度共5个32位字长,即20字节

区分服务字段:全0,表示未使用

总长度:384,表示数据报总长度为384字节

标识:0xc2b6(十六进制)

分段标识:低位MF为0,中位DF为1,表示该数据报不分片,是最后一个数据报

分段偏移(片偏移):全0,表示该数据报的起点为0

存活时间:55

协议:6,表示使用的是TCP协议。

以下常见协议号:

ICMP——1 (Internet控制报文协议) 

IGMP——2 (Internet组管理协议)

TCP  ——6 (传输控制协议)

EGP  ——8 (外部网关协议)

IGP   ——9 (专用内部网关协议)

UDP  ——17 (用户数据报协议)

IPv6  ——41 (互联网协议第6版)

GRE  ——47 (通用路由封装协议)

ESP  ——50 (封装安全载荷协议)

AH   ——51 (身份验证标头)

ICMPv6 ——51 (IPv6网络的报文控制协议)

EIGRP   ——88 (增强内部网关路由协议,思科独有)

OSPF ——89 (开放式最短路径优先协议)

VRRP ——112 (虚拟路由器冗余协议)

L2TP  ——115 (第二层隧道协议)

检验和(首部校验和):0x311b

源地址和目的地址:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2325386.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openEuler24.03 LTS下安装Kafka集群

目录 前提条件 Kafka集群规划 下载Kafka 解压 设置环境变量 配置Kafka 分发到其他机器 分发安装文件 分发环境变量 启动Kafka 测试Kafka 关闭Kafka 集群启停脚本 问题及解决 前提条件 安装好ZooKeeper集群,可参考:openEuler24.03 LTS下安…

qt QQuaternion详解

1. 概述 QQuaternion 是 Qt 中用于表示三维空间中旋转的四元数类。它包含一个标量部分和一个三维向量部分,可以用来表示旋转操作。四元数在计算机图形学中广泛用于平滑的旋转和插值。 2. 重要方法 默认构造函数 QQuaternion::QQuaternion(); // 构造单位四元数 (1…

epoch、batch、batch size、step、iteration深度学习名词含义详细介绍

卷积神经网络训练中的三个核心概念:Epoch、Batch Size 和迭代次数 在深度学习中,理解一些基本的术语非常重要,这些术语对模型的训练过程、效率以及最终性能都有很大影响。以下是一些常见术语的含义介绍: 1. Epoch(周…

TCP 协议算法解析 | RTT / 滑动窗口 / 拥塞控制

注:本文为 “TCP 协议算法解析” 相关文章合辑。 略作重排,未去重。 如有内容异常,请看原文。 TCP 的那些事儿(上) 2014 年 05 月 28 日 陈皓 TCP 是一个极为复杂的协议,因为它需要解决众多问题&#x…

卷积神经网络 - ResNet(残差网络)

残差网络(Residual Network,ResNet)通过给非线性的卷积层增加直连边 (Shortcut Connection)(也称为残差连接(Residual Connection))的方式来提高信息的传播效率。 这是一种特殊的深度神经网络结构,由 Kaiming He 等人在 2015 年提出,目的是解…

GreenPlum学习

简介 Greenplum是一个面向数据仓库应用的关系型数据库,因为有良好的体系结构,所以在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面有非常明显的优势。Greenplum是一种基于PostgreSQL的分布式数据库,其采用sharednothi…

传统神经网络、CNN与RNN

在网络上找了很多关于深度学习的资料,也总结了一点小心得,于是就有了下面这篇文章。这里内容较为简单,适合初学者查看,所以大佬看到这里就可以走了。 话不多说,上图 #mermaid-svg-Z3k5YhiQ2o5AnvZE {font-family:&quo…

无人机,雷达定点飞行时,位置发散,位置很飘,原因分析

参考: 无人车传感器 IMU与GPS数据融合进行定位机制_gps imu 组合定位原始数-CSDN博客 我的无人机使用雷达定位,位置模式很飘 雷达的更新频率也是10HZ, 而px飞控的频率是100HZ,没有对两者之间的频率差异做出处理 所以才导致无人…

【Linux探索学习】第二十九弹——线程概念:Linux线程的基本概念与线程控制详解

Linux学习笔记: https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言: 在现代操作系统中,线程是程序执行流的最小单元。与进程相比,线程更加轻量级,创建和销毁的开销更小&…

深入探索 iOS 卡顿优化

认识卡顿 一些概念 FPS:Frames Per Second,表示每秒渲染的帧数,通过用于衡量画面的流畅度,数值越高则表示画面越流畅。CPU:负责对象的创建和销毁、对象属性的调整、布局计算、文本的计算和排版、图片的格式转换和解码…

# 基于 OpenCV 的选择题自动批改系统实现

在教育领域,选择题的批改工作通常较为繁琐且重复性高。为了提高批改效率,我们可以利用计算机视觉技术,通过 OpenCV 实现选择题的自动批改。本文将详细介绍如何使用 Python 和 OpenCV 实现一个简单的选择题自动批改系统。 1. 项目背景 选择题…

身份验证:区块链如何让用户掌控一切

在网上证明你自称的身份变得越来越复杂。由于日常生活的很多方面现在都在网上进行,保护你的数字身份比以往任何时候都更加重要。 我们可能都接受过安全培训,这些培训鼓励我们选择安全的密码、启用双因素身份验证或回答安全问题,例如“你祖母…

嵌入式硬件: GPIO与二极管基础知识详解

1. 前言 在嵌入式系统和硬件开发中,GPIO(通用输入输出)是至关重要的控制方式,而二极管作为基础电子元件,广泛应用于信号整流、保护电路等。本文将从基础原理出发,深入解析GPIO的输入输出模式,包…

游戏引擎学习第194天

为当天的活动做铺垫 正在进行游戏开发中的调试和视图功能开发。目标是增加一些新功能,使得在开发过程中能够有效地检查游戏行为。今天的重点是推进用户界面(UI)的开发,并且尝试在调试变量的管理上找到一个折中的解决方案。计划探…

js文字两端对齐

目录 一、问题 二、原因及解决方法 三、总结 一、问题 1.text-align: justify; 不就可以了吗?但是实际测试无效 二、原因及解决方法 1.原因:text-align只对非最后一行文字有效。只有一行文字时,text-align无效,要用text-alig…

HarmonyOS 介绍

HarmonyOS简介 随着万物互联时代的开启,应用的设备底座将从几十亿手机扩展到数百亿IoT设备。全新的全场景设备体验,正深入改变消费者的使用习惯。 同时应用开发者也面临设备底座从手机单设备到全场景多设备的转变,全场景多设备的全新底座&am…

每天一篇目标检测文献(六)——Part One

今天看的是《Object Detection with Deep Learning: A Review》 目录 一、摘要 1.1 原文 1.2 翻译 二、介绍 2.1 信息区域选择 2.2 特征提取 2.3 分类 三、深度学习的简要回顾 3.1 历史、诞生、衰落和繁荣 3.2 CNN架构和优势 一、摘要 1.1 原文 Due to object dete…

ESXI 安装及封装第三方驱动和在ESXI系统下安装驱动

ESXI 安装及封装第三方驱动和在ESXI系统下安装驱动 准备工作在线安装 Windows PowerShell离线安装 Windows PowerShell更新在线更新离线更新 下载 ESXi-Customizer-PS-v2.6.0.ps1安装Python安装pip安装相关插件 下载离线捆绑包下载对应的网卡驱动(如果纯净版可以进去…

【12】Ajax的原理和解析

一、前言 二、什么是Ajax 三、Ajax的基本原理 3.1 发送请求 3.2 解析内容 3.3 渲染网页 3.4 总结 四、Ajax 分析 五、过滤请求-筛选所有Ajax请求 一、前言 当我们在用 requests 抓取页面的时候,得到的结果可能会和在浏览器中看到的不一样&a…

双塔模型2之如何选择正确的正负样本

双塔模型:正负样本 选对正负样本的作用 > 改进模型的结构 正样本 什么是正样本?答:曝光且有点击的 “用户-物品” 二元组 存在的问题:存在28法则,即少部分物品(比如热门物品)占大部分点击…