TCP 與UDP的異同

2021-05-23 00:54:20 字數 1306 閱讀 6214

tcp(傳輸控制協議)和udp(擁護資料報協議)是傳輸層的倆個傳輸協議,它們倆個的最大區別就是是否面向連線。 tcp包括了面向連線和可靠資料傳輸服務,在客戶端和伺服器端進行通訊前,要先交換傳輸層控制資訊,為雙方的通訊做好準備。在這個握手階段後,我們就可以認為在這倆個程序間存在乙個tcp連線,且是乙個全雙工的連線,在訊息傳送完後,應用程式會告訴tcp拆除這個連線。

說了這麼多,tcp能提供的好的服務,再看一下其缺點吧,首先,tcp不保證最小傳輸率,通俗點說,tcp不允許傳送程序以想要的速率傳送資料,受到tcp擁塞控制的調節,傳送程序有可能被迫以乙個較低的平均速率傳送。其次,tcp不提供任何延時保障,具體點說,傳送程序把資料傳入自己的tcp套接字後,這個資料將最終到達其接受套接字,但是中間所經歷的時間就不能保證了 ,花幾秒或則幾分鐘都不一定。

udp協議是乙個非面向連線的輕量級傳輸協議,具有乙個最簡單的服務模型。udp是無連線的,因此兩個程序彼此通訊之前沒有握手過程。udp協議提供不可靠的資料傳輸服務,也就是說當乙個程序往自己套接字傳送乙個訊息時,udp不能保障這個訊息回最終到達接受套接字。另外,就確實到達接收套節字的訊息而言,他們的到達順序也可能不是有序的。 udp不含擁塞控制機制,因此傳送程序能夠以任意速率往udp套接字傳送資料,儘管不能保證所有資料都到達接收套接字,但是會有相當比列的資料到達。實時應用程式的開發人員往往選擇在udp協議上執行他們的應用。與tcp類似,udp也不提供任何延遲保證。

例如以下應用層協議:

電子郵件       smtp(rfc82) tcp

遠端終端訪問 telenet              tcp

檔案傳送        ftp                   tcp

遠端檔案伺服器 nfs                tcp或udp

流多**        專屬                   udp或tcp

網際網路** 專屬                      一般為udp

通過以上列表我們看到,電子郵件,遠端終端訪問,web和檔案傳送都使用tcp協議,這些應用選擇tcp的主要原因是在於tcp提供了可靠的資料傳輸服務,能夠保證所有資料最終到達其目的地。我們還看到,網際網路**一般執行在udp協議上面,乙個網際網路**應用的倆端都得以某個最小速率跨越網路傳送資料;另外,網際網路**可以容忍資料丟失,從這個倆個條件來看,都適合udp,不需要可靠的tcp傳輸服務。

總的來說,tcp能保證傳遞全部資料,而udp不能,且他們都不提供延遲保證。他們不提供延遲保證,並不意味著時間敏感的應用不能執行在現在的網際網路上,而是應用是通過一些其他的方法來保證這些需要。

TCP協議與UDP協議的異同

tcp 傳輸控制協議 1 提供ip環境下的資料可靠傳輸 一台計算機發出的位元組流會無差錯的發往網路上的其他計算機,而且計算機a接收資料報的時候,也會向計算機b回發資料報,這也會產生部分通訊量 有效流控,全雙工操作 資料在兩個方向上能同時傳遞 多路復用服務,是面向連線,端到端的傳輸 2 面向連線 正式...

TCP與UDP的異同及各自特點

目錄 寫在前面 定義 區別相同點 特點 tcpudp 基於tcp和udp的常用協議 應用場景 此學習筆記為個人學習筆記,部分內容參考自業內官網 學習 他人部落格等,歡迎交流與指正。tcp 傳輸控制協議,transmission control protocol。是一種面向連線的 可靠的 基於位元組流...

TCP和UDP的異同點

這篇文章整理了tcp和udp的相同點和不同點,沒有非常詳細地對tcp和udp進行講解,是一些總結性內容。tcp transmission control protocol 傳輸控制協議。udp user data protocol 使用者資料報協議。1.tcp和udp的相同點 tcp和udp都是在網...