查看: 100|回覆: 0

[教程] TCP/IP 中的二进制反码求和算法

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-6-13
發表於 2012-4-3 13:08:20 | 顯示全部樓層 |閲讀模式
以4bit(计算方便一点,和16bit是一样的)做检验和来验证。

建设原始数据为 1100 , 1010 , 0000(校验位)

那么把他们按照4bit一组进行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校验位后

1100 , 1010 , 1000

那么这个就是要发送的数据。收到数据后同样进行按位取反相加。0011+0101+0111 =1111;全为1表示正确


另外注意,当地一步计算校验和的时候,有可能相加后最高位会有进位,那么不能舍弃,一定要加到低位,才能是结果正确。
您可能感兴趣的文章:
  • TCP关闭问题详细介绍
  • 常用类之TCP连接类-socket编程
  • 基于TCP异步Socket模型的介绍
  • 使用批处理重置TCP_IP协议
  • TCP Wrappers防火墙介绍与封锁IP地址的方法
  • tcp socket客户端和服务端示例分享
  • TCPIP是什么
  • TCP版backshell的VBS脚本代码
  • TCP三次握手及原理
  • tcp、udp、ip协议分析_动力节点Java学院整理
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部