TCP是一个面向连接的协议。这就意味着,通信双方之间有一个虚拟的,看不见的管道将之连起来,数据可以在管道中双向的同时传递。
TCP连接的建立与UDP不同,后者无需任何的预先的握手。
TCP的连接分为三步:
1、请求端(客户端)发送一个SYN段(在前一篇日志中输了,SYN是用来发起一个连接的)指明客户打算连接的服务器的端口,以及初始序号ISN.ISN是客户端选择的,它随时间而变化,因此每个连接都将具有不同的ISN
2、服务端发回一个包含服务器的初始序号的SYN报文段(注意::这个初始序号ISN,是服务器自己的ISN,与1中的ISN无关)作为应答。同时,将确认序号设置为客户的ISM(即1中的ISN)+1 用来对客户的SYN报文段进行确认。一个SYN将占用一个序号。
3、客户必须将确认序号设置为服务器的ISN+1以对服务器的SYN进行确认
这个过程叫做三次握手(three-way handshake)
TCP连接的断开需经过四次握手:
在实际中,通常先断开连接的是客户端,这里,也采用这种断开流程
1、首先,当客户端完成发送任务后就能发送一个“断开”报文(称为FIN)来终止这个方向的连接
2、当另一端(服务端)收到这个FIN之后,通知应用层在这个方向的连接(当然,这个与TCP/IP无关),并发送回这个FIN的ACK(还记得么,这个标志表示确认序号有效)
3、还是服务端,向客户端发送FIN报文
4、最后,客户端,返回3中FIN的ACK报文
这就是TCP“正常”断开的过程,当然,因为特殊原因而断开就不同了,如:断电了等。这里就不赘述了----实际上,我现在也不清楚,哈哈
PS:关于TCP的连接,我是这样形象记忆的:
1、客户端首先想服务端说暗号(含义包括端口和ISN):“天王盖地虎!”
2、服务端返回下句暗号(确认序号:即上面ISN+1)“宝塔镇河妖”,并说自己这边的暗号(自己的ISN):“踏破铁鞋无觅处”
3、客户端返回暗号(确认序号:2中ISN+1)“那人却在灯火阑珊处”
再PS:如何选择初始序号??
系统初始化时,初始的发送序号为1。以后,这个变量没0.5秒+64000,没9.5个小时回到0,即没8ms加1.另外,没加一个连接,这个变量+64000
分享到:
相关推荐
\TCP-IP详解_卷一.pdf\TCP-IP详解_卷一.
TCP/IP详解卷一 文字版pdf
TCP-IP详解卷一:协议.pdf。这个棒极了
tcp/ip详解(卷一)PDF版。永恒的经典,要的速度下起。
tcp-ip详解卷一,堪称程序员的必读书目。让你对计算机网络深入学习。
TCP、IP协议详解卷一 TCP、IP协议详解卷一 TCP、IP协议详解卷一 TCP、IP协议详解卷一
TCP/IP详解,卷一 TCP/IP详解,卷一
TCP_IP详解_卷一_协议.pdf TCP_IP详解_卷一_协议.pdf TCP_IP详解_卷一_协议.pdf
第18章 TCP连接的建立与终止 174 第19章 TCP的交互数据流 200 第20章 TCP的成块数据流 209 第21章 TCP的超时与重传 226 第22章 TCP的坚持定时器 245 第23章 TCP的保活定时器 251 第24章 TCP的未来和性能 256 第25章 ...
第18章 TCP连接的建立与终止 174 第19章 TCP的交互数据流 200 第20章 TCP的成块数据流 209 第21章 TCP的超时与重传 226 第22章 TCP的坚持定时器 245 第23章 TCP的保活定时器 251 第24章 TCP的未来和性能 256 第25章 ...
TCP/IP 详解-卷一
笔记_TCP_IP详解_卷一协议
TCP/IP详解 TCP/IP两部经典著作之一。 这里是卷一。
tcp/ip详解卷一上,tcp/ip详解,tcp/ip详解
tcp/ip详解 tcp/ip详解 tcp/ip详解 tcp/ip详解tcp/ip详解tcp/ip详解tcp/ip详解
学习tcp/ip必备圣经 .tcp/ip详解 这个不用多介绍了吧! 看吧! 肯定或收获很多的
这是TCP/IP卷详解卷一 PDF.这是TCP/IP卷详解卷一 PDF