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

4.3--入门知识扫盲,IPv4的头部报文解析,数据报分片,地址分类(包你看一遍全部记住)

IPv4协议:网络世界的快递包裹指南(附拆箱说明书)

“IPv4就像一张明信片,既要写清楚地址,又要控制大小别超重” —— 某网络工程师的桌面铭牌

一、IPv4报头:快递面单的终极艺术

1.1 报头结构图(吃货简化版)

Version
煎饼果子摊
IHL
面饼层数
ToS
加几个蛋
Total Length
煎饼总重量
Identification
订单编号
Flags
要不要切
Fragment Offset
切几刀
TTL
保质期
Protocol
夹什么菜
Header Checksum
验货单
Source IP
你家地址
Destination IP
对象地址

在这里插入图片描述
这里我们的第二排是负责报文切片,这个在后面会有详细的概述

1.2 报头字段详解(快递员版)

字段名长度江湖作用现实比喻
Version (版本)4bit声明是IPv4还是IPv6快递公司LOGO
IHL (头部长度)4bit报头长度(单位4字节)面单用了多少张便利贴
ToS (服务类型)8bit快递加急/普通选择顺丰还是邮政
Total Length16bit整个包裹大小(最大65535字节)包裹重量不超过电梯承载
Identification16bit分片身份证号快递单号
Flags (标志位)3bitDF(别切)/MF(还有分片)"易碎勿压"标签
Fragment Offset13bit分片偏移量(单位8字节)拼图的位置编号
TTL (生存时间)8bit最多经过多少路由器快递员体力值
Protocol (协议)8bit上层协议类型(TCP=6,UDP=17)包裹里是文件还是生鲜
Header Checksum16bit头部校验和面单防伪码
Source IP32bit发件人地址你的淘宝收货地址
Destination IP32bit收件人地址女朋友家的地址

二、IP分片:当包裹太大时的骚操作

2.1 分片原理(切蛋糕流程)

graph TDA[原始数据包1500字节] --> B{MTU=500的路由器}B --> C[切!]C --> D[分片1: 500字节]C --> E[分片2: 500字节]C --> F[分片3: 500字节]D --> G((MF=1, Offset=0))E --> H((MF=1, Offset=62))F --> I((MF=0, Offset=124))
分片计算小课堂:
原始数据包:1500字节
MTU限制:500字节
每个分片数据量 = MTU - IP头(20) = 480字节
实际分片数:ceil(1500/480)=4片 (这里示例简化为3片)
偏移量计算:480/8=60 → 实际偏移量需要按8字节对齐

2.2 分片重组规则

  1. 同一身份证:Identification字段相同
  2. 偏移量连续:Offset字段形成序列
  3. 最后一片:MF标志位为0
  4. 超时机制:重组等待时间通常30秒

(段子:某黑客伪造分片导致服务器内存溢出,堪称"分片炸弹")

三、IP地址分类:网络世界的房地产

3.1 传统分类法(小区户型图)

类别地址范围默认掩码现实比喻私有地址段
A类1.0.0.0 - 126.255.255.255255.0.0.0豪华别墅区10.0.0.0/8
B类128.0.0.0 - 191.255.255.255255.255.0.0高端小区172.16.0.0/12
C类192.0.0.0 - 223.255.255.255255.255.255.0普通公寓192.168.0.0/16
D类224.0.0.0 - 239.255.255.255组播专用小区广播站
E类240.0.0.0 - 255.255.255.255保留未使用未开发地块

3.2 CIDR表示法(现代精装公寓)

传统分类:192.168.1.0/24 → 255.255.255.0
CIDR表示:192.168.1.0/26 → 可划分4个子网(每个子网62主机)
子网划分实例:
原始网络:192.168.1.0/24
切成四个子网:
• 192.168.1.0/26 (1-62)
• 192.168.1.64/26 (65-126)
• 192.168.1.128/26 (129-190)
• 192.168.1.192/26 (193-254)

(灵魂配图建议:用俄罗斯套娃表示子网划分)

四、专业知识点总结

4.1 IPv4头部关键字段

  • TTL机制:每经过一个路由器减1,防止数据包无限循环
  • 分片限制:DF=1时禁止分片,常用于路径MTU发现
  • 协议字段对照表
    • 1 → ICMP (网络诊断)
    • 6 → TCP (可靠传输)
    • 17 → UDP (快速传输)
    • 89 → OSPF (路由协议)

4.2 IP地址发展史

  1. 分类寻址:1981年RFC791定义
  2. 子网划分:1985年RFC950引入
  3. CIDR时代:1993年RFC1519终结分类时代
  4. NAT技术:缓解IPv4地址枯竭的续命丹

4.3 分片注意事项

  1. 性能影响:分片增加路由器处理负担
  2. 安全风险:分片可用于规避防火墙检测
  3. 重组漏洞:早期系统存在分片缓冲区溢出风险

五、灵魂问答:为什么需要IP分片?

Q:为什么不直接拒绝大包?
A:就像快递站不能拒收大件,但可以拆分运输Q:分片有什么缺点?
A:1. 丢失任意分片导致整个数据包失效2. 增加网络设备处理负担3. 安全隐患(分片攻击)Q:如何避免分片?
A:使用Path MTU Discovery技术,找到路径最小MTU

“IPv4就像乐高积木,拆开容易组装难” ——《网络工程从入门到改行》

相关文章:

4.3--入门知识扫盲,IPv4的头部报文解析,数据报分片,地址分类(包你看一遍全部记住)

IPv4协议:网络世界的快递包裹指南(附拆箱说明书) “IPv4就像一张明信片,既要写清楚地址,又要控制大小别超重” —— 某网络工程师的桌面铭牌 一、IPv4报头:快递面单的终极艺术 1.1 报头结构图(…...

苍穹外卖-阿里云OSS使用

第一步: package com.sky.properties;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;Component ConfigurationProperties(prefix "sky.alioss") …...

SSL/TLS 和 SSH 区别

背景知识 对称加密算法 定义:对称加密算法是指加密和解密使用同一个密钥的加密方式。 加密过程:发送方用密钥加密数据,接收方用相同的密钥解密数据。 优点:对称加密算法通常比非对称加密算法更高效,适合处理大量数据…...

Vue生命周期_Vue生命周期钩子

一、生命周期介绍 每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板,挂载实例到 DOM,以及在数据改变时更新 DOM。 在此过程中,它也会运行被称为生命周期钩子的函数,让…...

数据库设计实验(4)—— 数据更新实验

一、目的与要求 掌握用SQL语句实现数据的插入、修改和删除。 二、实验准备 1. 建立一个商店的数据库store,记录顾客及其购物情况,由下面三个表组成: 商品(商品号,商品名,单价,商品类别&#x…...

Apache DolphinScheduler:一个可视化大数据工作流调度平台

Apache DolphinScheduler(海豚调度)是一个分布式易扩展的可视化工作流任务调度开源系统,适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据…...

再学:call与delegatecall、call转账 Bank合约

目录 1.call与delegatecall 2.transfer && call 3.若想内部传递abi编码 4.Bank合约 1.call与delegatecall call:切换上下文 delegatecall:不切换上下文 delegatecall可以理解为 A在调用B这个集成在A的方法 可升级合约,常用del…...

关于解决新版本spring项目请求测试接口返回406的问题

目录 一、问题产生 二、问题排查 (1)首先是打断点debug进行排查 (2)网上查找相关资料排查 (3)老项目测试 三、问题解决 一、问题产生 使用Apifox对后端发送请求进行接口测试时返回状态码406&#xff0…...

linux入侵排查_应急响应

1.实验目标 掌握linux系统中信息收集的方法 掌握linux系统中持久化操作方法及排查方式 掌握linux系统入侵排查思路 2.实验步骤 1.统计攻击者爆破次数 2.排查攻击者第一次使用恶意用户登录的时间 3.检查sudoer文件 4.排查计划任务 5.排查计划任务 6.排查恶意服务 7.排查…...

AI视频生成产品体验分享(第2趴):Vidu、Hailuo、Runway、Pika谁更胜一筹?

hi,大家,继上次体验完可灵、即梦和pixverse,今天打算从产品经理的角度再研究下Vidu、Hailuo、Runway、Pika这几款产品!欢迎加入讨论! 一、产品简介 1. Vidu:国产自研的「一致性标杆」 📌官网…...

R语言高效数据处理-自定义格式EXCEL数据输出

注:以下代码均为实际数据处理中的笔记摘录,所以很零散, 将就看吧,这一篇只是代表着我还在,所以可能用处不大,这一段时间都很煎熬! 在实际数据处理中为了提升效率,将Excel报表交付给…...

JavaScript基础-获取元素

在Web开发中,使用JavaScript动态地访问和操作网页上的元素是一项基本技能。通过获取页面上的特定元素,我们可以对其进行各种操作,比如修改内容、样式或属性等。本文将详细介绍几种获取DOM元素的方法,并探讨它们的特点及适用场景。…...

基于srpingboot高校智慧校园教学管理服务平台的设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

【小白向】Word|Word怎么给公式标号、调整公式字体和花括号对齐

【小白向】Word|Word怎么给公式标号、调整公式字体和花括号对齐 我的版本:Word 2021 如需快速查看关键步骤,请直接阅读标红部分。 如果遇到无法调整的情况,可以直接下载我的示例文档进行参考:花括号和其他的示例公式.…...

uniapp-x vue 特性

生命周期 在组合式API中,组件可以监听应用和页面的生命周期。但由于应用和页面都有onShow和onHide,导致重名。所以在组合式的组件中监听页面的显示隐藏,改为了onPageShow和onPageHide。 这个和uniapp不一样,uniapp自定义组件无法…...

js逆向-下载某音乐

首先点击播放音乐,会拿到这样一个数据包 ​ 查看参数两个参数都是加密的 ​ 返回包里面有一个url,url拿到访问发现就是音频链接 ​ 访问直接下载下来 ​ 要逆向这两个参数采用xhr断点 ​ 这里加上路径的一部分 ​ 发现这些参数都是加密的 ​ 往下跟栈&am…...

百度OCR调用记录

根据说明,调用测试 设置注册的API Key和Secret Key 调用类(官方文档中有) 这里改传入路径; 测试问题 1.{"error_code":110,"error_msg":"Access token invalid or no longer valid"} 查到说是 …...

GraphDPI:通过互信息最大化进行图表示学习来消除部分标签歧义

论文源地址 1. 内容概要 本文提出了一种新的弱监督学习方法GraphDPI,解决部分标签学习(Partial Label Learning,PLL)中的标签歧义问题。GraphDPI结合了图表示学习和互信息最大化,通过图卷积网络(GCN&…...

项目实战:基于瑞萨RA6M5构建多节点OTA升级-创建系统最小框架<三>

MCUBoot项目创建完成后,接下来我们需要搭建多节点OTA系统最小框架,再将系统分模块搭建逐层完善,直到实现最终完整系统。开始动手干吧! 目录 一、创建项目 ​二、配置FSP ​2.1 配置RS485属性 ​2.2 配置定时器0 2.3 创建初始化进程并配置属性 ​2.4 创建RS485进程并…...

C/C++模版初阶

文章目录 C/C模版初阶泛型编程函数模版函数模版概念函数模版格式函数模版的原理函数模版的实例化模版参数的匹配原则 类模版类模版的定义格式类模版的实例化 结语 我们今天又见面了&#xff0c;给生活加点<font colorred>impetus&#xff01;&#xff01;开启今天的编程之…...

1.FastAPI简介与安装

文章目录 为什么选择FastAPI&#xff1f;FastAPI支持的功能FastAPI的安装第一个FastAPI应用运行应用 为什么选择FastAPI&#xff1f; python web开发: Django: 适合大型复杂项目&#xff1b;Flask&#xff1a;适合灵活开发&#xff0c;搭建小型项目&#xff1b;FastAPI: 兼具开…...

重生之我在学Vue--第14天 Vue 3 国际化(i18n)实战指南

重生之我在学Vue–第14天 Vue 3 国际化(i18n)实战指南 文章目录 重生之我在学Vue--第14天 Vue 3 国际化(i18n)实战指南前言一、Vue I18n 核心配置1.1 基础环境搭建1.2 初始化配置1.3 全局挂载 二、多语言实现方案2.1 基础使用2.2 动态切换语言2.3 高级功能实现复数处理日期/货币…...

Java集合的底层原理

目录 Collection Arraylist HashSet 介绍 哈希值 哈希表的基本概念 HashSet 的内部实现 HashMap 哈希碰撞的处理 总结 TreeSet 特点 红黑树的特性 红黑规则 TreeSet 的内部实现 1. 存储结构 2. 添加元素&#xff08;重点&#xff09; 3. 查找元素 4. 删除元…...

SPI驱动(九) -- SPI_Master驱动程序

文章目录 参考资料&#xff1a;一、SPI传输概述二、SPI传输的两种方法2.1 旧方法2.2 新方法 参考资料&#xff1a; 参考资料&#xff1a; 参考内核源码: drivers\spi\spi.c 一、SPI传输概述 SPI控制器的作用是发起与它下面挂接的SPI设备之间的数据传输&#xff0c;那么控制…...

MySQL常用函数详解及SQL代码示例

MySQL常用函数详解及SQL代码示例 引言当前日期和时间函数字符串函数数学函数聚合函数结论 引言 MySQL作为一种广泛使用的关系型数据库管理系统&#xff0c;提供了丰富的内置函数来简化数据查询、处理和转换。掌握这些函数可以大大提高数据库操作的效率和准确性。本文将详细介绍…...

Linux 进程的创建、终止、等待与程序替换函数 保姆级讲解

目录 一、 进程创建 fork函数 二、进程的终止&#xff1a; 1. 想明白&#xff1a;终止是在做什么&#xff1f; 2.进程终止的3种情况&#xff1f; a.退出码是什么&#xff1f;存在原因&#xff1f;为什么int main&#xff08;&#xff09;return 0? b.第三种进程终止的情况…...

大数据(1.1)纽约出租车大数据分析实战:从Hadoop到Azkaban的全链路解析与优化

目录 一、背景与数据价值‌ ‌二、技术选型与组件分工‌ ‌三、数据准备与预处理‌ 四、实战步骤详解‌ ‌1. 数据上传至HDFS ‌2. Hive数据建模与清洗‌ 4‌.2.1 建表语句&#xff08;分区表按年份&#xff09;‌&#xff1a; ‌4‌.2.2 数据清洗&#xff08;剔除无效…...

BSCAN2-1:load design

1. DFT Flow Using Tessent Shell Tessent BoundaryScan 具有一个基本的高层次流程顺序。下图展示了将 Tessent BoundaryScan 插入设计所需的高层次步骤顺序。图中的每个步骤都链接到有关可测试性设计&#xff08;DFT&#xff09;流程的更详细信息&#xff0c;包括示例。 Desi…...

个人学习编程(3-18) leetcode刷题

爬楼梯&#xff1a; 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 …...

【css酷炫效果】纯CSS实现立体旋转立方体

【css酷炫效果】纯CSS实现立体旋转立方体 缘创作背景html结构css样式完整代码效果图 想直接拿走的老板&#xff0c;链接放在这里&#xff1a;https://download.csdn.net/download/u011561335/90492014 缘 创作随缘&#xff0c;不定时更新。 创作背景 刚看到csdn出活动了&am…...