Tcp三次握手:
當(dāng)客戶端要和服務(wù)端建立連接時(shí)鹰晨,客戶端會(huì)和服務(wù)端進(jìn)行三次握手宇弛。
第一次握手:客戶端發(fā)送一個(gè)標(biāo)志位SYN=1嫂拴,隨機(jī)報(bào)文序號(hào)seq=J的數(shù)據(jù)包給服務(wù)端挣菲,客戶端進(jìn)入SYN_SENT狀態(tài)
第二次握手:服務(wù)端接收到數(shù)據(jù)包后由SYN=1,知道客戶端要求建立連接,他會(huì)將標(biāo)志位SYN栅盲、ACK都置為1,報(bào)文序號(hào)ack=J+1汪诉,并隨機(jī)產(chǎn)生一個(gè)seq=K
發(fā)送給客戶端確認(rèn)請(qǐng)求連接,服務(wù)端進(jìn)入SYN_RECV
第三次握手:客戶端收到確認(rèn)后谈秫,檢查是否ack=J+1扒寄,ACK=1,如果是拟烫,則將標(biāo)志位ACK置為1,ack=K+1發(fā)送給服務(wù)端该编,服務(wù)端收到數(shù)據(jù)包發(fā)現(xiàn)ack=K+1,ACK=1,則建立連接成功硕淑】慰ⅲ客戶端和服務(wù)端進(jìn)入ESTABLISHED,三次握手結(jié)束
TCP四次揮手
當(dāng)客戶端要和服務(wù)端斷開連接時(shí),經(jīng)歷四次揮手
第一次揮手:客戶端發(fā)送一個(gè)標(biāo)志位FIN給服務(wù)端置媳,表示要終止本次連接
第二次揮手:服務(wù)端接收到FIN后于樟,發(fā)送一個(gè)ACK給客戶端,并將收到序號(hào)加一返回
第三次揮手:服務(wù)端發(fā)送一個(gè)FIN給客戶端拇囊,用來關(guān)閉服務(wù)端和客戶端的連接
第四次揮手:客戶端收到FIN后迂曲,發(fā)送一個(gè)ACK給服務(wù)端,并將收到序號(hào)加1返回
三次握手:
Client------>SYN=1,seq=J------->Server
Client<------seq=K? ,ack=J+1?,SYN=1 ,ACK=1<---------Server
Client------ACK=1,ack=k+1------>Server