2022年2022年计算机校验和程序 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年2022年计算机校验和程序 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机校验和程序 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、广西师范大学计算机科学与信息工程学院实验 3 计算机校验和程序1实验目的(1)在给定数据报格式条件下构造数据报并计算数据报校验和;(2)掌握网络层校验和计算的原理与软件实现方法;(3)掌握计算网络校验和的增量式算法。实验环境(设备)平台: Windows XP;环境: Visual C+6.0 实验内容【实验方案设计】一 自定义格式如下:报文类型( 8 位)长度( 8 位)校验和( 16 位)数据字段。 。程序要求以命令行形式运行:Checksum inputfile outputfile 其中 Checksum是程序名, inputfile是输入文件名,该文件包含数据字段的内容, outpu
2、tfile是输出文件名,该文件保存封装完毕后的数据报。【实验过程】(实验步骤、记录、数据、分析)二 网际校验和算法:1把检验和字段置0,把所有需要校验的数据划分为16 位一组的比特序列,然后对每16 位的反码求和,结果取反,便得到校验和2为了验证校验和的正确性,对所有数据求反码和,如果结果全1,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 广西师范大学计算机科学与信息工程学院则表示校验结果正确三 计算校验和1算法思想是:将进位
3、累加的过程延迟到整个累加循环结束之后进行,从而提高计算速度2实现: 在 32 位的计算机上,把需要校验的数据按16 位一组进行累加,结果存放在32 位的累加器中,这样溢出位就保存在高16位上。全部累加结束后再把32 位累加器中高 16 位累加到低 16 位上,那么低 16 位值的反码即为最终校验和3延 迟 进 位 法 通 过 函 数checksum_calculating 来 实 现 。 函 数checksum_calculating的输入参数为 pBuffer 和 nSize, pBuffer 指向需要校验的数据缓冲区, nSize为需要的校验数据的大小,一字节为单位,返回值为16 位的校验
4、和。四 具体实现程序代码如下:#include #include #include / 用于使用网络顺序显示:htons #pragma comment(lib, WS2_32.LIB) /* * 计算给定数据的校验和* 输入参数:* pBuffer 指向需要校验的数据缓冲区名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 广西师范大学计算机科学与信息工程学院* nSize 需要校验的数据的大小,以字节为单位*返回值:* 16 位
5、的校验结果*/unsigned short checksum_calculating(unsigned short *pBuffer, int nSize) unsigned long dwCksum = 0; / 32 位累加和/ 以两字节为单位反复累加while(nSize 1) dwCksum += *pBuffer+; nSize -= sizeof(unsigned short); / 如果总字节数为奇数则加上最后一个字节if (nSize) dwCksum += *(unsigned char*) pBuffer; / 将 32 位累加和的高 16位与低 16 位第一次相加dwCk
6、sum = (dwCksum 16) + (dwCksum & 0 xffff); / 将上一步可能产生的高16 位进位再次与低 16 位累加名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 广西师范大学计算机科学与信息工程学院dwCksum += (dwCksum 16); / 返回 16 位校验和return (unsigned short) (dwCksum); void main(int argc, char * argv
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算机校验和程序 2022 计算机 校验 程序
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内