三次握手:
所謂三次握手(Three-way Handshake)昏苏,是指建立一個(gè)TCP連接時(shí),需要客戶端和服務(wù)器總共發(fā)送3個(gè)包威沫。
1贤惯,C端向S端發(fā)送用于檢查的消息(syn報(bào)文);
2棒掠,S端收到用于檢查的消息孵构,回復(fù)確認(rèn)包(ACK);
3句柠,C端收到S端的確認(rèn)包(ACK)后,再次發(fā)送確認(rèn)包(ACK)棒假;
四次揮手:
TCP的連接的拆除需要發(fā)送四個(gè)包溯职,因此稱為四次揮手(four-way handshake)。
客戶端或服務(wù)器均可主動(dòng)發(fā)起揮手動(dòng)作帽哑,在socket編程中谜酒,任何一方執(zhí)行close()操作即可產(chǎn)生揮手操作。
1妻枕,主動(dòng)方發(fā)出連接釋放報(bào)文僻族,并且停止發(fā)送數(shù)據(jù)。
2屡谐,被動(dòng)方收到連接釋放報(bào)文述么,發(fā)出確認(rèn)報(bào)文。
3愕掏,此時(shí)主動(dòng)方可能還有數(shù)據(jù)傳輸度秘,等待最后的數(shù)據(jù)傳輸完畢后,被動(dòng)方向主動(dòng)方發(fā)出連接釋放報(bào)文饵撑。
4剑梳,主動(dòng)方收到鏈接釋放報(bào)文后唆貌,發(fā)出確認(rèn)報(bào)文,進(jìn)入time out等待狀態(tài)垢乙;