TCP的十一種狀態

2021-08-04 19:40:10 字數 945 閱讀 7658

connect主動發起連線,此時的狀態為syn_sent,aceept接收到syn訊號後,進入到syn_rcvd狀態,然後傳送乙個syn訊號和應答訊號,並且消耗乙個序列號,然後客戶端返回乙個應答訊號,此時雙方都進入establishid,這就是三次握手。

假設客戶端主動關閉,此時客戶端傳送乙個fin訊號,此時伺服器端返回為0,然後傳送乙個確認訊號,伺服器端進入close_wait狀態,客戶端進fin_wait2狀態,伺服器端傳送乙個fin關係訊號,進入last_ack狀態,客戶端接收到該訊號後進入time_wait狀態,該狀態保留2msl時間,並且傳送乙個確定訊號,伺服器接收到進入closed狀態,客戶端經過2msl狀態進入closed狀態。

主要是為了防止已經失效的連線誒請求報文突然重傳個伺服器,從而發生錯誤。正常情況:客戶端傳送乙個請求連線,但是因為連線請求報文丟失而未收到確認,越是客戶端重新傳送一次請求連線,後來收到了確認,簡歷了連線,資料傳輸完畢後,就釋放了連線,客戶端傳送了兩個請求連線報文,其中乙個丟失,乙個達到,沒有已失效的連線請求報文。現在假設有一種情況,a傳送的第一請求報文並沒有丟失,而是在網路中滯留了,以致延誤到連線釋放後的某個時間到達了伺服器,本來這是乙個失效的報文,但是伺服器收到後,如果沒有三次握手,將會認為是乙個新的連線請求,於是雙方就建立了連線,使用三次規則後,接收到延誤的客戶端請求,發小客戶端沒有後續的確認動作,因此並不會建立連線。

(1)為了保證客戶端傳送的最後乙個ack報文能夠達到伺服器。這個ack報文可能丟失,因而使處於last_ack狀態的伺服器不能收到fin+ack報文的確認。此時,伺服器會超時重傳這個fin+ack報文段,而客戶端能夠在2msl時間內收到這個重傳訊號,接著a重傳一次確認,重新啟動2msl計時器,直到雙方都進入正常關閉狀態。

(2)防止已失效的連線報文請求報文段出現在此連線中。客戶端傳送完最後乙個ack報文段後,再經過2msl,就可以使本連線持續的時間內所產生的所有報文都從網路中消失,這樣就可以使下乙個新的連線中不會出現這種舊的報文段。

網路 (六)TCP的十一種狀態

1 tcp 十種狀態 過程描述 2 tcp 第十一種狀態 closing 該狀態發生於 如果客戶端和伺服器同時發起了關閉請求,那麼此時它們的tcp狀態就都為fin wait 1,並傳送fin段給對方,對方收到fin段後,又傳送確認段ack段給對方,此時彼此的tcp狀態就為closing,當接收到對方...

索引的十一種功能

索引是個既穩定又開放的資訊結構,它有十一種功能。1分解功能 把文獻中的資料單元 如篇名 機構 短語 概念 物名 地名 書名 人名 字詞 符號等 一一分解,這就是索引的分解功能。它是索引工作的起跑線和索引編纂的基礎,沒有對文獻內容的這種分解功能,就沒有索引。過去有些反對索引的人說,索引是把古人的著書 ...

索引的十一種功能

索引是個既穩定又開放的資訊結構,它有十一種功能。1 分解功能 把文獻中的資料單元 如篇名 機構 短語 概念 物名 地名 書名 人名 字詞 符號等 一一分解,這就是索引的分解功能。它是索引工作的起跑線和索引編纂的基礎,沒有對文獻內容的這種分解功能,就沒有索引。過去有些反對索引的人說,索引是把古人的著書...