TCP建立連線和釋放連線(三次握手和四次揮手)

2021-10-23 21:30:41 字數 714 閱讀 1171

tcp協議三次握手和四次揮手

tcp協議是面向連線的,所謂面向連線,就是當計算機雙方通訊時必須經過先建立連線,然後傳送資料,最後拆除連線的三個過程。

三次握手

為什麼是三次握手?不是兩次、四次?

四次揮手

為什麼客戶端在time-wait階段要等2msl?

為了確認伺服器端是否收到客戶端發出的ack確認報文

當客戶端發出最後的ack確認報文時,並不能確定伺服器端能夠收到該段報文。所以客戶端在傳送完ack確認報文之後,會設定乙個時長為2msl的計時器。msl(maximum segment lifetime)指的是:一段tcp報文在傳輸過程中的最大生命週期。2msl即是伺服器端發出為fin報文和客戶端發出的ack確認報文所能保持有效的最大時長。

伺服器端在1msl內沒有收到客戶端發出的ack確認報文,就會再次向客戶端發出fin報文;

如果客戶端在2msl內,再次收到了來自伺服器端的fin報文,說明伺服器端由於各種原因沒有接收到客戶端發出的ack確認報文。客戶端再次向伺服器端發出ack確認報文,計時器重置,重新開始2msl的計時;否則客戶端在2msl內沒有再次收到來自伺服器端的fin報文,說明伺服器端正常接收了ack確認報文,客戶端可以進入closed階段,完成「四次揮手」。

所以,客戶端要經歷時長為2sml的time-wait階段;這也是為什麼客戶端比伺服器端晚進入closed階段的原因。

TCP建立連線三次握手和釋放連線四次握手

尊重 在談及tcp建立連線和釋放連線過程,先來簡單認識一下 tcp報文段首部格式 的的幾個名詞 這裡只是簡單說明,具體請檢視相關教程 序列號seq 佔4個位元組,用來標記資料段的 順序,tcp把連線中傳送的所有資料位元組都編上乙個序號,第乙個位元組的編號由本地隨機產生 給位元組編上序號後,就給每乙個...

TCP建立連線三次握手和釋放連線四次握手

尊重 在談及tcp建立連線和釋放連線過程,先來簡單認識一下tcp報文段首部格式 的的幾個名詞 這裡只是簡單說明,具體請檢視相關教程 序列號seq 佔4個位元組,用來標記資料段的順序,tcp把連線中傳送的所有資料位元組都編上乙個序號,第乙個位元組的編號由本地隨機產生 給位元組編上序號後,就給每乙個報文...

TCP建立連線三次握手和釋放連線四次握手

尊重在談及tcp建立連線和釋放連線過程,先來簡單認識一下tcp報文段首部格式的的幾個名詞 這裡只是簡單說明,具體請檢視相關教程 序列號seq 佔4個位元組,用來標記資料段的順序,tcp把連線中傳送的所有資料位元組都編上乙個序號,第乙個位元組的編號由本地隨機產生 給位元組編上序號後,就給每乙個報文段指...