TCP/IP 中的二进制反码求和算法
以4bit(计算方便一点,和16bit是一样的)做检验和来验证。
建设原始数据为 1100 , 1010 , 0000(校验位)
那么把他们按照4bit一组进行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校验位后
1100 , 1010 , 1000
那么这个就是要发送的数据。收到数据后同样进行按位取反相加。0011+0101+0111 =1111;全为1表示正确
另外注意,当地一步计算校验和的时候,有可能相加后最高位会有进位,那么不能舍弃,一定要加到低位,才能是结果正确。
相关推荐
-
tcp、udp、ip协议分析_动力节点Java学院整理
互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能.为了改善这种缺点,大牛弄出了TCP/IP协议.现在几乎所有的操作系统都实现了TCP/IP协议栈. TCP/IP协议栈主要分为四层:应用层.传输层.网络层.数据链路层,每层都有相应的协议,如下图 所谓的协议就是双方进行数据传输的一种格式.整个网络中使用的协议有很多,所幸的是每一种协议都有RFC文档.在这里只对IP.TCP.UDP协议头做一个分析. 首先来看看在网络
-
TCPIP是什么
TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的.它是由ARPANET网的研究机构发展起来的.有时我们将TCP/IP描述为互联网协议集"Internet Protocol Suite",TCP和IP是其中的两个协议(后面将会介绍).由于TCP和IP是大家熟悉的协议,以至于用TCP/IP或IP/TCP这个词代替了整个协议集.这尽管有点奇怪,但没有必
-
TCP关闭问题详细介绍
摘要: 三次握手,四次挥手 意思是tcp建立连接时需要三次交互来完成,A发起连接 A --- SYN --> B A <-- SYN + ACK --- B (1) A --- ACK --> B 而关闭tcp连接需要四次交互,A发起关闭 A --- FIN --> B A <-- ACK --- B (1) A <-- FIN --- B A --- ACK --> B (2) 这里在(1)时B开始处于CLOSE_WAIT状态,一直到收到ACK后B才转为CLOS
-
tcp socket客户端和服务端示例分享
以下是tcp socket客户端和服务端源码,代码简单大家参考使用吧 Tcp Server 复制代码 代码如下: #include <WinSock2.h>#include <stdio.h>#pragma comment(lib, "ws2_32.lib")int main(){// initial socket libraryWORD wVerisonRequested;WSADATA wsaData;int err;wVerisonRequested =
-
使用批处理重置TCP_IP协议
在XP系统的ghost xp网络组件列表里,有一个Internet 协议,Internet 协议又称为TCP或IP,该"卸载"按钮显示是灰色--不可选状态,如果在特殊情况下我们需要重新安装TCP/IP协议可以通过下面的批处理来完成 复制代码 代码如下: @echo off echo. echo 即将重置 TCP/IP 协议.重置可能会导致网络程序工作异常. echo 只有在 TCP/IP 被破坏导致不能上网时才建议尝试本重置操作. echo. echo 任意键开始重置 TCP/IP,C
-
基于TCP异步Socket模型的介绍
TCP异步Socket模型C#的TCP异步Socket模型是通过Begin-End模式实现的.例如提供BeginConnect.BeginAccept. BeginSend 和 BeginReceive等. 复制代码 代码如下: IAsyncResult BeginAccept(AsyncCallback callback, object state); AsyncCallback回调在函数执行完毕后执行.state对象被用于在执行函数和回调函数间传输信息. 复制代码 代码如下: Socket
-
TCP三次握手及原理
TCP/IP是很多的不同的协议组成,实际上是一个协议组,TCP用户数据报表协议(也称作TCP传输控制协议,Transport Control Protocol.可靠的主机到主机层协议.这里要先强调一下,传输控制协议是OSI网络的第四层的叫法,TCP传输控制协议是TCP/IP传输的6个基本协议的一种.两个TCP意思非相同. ).TCP是一种可靠的面向连接的传送服务.它在传送数据时是分段进行的,主机交换数据必须建立一个会话.它用比特流通信,即数据被作为无结构的字节流. 通过每个TCP传输的字段指定顺
-
TCP版backshell的VBS脚本代码
'搞一个特殊的站准备用的,没想到,等写完了,洞补上了,郁闷 'by 009, baicker@hotmail.com 'date:071221 Dim revdata set sock=WScript.createobject( "MSWinsock.Winsock" , "WSEvent_" ) set sc=createobject( "WScript.Shell" ) Set fso =CreateObject( "Scripti
-
TCP Wrappers防火墙介绍与封锁IP地址的方法
Tcp_Wrappers是一个用来分析TCP/IP封包的软件,类似的IP封包软件还有iptables,linux默认都安装了此软件,作为一个安全的系统,Linux本身有两层安全防火墙,通过IP过滤机制的iptables实现第一层防护,iptables防火墙通过直观地监视系统的运行状况,阻挡网络中的一些恶意攻击,保护整个系统正常运行,免遭攻击和破坏.如果通过了第一层防护,那么下一层防护就是tcp_wrappers了,通过Tcp_Wrappers可以实现对系统中提供的某些服务的开放与关闭.允许和禁止
-
常用类之TCP连接类-socket编程
tcp一般用于维持一个可信任的连接,比起udp更为安全可靠,在vs.net,分别有tcpclient和udpclient以及tcplistener,一般开发中基本可以满足需要,但是这个有个很大的弊端,对于维持一个时间较长的,相互交互的来说,数据处理不是很明朗,vs/net中还有一个socket类,用他来做一个客户/服务器段,同时在接发数据的时候,能相互独立,这需要一个异步通讯过程 先实现服务器段: using System; using System.Net; using System.Net.
随机推荐
- Spark三种属性配置方式详解
- VBScript教程 第一课什么是VBScript
- MongoDB学习笔记(五) MongoDB文件存取操作
- 批处理命令教学之more命令
- c/c++堆栈分布及其设置方法
- phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
- python将MongoDB里的ObjectId转换为时间戳的方法
- Golang算法问题之数组按指定规则排序的方法分析
- 基于Spring中的线程池和定时任务功能解析
- Android 静默方式实现批量安装卸载应用程序的深入分析
- jQuery实现的导航条切换可显示隐藏
- 修改好的jquery滚动字幕效果实现代码
- 编写高性能Javascript代码的N条建议
- http ftp错误代码整理说明
- C# 撒列实现关键字过滤的实例
- MyBatis拦截器实现分页功能实例
- 详解JDBC数据库链接及相关方法的封装
- C#中深度复制和浅度复制详解
- 企业网站常用中英文对照
- GMPLS在自动交换光网络控制平面中应用