版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、TCP三次握手三次握手四次揮手詳解四次揮手詳解1、建立連接協議(三次握手)、建立連接協議(三次握手)(1)客戶端發(fā)送一個帶SYN標志的TCP報文到服務器。這是三次握手過程中的報文1。(2)服務器端回應客戶端的,這是三次握手中的第2個報文,這個報文同時帶ACK標志和SYN標志。因此它表示對剛才客戶端SYN報文的回應;同時又標志SYN給客戶端,詢問客戶端是否準備好進行數據通訊。(3)客戶必須再次回應服務段一個ACK報文,這是報文段3。2、連
2、接終止協議(四次揮手)、連接終止協議(四次揮手)由于TCP連接是全雙工全雙工的,因此每個方向都必須單獨進行關閉。這原則是當一方完成它的數據發(fā)送任務后就能發(fā)送一個FIN來終止這個方向的連接。收到一個FIN只意味著這一方向上沒有數據流動,一個TCP連接在收到一個FIN后仍能發(fā)送數據。首先進行關閉的一方將執(zhí)行主動關閉,而另一方執(zhí)行被動關閉。(1)TCP客戶端發(fā)送一個FIN,用來關閉客戶到服務器的數據傳送(報文段4)。(2)服務器收到這個FIN
3、,它發(fā)回一個ACK,確認序號為收到的序號加1(報文段5)。和SYN一樣,一個FIN將占用一個序號。(3)服務器關閉客戶端的連接,發(fā)送一個FIN給客戶端(報文段6)。(4)客戶段發(fā)回ACK報文確認,并將確認序號設置為收到序號加1(報文段7)。CLOSED:這個沒什么好說的了,表示初始狀態(tài)。LISTEN:這個也是非常容易理解的一個狀態(tài),表示服務器端的某個SOCKET處于監(jiān)聽狀態(tài),可以接受連接了。SYN_RCVD:這個狀態(tài)表示接受到了SYN報
4、文,在正常情況下,這個狀態(tài)是服務器端的SOCKET在建立TCP連接時的三次握手會話過程中的一個中間狀態(tài),很短暫,基本上用stat你是很難看到這種狀態(tài)的,除非你特意寫了一個客戶端測試程序,故意將三次TCP握手過程中最后一個ACK報文不予發(fā)送。因此這種狀態(tài)時,當收到客戶端的ACK報文后,它會進入到ESTABLISHED狀態(tài)。SYN_SENT:這個狀態(tài)與SYN_RCVD遙想呼應,當客戶端SOCKET執(zhí)行CONNECT連接時,它首先發(fā)送SYN報
5、文,因此也隨即它會進入到了SYN_SENT狀態(tài),并等待服務端的發(fā)送三次握手中的第2個報文。SYN_SENT狀態(tài)表示客戶端已發(fā)送SYN報文。ESTABLISHED:這個容易理解了,表示連接已經建立了。FIN_WAIT_1:這個狀態(tài)要好好解釋一下,其實FIN_WAIT_1和FIN_WAIT_2狀態(tài)的真正含義都是表示等待對方的FIN報文。而這兩種狀態(tài)的區(qū)別是:FIN_WAIT_1狀態(tài)實際上是當SOCKET在ESTABLISHED狀態(tài)時,它想主
6、動關閉連接,向對方發(fā)送了FIN報文,此時該SOCKET即進入到FIN_WAIT_1狀態(tài)。而當對方回應ACK報文后,則進入到FIN_WAIT_2狀態(tài),當然在實際的正常情況下,無論對方何種情況下,都應該馬上回應ACK報文,所以FIN_WAIT_1狀態(tài)一般是比較難見到的,而FIN_WAIT_2狀態(tài)還有時常常可以用stat看到。FIN_WAIT_2:上面已經詳細解釋了這種狀態(tài),實際上FIN_WAIT_2狀態(tài)下的SOCKET,表示半連接,也即有一
7、方要求close連接,但另外還告訴對方,我暫時還有點數據需要傳送給你,稍后再關閉連接。TIME_WAIT:表示收到了對方的FIN報文,并發(fā)送出了ACK報文,就等2MSL后即可回到CLOSED可用狀態(tài)了。如果FIN_WAIT_1狀態(tài)下,收到了對方同時帶FIN標志和ACK標志的報文時,可以直接進入到TIME_WAIT狀態(tài),而無須經過FIN_WAIT_2狀態(tài)。CLOSING:這種狀態(tài)比較特殊,實際情況中應該是很少見,屬于一種比較罕見的例外狀態(tài)
8、。正常情況下,當你發(fā)送FIN報文后,按理來說是應該先收到(或同時收到)對方的TCP鏈接中有一個MSL的概念,也就是最大生成時間,MSL的值在一般的實現中取30s,有些實現采用2分鐘,在TCP的狀態(tài)機中的“被動關閉”:從CLOSE_WAIT到LAST_ACK中有一個如下的規(guī)則:當TCP執(zhí)行一個主動關閉,并發(fā)回最后一個ACK該連接必須在TIME_WAIT狀態(tài)停留的時間為2倍的MSL。這樣可讓TCP再次發(fā)送最后的ACK以防這個ACK丟失(另一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三次四次方程分解
- 一類三次Hamilton系統的四次擾動.pdf
- 三安光電的四次“畫餅”
- ieee802.11標準四次握手協義安全性分析與改進
- 樂陵第三次國土調查項目三次
- 四次經濟危機
- 國學經典四次作業(yè)
- 初三第四次課 電功率
- 高三第四次作文題
- 基于三次握手思想的網絡測試自動化腳本設計與實現.pdf
- 20132012初三第四次限時訓練
- 三次兒子發(fā)燒
- 第四次作業(yè)(輔導)
- 保健第四次任務
- 第四次活動記錄
- Cauchy-四次與Jensen-四次函數方程的穩(wěn)定性.pdf
- 三次函數方程及二次-三次函數方程的穩(wěn)定性.pdf
- 30658.三次—三次函數方程的hyersulamrassias穩(wěn)定性
- 數學的三次危機
- 2018.1.9三次函數專題
評論
0/150
提交評論