TCP
- 格式:doc
- 大小:526.65 KB
- 文档页数:11
TCP/IP通信技术演示程序设计 摘要:随着计算机技术、通信技术和控制技术的发展,传统的工业控制领域正
经历着一场前所未有的变革,开始向网络化方向发展。对诸如图像、语言信号等大数据量、高速率传输的要求,催生了当前在商业领域风靡的以太网与控制网络的结合。这股工业控制系统网络化浪潮又将诸如嵌入式技术、多标准工业控制网络互联、无线技术等多种当今流行技术融合进来,从而拓展了工业控制领域的发展空间,带来了新的发展机遇。 本论文是以半导体封装设备之间的数据通信为主要研究目的,经过对几种比较流行的网络协议的比较,最终选择了应用TCP/IP协议进行网络通信的开发,对于目前应用在半导体封装设备上的Window2000、DOS和Linux三种不同操作系统。随着科技的不断进步和发展,现代社会已经步入信息时代,人们的生活已经离不开各种通信资源和信息资源,最显著的表现是在很早之前,人们还在使用寻呼机或是大哥大,但是,现在手机网络通信已经从2G时代跨向了3G时代,并在不久的将来会向4G时代迈进。网络通信技术在现实生活中,得到了普遍的应用,它在我国的发展也日新月异,将成为未来通信技术的发展趋势,促使人们的生活更加方便快捷。我国的网络通信技术可以从三个方面来进行说明,分别是通信介质、通信模块和数据通信。数据通信是对两个通信实体进行数据的传输和交换,传输数据的信号是数字信号。接收到的数字信号经过相应的处理,通过信道进行数字信号传输,在信道的传输中,为了提高信道的可靠性和传输效率,需要进行信道编码,信号进行匹配滤波和信号判定后将有用的信号提取出来,以获得可用的信息。
1.前言 数据通信是通信技术和计算机技术相结合而产生的一种新的通信方式。要在两地间传输信息必须有传输信道,根据传输媒体的不同,有有线数据通信与无线数据通信之分。但它们都是通过传输信道将数据终端与计算机联结起来,而使不同地点的数据终端实现软、硬件和信息资源的共享。网络通信技术在实际中的应用主要有IP网络通信、无线传感器网络通信、射频识别。IP电话是Internet的附属产物,它也属于网络通信技术的一种,它在我们的现实中已经有了一部分的应用。它最大的特点是通话费用低廉,这点使得其吸引了很多的电话应用,在人们的生活中也迅速的普及开来了。它将具有很大的发展和应用前景,对传统的电话业务造成强烈的冲击。IP电话是按国际互联网协议规定的网络技术内容开通的电话业务,它是通过互联网进行信息通信,实现语音通信。在长途通信过程中,如果使用IP进行通信,就可以大大降低通信的成本。IP电话由三部分组成,分别为电话,网关和网络管理者。电话指的就是普通的电话终端,网关Internet网络与电话网、一线通网之间的接口设备,通过网关可以进行语音信号的压缩,进行寻址和呼叫控制,网络管理者是进行IP通信的管理和维护,对IP用户进行管理并做出详细的记录,保证对用户的正确收费。无线传感器网络通信无线传感器网络是由部署在检测区内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作的感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。无线传感器网络是将逻辑上的信息世界与客观上的物理世界融合在一起,改变人类与自然界的交互方式。人们可以通过传感网络直接感知客观世界,从而极大地扩展现有网络的功能和人类认识世界的能力。无线传感器网络是智能化的采用无线通信机制的第四代传感器网络,其用途是感知监测区域内的电压、电磁、温度、湿度、噪声、电流强度、压力、空气成分、移动对象的长度、速度和方向,并将信息传输给管理节点。由于技术等方面的制约,WSN的大规模商用还有待时日。但随着微处理器体积的缩小和性能的提升,已经有中小规模的WSN在工业市场上开始投入商用。射频识别(RFID)一套完整RFID系统由 Reader与Transponder两部份组成 ,其动作原理为由Reader发射一特定频率之无限电波能量给Transponder,用以驱动Transponder电路将內部之ID Code送出,此时Reader便接收此ID Code。Transponder的特殊在于免用电池、免接触、免刷卡故不怕脏污,且晶片密码为世界唯一无法复制,安全性高、长寿命。RFID的应用非常广泛,目前典型应用有动物晶片、汽车晶片防盜器、门禁管制、停车场管制、生产线自动化、物料管理。就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,说明数据是完整的。防止自己的程序被篡改。有些可执行程序,当被改了资源时再运行会有文件已损坏的提示,这就是使用了数据校验。本例是用md5做为数据校验的算法。当然你可以使用个性化的比如des作为数字签名,那样安全性更高。
2.TCP/IP网络通信技术基本原理 3.TCP/IP网络通信技术演示程序的总体设计方案 TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)
Sequence number(顺序号码) Acknowledge number(确认号码) 第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;
第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包
第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。
完成三次握手,主机A与主机B开始传送数据。 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.
实例: IP 192.168.1.116.3337 > 192.168.1.123.7788: S 3626544836:3626544836 IP 192.168.1.123.7788 > 192.168.1.116.3337: S 1739326486:1739326486 ack 3626544837 IP 192.168.1.116.3337 > 192.168.1.123.7788: ack 1739326487,ack 1
第一次握手:192.168.1.116发送位码syn=1,随机产生seq number=3626544836的数据包到192.168.1.123,192.168.1.123由SYN=1知道192.168.1.116要求建立联机;
第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送ack number=3626544837,syn=1,ack=1,随机产生seq=1739326486的包;
第三次握手:192.168.1.116收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,192.168.1.116会再发送ack number=1739326487,ack=1,192.168.1.123收到后确认seq=seq+1,ack=1则连接建立成功。 4.主要功能的代码实现及其功能测试 客户端代码 Private Sub Command1_Click()
Winsockclient.Close End End Sub Private Sub Command2_Click() Winsockclient.Connect If Winsockclient.State = 6 Then MsgBox "连接已经建立" End If End Sub
Private Sub Command3_Click() Dim s As String s = send.Text Winsockclient.SendData s send.Text = "" End Sub
Private Sub Form_Load() Me.Picture = LoadPicture Textget.Text = "" End Sub
Private Sub Winsockclient_Close() Winsockclient.Close End End Sub
Private Sub winsockclient_DataArrival(ByVal bytesTotal As Long) Dim a As String Dim b As String Winsockclient.GetData a b = Textget.Text If b <> "" Then