博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UDP协议和TCP协议的校验
阅读量:4060 次
发布时间:2019-05-25

本文共 547 字,大约阅读时间需要 1 分钟。

1、UDP的头部8个字节,源端口、目标端口、长度(以字节为单位)校验和

UDP的校验和要加上12B伪首部、伪首部5个字段、源IP(4B)、目标IP(4B)、全0字段(1B)、IP首部协议字段的值(1B)、UDP用户数据报的长度(2B)。

然后把16位作为一组,也就是2B作为一组,如果说UDP用户数据报+伪首部是奇数个字节(也就是UDP数据报的数据部分是奇数个字节)那么那补充一个全0字节(此字节不发送、伪首部也不发送)。

 

使用二进制反码求和、这个求和不是一下子全部求得,是两行两行的求。

二进制反码求和和一般的求和也没什么区别,主要就是如果说高位溢出,就在最低位上加1即可。

在计算校验和的时候,会先在校验和字段写入全0,最后是把二进制反码求和的结果取反码放入校验和字段。在接收方,也同样加上伪首部以及填充字节,计算校验和,如果没有出差错的话,应该全部是1.否则就表示出差错了。

接收方和发送方的伪首部是一样的。

TCP的校验方式和UDP是一样的,校验和字段也是2B,先写全0,然后加上伪首部,

IP地址是32位 4B, IPv6的地址长度是128位

伪首部是12字节,5个字段、源IP(4B)+目标IP(4B)+全0(1B)+协议(TCP是6)(1B)+TCP数据报的长度(首部+数据部分)

转载地址:http://oizji.baihongyu.com/

你可能感兴趣的文章
【数据结构周周练】003顺序栈与链栈
查看>>
【数据结构周周练】006队列基本操作-顺序结构及链式结构实现
查看>>
C++类、结构体、函数、变量等命名规则详解
查看>>
C++ goto语句详解
查看>>
【数据结构周周练】008 二叉树的链式创建及测试
查看>>
《算法分析与设计》 第七章 贪心法 基本知识点整理
查看>>
贪心法求解背包问题 C++
查看>>
贪心法求解TSP问题 C++
查看>>
《软件体系结构》 第四章 软件体系结构描述
查看>>
《软件体系结构》第六章 Web服务体系结构
查看>>
《软件体系结构》 第七章 基于体系结构的软件开发
查看>>
《软件体系结构》 第九章 软件体系结构评估
查看>>
《软件体系结构》 第十章 软件产品线体系结构
查看>>
《软件过程管理》 第六章 软件过程的项目管理
查看>>
《软件过程管理》 第七章 软件过程的质量管理
查看>>
《软件过程管理》 第十章 软件过程管理实践
查看>>
《软件过程管理》 第九章 软件过程的评估和改进
查看>>
《软件过程管理》 第八章 软件过程集成管理
查看>>
分治法 动态规划法 贪心法 回溯法 小结
查看>>
《软件体系结构》 练习题
查看>>