重要的標志位含義:
創(chuàng)新互聯(lián)建站是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),虛擬空間、主機租用、主機托管,四川、重慶、廣東電信服務(wù)器租用,成都服務(wù)器托管,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國大陸、港澳臺以及歐美等多個國家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。
ACK:表示確認。只有當ACK標志位為1時,TCP報文的確認字段才有效。
SYN:表示同步,在連接建立時用來同步序列號。當SYN=1而ACK=0時,表明這是一個連接請求報文。若對方同意建立連接時,則在響應(yīng)報文中,應(yīng)使SYN=1,ACK=1.因此,同步比特SYN置為1,就表明這是一個連接請求報文或連接接受響應(yīng)報文。
FIN:用于釋放一個連接。當FIN位為1時,表明此報文段的發(fā)送端數(shù)據(jù)已發(fā)送完畢,并要求釋放連接。
一、TCP/IP的三次握手
第一次握手:首先發(fā)送方主機向接收方主機發(fā)起一個建立連接的同步(SYN)請求SYN(X),進入SYN_SENT狀態(tài),等待接收方主機確認。
第二次握手:接收方在收到這個請求后,如果同意建立連接,則發(fā)送確認ACK,確認序列號為收到的序列號加1,并且報文中的SYN也要置1,即向發(fā)送方主機回復(fù)一個同步/確認(SYN/ACK)應(yīng)答報文,并進入SYN_RECVD狀態(tài)。
第三次握手:發(fā)送方主機收到此應(yīng)答報文后,再向接收方發(fā)送一個確認(ACK)報文,然后發(fā)送方和接收方均進入ESTABLISHED狀態(tài),完成三次握手,至此,TCP連接建立成功,發(fā)送方和接收方就可以開始傳輸數(shù)據(jù)了。
TCP建立連接的三次握手過程如圖所示:
二、TCP/IP的四次斷開
當應(yīng)用進程結(jié)束數(shù)據(jù)傳送后,就要釋放已建立的連接,TCP連接是雙向的,每個方向都必須單獨進行關(guān)閉,首先進行關(guān)閉的一方執(zhí)行主動關(guān)閉,而另一方則執(zhí)行被動關(guān)閉。
1、當客戶端的數(shù)據(jù)傳輸完后,可主動發(fā)送出FIN置1的報文給服務(wù)端(客戶端主動關(guān)閉),以關(guān)閉客戶端至服務(wù)端方向的數(shù)據(jù)傳送,并等待服務(wù)端的ACK確認應(yīng)答,同時進入FIN_WAIT1狀態(tài)。
2、服務(wù)端收到FIN置1的報文后,進入被動關(guān)閉,回復(fù)一個ACK確認報文,并進入CLOSE_WAIT狀態(tài);客戶端收到該ACK確認報文后,進入FIN_WAIT2狀態(tài)。
3、至此完成了TCP連接的半關(guān)閉,即完成了客戶端至服務(wù)端方向的數(shù)據(jù)發(fā)送。此時,客戶端雖然不能發(fā)送數(shù)據(jù),但仍然能接受服務(wù)端發(fā)給客戶端的數(shù)據(jù),即服務(wù)端至客戶端方向的連接還未關(guān)閉。
4、服務(wù)端發(fā)送一個FIN置1的報文給客戶端,關(guān)閉服務(wù)端至客戶端方向的數(shù)據(jù)傳送,并等待客戶端的ACK確認應(yīng)答,同時進入LAST_ACK狀態(tài),客戶端收到FIN置1的報文后,回復(fù)ACK確認報文,并進入TIME_WAIT狀態(tài),經(jīng)過2倍報文最大生存時間(MSL)后,TCP刪除原來建立的鏈接記錄,返回到初始的CLOSED狀態(tài)。服務(wù)端收到ACK確認報文后,進入CLOSED狀態(tài),完成鏈接的雙向關(guān)閉。
TCP/IP四次斷開過程如圖: