TCP 關閉機制

2021-08-09 23:01:27 字數 790 閱讀 7849

tcp關閉的整個過程:

主動一方寫完資料,關閉寫入通道,發起fin-1報文,請求關閉寫入通道,

主動一方進入fin-1狀態,

被動一方接到fin-1報文,進入close-wait狀態,

被動一方從讀通道讀完資料,傳送ack報文到主動關閉方,

被動一方進入到last-ack狀態

主動關閉一方進入到fin-2狀態

被動一方在寫完資料,傳送fin-2報文到主動方,

被動一方還是last-ack狀態,

主動一方接收到fin-2報文,進入到timed-wait狀態,

主動一方等待乙個tcp封包在網路存活的時間之後,也就是2ms時間,傳送ack報文

主動一方進入到closed狀態,

被動一方接收到最後ack包,也進入closed狀態。

closing 狀態。

tcp 握手協議

為什麼是三次握手,而不是兩次握手,三次握手是為了防止有些長時間滯留在網路上tcp包後續又重新傳送到了對方,如果是兩次握手協議,

從而會導致了無用的socket控制代碼,並且,這些控制代碼又不能被關閉。。。

服務端為listen狀態:

客戶端發起連線請求,傳送syn-1包,進入到syn_send狀態,

服務端接收到syn-1包,並且傳送ack-1確認包,同時,服務端也傳送了乙個syn-2包,服務端進入到了進入到syn_recv狀態,

客戶端接收到ack-1+syn-2包,進入到established狀態,並且也傳送了乙個ack-2包到服務端

服務端接收到ack-2包,進入到了established狀態

關閉tcp連線

luolei localhost sudo netstat a grep ssh tcp 0 0 192.168.1.10 40278 com ssh established unix 2 acc stream listening 7565 tmp ssh uyvolk4882 agent.4882...

關閉TCP連線

從tcp協議角度來看,乙個已建立的tcp連線有兩種關閉方式,一種是正常關閉,即四次揮手關閉連線 還有一種則是異常關閉,我們通常稱之為連線重置 reset 首先說一下正常關閉時四次揮手的狀態變遷,關閉連線的主動方狀態變遷是fin wait 1 fin wait 2 time wait,而關閉連線的被動...

TCP 視窗機制

tcp協議在能夠傳送資料之前就建立起了 連線 要實現這個連線,啟動tcp連線的那一方首先將傳送乙個syn資料報。這只是乙個不包含資料的資料報,然後,開啟syn標記。如果另一方同時在它收到syn標記的埠通話,它將發回乙個syn ack syn和ack標誌位都被開啟,並將ack 確認 編 號字段設定為剛...