網路傳輸方式-TCP
TCP
簡介
TCP:英文全拼(Transmission Control Protocol)簡稱傳輸控制協議,它是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議.
TCP通訊需要經過建立連線、資料傳送、終止連線三個步驟。
TCP通訊模型中,在通訊開始之前,一定要先建立相關的連結,才能傳送資料,類似於生活中,”打電話”“
TCP 特點
面向連線
通訊雙方必須先建立連線才能進行資料的傳輸,雙方都必須為該連線分配必要的系統核心資源,以管理連線的狀態和連線上的傳輸。
雙方間的資料傳輸都可以通過這一個連線進行。
完成資料交換後,雙方必須斷開此連線,以釋放系統資源。
這種連線是一對一的,因此TCP不適用於廣播的應用程式,基於廣播的應用程式請使用UDP協議。
可靠傳輸
TCP採用傳送應答機制
TCP傳送的每個報文段都必須得到接收方的應答才認為這個TCP報文段傳輸成功超時重傳
傳送端發出一個報文段之後就啟動定時器,如果在定時時間內沒有收到應答就重新發送這個報文段。
TCP為了保證不發生丟包,就給每個包一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然後接收端實體對已成功收到的包發回一個相應的確認(ACK);如果傳送端實體在合理的往返時延(RTT)內未收到確認,那麼對應的資料包就被假設為已丟失將會被進行重傳。錯誤校驗
由傳送端計算,然後由接收端驗證,其目的是為了檢測資料在傳送端到接收端之間是否有改動,如果接收方檢測到校驗和有差錯,則直接丟棄這個資料包。- 流量控制和阻塞管理
流量控制用來避免主機發送得過快而使接收方來不及完全收下。
TCP 優缺點
優點:
可靠,穩定
適合傳輸大量資料
缺點:
傳輸速度慢
佔用系統資源高
TCP 使用場景
當對網路通訊質量有要求的時候,比如:整個資料要準確無誤的傳遞給對方,這往往用於一些要求可靠的應用,比如HTTP、HTTPS、FTP等傳輸檔案的協議,POP、SMTP等郵件傳輸的協議。
在日常生活中,常見使用TCP協議的應用如下:
- 瀏覽器
- QQ檔案傳輸
UDP 網路程式流程
UDP 網路程式傳送資料不需要建立連線
TCP 網路程式流程
TCP 網路程式傳送資料需要建立連線