先将代码贴上uint16_t cal_checksum(uint32_t *pstart,uint16_t len){ uint64_t checksum; uint32_t *pend; uint32_t v0,v1,v2,v3,v4; checksum = 0; ...
分类:
其他好文 时间:
2014-12-15 18:39:58
阅读次数:
225
tcp,udp的校验和很弱,简单点看就是全部加起来取反,连顺序错误的问题都不能防止,位数也不多,16位。岂不是有1/65536的概率出错也检测不出来?
注意以太网那层是crc校验,两个合在一起,出错没检测出来的概率大大降低。
万一出错,应用层可以再做一次校验,如果真的这样,最怕的是协议的每一帧不定长,一旦出错边界完全错乱,错乱中甚至非常小概率请求被错误解读,不过多数情况是数据从此不可用。
这...
分类:
其他好文 时间:
2014-12-06 10:10:55
阅读次数:
354
对于一个学习网络协议的新手来说,碰到校验和这个词的时候可能会存在疑惑,看书本上讲的左想右想不知道再讲什么;只要你弄明白IP校验和的原理,I C M P、I G M P、U D P和T C P的校验和也就很好理解了。
上图是一般IP数据报的格式,若仅仅去理解校验和就不必去看这些字段的细节。如果没有在‘选项’里面添加内容,那么前面20字节为IP数据包的首部,IP校验和就是对这10个...
分类:
其他好文 时间:
2014-12-03 19:26:08
阅读次数:
112
Makeself.sh是一个小的Shell脚本,用于从一个目录中生成自解压的tar.gz压缩包。结果文件以一个shell脚本显示(大多数以.run作为后缀名),可以自动运行。该文档会解压自己到一个临时目录,并且执行一个可选的任意命令(例如:一个安装脚本)。它非常类似于Windows中的Winzip自解压生成的文件。Makeself文档也包括校验和用于集成子验证(CRC或MD5校验和)。
Make...
分类:
其他好文 时间:
2014-11-19 11:06:18
阅读次数:
201
报文的发送是由网络协议栈的上层发起的。网络协议栈上层构造一个需要发送的skb结构后(该skb已经包含了数据链路层的报头),调用dev_queue_xmit函数进行发送;dev_queue_xmit(skb);该函数先会处理一些缓冲区重组、计算校验和之类的杂事,然后开始处理报文的发送。发送报文有两种策...
分类:
系统相关 时间:
2014-11-14 19:27:14
阅读次数:
439
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 unsigned short check_sum(unsigned char *data, int len); 9 10 i...
分类:
其他好文 时间:
2014-11-11 20:48:23
阅读次数:
154
innochecksum:--脱机innodb数据文件校验和检查msql2mysql:用来将mSQL编写的应用转换成MySQL。myisamchk:MyISAM表的完整性并修复侦测到的错误。myisam_ftdump:在创建全文索引后可以用myisam_ftdump在命令行下查看索引的内容:myisam_ftdump<table_name><index_num&..
分类:
数据库 时间:
2014-11-04 00:18:05
阅读次数:
447
磁盘扇区校验和的一种形式是基于扇区内所有二进制位的奇偶性。 如果所有二进制位中的1的个数为奇数,比如11001,则在其后面增加值为1的奇偶位,变成110011;如果所有二进制位中的1的个数为偶数,比如11000,则在其后面增加值为0的奇偶位,变成110000,这样使得整个扇区的二进制位中的1的...
分类:
其他好文 时间:
2014-10-28 00:41:20
阅读次数:
148
xip 的 bin 文件分析 一个bin 文件在存储上是按以下的结构存储的 组成:标记(7)+Image開始地址(1)+Image长度(1) 记录0地址+记录0长+记录0校验和+记录0内容(文件内容) 记录1地址+记录1长+记录1校验和+记录1内容(文件内容) ...... 最后一条记录是表示结束....
分类:
其他好文 时间:
2014-10-20 11:36:04
阅读次数:
263
tsunami-udp 是一款专为网络加速诞生的小工具。 思路很简单,使用TCP验证、UDP进行数据传输。
这样可以无状态的进行数据传输,然后中间加一些文件校验和重传机制,达到加速传输的目的。
分类:
其他好文 时间:
2014-10-18 16:43:04
阅读次数:
244