对于这个算法,很多书上只是说一下思路,没有具体的实现。我在这里举个例子吧。

以4bit(计算方便一点,和16bit是一样的)做检验和来验证。

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

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

1100   ,   1010      ,  1000

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

另外注意,当地一步计算校验和的时候,有可能相加后最高位会有进位,那么不能舍弃,一定要加到低位,才能是结果正确。

TCP/IP 中的二进制反码求和算法相关推荐

  1. 网络原理 | TCP/IP中的连接管理机制 重要协议与核心机制

    应用层.传输层.网络层.数据链路层.物理层 一.应用层协议 应用层 是程序猿最最经常打交道的一层 其他四层,都是操作系统.驱动.硬件,实现好了的,咱们不需要管 (除非你是系统工程师,驱动开发工程师-- ...

  2. wireshark的使用教程--用实践的方式帮助我们理解TCP/IP中的各个协议是如何工作的

     wireshark的使用教程 --用实践的方式帮助我们理解TCP/IP中的各个协议是如何工作的 wireshark是一款抓包软件,比较易用,在平常可以利用它抓包,分析协议或者监控网络,是一个比较好的 ...

  3. 计算机的端口以及tcp/ip中的端口

    物理端口和TCP/IP协议中的端口 在网络技术中,端口(Port)大致有两种意思: 一是物理意义上的端口,比如,ADSL Modem.集线器.交换机.路由器用于连接其他网络设备的接口,如RJ-45端口 ...

  4. 关于超声和光声中的延迟求和算法的详细说明 Detail description of DAS algorithm

    关于超声和光声中的延迟求和算法的详细说明 Detail description of DAS algorithm 背景 background 存在问题(个人思考) 算法说明及代码示例 背景 backg ...

  5. 网络传输中的反码求和算法

    在发送数据,计算数据包的校验和,按如下步骤: 1.把校验和字段置为0: 2.把需校验的数据看成以16位为单位的数字组成,依次进行二进制反码求和: 3.把得到的结果存入校验和字段中. 在接收数据时,计算 ...

  6. TCP/IP中的拥塞窗口控制机制

    TCP拥塞控制是通过控制一些重要参数的改变而实现的.TCP用于拥塞控制的参数主要有: (1) 拥塞窗口(cwnd):拥塞控制的关键参数,它描述源端在拥塞控制情况下一次最多能发送的数据包的数量. (2) ...

  7. TCP/IP详解--TCP/IP中三次握手 四次握手状态分析

    TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标 ...

  8. TCP/IP中的传输层协议TCP、UDP

    TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请 ...

  9. TCP/IP中的链路层

    在TCP/IP协议族中,链路层主要有三个目的:(1)为IP模块发送和接收IP数据报:(2) 为ARP模块发送ARP请求和接收ARP应答(3)为ARP发送RARP请求和接收RARP应答.TCP/IP支持 ...

最新文章

  1. Debian/Ubuntu 报错解决:Command 'ifconfig' not found, but can be installed with
  2. 欧几里德算法求最大公约数
  3. android学习笔记:数据库存储
  4. 20个MySQL高性能架构设计原则(收藏版)
  5. JQuery的一些简单使用
  6. LINUX下,ffmpeg增加NVIDIA硬件编解码的步骤及解决办法
  7. 大数据平台需求调研大纲模板
  8. 车联网 北斗GPS 部标平台 JT/T808
  9. 用AVX2指令集优化整形数组求和
  10. Qt设置应用程序图标、小图标显示+打包发布exe
  11. 字符编码那些事--彻底理解掌握编码知识
  12. CSDN如何修改用户名(CSDN ID)、用户昵称以及自定义博客域名等
  13. cdr圆形渐变填充怎么设置_cdr渐变怎么设置?CorelDRAW渐变设置方法
  14. 微信oauth2.0授权
  15. 外星人安装MSDN原版系统一键还原Alienware OEM logo
  16. vue子组件修改父组件的值
  17. python初级项目——名片管理系统(带视频教程)
  18. ErrMsg:server is DOWN now, please try again later!
  19. 山西思诺腾讯云架构工程师TCA认证如何考取
  20. [物理学与PDEs]第4章习题1 反应力学方程组形式的化约 - 动量方程与未燃流体质量平衡方程...

热门文章

  1. bzoj 3033 太鼓达人——欧拉图搜索
  2. 第4件事 产品经理必须“入戏”, 与用户交朋友
  3. 关于ES6的10个最佳特性
  4. Java操作memcache
  5. 《音乐达人秀:Adobe Audition实战200例》——实例7 定时录制网络音乐节目
  6. qemu-kvm部署虚拟机
  7. DLT(Diagnostic Log and Trace)嵌入式系统程序运行记录
  8. 2.4、Android Studio使用主题编辑器设计主题
  9. 【MFC相关】MFC入门相关
  10. 1001 Calculate a + b