在tcp/ip模型中,傳輸層有兩個重要協議:
tcp—傳輸控制協議(transmission control protocol)
udp—使用者資料報協議(user datagram protocol)
接下來我門看看tcp和udp的區別及應用場景
1.tcp是通訊之前需要建立連線,udp通訊不需要建立連線。
tcp在通訊之前需要進行三次握手建立連線,通訊完畢之後進行四次揮手斷開連線,這是它不同於udp的連線管理機制,保證了可靠性,缺點是建立連線和斷開連線需要開銷和時間,而且之後通訊伺服器維護連線也需要消耗資源。
udp則不需要做這些工作。
2.tcp保證通訊的可靠性,udp不保證通訊的可靠性。
tcp為了保證其通訊過程中的可靠性,引入了大量機制,比如:校驗和,序列號,確認應答,超時重傳,連線管理,流量控制,擁塞避免。
udp則相對簡單一些,只有校驗和。
3.tcp是面向位元組流,udp是面向資料報。
tcp面向位元組流,如果傳送端呼叫一次sendto,傳送100個位元組,接收端可以一次讀完,也可以讀多次,只要沒有超過接收端視窗大小。
udp面向資料報,傳送端呼叫幾次sendto,傳送資料,那麼接收端就必須相應地接收多少次,報文和報文是不能合併,也不能拆分。
4.tcp的工作效率和實時性不如udp。
tcp通訊需要建立連線,還有很多的機制去保證可靠性,就導致了tcp消耗的資源多,開銷大,工作效率和實時性不如udp。
tcp和udp協議沒有絕對的誰好誰壞,要根據具體的場景去判斷應該使用哪個協議。
tcp:應用於可靠傳輸,工作效率、實時性要求不高,但是伺服器效能要求相對較高的場景。比如:檔案傳輸,接收郵件,遠端登入。
TCP 與 UDP 的區別及應用場景
tcp transmission control protocol 又叫傳輸控制協議。udp user datagram protocol 又叫使用者資料報協議。它們都是傳輸層的協議,但兩者的機制不同,它們的區別和應用場景如下 tcp的可靠性理解 tcp的可靠性應該是相對於udp不可靠傳輸來說的,因...
TCP 與 UDP 的區別及應用場景
兩者都是通訊協議,tcp udp 是傳輸層協議,但他們的通訊機制與應用場景不同,下面來闡述兩者的區別以及它們的應用場景。tcp transmission control protocol 又叫傳輸控制協議,udp user datagram protocol 又叫使用者資料報協議,它們都是傳輸層的協...
傳輸層TCP和UDP的區別分析與應用場景
面向報文的傳輸方式是應用層交給udp多長的報文,udp就照樣傳送,即一次傳送乙個報文。因此,應用程式必須選擇合適大小的報文。若報文太長,則ip層需要分片,降低效率。若太短,會是ip太小。udp對應用層交下來的報文,既不合併,也不拆分,而是保留這些報文的邊界。這也就是說,應用層交給udp多長的報文,u...