名稱
tcpudp
是否連線
面向連線
面向非連線
傳輸可靠性
可靠不可靠
應用場合
傳輸大量資料
少量資料速度慢
快tcp(transmission control protocol,傳輸控制協議)是基於連線的協議,也就是說,在正式收發資料前,必須和對方建立可靠的連線。
udp(user data protocol,使用者資料報協議)是與tcp相對應的協議。它是面向非連線的協議,它不與對方建立連線,而是直接就把資料報傳送過去!
乙個tcp連線必須要經過三次「對話」才能建立起來,其中的過程非常複雜,我們這裡只做簡單、形象的介紹,你只要做到能夠理解這個過程即可。
我們來看看這三次對話的簡單過程:主機a向主機b發出連線請求資料報:「我想給你發資料,可以嗎?」,這是第一次對話;主機b向主機a傳送同意連線和要求同步(同步就是兩台主機乙個在傳送,乙個在接收,協調工作)的資料報:「可以,你什麼時候發?」,這是第二次對話;主機a再發出乙個資料報確認主機b的要求同步:「我現在就發,你接著吧!」,這是第三次對話。三次「對話」的目的是使資料報的傳送和接收同步,經過三次「對話」之後,主機a才向主機b正式傳送資料。
udp適用於一次只傳送少量資料、對可靠性要求不高的應用環境。
比如,我們經常使用「ping」命令來測試兩台主機之間tcp/ip通訊是否正常,其實「ping」命令的原理就是向對方主機傳送udp資料報,然後對方主機確認收到資料報,如果資料報是否到達的訊息及時反饋回來,那麼網路就是通的。例如,在預設狀態下,一次「ping」操作傳送4個資料報(如圖2所示)。大家可以看到,傳送的資料報數量是4包,收到的也是4包(因為對方主機收到後會發回乙個確認收到的資料報)。這充分說明了udp協議是面向非連線的協議,沒有建立連線的過程。正因為udp協議沒有連線的過程,所以它的通訊效果高;但也正因為如此,它的可靠性不如tcp協議高。qq就使用udp發訊息,因此有時會出現收不到訊息的情況。
tcp、udp以及http的簡單講解 - @ 小浩 -
TCP與UDP的介紹和對比
網路通訊協議是一種網路通用語言,為連線不同作業系統和不同硬體體系結構的網際網路絡提供通訊支援,是一種網路通用語言。tcp和udp tcp 傳輸控制協議,tcp協議是面向連線的通訊協議,即傳輸資料之前,在傳送端和接收端建立邏輯連線,然後再傳輸資料,它提供了兩台計算機之間可靠無差錯的資料傳輸。在tcp連...
Python 關於TCP簡介以及與UDP的區別
僅用學習參考 tcp協議,傳輸控制協議 英語 transmission control protocol,縮寫為 tcp 是一種面向連線的 可靠的 基於位元組流的傳輸層通訊協議,由ietf的rfc 793定義。tcp通訊需要經過建立連線 資料傳送 終止連線三個步驟。1.面向連線 通訊雙方必須先建立連...
TCP與UDP特性與區別
1.tcp特性 點到點,全雙工,可靠有序的位元組流,面向連線,且存在流量和擁塞控制。1.1.tcp的優點 可靠,穩定。tcp的可靠體現在tcp在傳遞資料之前,會有三次握手來建立連線,而且在資料傳遞時,有確認 視窗 重傳 擁塞控制機制,在資料傳完後,還會斷開連線用來節約系統資源。1.2.tcp的缺點 ...