Close
技术支持
在线客服
在线客服
在线客服
嵌入式LED点阵显示、LED数显、无线遥控、信息采集系统开发!
引导页 中文版 English

数字LED显示屏

PLC显示屏(集成modbus&profibus协议)

电子看板003

电子看板004

PLC显示屏(自由口RS485通讯)

电子看板006

工业参数LED显示屏

电子看板008

PLC显示屏

电子看板010

 
 
时钟TCP连接的建立与终止
  • 点击2278
  • 发布:2016-12-25
  • 关键词:网络时钟之TCP连接的建立与终止 
    1、时钟组网TCP连接的建立过程: 
            要使用TCP协议进行时钟通信,在传输数据之前,要先建立一条TCP连接。 TCP连接的建立过程和打电话的过程类似。例如,你要给朋友张三打电话(建立与张三的连接),先拨通张三的号码(发送初始化报文段);张三接通,习惯的问一声:“喂”(服务器端发送一个带确认的初始化报文段);你听到后也说一声:“喂”(接到服务器带确认的初始化报文段);然后就可以把你想说的事情告诉张三。网络时钟TCP连接的建立是一个分为三个步骤的过程,称为“三次握手过程”。 其示意图描述了这样一个“三次握手过程”,该图中主机A要发起一个和主机B之间的TCP连接。
     时钟TCP连接建立过程图片

            (1)主机时钟A先向主机时钟B发送一个初始化报文段,这个报文段是一个控制报文段,不包括任何数据,这个报文段可以形式化的表示成“SYN, ISN = 100,MSS = 1024”, 这个报文段有以下特点: 
            ●  控制标志位中的SYN位置1,表示这是一个初始化报文段;此时序号字段中的序号称为初始序列号(Initiative Sequence Number,ISN),本例中 ISN  为 100; 
            ●  没有数据字段; 
            ●  其他控制标志位均必须置0;由于ACK位、UGR位都置0,所以确认序号字段、紧急指针字段都没有意义,一般全部置0; 
            ●  选项字段为MSS最大报文段长度值,告诉服务器端发送报文段时,发送的数据量不能大于这个值。 
            (2)当主机时钟B收到主机时钟A发来的初始化报文段后,它知道主机A要建一个到它的TCP连接,也要向主机A发送一个初始化报文段。由于要遵循“带重传的肯定确认”传输原则,除了SYN位置1外,它的ACK位也要置1,序号字段内容是它的初始序列号,本例为300,
    确认字段应该是A的ISN加1,即101。所以它的报文段表示为“SYN,ISN = 300,ACK = 101,MSS=1024”。 
            (3)A收到B的初始化报文段,要发送一个对应的确认报文段,这时,它不在是初始化报文,不用设置SYN位,它的序号SEQ应该是101,ACK位置1,确认序号为 301。可以表示为“SEQ = 101,ACK = 301”。 这样,一个从主机时钟A到主机B时钟的TCP连接就建成了。 
    2、时钟组网TCP连接的终止
            当主机A向主机B发送完全部数据之后,就要发起终止连接的操作了。由于TCP连接的数据传输是全双工数据传输,因此,任何一方都可以自己停止发送,但是仍然可以接收另一台主机发来的数据,直到它也停止发送。整个连接关闭的过程如图所示。 
    时钟TCP连接关闭过程图片
     
            接上面的例子,假定主机A主机B发送了 299 个报文段,则主机B向主机A发送的最后一个数据段确认报文的序号是599,确认号应该是 400。 主机 A 没有数据要发送了,就要发送一个 FIN 数据流结束报文段,其中控制标志位中的FIN位置1,表示发送方数据流结束;ACK标志位置1,确认序号位600,序号是400。报文段可以表示为“FIN,SEQ=400,ACK=600”。 主机B收到该FIN报文,要发送一个确认报文段,ACK置1,SEQ = 600,ACK = 401,报文段表示为“ACK=401”。 主机B也没有数据要发送了,就发送自己的FIN报文段,SEQ = 600,ACK = 401,报文段表示为“FIN,SEQ=601,ACK=401”。 主机A确认该FIN报文段,SEQ = 401,ACK = 601。 
    地址:深圳市福田区上沙村忠合广场A座  电话:0796-7203100 传真:0796-7203100-8005
    版权所有:深圳市立显光电有限公司  技术支持:天地盟网络 [粤ICP09009496]
    本站所有产品资料专属于深圳立显光电,未经许可不得擅自非法转载.