這篇文章主要介紹“TCP三次握手和四次揮手以及11種狀態(tài)的介紹”,在日常操作中,相信很多人在TCP三次握手和四次揮手以及11種狀態(tài)的介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”TCP三次握手和四次揮手以及11種狀態(tài)的介紹”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在網站設計、網站制作過程中,需要針對客戶的行業(yè)特點、產品特性、目標受眾和市場情況進行定位分析,以確定網站的風格、色彩、版式、交互等方面的設計方向。創(chuàng)新互聯公司還需要根據客戶的需求進行功能模塊的開發(fā)和設計,包括內容管理、前臺展示、用戶權限管理、數據統(tǒng)計和安全保護等功能。
置位概念:根據TCP的包頭字段,存在3個重要的標識ACK、SYN、FIN
ACK:表示驗證字段
SYN:位數置1,表示建立TCP連接
FIN:位數置1,表示斷開TCP連接
三次握手過程說明:
1、由客戶端發(fā)送建立TCP連接的請求報文,其中報文中包含seq序列號,是由發(fā)送端隨機生成的,并且將報文中的SYN字段置為1,表示需要建立TCP連接。(SYN=1,seq=x,x為隨機生成數值)
2、由服務端回復客戶端發(fā)送的TCP連接請求報文,其中包含seq序列號,是由回復端隨機生成的,并且將SYN置為1,而且會產生ACK字段,ACK字段數值是在客戶端發(fā)送過來的序列號seq的基礎上加1進行回復,以便客戶端收到信息時,知曉自己的TCP建立請求已得到驗證。(SYN=1,ACK=x+1,seq=y,y為隨機生成數值)這里的ack加1可以理解為是確認和誰建立連接。
3、客戶端收到服務端發(fā)送的TCP建立驗證請求后,會使自己的序列號加1表示,并且再次回復ACK驗證請求,在服務端發(fā)過來的seq上加1進行回復。(SYN=1,ACK=y+1,seq=x+1)
四次揮手過程說明:
1、客戶端發(fā)送斷開TCP連接請求的報文,其中報文中包含seq序列號,是由發(fā)送端隨機生成的,并且還將報文中的FIN字段置為1,表示需要斷開TCP連接。(FIN=1,seq=x,x由客戶端隨機生成)
2、服務端會回復客戶端發(fā)送的TCP斷開請求報文,其包含seq序列號,是由回復端隨機生成的,而且會產生ACK字段,ACK字段數值是在客戶端發(fā)過來的seq序列號基礎上加1進行回復,以便客戶端收到信息時,知曉自己的TCP斷開請求已經得到驗證。(FIN=1,ACK=x+1,seq=y,y由服務端隨機生成)
3、服務端在回復完客戶端的TCP斷開請求后,不會馬上進行TCP連接的斷開,服務端會先確保斷開前,所有傳輸到A的數據是否已經傳輸完畢,一旦確認傳輸數據完畢,就會將回復報文的FIN字段置1,并且產生隨機seq序列號。(FIN=1,ACK=x+1,seq=z,z由服務端隨機生成)
4、客戶端收到服務端的TCP斷開請求后,會回復服務端的斷開請求,包含隨機生成的seq字段和ACK字段,ACK字段會在服務端的TCP斷開請求的seq基礎上加1,從而完成服務端請求的驗證回復。(FIN=1,ACK=z+1,seq=h,h為客戶端隨機生成)
至此TCP斷開的4次揮手過程完畢
1、一開始,建立連接之前服務器和客戶端的狀態(tài)都為CLOSED;
2、服務器創(chuàng)建socket后開始監(jiān)聽,變?yōu)長ISTEN狀態(tài);
3、客戶端請求建立連接,向服務器發(fā)送SYN報文,客戶端的狀態(tài)變味SYN_SENT;
4、服務器收到客戶端的報文后向客戶端發(fā)送ACK和SYN報文,此時服務器的狀態(tài)變?yōu)镾YN_RCVD;
5、然后,客戶端收到ACK、SYN,就向服務器發(fā)送ACK,客戶端狀態(tài)變?yōu)镋STABLISHED;
6、服務器端收到客戶端的ACK后變?yōu)镋STABLISHED。此時3次握手完成,連接建立!
由于TCP連接是全雙工的,斷開連接會比建立連接麻煩一點點。
1、客戶端先向服務器發(fā)送FIN報文,請求斷開連接,其狀態(tài)變?yōu)镕IN_WAIT1;
2、服務器收到FIN后向客戶端發(fā)送ACK,服務器的狀態(tài)圍邊CLOSE_WAIT;
3、客戶端收到ACK后就進入FIN_WAIT2狀態(tài),此時連接已經斷開了一半了。如果服務器還有數據要發(fā)送給客戶端,就會繼續(xù)發(fā)送;
4、直到發(fā)完數據,就會發(fā)送FIN報文,此時服務器進入LAST_ACK狀態(tài);
5、客戶端收到服務器的FIN后,馬上發(fā)送ACK給服務器,此時客戶端進入TIME_WAIT狀態(tài);
6、再過了2MSL長的時間后進入CLOSED狀態(tài)。服務器收到客戶端的ACK就進入CLOSED狀態(tài)。
至此,還有一個狀態(tài)沒有出來:CLOSING狀態(tài)。
CLOSING狀態(tài)表示:
客戶端發(fā)送了FIN,但是沒有收到服務器的ACK,卻收到了服務器的FIN,這種情況發(fā)生在服務器發(fā)送的ACK丟包的時候,因為網絡傳輸有時會有意外。
LISTEN:等待從任何遠端TCP 和端口的連接請求。 SYN_SENT:發(fā)送完一個連接請求后等待一個匹配的連接請求。 SYN_RECEIVED:發(fā)送連接請求并且接收到匹配的連接請求以后等待連接請求確認。 ESTABLISHED:表示一個打開的連接,接收到的數據可以被投遞給用戶。連接的數據傳輸階段的正常狀態(tài)。 FIN_WAIT_1:等待遠端TCP 的連接終止請求,或者等待之前發(fā)送的連接終止請求的確認。 FIN_WAIT_2:等待遠端TCP 的連接終止請求。 CLOSE_WAIT:等待本地用戶的連接終止請求。 CLOSING:等待遠端TCP 的連接終止請求確認。 LAST_ACK:等待先前發(fā)送給遠端TCP 的連接終止請求的確認(包括它字節(jié)的連接終止請求的確認) TIME_WAIT:等待足夠的時間過去以確保遠端TCP 接收到它的連接終止請求的確認。 TIME_WAIT 兩個存在的理由: 1.可靠的實現tcp全雙工連接的終止; 2.允許老的重復分節(jié)在網絡中消逝。 CLOSED:不在連接狀態(tài)(這是為方便描述假想的狀態(tài),實際不存在)
到此,關于“TCP三次握手和四次揮手以及11種狀態(tài)的介紹”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網頁題目:TCP三次握手和四次揮手以及11種狀態(tài)的介紹
本文路徑:http://www.rwnh.cn/article26/jcjpjg.html
成都網站建設公司_創(chuàng)新互聯,為您提供自適應網站、網站改版、品牌網站建設、Google、網頁設計公司、網站維護
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯