十五大原理之零三--TCP/IP的三次握手和四次断开原理-创新互联
重要的标志位含义:
成都创新互联公司于2013年成立,先为米脂等服务建站,米脂等地企业,进行企业商务咨询服务。为米脂企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。ACK:表示确认。只有当ACK标志位为1时,TCP报文的确认字段才有效。
SYN:表示同步,在连接建立时用来同步序列号。当SYN=1而ACK=0时,表明这是一个连接请求报文。若对方同意建立连接时,则在响应报文中,应使SYN=1,ACK=1.因此,同步比特SYN置为1,就表明这是一个连接请求报文或连接接受响应报文。
FIN:用于释放一个连接。当FIN位为1时,表明此报文段的发送端数据已发送完毕,并要求释放连接。
一、TCP/IP的三次握手
第一次握手:首先发送方主机向接收方主机发起一个建立连接的同步(SYN)请求SYN(X),进入SYN_SENT状态,等待接收方主机确认。
第二次握手:接收方在收到这个请求后,如果同意建立连接,则发送确认ACK,确认序列号为收到的序列号加1,并且报文中的SYN也要置1,即向发送方主机回复一个同步/确认(SYN/ACK)应答报文,并进入SYN_RECVD状态。
第三次握手:发送方主机收到此应答报文后,再向接收方发送一个确认(ACK)报文,然后发送方和接收方均进入ESTABLISHED状态,完成三次握手,至此,TCP连接建立成功,发送方和接收方就可以开始传输数据了。
TCP建立连接的三次握手过程如图所示:
二、TCP/IP的四次断开
当应用进程结束数据传送后,就要释放已建立的连接,TCP连接是双向的,每个方向都必须单独进行关闭,首先进行关闭的一方执行主动关闭,而另一方则执行被动关闭。
1、当客户端的数据传输完后,可主动发送出FIN置1的报文给服务端(客户端主动关闭),以关闭客户端至服务端方向的数据传送,并等待服务端的ACK确认应答,同时进入FIN_WAIT1状态。
2、服务端收到FIN置1的报文后,进入被动关闭,回复一个ACK确认报文,并进入CLOSE_WAIT状态;客户端收到该ACK确认报文后,进入FIN_WAIT2状态。
3、至此完成了TCP连接的半关闭,即完成了客户端至服务端方向的数据发送。此时,客户端虽然不能发送数据,但仍然能接受服务端发给客户端的数据,即服务端至客户端方向的连接还未关闭。
4、服务端发送一个FIN置1的报文给客户端,关闭服务端至客户端方向的数据传送,并等待客户端的ACK确认应答,同时进入LAST_ACK状态,客户端收到FIN置1的报文后,回复ACK确认报文,并进入TIME_WAIT状态,经过2倍报文大生存时间(MSL)后,TCP删除原来建立的链接记录,返回到初始的CLOSED状态。服务端收到ACK确认报文后,进入CLOSED状态,完成链接的双向关闭。
TCP/IP四次断开过程如图:
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享题目:十五大原理之零三--TCP/IP的三次握手和四次断开原理-创新互联
文章转载:http://scjbc.cn/article/hidhj.html