当前位置: 首页 > news >正文

IP数据报报文格式

一 概述

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

源地址和目的地址:

相关文章:

IP数据报报文格式

一 概述 IP数据报由两部分组成:首部数据部分。首部的前一部分是固定长度,一共20字节大小,是所有IP数据报文必须具有的;固定部分后面是一些可选字段,其长度是可变的。 二 首部固定部分各字段意义 (1&…...

自然语言处理(25:(终章Attention 1.)Attention的结构​)

系列文章目录 终章 1:Attention的结构 终章 2:带Attention的seq2seq的实现 终章 3:Attention的评价 终章 4:关于Attention的其他话题 终章 5:Attention的应用 目录 系列文章目录 前言 Attention的结构 一.seq…...

Minimind 训练一个自己专属语言模型

发现了一个宝藏项目, 宣传是完全从0开始,仅用3块钱成本 2小时!即可训练出仅为25.8M的超小语言模型MiniMind,最小版本体积是 GPT-3 的 17000,做到最普通的个人GPU也可快速训练 https://github.com/jingyaogong/minimi…...

Android里面内存优化

核心思路 在Android开发中,内存优化是保证应用性能稳定和用户体验的关键。我通常从以下几个方面进行内存优化: 1. 内存泄漏检测与修复 使用LeakCanary等工具检测内存泄漏 常见内存泄漏场景: 静态变量持有Activity/Fragment引用 非静态内部…...

Git操作指南

Git操作指南 1.安装并配置Git Git官网:https://git-scm.com/downloads 安装完成后,打开Git Bash,配置Git: git config --global user.email "emailexample.com" git config --global user.name "Your Name&quo…...

【蓝桥杯—单片机】通信总线专项 | 真题整理、解析与拓展 (更新ing...)

通信总线专项 前言SPI第十五届省赛题 UART/RS485/RS232UARTRS485RS232第十三届省赛题小结和拓展:传输方式的分类第十三届省赛 其他相关考点网络传输速率第十五届省赛题第十二届省赛题 前言 在本文中我会把 蓝桥杯单片机赛道 历年真题 中涉及到通信总线的题目整理出…...

深入探究C语言中的二进制世界:从原理到实践

文章目录 深入探究C语言中的二进制世界:从原理到实践一、进制的本质与C语言实现1. 进制系统全景2. C语言中的进制表示3. 格式化输出进阶 二、进制转换的工程实践1. 转换算法实现2. 实际应用中的转换技巧快速二进制 - 十六进制转换位运算优化转换 3. 进制转换详细示例…...

【android bluetooth 协议分析 13】【RFCOMM详解 2】【通俗易懂 rfcomm 基本流程】

RFCOMM 协议 基本流程 一、连接建立流程(附 BTsnoop 实例解析) 1. L2CAP 通道建立 BTsnoop 表现: L2CAP_Connection_Request (PSM0x0003) // 请求建立RFCOMM专用通道L2CAP_Connection_Response (Success) // 对方同意作用:相…...

万字知识篇(2):SpringBoot的常用注解(上)

SpringBoot的常用注解非常的多,一篇文章根本讲不完,将分为上下两章,通过本章你将会系统的学习到: 1. 注解在SpringBoot中的作用 2. SpringBoot 常用注解速查表 3. 核心启动类注解 4. Configuration 5. Bean 6. PropertySource 7. …...

Postman —— postman实现参数化

什么时候会用到参数化 比如:一个模块要用多组不同数据进行测试 验证业务的正确性 Login模块:正确的用户名,密码 成功;错误的用户名,正确的密码 失败 postman实现参数化 在实际的接口测试中,部分参数每…...

Docker学习--容器生命周期管理相关命令--docker create 命令

docker create 命令作用: 会根据指定的镜像和参数创建一个容器实例,但容器只会在创建时进行初始化,并不会执行任何进程。 语法: docker create[参数] IMAGE(要执行的镜像) [COMMAND](在容器内部…...

算法基础_基础算法【高精度 + 前缀和 + 差分 + 双指针】

算法基础_基础算法【高精度 前缀和 差分 双指针】 ---------------高精度---------------791.高精度加法题目介绍方法一:代码片段解释片段一: 解题思路分析 792. 高精度减法题目介绍方法一:代码片段解释片段一: 解题思路分析 7…...

C语言深度解析:从零到系统级开发的完整指南

一、C语言的核心特性与优势 1. 高效性与直接硬件控制 C语言通过编译为机器码的特性,成为系统级开发的首选语言。例如,Linux内核通过C语言直接操作内存和硬件寄存器,实现高效进程调度。 关键点: malloc/free直接管理内存&#…...

Axure疑难杂症:完美解决中继器筛选问题(时间条件筛选、任性筛选)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:中继器筛选专题 主要内容:时间条件筛选、多条件组合筛选、多个单一条件混合筛选 应用场景:各类数据表的多条件筛选均可使用…...

汇编学习之《扩展指令指针寄存器》

什么是指令指针寄存器? EIP (Extended Instruction Pointer): 保存cpu 下一次将要执行的代码的地址。 通过OllyGbd可以看到CPU即将执行指令的地址和EIP 内部放入的地址一致,多次F8依然是这样。 这里要区分下,之前比如EAX,ECX我…...

oracle-blob导出,在ob导入失败

导出&#xff1a; [oraclelncs dmp]$ /home/oracle/sqluldr2 gistar/res#pwd192.168.205.58:1521/lndb query"select * from an_odn_picture where length(PIC_CONTENT)<25000" filean_odn_picture.csv Charsetutf8 textCSV 0 rows exported at 2025-…...

【Linux笔记】进程间通信——匿名管道||进程池

&#x1f525;个人主页&#x1f525;&#xff1a;孤寂大仙V &#x1f308;收录专栏&#x1f308;&#xff1a;Linux &#x1f339;往期回顾&#x1f339;&#xff1a;【Linux笔记】动态库与静态库的理解与加载 &#x1f516;流水不争&#xff0c;争的是滔滔不 一、Linux进程间通…...

Spring Boot 3.4.3 基于 Caffeine 实现本地缓存

在现代企业级应用中&#xff0c;缓存是提升系统性能和响应速度的关键技术。通过减少数据库查询或复杂计算的频率&#xff0c;缓存可以显著优化用户体验。Spring Boot 3.4.3 提供了强大的缓存抽象支持&#xff0c;而 Caffeine 作为一款高性能的本地缓存库&#xff0c;因其优异的…...

windows使用nvm管理node版本

1.下载地址&#xff1a;https://github.com/coreybutler/nvm-windows/releases 选择nvm-setup.exe 2.安装&#xff0c;下载完成后&#xff0c;以管理员身份运行 nvm-setup.exe,选择默认安装&#xff0c;一路next 3.使用&#xff0c;安装完成后会打开一个命令行窗口&#xff0…...

vscode集成deepseek实现辅助编程(银河麒麟系统)【详细自用版】

针对开发者用户&#xff0c;可在Visual Studio Code中接入DeepSeek&#xff0c;实现辅助编程。 可参考我往期文章在银河麒麟系统环境下部署DeepSeek&#xff1a;基于银河麒麟桌面&&服务器操作系统的 DeepSeek本地化部署方法【详细自用版】 一、前期准备 &#xff08…...

智谱大模型(ChatGLM3)PyCharm的调试指南

前言 最近在看一本《ChatGLM3大模型本地化部署、应用开发和微调》&#xff0c;本文就是讨论ChatGLM3在本地的初步布设。&#xff08;模型文件来自魔塔社区&#xff09; 1、建立Pycharm工程 采用的Python版本为3.11 2、安装对应的包 2.1、安装modelscope包 pip install model…...

MySQL GROUP BY分组获取非聚合列值方法

在使用MySQL进行数据库查询时&#xff0c;如果你需要对数据按照某个或某些列进行分组&#xff08;GROUP BY&#xff09;&#xff0c;并且希望在结果中包含非聚合列的值&#xff0c;你可以通过以下几种方法来实现&#xff1a; 1. 使用聚合函数 虽然这不是直接获取非聚合列值的…...

多路径 TCP 调度的另一面

参考前面的文章 一个原教旨的多路径 TCP 和 MP-BBR 公平性推演&#xff0c;一直都破而不立&#xff0c;不能光说怎样不好&#xff0c;还得说说现状情况下&#xff0c;该如何是好。 如果 receiver 乱序重排的能力有限(拜 TCP 所赐)&#xff0c;如果非要在多路径上传输 TCP&…...

在Qt中判断输入的js脚本是否只包含函数

目前在使用QtScriptEngine&#xff0c;在利用evaluate注册子函数时&#xff0c;要求用户输入的js文件中的内容仅仅是函数&#xff0c;函数体外不能出现一些变量的声明、函数的调用等其他代码。 反复咨询DeepSeek后&#xff0c;终于给出了一个目前测试可用的代码&#xff1a; b…...

【Easylive】MySQL中LEFT JOIN与INNER JOIN的使用场景对比

【Easylive】项目常见问题解答&#xff08;自用&持续更新中…&#xff09; 汇总版 在MySQL数据库查询中&#xff0c;JOIN操作是最常用的操作之一&#xff0c;而LEFT JOIN和INNER JOIN是两种最基础的JOIN类型。理解它们的区别和适用场景对于编写高效、准确的SQL查询至关重要…...

Boost库中的谓词函数

Boost库中的谓词函数 谓词函数基础概念 在编程中&#xff0c;谓词函数&#xff08;Predicate Function&#xff09;是指返回布尔值&#xff08;true或false&#xff09;的函数&#xff0c;用于检测输入是否满足特定条件。谓词函数在STL算法和Boost库中被广泛使用&#xff0c;…...

人工智能之数学基础:基于初等反射矩阵完成矩阵的QR分解

本文重点 QR分解是矩阵分解中的一种重要方法,它将一个矩阵分解为一个正交矩阵Q和一个上三角矩阵R的乘积,即A=QR。这种分解在求解线性方程组、最小二乘问题、特征值计算等领域有着广泛应用。 QR分解的定义 QR分解就是应用了初等反射矩阵,不断的通过初等反射矩阵,然后将A变…...

AI应用案例(1)——智能工牌和会话质检

今天开辟一个新的模块&#xff0c;自己平时也搜集一些典型的行业应用案例&#xff0c;不如就记录到C站&#xff0c;同时和大家也是个分享好了。 今天分享的企业和产品&#xff0c;是循环智能的智能工牌。 这个产品应用场景清晰&#xff0c;针对的行业痛点合理&#xff0c;解决…...

碰一碰发视频系统--基于H5场景开发

碰一碰发视频#碰一碰发视频#开发基于H5的"碰一碰发视频"交互系统&#xff08;类似华为/苹果的NFC碰传但通过移动端网页实现&#xff09;&#xff0c;需要结合近场通信&#xff08;NFC/H5 API&#xff09;和媒体传输技术。以下是具体实现方案 #碰一碰营销系统# #碰一…...

kotlin扩展函数的实现原理

1. 编译时转换 在编译时&#xff0c;Kotlin 扩展函数会被转换为静态函数。这个静态函数的第一个参数是接收者类型&#xff08;也就是被扩展的类&#xff09;&#xff0c;而调用扩展函数时&#xff0c;实际上是调用这个静态函数&#xff0c;并将接收者对象作为第一个参数传入。…...

激活函数学习笔记

Sigmoid&#xff1a;梯度消失、指数计算复杂运行慢、输出不是以0为中心&#xff0c;梯度平滑便于求导tanh&#xff1a;以0为中心&#xff0c;其他与sigmoid相似ReLu&#xff1a;transformer常用&#xff0c;解决了梯度消失问题、计算复杂度低&#xff0c;存在神经元死亡问题和梯…...

【含文档+PPT+源码】基于Python爬虫二手房价格预测与可视化系统的设计与实现

项目介绍 本课程演示的是一款基于Python爬虫二手房价格预测与可视化系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 带你从零开始部署运行本套系统 该项…...

基于 Swoole 的高性能 RPC 解决方案

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram&#xff0c;自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 &#xff1f; 5 IDEA必装的插件&…...

# 实时人脸识别系统:基于 OpenCV 和 Python 的实现

实时人脸识别系统&#xff1a;基于 OpenCV 和 Python 的实现 在当今数字化时代&#xff0c;人脸识别技术已经广泛应用于各种场景&#xff0c;从手机解锁到安防监控&#xff0c;再到智能门禁系统。今天&#xff0c;我将通过一个完整的代码示例&#xff0c;详细讲解如何使用 Pyt…...

python的global在编译层面的进阶理解

目录 报错情况 编译执行过程 &#xff08;1&#xff09;源代码&#xff08;.py 文件&#xff09; &#xff08;2&#xff09;编译阶段&#xff1a;解析 & 生成字节码 &#xff08;3&#xff09;解释执行&#xff1a;Python 虚拟机&#xff08;PVM&#xff09; 字节码…...

OpenCV、YOLO与大模型的区别与关系

OpenCV、YOLO 和大模型的区别与关系 1. OpenCV&#xff08;Open Source Computer Vision Library&#xff09; 定位&#xff1a;开源的计算机视觉基础库。功能&#xff1a;提供传统的图像处理算法&#xff08;如图像滤波、边缘检测、特征提取&#xff09;和基础工具&#xff…...

Buzz1.2.0视频语音转成TXT、SRT、VTT工具

buzz0.9.0.exe下载 https://download.csdn.net/download/u011000529/90551347 特征 导入音频和视频文件并导出文本到 TXT、SRT 和 VTT从您计算机的麦克风转录和翻译成文本&#xff08;资源密集型且可能不是实时的&#xff0c;Demo&#xff09;支持Whisper、 Whisper.cpp、Fast…...

Vue 2 和 Vue 3 中的钩子函数

Vue 钩子函数也被叫做生命周期钩子函数&#xff0c;它是 Vue 实例在其生命周期的不同阶段自动调用的函数。可以利用这些钩子函数在特定阶段执行自定义代码。 Vue 2 生命周期钩子函数 在 Vue 2 里&#xff0c;生命周期钩子函数可以在组件选项对象中定义。下面是一个简单的 Vue…...

零基础如何学会Appium自动化测试?

前言 appium是一款移动自动化测试工具&#xff0c;经常被用于实现UI自动化测试&#xff0c;其可支持安卓和IOS两大平台&#xff0c;还支持多种编程&#xff0c;因而得到了广泛的应用。此处便是立足于安卓平台&#xff0c;借助appium工具&#xff0c;使用python语言实现简单的自…...

用Python实现TCP代理

依旧是Python黑帽子这本书 先附上代码&#xff0c;我在原书代码上加了注释&#xff0c;更好理解 import sys import socket import threading#生成可打印字符映射 HEX_FILTER.join([(len(repr(chr(i)))3) and chr(i) or . for i in range(256)])#接收bytes或string类型的输入…...

SQL复杂查询与性能优化:医药行业ERP系统实战指南

SQL复杂查询与性能优化&#xff1a;医药行业ERP系统实战指南 一、医药行业数据库特性分析 在医药ERP系统中&#xff0c;数据库通常包含以下核心表结构&#xff1a; -- 药品主数据 CREATE TABLE drug_master (drug_id INT PRIMARY KEY,drug_name VARCHAR(255),specification …...

问题大集10-git使用commit提交中文显示乱码

&#xff08;1&#xff09;问题 &#xff08;2&#xff09;解决步骤 1&#xff09; 设置全局编码为 UTF-8 git config --global core.quotepath false git config --global i18n.commitEncoding utf-8 git config --global i18n.logOutputEncoding utf-8 2&#xff09; 显示或设…...

vue前端项目技术架构(第二版)

vue技术架构介绍 如下图所示&#xff0c;展示了项目系统的软件层次架构。该系统采用基于SOA&#xff08;面向服务架构&#xff09;思想的分层架构&#xff0c;分为四个主要层次&#xff1a;视图层、编译层、代码层和数据层。 视图层 浏览器&#xff1a;核心职责是解析并展示…...

Java 开发中的 AI 黑科技:如何用 AI 工具自动生成 Spring Boot 项目脚手架?

在 Java 开发领域&#xff0c;搭建 Spring Boot 项目脚手架是一项耗时且繁琐的工作。传统方式下&#xff0c;开发者需要手动配置各种依赖、编写基础代码&#xff0c;过程中稍有疏忽就可能导致配置错误&#xff0c;影响开发进度。如今&#xff0c;随着 AI 技术的迅猛发展&#x…...

计算机网络知识点汇总与复习——(一)计算机网络体系结构

Preface 计算机网络是考研408基础综合中的一门课程&#xff0c;它的重要性不言而喻。然而&#xff0c;计算机网络的知识体系庞大且复杂&#xff0c;各类概念、协议和技术相互关联&#xff0c;让人在学习时容易迷失方向。在进行复习时&#xff0c;面对庞杂的的知识点&#xff0c…...

Copilot完全指南:AI编程助手的革命性实践

一、智能编程新时代&#xff1a;从代码补全到AI结对编程 1.1 Copilot的进化历程 2021年GitHub Copilot的诞生标志着编程辅助工具进入新纪元。与传统IDE补全工具相比&#xff0c;Copilot展现出三大革命性特征&#xff1a; 语义理解&#xff1a;基于GPT模型理解代码上下文跨文…...

Redis 梳理汇总目录

Redis 哨兵集群&#xff08;Sentinel&#xff09;与 Cluster 集群对比-CSDN博客 如何快速将大规模数据保存到Redis集群-CSDN博客 Redis的一些高级指令-CSDN博客 Redis 篇-CSDN博客...

5、无线通信基站的FPGA实现架构

基站&#xff08;Base Station&#xff0c;BS&#xff09;&#xff0c;也称为公用移动通信基站&#xff0c;是无线电台站的一种形式&#xff0c;具体则指在一定的无线电覆盖区中&#xff0c;通过移动通信交换中心&#xff0c;与移动电话终端之间的信息传递的无线电收发信电台。…...

MySQL - 索引原理与优化:深入解析B+Tree与高效查询策略

文章目录 引言一、BTree索引核心原理1.1 索引数据结构演化1.2 BTree的存储结构通过主键查询&#xff08;主键索引&#xff09;商品数据的过程通过非主键&#xff08;辅助索引&#xff09;查询商品数据的过程 MySQL InnoDB 的索引原理 二、执行计划深度解析三、索引失效的六大陷…...

2025年数智化电商产业带发展研究报告260+份汇总解读|附PDF下载

原文链接&#xff1a;https://tecdat.cn/?p41286 在数字技术与实体经济深度融合的当下&#xff0c;数智化产业带正成为经济发展的关键引擎。 从云南鲜花产业带的直播热销到深圳3C数码的智能转型&#xff0c;数智化正重塑产业格局。2023年数字经济规模突破53.9万亿元&#xff…...