Chinaunix首页 | 论坛 | 博客
  • 博客访问: 357655
  • 博文数量: 127
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 333
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-27 14:44
个人简介

兴趣是最好的学习契机!

文章分类

全部博文(127)

文章存档

2017年(1)

2016年(3)

2015年(54)

2014年(58)

2013年(11)

我的朋友

分类: C/C++

2014-08-14 16:06:58

校验和的计算方法  这是通信中都必须做的一件事,是一种协议。说简单点就是我把一包数据发给你,还多几个字节的校验值。sum,CRC,这些都是算法,算法是收发两端事先约定好的。所以你算的结果如果和刚收到的校验值一样,就说明那个包全部收对。并告诉对面接着发下一个包包,如果不一致,那就告诉对面,刚才的包重发,如果重发的次数超过你们设定的最大值,那就宣告连接失败。皆如此类..  ip头的 用下面的步骤解释这个例子,为什么校验和为2f01:  实际接收数据(ip数据帧头) 45 00 00 30 4a 3e 40 00 80 06 2f 01 c0 a8 00 37 c0 a8 00 01 ****************  为了计算一份数据报的ip校验和,首先把检验和字段置为0。然后,对其中的每个16bit进行二进制反码求和,结果存在检验和字段中。当收到一份ip数据报后,同时对首部中每个16bit进行二进制反码的求和。  由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全1

接收方就算就是把

阅读(751) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~