了不累人 發表於 2012-4-3 13:08:20

TCP/IP 中的二进制反码求和算法

以4bit(计算方便一点,和16bit是一样的)做检验和来验证。 <br><br>建设原始数据为 1100 , 1010 , 0000(校验位) <br><br>那么把他们按照4bit一组进行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校验位后 <br><br>1100 , 1010 , 1000 <br><br>那么这个就是要发送的数据。收到数据后同样进行按位取反相加。0011+0101+0111 =1111;全为1表示正确 <br><br><BR>另外注意,当地一步计算校验和的时候,有可能相加后最高位会有进位,那么不能舍弃,一定要加到低位,才能是结果正确。
                           
                            <div class="art_xg">
                              <b>您可能感兴趣的文章:</b><ul><li>TCP关闭问题详细介绍</li><li>常用类之TCP连接类-socket编程</li><li>基于TCP异步Socket模型的介绍</li><li>使用批处理重置TCP_IP协议</li><li>TCP Wrappers防火墙介绍与封锁IP地址的方法</li><li>tcp socket客户端和服务端示例分享</li><li>TCPIP是什么</li><li>TCP版backshell的VBS脚本代码</li><li>TCP三次握手及原理</li><li>tcp、udp、ip协议分析_动力节点Java学院整理</li></ul>
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: TCP/IP 中的二进制反码求和算法