一、TCP: TCP是Transmission Control Protocol的簡稱,中文名傳輸控制協議。是一種面向連接的、可靠的、基於位元組流的傳輸層通信協議。TCP通信需要經過創建連接、數據傳輸、終止連接三個步驟。通信開始前,一定要先建立相關的鏈接,才能發送數據。完成數據交換後,雙方必須斷開鏈接 ...
一、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代碼實現