首先TCP,UDP,IP三个协议中校验和都占16位,也就是两个字节。

UDP的校验和结算相对简单。首先UDP报文长度不是确定的,所以计算校验和前要先将报文的末尾用‘0’补齐。使报文为偶数个字节。

发送端计算校验和:

计算UDP的校验和方法是计算16位的二进制和包括UDP首部数据,将校验和字段(16位)置0,将每个16位的按位相加,第17、18位出现进位的话,将结果值重新与结果的第1,2位相加,再将所得的结果取反码,最后得到的结果即为UDP校验和,存在校验和字段中。

PS:求校验和的方法写的有点笼统,详细算法自行google二进制反码求和!

接收端验证校验和:

若传输中没有任何差错,包含之前的校验和对报文进行二进制反码求和,接收端计算的结果为全1,即报文正确,否则有错。

在这额外多说一句,一旦验证UDP报文出错时,报文在分组转发时,正常发送转发,不会被丢弃。他被丢弃的地方发生在应用层向上转发的时候。一般路由器等三层设备,不会验证其校验和!但是UDP的校验是可选的!也就是可以选择接收端是否对其进行校验!

TCP的校验和算法和UDP的基本相同!不够偶数个字节同样需要‘0’填充。求法也是将每个16位进行二进制反码求和。但是不同的地方,TCP必须进行校验,而且他有自己的一些重传机制,来确保可靠传输。

最后再说IP的校验和,检验和的算法几个协议都是相同的。唯一不同就是IP协议只验证头部。求校验和时,他并不包括数据部分!

udp tcp ip 校验和对比相关推荐

  1. TCP/IP 校验和算法简介

    1. 前言 校验和计算是NAT功能和内容修改功能的基本功,这些操作进行后都需要修改数据头中的校验和. 2. 16位校验和计算 2.1 基本原理 IP/ICMP/IGMP/TCP/UDP等协议的校验和算 ...

  2. 【计算机网络】计算机网络 OSI 参考模型 与 TCP/IP 参考模型 对比

    文章目录 一.TCP/IP 参考模型 由来 二.TCP/IP 参考模型 三.TCP/IP 命名 四.TCP/IP 参考模型 与 OSI 参考模型 相同点 五.TCP/IP 参考模型 与 OSI 参考模 ...

  3. ipv4和ipv6的 udp/tcp CRC校验和算法

    IPheader.length是总长度(占16比特包括 IP头 和 后续的数据) UDPHeader.Length:长度字段:占16比特.标明UDP头部和UDP数据的总长度字节. IPv4层 1.fc ...

  4. TCP/IP校验和(浅析+实例)

    校验和的作用   按照协议的规定,报文到达每一层,首先验证校验和是否正确,丢弃掉不正确的报文,再才会进行后续操作.  那么校验和是怎么计算的呢?  校验和的计算方法(以 IP 首部中的校验和为例) 方 ...

  5. java实现ip首部校验和算法,理解传输层中UDP协议首部校验和以及校验和计算方法的Java实现...

    UDP,全称User Datagram Protocol,用户数据报协议,是TCP/IP四层参考模型中传输层的一种面向报文的.无连接的.不能保证可靠的.无拥塞控制的协议.UDP协议因为传输效率高,常用 ...

  6. 域socket(domain socket)和ipsocket(TCP/IP socket)区别

    引言 前篇文章谈到 mysql 中 localhost 和 127.0.0.1 连接的区别,其实质分别对应的就是 Unix domain socket 和 TCP/IP socket. 下面再来看看这 ...

  7. 一篇文章带你详解 TCP/IP 协议(上)

    本文篇幅也比较长,先来一张思维导图,带大家过一遍. 一图看完本文 一. 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别 ...

  8. TCP/IP协议讲的明明白白

    从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议.实际生活当中有时也确实就是指这两种协议.然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称.具体来说 ...

  9. 二:熟悉 TCP/IP 协议

    一篇文章带你熟悉 TCP/IP 协议(网络协议篇二) 同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍. 一图看完本文 一. 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构 ...

最新文章

  1. ffmpeg 命令_ffmpeg常用命令行集锦
  2. echarts用法配置
  3. 独家 | 揭秘2021双11背后的数据库硬核科技
  4. 基于动态IP的Internet视频监控解决方案(作者:吴晓晖)
  5. oracle xdb插件报错,注册XML Schema到ORACLE XDB并对XML进行验证
  6. python对浏览器的常用操作有哪些_Python Selenium中对象常用操作方法
  7. Django基础-Web框架-URL路由
  8. 《长城保护总体规划》出台 为长城保护提供遵循依据
  9. dbf转成excel_怎么样把dbf文件转换成excel/dbf转excle
  10. Repast Simphony——案例:僵尸感染人类
  11. U盘病毒 hypertrm.exe 修复
  12. 会议论文集出版地总结_codestorm_新浪博客
  13. Mac添加中国法定节假日安排
  14. 用人单位不与劳动者签定书面劳动合同的后果
  15. 什么叫图像或轮廓的空间矩、中心矩、归一化中心矩?并利用OpenCV的类Moments计算轮廓的这几个矩和质心位置
  16. Elastic Weight Consolidation(EWC) for Life long Learning
  17. 关于傅立叶变换的频率分辨率,采样时间,采样率关系
  18. 支撑起腾讯公司计费业务的TDSQL
  19. 企业邮箱发送出去的邮件找不到了
  20. C sharp(#)中的float,double, Single,Double关键字

热门文章

  1. HAProxy Keepalived L4-L7 高可用负载均衡解决方案
  2. 统计与分布之高斯分布
  3. 从Altium Designer导出PCB的3D模型至Solidworks
  4. 10行代码-原生JS双向数据绑定演示
  5. mongochef如何链接有权限的mongodb3.x数据库
  6. Android Studio-设置鼠标悬停显示方法声明
  7. 打靶归来——记参加射击比赛感想
  8. jQuery 调用jsonp实现与原理
  9. 分享27个最新国外超酷单页面网站设计
  10. Spread for ASP.NET技术白皮书