標籤:成功 udp 服務 丟失 實現 支援 處理 tcp報文 size
一、TCP:
TCP是Transmission Control Protocol的簡稱,中文名傳輸控制通訊協定。是一種連線導向的、可靠的、基於位元組流的傳輸層通訊協定。TCP通訊需要經過建立串連、資料轉送、終止串連三個步驟。通訊開始前,一定要先建立相關的連結,才能發送資料。完成資料交換後,雙方必須取消連結釋放系統資源。
TCP優點:
1、TCP採用發送應答機制
TCP發送的每個報文段都必須得到接收方的應答才認為這個TCP報文段傳輸成功
2、逾時重傳
發送端發送一個報文段後就啟動定時器,如果在定時時間內沒有收到應答就重新發送這個報文段。TCP為了保證不發生丟包,就給每個包一個序號,同時序號也保證了
接收端實體包的按序接收。然後接收端實體對已成功收到的包發回確認;發送端實體在合理返回時延內未收到確認,那麼對於的資料包就會被假設丟失,將會被進行重傳。
3、錯誤校正
TCP用一個校正和函數來檢驗資料是否有錯誤;在發送和接收時都要計算校正和
4、流量控制和阻塞管理
流量控制用來避免主機發送得過快而使接收方來不及完全收下
二、UDP
UDP是User Datagram Protocol的簡稱,中文名是使用者資料包通訊協定,是一種簡單的面向資料表的運輸層協議,在網路中用於處理資料報,是一種不需連線的協議。UDP不提供可靠串連,只負責把應用程式傳給IP層的資料報發送出去,並不能保證它們能達到目的地。由於UDP傳輸資料報前不用在使用者和伺服器之間搭建一個串連,且沒有重發機制,故而傳輸速度快。
三、TCP和UDP區別
1、基於串連與無串連
2、TCP要求系統資源較多,UDP比較少
3、UDP程式結構較簡單
4、TCP:流模式;UDP:資料報模式
5、TCP保證資料正確性,UDP可能丟包
6、TCP保證資料順序,UDP不保證
7、TCP首部開銷20位元組,UDP只有8個位元組
8、沒一條TCP串連只能是點對點的;UDP支援一對一,一對多,多對一和多對多
下一章寫pythonTCP、UDP代碼實現
python 中的UDP和TCP(1)