您好,登錄后才能下訂單哦!
TCP/IP?狀態(tài)機(jī) 在TCP層,有個(gè)FLAGS字段,這個(gè)字段有以下幾個(gè)標(biāo)識(shí):SYN, FIN, ACK, PSH, RST, URG. 其中,對于我們?nèi)粘5姆治鲇杏玫木褪乔懊娴奈鍌€(gè)字段。 它們的含義是: SYN表示建立連接, FIN表示關(guān)閉連接, ACK表示響應(yīng), PSH表示有 DATA數(shù)據(jù)傳輸(有真正的TCP數(shù)據(jù)包內(nèi)容被傳遞) RST表示連接重置(是在FIN之后才會(huì)出現(xiàn)為1的情況) |
三次握手主要是要初始化Sequence Number 的初始值。也就是上圖中的 a 和 b。這個(gè)號(hào)在以后的數(shù)據(jù)通信中,在client端按發(fā)送順序遞增,在server端按遞增順序重新組織,以保證應(yīng)用層接收到的數(shù)據(jù)不會(huì)因?yàn)榫W(wǎng)絡(luò)問題亂序。 建立一個(gè)穩(wěn)定的雙向連接,最少需要3次通信 以張三給李四打電話為例? |
1、雙方可以同時(shí)主動(dòng)關(guān)閉,也可以由一方主動(dòng)關(guān)閉帶動(dòng)另一方被動(dòng)關(guān)閉只不過,通常以一方主動(dòng)另一方被動(dòng)舉例(如圖,client主動(dòng)server被動(dòng)),所以看上去是所謂的4次揮手。如果兩邊同時(shí)主動(dòng)斷連接,那么雙方都會(huì)進(jìn)入CLOSING狀態(tài),然后到達(dá)TIME_WAIT狀態(tài),最后超時(shí)轉(zhuǎn)到CLOSED狀態(tài) 2、為什么建立連接協(xié)議是三次握手,而關(guān)閉連接卻是四次握手呢? TCP是全雙工的,每個(gè)方向都需要單獨(dú)關(guān)閉(即發(fā)送一個(gè)FIN),發(fā)一個(gè)FIN之后意味著一個(gè)方向沒有數(shù)據(jù)流動(dòng),但是可以收。 以張三給李四掛電話為例 張三:我要掛電話了【FIN。seq=x】 李四:好的【ack。seq=x+1】 李四:我也掛了【fin,seq=b,ack=X+1】? 張三:好的【ack,seq=b+1】 |
三次握手分析? HTTP 協(xié)議就是建立在TCP鏈接上的 我們通過訪問一個(gè)網(wǎng)頁。 使用wireshark分析TCP三次握手建立連接的過程,Wireshark的過濾規(guī)則,只顯示我們需要的數(shù)據(jù) (ip.src==10.108.15.43 and ip.dst==10.108.16.3) or (ip.src==10.108.16.3 and ip.dst==10.108.15.43) 1、seq=0(每發(fā)一次包seq的值加1) TCP流: |
四次揮手: 1、TCP協(xié)議規(guī)定通過發(fā)送一個(gè)FIN段(FIN被置位)來發(fā)起關(guān)閉操作,同時(shí)FIN報(bào)文段還包含著對最近收到的數(shù)據(jù)進(jìn)行ACK。 2、接收端對FIN進(jìn)行確認(rèn),發(fā)送ACK=k+1給發(fā)送端 3、接收端將連接關(guān)閉發(fā)送給上層應(yīng)用程序,由應(yīng)用程序發(fā)起連接關(guān)閉操作。此時(shí)接收端由被動(dòng)關(guān)閉連接壯成主動(dòng),并發(fā)送FIN報(bào)文段給發(fā)送端。報(bào)文的序列號(hào)為L(這里也可看出上一步驟中發(fā)送ACK序列號(hào)一樣,因?yàn)锳CK不占用序列號(hào), 所以這里的FIN的序列號(hào)也為L)。 4、發(fā)送端接收到FIN后,發(fā)送回ACK給接收端后,TCP連接終止。如果FIN丟失,發(fā)送FIN的那端需要重新發(fā)送FIN,直到接收到ACK為止。 |
相對于的狀態(tài)機(jī) |
12種狀態(tài)機(jī):
歡迎學(xué)習(xí):TCP的狀態(tài)機(jī)與重傳機(jī)制
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。