看到《TCP/IP详解》IP协议中提到IP数据报首部长度是一个4比特字段,因此首部最长是60个字节。最小是20个字节。那么这个怎么算的呢? 我的理解是这样的

先看下IP数据报报格式及首部中各个字段,如下图:

这里只看首部长度(报文长度)部分

首部长度代表的是IP数据报头部的长度,即图中固定部分的长度。

1、为什么首部长度最小是20字节?

图中每行是32bits(即4字节),图中标识的固定部分总共有5行,所以IP首部最小是20个字节(5行*4字节每行=20字节)

2、为什么说首部长度最大是60个字节?

首部长度是4bit,而2^4是16,所以它的取值范围是0-15(也可理解为4bit即是4个1,转换成十进制就是15),图中每行是4个字节(32bits),所以最大长度就是15*4=60字节。从中也就得知首部长度最小数字是5,即1001(因为IP首部最小是20字节)。

PS: 也有理解说,首部长度就是固定以4个字节为单位。所以总是长度乘4,当然结果是一样的。

3、另外记录下图中总长度字段

总长度总字是16bits,以字节为单位。所以总长度最大是65535个字节,也即是IP分组的最大长度。

总长度=(4*首部长度) + 数据长度

关于IP协议首部长度的计算相关推荐

  1. linux网络编程之IP协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)和TCP、UDP协议头结构总结

    首先声明,这篇博客是几篇博客转载然后总结在一起的,只当是学习笔记,不在意是什么原创和转载了,学到东西就好. 1.IP协议首部格式(IP协议处余网络层) IP数据报首部图片格式: 最高位在左边,记为0 ...

  2. IP协议首部详细分析

    IP协议是我们学习网络协议最开始,也是最基础的协议.那么今天我们主要介绍一下有关于IP协议头格式的基本状态.那么就让我们具体看以下有关于IP协议头格式和Sniiffer Portable的IP头的相关 ...

  3. server2008网卡驱动包_从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造...

    在<在深谈TCP/IP三步握手&四步挥手原理及衍生问题-长文解剖IP>里面提到 单个TCP包每次打包1448字节的数据进行发送(以太网Ethernet最大的数据帧是1518字节,以 ...

  4. IP的首部长度,总长度,标识,地址

    1. 版本 版本字段占4bit,指IP协议的版本.通信双方使用的IP协议的版本必须一致.版本有IPV4 和IPV6 2. 首部长度 首部长度字段占4bit,可表示的最大数值是15个单位(一个单位为4字 ...

  5. ip数据报首部校验和的计算

    ip数据报首部校验和的计算 网络层间的数据传送特点是: 不可靠:    分组可能丢失,乱序等,不做确认: 无连接:    每个分组都独立对待: 尽力投递: 不随意放弃分组: 点到点. 因为在传输过程中 ...

  6. IP 数据报首部分析

    来来来, 爷们. 不是一直说纸上得来终觉浅么. 今咱就抓个数据报具体看一看真实网络中的 IP 报首部. 操作方法很简单, 使用wireshark进行抓包. 抓包后随便找个包看一下就行, 毕竟所有通信的 ...

  7. TCP、UDP、IP 协议分析

    http://blog.chinaunix.net/uid-26833883-id-3627644.html 互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同 ...

  8. 网络层:IP协议详解(IP协议真的得看这篇)

    1.IP协议概念 IP(Internet Protocol , 互联网协议)主要用于互联网通信.IP协议用于将多个包交换网络连接起来,他在原地址和目的地址之间传输数据报,还提供对数据大小的重新组装功能 ...

  9. 5000字“肝”了这篇IP协议

    目录 01.IP地址 1.1.简介 1.2.IP地址的组成 1.3.IP地址分类 1.4.特殊IP地址 1.5.子网掩码 02.IP数据包组成 03.IP分片解析 04.IP分片攻击 之前的文章< ...

最新文章

  1. Android 解决不同进程发送KeyEvent 的问题
  2. 全球及中国抓紧器行业十四五发展态势及前景规划建议报告2021-2027年版
  3. 前端后端接口那些事吐槽
  4. Knockout学习笔记之二($root,$parent及$data的区别)
  5. 小米这个系列绝了!7款之后再添新机,完全分不清
  6. java如何实现e的次方_java 大数据次方运算
  7. java左右值_为什么C/C++等少数编程语言要区分左右值?
  8. 如何使用GDAL重采样图像
  9. assign ur here php,ecshop源码分析01
  10. R语言及其IDE(RStudio)下载安装流程
  11. attachEvent方法的作用
  12. 微信表情存入mysql
  13. Springboot 支持Emoji 表情
  14. AI:全球人工智能领域代表性学者简介及大佬们的关系圈—向大佬们学习(国外内分开,持续更新/建议收藏)
  15. ajax jsonp跨域访问,jquery ajax怎么使用jsonp跨域访问
  16. 【Mockplus教程】安装Mockplus
  17. 永恒骑士 小程序服务器列表空,微信小程序一键登录应用服务器通过AES解密返回purePhoneNumber为空?...
  18. lq到底是什么意思_LQ网络用语是什么意思?
  19. 内部存储空间不足_手机提示存储空间不足的原因和解决方法
  20. 03、【电脑维修】防火墙丢失,找不到 windows firewall服务, windows defender firewall服务被禁用或防火墙无法打开

热门文章

  1. SpringCloud笔记(一)微服务基础
  2. 新中新电子f200a驱动安装_RX 5700显卡安装新驱动:待机风扇加速66%
  3. 有如下值集合[11,22,33,44,55,66,77,88,99,90], 将所有大于66的值保存至字典的第一个key中,将小于66值保存至第二个key的值
  4. 中国象棋程序的设计与实现 三 --2012本科毕业论文等重要文档资料
  5. 一些ios牛人的博客
  6. 【那些年,我们一起追的女孩】第十七章
  7. UVM:6.7.4 rsp 与req 类型不同
  8. 阿里云主机的网站被拦截提示“该内容被禁止访问”如何解决?
  9. 可视化工具Vega的使用,以及如何自定义按钮调用自带的矢量图和位图功能
  10. 物联网智能技术引领互联网新风潮