Python 關於TCP簡介以及與UDP的區別

2021-09-28 08:32:29 字數 1449 閱讀 3418

僅用學習參考

tcp協議,傳輸控制協議(英語:transmission control protocol,縮寫為 tcp)是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議,由ietf的rfc 793定義。

tcp通訊需要經過建立連線、資料傳送、終止連線三個步驟。

1. 面向連線

通訊雙方必須先建立連線才能進行資料的傳輸,雙方都必須為該連線分配必要的系統核心資源,以管理連線的狀態和連線上的傳輸。

雙方間的資料傳輸都可以通過這乙個連線進行。

完成資料交換後,雙方必須斷開此連線,以釋放系統資源。

這種連線是一對一的,因此tcp不適用於廣播的應用程式,基於廣播的應用程式請使用udp協議。

2. 可靠傳輸

1)tcp採用傳送應答機制

tcp傳送的每個報文段都必須得到接收方的應答才認為這個tcp報文段傳輸成功

2)超時重傳

傳送端發出乙個報文段之後就啟動定時器,如果在定時時間內沒有收到應答就重新傳送這個報文段。

tcp為了保證不發生丟包,就給每個包乙個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然後接收端實體對已成功收到的包發回乙個相應的確認(ack);如果傳送端實體在合理的往返時延(rtt)內未收到確認,那麼對應的資料報就被假設為已丟失將會被進行重傳。

3)錯誤校驗

tcp用乙個校驗和函式來檢驗資料是否有錯誤;在傳送和接收時都要計算校驗和。

流量控制和阻塞管理

流量控制用來避免主機傳送得過快而使接收方來不及完全收下。

python學習 Python簡介以及執行環境

python語言是全世界幾百種程式語言中的乙個,誕生時間不算長,但是現在已經成為很熱門的語言,近幾年在tiobe排行榜一直呈現上公升趨勢,截止19年2月,python已經超過c 成為排名第三的語言。計算機是不能理解高階語言的,當然也就不能直接執行高階語言了。計算機只能直接理解機器語言,所以任何高階語...

TCP和UDP協議的簡介以及區別

tcp 傳輸控制協議 這是乙個面向連線的傳輸協議,在傳送資料之前,要和對方建立可靠的連線。乙個tcp連線必須經過三次握手才能建立,經過四次揮手才能斷開。三次握手 客戶端向伺服器傳送syn請求建立連線 伺服器向客戶端傳送syn以及ack確定是否建立連線?客戶端向伺服器傳送ack確定建立連線。四次握手 ...

TCP協議簡介

面向位元組流的含義是 雖然應用程式和tcp的互動是乙個乙個的資料塊,但是tcp把應用程式交下的資料看成僅僅是一串的無結構的位元組流。tcp並不知道所傳送的位元組流的含義。tcp不保證接收方應用程式所收到的資料塊和傳送方應用程式所發出的資料塊具有對用關係。tcp根據對方給出的視窗值和當前網路擁塞的程度...