java進階篇--TCP 爲什麼需要三次握手?

TCP 協議是我們每天都在使用的一個網絡通訊協議,因爲絕大部分的網絡連接都是建立在 TCP 協議上的,比如你此刻正在看的這篇文章是建立在 HTTP(Hypertext Transfer Protocol,超文本傳送協議) 應用層協議的基礎上的,而 HTTP 協議的“底層”則是建立在 TCP 的傳輸層協議上的。因此可以理解爲,你之所以能看到本篇文章就是得益於 TCP 協議的功勞。

我們本課時的面試題是,說一下 TCP 三次握手的執行流程,以及爲什麼需要三次握手?

回答:

在回答這個問題之前,首先我們需要搞清楚兩個概念,第一,什麼是 TCP?第二,什麼是 TCP 連接?只有搞明白了這兩個問題,我們才能徹底搞懂爲什麼 TCP 需要三次握手?

什麼是 TCP?

首先來說 TCP(Transmission Control Protocol,傳輸控制協議)是一個面向連接的、可靠的、基於字節流的傳輸層協議。從它的概念中我們可以看出 TCP 的三個特點:面向連接、可靠性和麪向字節流。

TCP 的特點

面向連接:是指 TCP 是面向客戶端和服務器端連接的通訊協議,使用它可以將客戶端和服務器端進行連接。

可靠性:是指無論網絡環境多差,TCP 都可以保證信息一定能夠傳遞到接收端。

TCP 之所以可以保證可靠性主要得益於兩個方面,一個是“狀態性”,另一個是“可控制性”。所謂狀態性是指 TCP 會記錄信息的發送狀態,例如,哪些數據收到了、哪些數據沒收到等狀態信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章