1. 程式人生 > >淺談TCP和UDP的區別

淺談TCP和UDP的區別

作為運輸層中兩個主要的協議,TCP和UDP都能嚮應用層提供通訊服務,然而它們提供的服務差別還是很大的。

1、
TCP協議是面向連線的。也就是說,應用程式在使用 TCP協議之前,必須先建立起一個 TCP連線,之後才能進行通訊活動。因此,使用 TCP協議通訊就好像是打電話,通話前先要撥號,然後等對端拿起電話,建立好連線後才能開始通話,通話結束後將電話機扣上,此時相當於斷開連線。

而 UDP協議是無連線的。不需要建立和斷開連線,傳送端可以在任何時候自由地傳送資料,這就好像用手機發資訊,它不需要號碼是正確的,全憑傳送端意願進行傳送,結果是什麼並不能保證。

2、
UDP協議支援一對一、一對多、多對一和多對多的互動通訊。 而 TCP協議僅支援一對一的互動通訊。

3、
UDP協議是面向報文的。傳送方的 UDP對應用程式交付下來的報文,再添加了首部資訊之後就向下交付給 IP層。這就是說,應用層交給 UDP多長的報文,UDP會照原樣傳送,即一次傳送一個報文。可以看出,應用程式必須控制報文的長度。

而 TCP協議是面向位元組流的,就是說雖然應用程式交付給 TCP協議的是大小若干資料塊,但是 TCP協議把這些資料看成僅僅是一連串無結構的位元組流,然後 TCP協議根據當前情況選擇性地將位元組流分組併發送。

4、
UDP協議只是在 IP服務之上增加了很少的一點功能,因此 UDP和 IP協議一樣,都是盡最大努力交付,即不保證可靠交付。

而 TCP則是可靠交付

的服務,TCP協議能保證傳送的資料無差錯、不丟失、不重複、有序到達。

相關推薦

TCPUDP區別

    一個TCP連線必須要經過三次“對話”才能建立起來,我們來看看這三次對話的簡單過程:主機A向主機B發出連線請求資料包:“我想給你發資料,可以嗎?”,這是第一次對話;主機B向主機A傳送同意連線和要求同步(同步就是兩臺主機一個在傳送,一個在接收,協調工作)的資料包:“可以,你什麼時候發?”,這是第二次對話;

TCPUDP區別

作為運輸層中兩個主要的協議,TCP和UDP都能嚮應用層提供通訊服務,然而它們提供的服務差別還是很大的。 1、 TCP協議是面向連線的。也就是說,應用程式在使用 TCP協議之前,必須先建立起一個 TCP連線,之後才能進行通訊活動。因此,使用 TCP協議通訊就好

TCPUDP區別

TCP 傳輸控制協議,提供的是面向連線、可靠的位元組流服務。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立一個TCP連線,之後才能傳輸資料。TCP提供超時重發,丟棄重複資料,檢驗資料,流量控制等功能,保證資料能從一端傳到另一端。 UDP—使用者資料報協

網路安全-->TCPUDP區別

TCP簡介 請參考網路安全--淺談TCP協議 UDP簡介 請參考網路安全--淺談UDP協議 TCP與UDP的區別 TCP是面向連

HiveHBase區別

但是 hql 應該 hdf 目前 http 返回 最重要的 hadoop基礎 出處: http://www.cnblogs.com/zlslch/p/5659641.html . 兩者分別是什麽?   Apache Hive是一個構建在Hadoop基礎設施之上的數

memcacheredis區別

寫到 應對 狀態 rdb lis lte 而在 mage 內存池 memcache和redis區別 memcach簡介 Memcache時一個內存對象緩存系統,用於加速動態web應用程序,減輕數據庫負載。它可以應對任意多個連接,使用非阻塞的網絡I/O,工作機制:在內存中開辟

Python2Python3區別

1.首先編碼;   Python2 :   (1).預設編碼是ASCII碼型別,如果發現其他編碼非ASCII編碼是通常會報錯 UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in ran

計算機網路_UDP程式設計流程&TCPUDP區別

一、 流程 1.1 伺服器端 int socket(int domain,  int type,  int pro);  //步驟一、生成套接字 int bind(int sockfd,  struct sockaddr* serad

TCPUDP區別

TCP和UDP的區別: TCP面向連線(如打電話要先撥號建立連線) UDP是無連線的,即傳送資料之前不需要建立連線 TCP提供可靠的服務。也就是說,通過TCP連線傳送的資料,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付 TCP面向位元組流,

TCPUDP區別小結以及步驟

TCP與UDP區別總結: 1、TCP面向連線(如打電話要先撥號建立連線);UDP是無連線的,即傳送資料之前不需要建立連線 2、TCP提供可靠的服務。也就是說,通過TCP連線傳送的資料,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付 3、TC

MysqlRedis區別

Mysql和Resdis是個經典的問題了,這次來表達一下我對其的理解。 Redis是屬於記憶體資料庫,所有的資料都儲存在記憶體中,所以執行增刪改查等操作執行速度比Mysql相比快速很多,而且支援的資料型別也較全面,支援字串,列表,hash,集合等。但是由於資料是儲存在記憶體

MySQLmariadb區別

MariaDB是MySQL原始碼的一個分支,在意識到Oracle會對MySQL許可做什麼後分離了出來(MySQL先後被Sun、Oracle收購)。除了作為一個Mysql的“向下替代品”,MariaDB包括的一些新特性使它優於MySQL。        這兩個資料庫究竟有什麼本

getWidth()getMeasureWidth()區別

一個簡單的例子: 重寫自定義View的onDraw()程式碼: oval.left=getMeasuredWidth()/2-radius; //左邊 oval.top=getMe

[例證]getWidth()getMeasureWidth()區別

一、一個簡單的例子: 重寫自定義View的onDraw()程式碼: oval.left=getMeasuredWidth()/2-radius; oval.top=getMeasuredHeight()/2 -radius;

Qt之十六:TCPUDP(之一)

一、簡介        Qt使用QtNetwork模組來進行網路程式設計,提供了一層統一的套接字抽象用於編寫不同層次的網路程式,避免了應用套接字進行網路編的繁瑣(因有時需引用底層作業系統的相關資料結構)。有較底層次的類如QTcpSocket、QTcpServer和QUdp

mmap()ioremap()的用法與區別

12只 設備 gpa 我們 之間 mmap ioremap shared set 一、mmap()mmap()函數是用來將設備內存線性地址映射到用戶地址空間。(1)首先映射基地址,再通過偏移地址尋址;(2)unsigned char *map_cru_base=(unsig

TCPUDP區別

duyuheng tcp和udp的區別TCP和UDP的區別TCP協議與UDP協議的區別 首先咱們弄清楚,TCP協議和UCP協議與TCP/IP協議的聯系,很多人犯糊塗了,一直都是說TCP/IP協議與UDP協議的區別,我覺得這是沒有從本質上弄清楚網絡通信!TCP/IP協議是一個協議簇。裏面包括很多協議的。

TCP三次握手四次分手

必須 通信 服務 嘗試 pro 標示 cnblogs 通話 應該 TCP(Transmission Control Protocol傳輸控制協議)是一種面向連接的、可靠的、基於字節流的傳輸層通信協議提供可靠的連接服務,采用三次握手確認建立一個連接,比如我們去訪問

傳輸層TCPUDP區別分析與應用場景

郵件 建立連接 模型 傳遞數據 網絡通訊 num 進行 send 個數 轉載:http://blog.csdn.net/u013777351/article/details/49226101 基本概念: 1: 面向報文 面向報文的傳輸方式是應用層交給UDP多長的報文,U

TCPUDP最完整的區別

網絡數據 sock 數據傳輸 綁定 服務 cep 數據安全 clas 廣播 TCP與UDP基本區別 1.基於連接與無連接 2.TCP要求系統資源較多,UDP較少; 3.UDP程序結構較簡單 4.流模式(TCP)與數據報模式(UDP); 5.TCP保證數據正確