udp與tcp的區別

2021-07-31 04:42:25 字數 1345 閱讀 8179

tcp---

傳輸控制協議

,提供的是

面向連線

、可靠的位元組流服務。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立乙個tcp連線,之後才能傳輸資料。tcp提供超時重發,丟棄重複資料,檢驗資料,

流量控制

等功能,保證資料能從一端傳到另一端。

udp---

使用者資料報協議

,是乙個簡單的面向資料報的運輸層協議。udp不提供可靠性,它只是把應用程式傳給ip層的資料報傳送出去,但是並不能保證它們能到達目的地。由於udp在傳輸資料報前不用在客戶和伺服器之間建立乙個連線,且沒有超時重發等機制,故而

傳輸速度

很快現在internet上流行的協議是

tcp/ip協議

,該協議中對低於1024的埠都有確切的定義,他們對應著internet上一些常見的服務。這些常見的服務可以分為使用

tcp埠

(面向連線

)和使用udp埠(面向無連線)兩種。

說到tcp和udp,首先要明白「連線」和「無連線」的含義,他們的關係可以用乙個形象地比喻來說明,就是打**和寫信。兩個人如果要通話,首先要建立連線——即打**時的撥號,等待響應後——即接聽**後,才能相互傳遞資訊,最後還要斷開連線——即掛**。寫信就比較簡單了,填寫好收信人的位址後將信投入郵筒,收信人就可以收到了。從這個分析可以看出,建立連線可以在需要痛心地雙方建立乙個傳遞資訊的通道,在傳送方傳送請求連線資訊接收方響應後,由於是在接受方響應後才開始傳遞資訊,而且是在乙個通道中傳送,因此接受方能比較完整地收到傳送方發出的資訊,即資訊傳遞的可靠性比較高。但也正因為需要建立連線,使資源開銷加大(在建立連線前必須等待接受方響應,傳輸資訊過程中必須確認資訊是否傳到及斷開連線時發出相應的訊號等),獨佔乙個通道,在斷開連線錢不能建立另乙個連線,即兩人在通話過程中第三方不能打入**。而無連線是一開始就傳送資訊(嚴格說來,這是沒有開始、結束的),只是一次性的傳遞,是先不需要接受方的響應,因而在一定程度上也無法保證資訊傳遞的可靠性了,就像寫信一樣,我們只是將信寄出去,卻不能保證收信人一定可以收到。

tcp是

面向連線

的,有比較高的可靠性,

一些要求比較高的服務一般使用這個協議,如ftp、telnet、smtp、http、pop3等,而udp是面向無連線的,使用這個協議的常見服務有dns、snmp、qq等。對於qq必須另外說明一下,qq2003以前是只使用

udp協議

的,其伺服器使用8000埠,偵聽是否有資訊傳來,客戶端使用4000埠,向外傳送資訊(這也就不難理解在一般的顯ip的qq版本中顯示好友的

ip位址

資訊中埠常為4000或其後續埠的原因了),即qq程式既接受服務又提供服務,在以後的qq版本中也支援使用

tcp協議

了。

TCP與UDP的區別

面向連線的tcp 面向連線 就是在正式通訊前必須要與對方建立起連線。比如你給別人打 必須等線路接通了 對方拿起話筒才能相互通話。tcp協議能為應用程式提供可靠的通訊連線,使一台計算機發出的位元組流無差錯地發往網路上的其他計算機,對可靠性要求高的資料通訊系統往往使用tcp協議傳輸資料。面向非連線的ud...

tcp 與udp 的區別

tcp提供面向連線 可靠的位元組流服務。udp提供面向資料報的傳輸層協議。1.tcp 提供客戶與伺服器之間的連線。tcp客戶與某個伺服器建立乙個連線,再跨跨該連線與伺服器交換資料,最後終止連線。2.tcp提供可靠性。當tcp向對端傳送資料時,要求對端返回乙個確認。如果沒收到確認,tcp就自動重傳資料...

TCP與UDP的區別

tcp transmission control protocol,傳輸控制協議 是基於連線的協議,也就是說,在正式收發資料前,必須和對方建立可靠的連線。乙個tcp連線必須要經過三次 對話 才能建立起來,其中的過程非常複雜,我們這裡只做簡單 形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三...