首先IP分组由首部和数据两部分组成。

首部中相应字段含义:

其中重要的字段:

1、首部长度: 占4位,单位是4个字节,也就是说最大值可以表示15*4=60字节,但我们通常首部的长度是20字节;

2、总长度:  占16位,单位是1个字节,这里总长度是包括了首部长度和数据部分;

3、标示: 占16位,用来标示分片分别属于那一个ipv4分组,因为如果ip分组大于了数据链路层的最大传输单元长度,那么就得分片,而每一个片的标示字段都为该ip分组的标示字段值,表明这些分片属于该ip分组;

4、标志:占3位,其中标志字段最低位为MF,MF=1标示该分片不是最后一个分片,MF=0标示该分片是最后一个分片;中间字段是DF,DF=1标示不可以分片,DF=0表示可以分片;

5、片偏移:占13位,单位是8个字节,该字段的值表示该分片的数据部分在原ip分组数据部分相对于数据部分起点的偏移量;

6、生存时间TTL占8位,表示数据包在网络中可通过的路由器的最大值,也就是表示分组在网络中的寿命。每经过一个路由器该TTL就会减1,当减为0时,就丢弃分组;

7、首部校验和:占16位,ip数据报只校验分组的首部,不校验数据部分;

另外就是不重要的字段:

8、协议:占8位,表示分组携带的数据是使用的何种协议,在上交数据时,分组的数据部分该交给哪个传输层协议,如:TCP、UDP等。如果该字段值为6表示TCP,17表示UDP;

9、源地址:占32位;

10、目的地址:占32位;

11、版本:占4位,指IP协议的版本;

12、区分服务:占8位;

总结规律:

1、由上可以看出第二层32位的字段主要是关于分片的字段:标示、标志、片偏移。

2、对于上面总长度、首部长度、片偏移对应的单位,可以这样记忆:不要总(总长度)是那一(1字节)条假首(首部长度)饰(4字节)来骗(片偏移)我吧(8字节);

转载于:https://www.cnblogs.com/lordcheng/p/7468806.html

[原创]IPV4分组的格式相关推荐

  1. 4.3 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)

    文章目录 0.思维导图 1.TCP/IP协议栈 2.IPv4分组 (1)IPv4分组格式 (2)IP数据报分片 (3)网络层转发分组的流程 3.IPv4与NAT (1)IPv4地址 ① 组成与分类 ② ...

  2. ipv6头部格式 c语言,2.2.1 IPv6和IPv4基本头部格式

    2.2  IPv6报文 2.2.1  IPv6和IPv4基本头部格式 根据IPv4报文中存在的问题,IPv6报文头格式与IPv4相比进行了一些改动.IPv6头部结构遵循以下新规则: 基本头部的固定长度 ...

  3. 一节双曲型方程基于MATLAB的求解,二维双曲型方程的分组并行格式及其数值实验...

    第 28卷第 2期 2010年 6月 湖北民族学院学报 (自然科学版 ) Journal of Hubei University for Nationalities(Natural Science E ...

  4. ipv4、ipv6格式校验代码

    ipv4.ipv6格式校验代码 一.题目 IPv4 地址格式: IPv4地址由4组十进制数组成,每组范围为 0 - 255,用"."分割. 注意:IPv4 地址内的数不能以 0 开 ...

  5. 校验Ipv4 ipv6的格式 python

    校验Ipv4 ipv6的格式 python 1.校验Ipv4的格式 #校验Ipv4的格式 def checkipv4(ipv4):matchobj = re.match(r'^(((\d{1,2})| ...

  6. 【网络】IPV4数据报头部格式

    文章目录 前言 前言 系列文章: <Wireshark分析Netty建链过程( tcp三次握手.osi模型)> <IPV4数据报头部格式> <Wireshark分析RST ...

  7. ipv6头部格式 c语言,IPv6和IPv4基本头部格式

    原帖:http://book.51cto.com/art/201204/329740.htm 根据IPv4报文中存在的问题,IPv6报文头格式与IPv4相比进行了一些改动.IPv6头部结构遵循以下新规 ...

  8. 详解 ipv4 数据报头格式

    ipv4 头部数据格式 IPv4数据报,头部大小可变,4位的IHL字段被限制为15个32位字(60)字节.一个典型的IPv4头部包含20字节.源地址和目的地址的长度位32位.第二个32位字的大部分用于 ...

  9. (原创)按照一定的格式生成一定数量的随机数的例子

    在很多时候需要按照一定的格式生成一定数量的随机数,下面是实现方法 下面是自己写的类 public class MyRandom  {   private string _strin;   privat ...

  10. (原创)speex与wav格式音频文件的互相转换(二)

    之前写过了如何将speex与wav格式的音频互相转换,如果没有看过的请看一下连接 http://www.cnblogs.com/dongweiq/p/4515186.html 虽然自己实现了相关的压缩 ...

最新文章

  1. OpenAI推新程序包:GPU适应十倍大模型仅需增加20%训练时间
  2. 产品经理对接第三方case,国内外4家公司联动落地项目
  3. Py之twisted:Python库之twisted简介、安装、使用方法等详细攻略
  4. Python 程序员最常犯的十个错误,作为小白的你是不是也经常犯?
  5. matlab虚拟力,31无线传感网络布局优化的虚拟力导向粒子群算法MATLAB源代码
  6. Shrio 自定义算法登录认证
  7. 一周学会HTML----Day03常用标签(下)
  8. Oracle修改表空间大小
  9. 魅族 linux 手机,魅族flyme开源,能否再现linux辉煌,为什么要开源
  10. ImportError: cannot import name main
  11. rails使用html form,Rails 页面多选下拉框, form_for, form_tag 使用技巧及 select2 使用
  12. 我的Android 4 学习系列之使用 Internet 资源
  13. 微擎支付返回商户单号_易宝支付哪个平台扣的,被易宝支付扣款怎么办
  14. 在vs2008中编译(调试)eMule0.50a以及veryCD版的easyMule
  15. 信息系统项目管理师---第八章 项目质量管理
  16. Win11小键盘无法使用怎么办?
  17. android 百度浏览器内核,百度推手机浏览器Android版 移植webkit内核
  18. 第5章-构建Spring Web应用程序
  19. Voldemort启动失败案例一则
  20. 激光电视好还是OLED电视好?两者各有什么优缺点

热门文章

  1. 微信微调助手WeChatTweak for mac(微信多开和防撤回工具)最新版
  2. Illustrator最新教程,如何在 Illustrator 中微调图标?
  3. Windows 有哪些值得推荐的必装软件?
  4. 如何在 Apple TV 上安装 tvOS 15 developer beta 9?
  5. 如何将Mac“桌面”和“文稿”文件添加到 iCloud 云盘中?
  6. Mac新手用户需要了解的14个Spotlight搜索技巧
  7. 华为云计算HCNA--存储虚拟化
  8. Springboot中如何在Utils类中使用@Autowired注入bean
  9. 正则表达式~~检索匹配的利器
  10. .NET性能分析最佳实践之:如何找出使用过多内存的.NET代码(基础篇)