关于IP报文校验和一些思考

首部检验和字段是根据IP首部计算的检验和码。它不对首部后面的数据进行计算

IP报文校验和的计算方式

  1. 为了计算一份数据报的IP检验和,首先需要把检验和字段置为0
  2. 对首部中每个16bit进行二进制反码求和(整个首部看成是由一串16bit的字组成)

IP报文校验和的校验方式

  1. 收到一份IP数据报后,同样对首部中每个16bit进行二进制反码求和。
  2. 由于接收方在计算中包含了发送方存在首部中的校验和,所以首部在传输过程中没有发生错误的话,那么计算结果将全为1
  3. 如果结果不全为1,那么则说明检验和错误

路由器对于IP报文的操作

路由器收到IP报文,然后转发之后,是需要对TTL(Time to Live)字段减一,那么这样的话IP报文校验和数值也需要进行相应改变

由前面IP报文校验和的计算方式可以知道,TTL减一,那么为了保证最后校验结果依然正确,所以只需要对校验和加1即可

补充

ICMP/UDP/TCP都采用和IP校验和相同的检验和算法,虽然TCP和UDP除了本身的首部之外,还会使用IP头部字段的源地址和目标地址

关于ip报文校验和一些思考相关推荐

  1. TCP/IP 报文协议学习

    最近在学习流量录制框架goreplay(GitHub - buger/goreplay: GoReplay is an open-source tool for capturing and repla ...

  2. TCP/IP报文格式

    TCP/IP报文格式 修改浏览权限 | 删除 1.IP报文格式 IP协议是TCP/IP协议族中最为核心的协议.它提供不可靠.无连接的服务,也即依赖其他层的协议进行差错控制.在局域网环境,IP协议往往被 ...

  3. icmp报文格式_TCP/IP(二):IP报文格式详解

    1. IP 报文格式 0bit是指位于最左边的最高位,31bit是指位于最右边的最低位,4个字节的32bit按照 bigendian(大端格式:低字节位于高地址)字节序传输:首先是0~7bit,其次 ...

  4. 接收不到其他机器发来的报文_TCP/IP报文格式,康康就知道了

    一.传输层协议 TCP特点: 面向连接 可靠 适用于可靠性要求高的应用 开销大 UDP特点: 无连接 不可靠 适用于更关注传输效率的应用 可靠性由应用层负责 TCP主要功能:可靠.准确的传输并控制源主 ...

  5. 渲染层网络层错误_网络层IP报文详解和IP的类别?

    在tcp/ip 体系结构中,当传输层的pdu送到网络层时,需要对传输层s的数据段进行下一步的ip报头的封装.下面我们就来看看ip报文头部的具体内容. version:占4位,版本号,标识这个报文时采用 ...

  6. http协议相关内容,C/S与B/S,ip报文,TCP,UDP

    目录 HTTP技术架构 HTTP协议功能 工作原理 HTTP协议的主要组成部分 HTTP协议 Status C/S与B/S的比较: 服务器与Web服务器的差别 浏览器与客户端的差别 浏览器与Web服务 ...

  7. Linux网络 IP/TCP校验和、checksum、伪首部相关问题

    1.校验和作用 校验和是为防止报文在信道传输出现误码导致报文错误,或者传输过程中间网络设备错误造成报文错误等,并不保证报文被他人恶意篡改.防君子不防小人,而已修改报文内容重新计算校验和是无法检测的. ...

  8. IP报文在阿里云上的神奇之旅:同地域内云上通信

    作者:姚悠   阿里云专家服务团队 一个IP报文如何跨越万水千山达到目的地?本文将以阿里云为例,带领大家一起探索同地域内云上通信的全过程,完整展现云上同地域内各种场景的IP报文之旅,深入理解云网络技术 ...

  9. IP首部校验和的计算

    IP首部校验和的计算主要是两步:按位异或和取反,具体来说 对于发送方计算检验和: 1. 初始计算校验和字段时该字段全部用0填充: 2. IP头部以16位为一个单位,逐个模2加(相当于异或): 3. 得 ...

  10. IP报文发送过程和原理

    文章目录 1.IP的概念 1.1IP,主机与路由器 1.2IP与TCP的对比 2.IP报头 2.1IP报头格式 2.2各部分作用 2.3IPv4与IPv6 2.4一跳 2.5 8位生存时间 2.6 分 ...

最新文章

  1. XML文档操作工具类
  2. bat 取得服务列表_基于IDEA热部署更新服务器Tomcat类,服务器Tomcat热更新
  3. 【计算机网络】网络安全 : 数据加密模型 ( 加密模型 | 密钥 | 密码学 | 密码安全 )
  4. 桌面开发者的界面故事,该醒醒了
  5. [转载]C#流,字节数组,字符串
  6. 实验四:用一维数组实现杨辉三角
  7. C++变量、函数在内存中的情况
  8. 一文看懂深度学习——人工智能系列学习笔记
  9. git status清空_本地删除文件后,git status会显示红色的那个文件。
  10. GitHub 标星 1.6w+,前方宝藏项目出没!| 原力计划
  11. 从0开始安卓开发之路_Android Studio安装包
  12. UML类与类的关系, 总算理解了关联和依赖在实际中的区别
  13. c# printDialog不显示问题
  14. Tomcat日志乱码问题解决方法
  15. OpenCV C++案例实战二十三《网孔检测》
  16. 如何在两台服务器之间传输文件
  17. 《C语言程序设计》单元总结与练习题
  18. 明日之后服务器邮箱,明日之后服务器不一样怎么办_区服不同如何解决_软吧
  19. 安装Vue-cli并且创建项目
  20. M_Map绘图笔记——快速入门(二)

热门文章

  1. QT 字体家族中的 字体名称中英文名称对应
  2. A星算法详解(个人认为最详细,最通俗易懂的一个版本)
  3. 何凯明MAE局限性被打破,与Swin 结合,训练速度大幅提升!
  4. 光敏电阻、光电二三极管及接收头
  5. java-设置电脑音量
  6. python实现 Polar码极化过程
  7. itext pdf合并
  8. 绘制正方形图形(C语言)
  9. AD15使用出现的小问题
  10. 51单片机驱动TM1640实现多个LED灯控制