歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> TCP與UDP協議的區別

TCP與UDP協議的區別

日期:2017/2/28 14:27:39   编辑:Linux教程

首先TCP和UDP協議都是運行在運輸層的協議。

UDP協議:用戶數據包協議

1、UDP協議是無連接的。也就說在數據發送之前並不需要建立連接(當然,在發送數據結束的時候也就不存在鏈接的釋放),因此減少了開銷和數據發送之前的時延。

2、UDP使用盡最大努力的交付,但是不保證可靠性的交付,因此主機不需要維持復雜的鏈接狀態表。

3、UDP是面向報文。發送方的UDP對於應用程序進程交下來的報文,即不合並,也不拆分,而是保留這些報文的邊界。這也就是說,應用層交付給UDP多長的報文,UDP就照樣發送,即一次發送一個報文。同時,在接收方,對於IP層交上來的UDP用戶數據報,在去除首部後就原封不動的交付給應用層的應用進程了。也就說,UDP一次交付一個完整的報文。因此報文的大小必須合適,負責會降低數據的傳輸效率。如果報文太長,在IP層需要對報文分片,就會降低IP層的效率。反之,若報文太短,UDP把它交給IP層後,會使得IP數據報的首部相對過長,同樣會降低IP層的效率。

4、UDP沒有擁塞控制

Linux程序設計之套接字:UDP http://www.linuxidc.com/Linux/2013-03/81306.htm

TCP協議:傳輸控制協議

1、TCP協議是面向連接的運輸層協議。在使用TCP協議之前,必須先建立TCP連接。

2、每個TCP連接只能有兩個端點

3、可靠性交付,由於IP層只提供無比特差錯的傳輸。

4、全雙工通信。

5、面向字節流。TCP中的“流”指的是流入到進程或從進程流出的字節序列。

TCP的FIN/RST Cookie http://www.linuxidc.com/Linux/2014-04/100906.htm

Copyright © Linux教程網 All Rights Reserved