關於TCP傳輸的三次握手四次揮手策略

簡單小總結:總結

  通常爲了可以準確無誤地把數據送達目標處,TCP協議採用了三次握手策略。用TCP協議把數據包送出去後,TCP不會對傳送後的狀況置之不理,它必定會向對方確認是否成功送達。數據

  注:握手過程當中使用了TCP的標誌是:SYN和ACK。協議

  發送端首先發送一個帶SYN的數據包給對方。接收端收到後,回傳一個帶有SYN/ACK標誌的數據包以示傳達確認信息。

  最後,發送端再傳回一個帶ACK標誌的數據包,表明「握手」結束。

    若在握手過程當中某個階段莫名中斷,TCP協議會再次以相同的順序發送相同的數據包。

  斷開一個TCP鏈接則須要「四次揮手」。

  第一次揮手:主動關閉發送方一個FIN,用來關閉主動方到被動關閉方的數據傳遞,也就是主動關閉方告訴被動關閉方:我已經不會再給你發數據了(固然,在fin包以前發送出去的數據,若是沒有收到對應的ack確認報文,主動關閉方依然會重發這些數據),可是,此時主動關閉方還能夠接受數據。

      第二次揮手:被動關閉方收到FIN包後,發送一個ACK給對方,確認序號爲收到序號+1(與SYN相同,一個FIN佔用一個序號)。

  第三次揮手:被動關閉方發送一個FIN,用來關閉被動關閉方到主動關閉方的數據傳送,也就是告訴主動關閉方個人數據也發送完了,不會再給你發數據了。

  第四次揮手:主動關閉方收到FIN後,發送一個ACK給被動關閉方,確認序號爲收到序號+1,至此,完成四次揮手。

相關文章
相關標籤/搜索