Python語言TCP和UDP的優缺點及區別

2021-10-01 22:37:04 字數 981 閱讀 6418

tcp的優點: 可靠,穩定。tcp的可靠體現在tcp在傳遞資料之前,會有三次握手來建立連線,而且在資料傳遞時,有確認、視窗、重傳、擁塞控制機制,在資料傳完後,還會斷開連線用來節約系統資源。

tcp的缺點: 慢,效率低,占用系統資源高,易被攻擊。tcp在傳遞資料之前,要先建連線,這會消耗時間,而且在資料傳遞時,確認機制、重傳機制、擁塞控制機制等都會消耗大量的時間,而且要在每台裝置上維護所有的傳輸連線,事實上,每個連線都會占用系統的cpu、記憶體等硬體資源。 而且,因為tcp有確認機制、三次握手機制,這些也導致tcp容易被人利用,實現dos、ddos、cc等攻擊。

udp的優點: 快。比tcp稍安全 udp沒有tcp的握手、確認、視窗、重傳、擁塞控制等機制,udp是乙個無狀態的傳輸協議,所以它在傳遞資料時非常快。沒有tcp的這些機制,udp較tcp被攻擊者利用的漏洞就要少一些。但udp也是無法避免攻擊的,比如:udp flood攻擊。

udp的缺點: 不可靠,不穩定。因為udp沒有tcp那些可靠的機制,在資料傳遞時,如果網路質量不好,就會很容易丟包。

1、tcp面向連線(如打**要先撥號建立連線);udp是無連線的,即傳送資料之前不需要建立連線

2、tcp需要連線 傳輸速度慢,udp不需要連線 傳輸速度快

3、tcp不支援發廣播,udp支援發廣播

4、tcp對系統資源要求較多,udp對系統資源要求較少

5、tcp提供可靠的資料傳輸,udp不保證可靠的資料傳輸,易出現丟包情況

6、 tcp適合傳送大量資料,udp適合傳送少量資料

7、tcp有流量控制,udp沒有流量控制

Python中TCP和UDP用法

socket 簡稱 套接字 是程序間通訊的一種方式,它與其他程序間通訊的乙個主要不同是 它能實現不同主機間的程序間通訊,socket屬於全雙工。關於建立套接字的引數說明 socket.socket addressfamily,type address family 可以選擇 af inet 用於 i...

python網路程式設計 udp和tcp

udp伺服器import socket s socket.socket socket.af inet,socket.sock dgram s.bind 192.168.1.103 8888 while true data,addr s.recvfrom 1024 print s s str addr...

Python教程 UDP和TCP用法

udp 傳送資料 1.建立socket 套接字 2.使用socket傳送或接收資料 3.關閉套接字 import socket 1.建立socket 套接字 物件 udp socket socket.socket family socket.af inet,type socket.sock dgra...