名詞解釋
TCP是傳輸層協(xié)議
提供端到端的可靠性傳輸:為應(yīng)用提供到應(yīng)用的能力??煽啃裕〝?shù)據(jù)保證無損傳輸)
主機(jī)到主機(jī),Host- To- Host支持全雙工(任何時刻數(shù)據(jù)都可以雙向收發(fā))
是一個連接導(dǎo)向的協(xié)議
連接:Connection(是網(wǎng)絡(luò)行為狀態(tài)的記錄),是傳輸層的概念。
數(shù)據(jù)收發(fā)雙方,在傳輸之前,需要建立一個連接收發(fā)雙方在內(nèi)存中都需要創(chuàng)建一個用于維護(hù)傳輸狀態(tài)的對象。(
IP、端口、已發(fā)送數(shù)據(jù)量?狀態(tài)健康嗎?傳輸速度如何?)會話:Session(是應(yīng)用的行為)
應(yīng)用層的概念,比如會話可以負(fù)責(zé)在多次連接中保存狀態(tài),比如HTTP Session在多次HTTP請求連接間保持狀態(tài)。
TCP協(xié)議的基本操作
- 如果一個Host主動向另一個Host發(fā)起連接,成為SYN(Synchronization),請求同步
- 如果一個Host主動斷開請求,稱為Fin(Finish),請求完成。
- 如果一個Host給另一個Host發(fā)送數(shù)據(jù),成為PSH(Push),數(shù)據(jù)發(fā)送
接收方收到數(shù)據(jù)后,都需要給發(fā)送方一個ACK(Acknowledging)響應(yīng)。
建立連接(三次過手過程):
為了保持連接的可靠性約束,TCP協(xié)議要保證每一條發(fā)出的數(shù)據(jù)必須給返回。

三次握手
TCP 是一個雙工協(xié)議,為了讓雙方都保證,建立連接的時候,連接雙方都需要向?qū)Ψ桨l(fā)送 SYC(同步請求)和 ACK(響應(yīng))。
握手階段雙方都沒有煩瑣的工作,因此一方向另一方發(fā)起同步(SYN)之后,另一方可以將自己的 ACK 和 SYN 打包作為一條消息回復(fù),因此是 3 次握手——需要 3 次數(shù)據(jù)傳輸。
四次揮手
揮手階段,雙方都可能有未完成的工作。收到揮手請求的一方,必須馬上響應(yīng)(ACK),表示接收到了揮手請求。不能夠?qū)YN和ACK合并發(fā)送,故而需要4次連接