自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

TCP協(xié)議UDP哪個更優(yōu)秀呢?具體應用實例

網(wǎng)絡 網(wǎng)絡管理
TCP(Transmission Control Protocol,傳輸控制協(xié)議)和UDP(User Data Protocol ,用戶數(shù)據(jù)報協(xié)議)都屬于TCP/IP協(xié)議簇。

 TCP(Transmission Control Protocol,傳輸控制協(xié)議)和UDP(User Data Protocol ,用戶數(shù)據(jù)報協(xié)議)都屬于TCP/IP協(xié)議簇。TCP/IP協(xié)議集包括了超文本傳輸協(xié)議(HTTP)、文本傳輸協(xié)議(FTP)、遠程登錄協(xié)議(Telnet)、internet協(xié)議(IP)、internet控制信息協(xié)議(IMCP)等,而今天要講的傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP)正是運行在協(xié)議簇的傳輸層。

 

[[276787]]

 

TCP(Transmission Control Protocol,傳輸控制協(xié)議)和UDP(User Data Protocol ,用戶數(shù)據(jù)報協(xié)議)都屬于TCP/IP協(xié)議簇。TCP/IP協(xié)議集包括了超文本傳輸協(xié)議(HTTP)、文本傳輸協(xié)議(FTP)、遠程登錄協(xié)議(Telnet)、internet協(xié)議(IP)、internet控制信息協(xié)議(IMCP)等,而今天要講的傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP)正是運行在協(xié)議簇的傳輸層。

 

電腦網(wǎng)絡:TCP協(xié)議UDP哪個更優(yōu)秀呢?具體應用實例

 

OSI協(xié)議模型、TCP/IP協(xié)議模型

TCP和UDP的區(qū)別

連接性

TCP是面向連接的協(xié)議,在收發(fā)數(shù)據(jù)前必須和對方建立可靠的連接,建立連接的3次握手、斷開連接的4次揮手,為數(shù)據(jù)傳輸打下可靠基礎;UDP是一個面向無連接的協(xié)議,數(shù)據(jù)傳輸前,源端和終端不建立連接,發(fā)送端盡可能快的將數(shù)據(jù)扔到網(wǎng)絡上,接收端從消息隊列中讀取消息段。

可靠性

TCP提供可靠交付的服務,傳輸過程中采用許多方法保證在連接上提供可靠的傳輸服務,如編號與確認、流量控制、計時器等,確保數(shù)據(jù)無差錯,不丟失,不重復且按序到達;UDP使用盡可能最大努力交付,但不保證可靠交付。

報文首部

TCP報文首部有20個字節(jié),額外開銷大;UDP報文首部只有8個字節(jié),標題短,開銷小。

 

電腦網(wǎng)絡:TCP協(xié)議UDP哪個更優(yōu)秀呢?具體應用實例

 

UDP報文結構

 

電腦網(wǎng)絡:TCP協(xié)議UDP哪個更優(yōu)秀呢?具體應用實例

 

TCP報文結構

報文傳輸

TCP協(xié)議面向字節(jié)流,將應用層報文看成一串無結構的字節(jié)流,分解為多個TCP報文段傳輸后,在目的站重新裝配;UDP協(xié)議面向報文,不拆分應用層報文,只保留報文邊界,一次發(fā)送一個報文,接收方去除報文首部后,原封不動將報文交給上層應用。

吞吐量控制

TCP擁塞控制、流量控制、重傳機制、滑動窗口等機制保證傳輸質量;UDP沒有。

雙工性

TCP只能點對點全雙工通信;UDP支持一對一、一對多、多對一和多堆垛的交互通信。

TCP和UDP的編程步驟

 

電腦網(wǎng)絡:TCP協(xié)議UDP哪個更優(yōu)秀呢?具體應用實例

 

TCP編程步驟

 

電腦網(wǎng)絡:TCP協(xié)議UDP哪個更優(yōu)秀呢?具體應用實例

 

UDP編程步驟

從上面TCP、UDP編程步驟可以看出,UDP 服務器端不需要調用監(jiān)聽(listen)和接收(accept)客戶端連接,而客戶端也不需要連接服務器端(connect)。UDP協(xié)議中,任何一方建立socket后,都可以用sendto發(fā)送數(shù)據(jù)、用recvfrom接收數(shù)據(jù),不必關心對方是否存在,是否發(fā)送了數(shù)據(jù)。

TCP和UDP的使用場景

為了實現(xiàn)TCP網(wǎng)絡通信的可靠性,增加校驗和、序號標識、滑動窗口、確認應答、擁塞控制等復雜的機制,建立了繁瑣的握手過程,增加了TCP對系統(tǒng)資源的消耗;TCP的重傳機制、順序控制機制等對數(shù)據(jù)傳輸有一定延時影響,降低了傳輸效率。TCP適合對傳輸效率要求低,但準確率要求高的應用場景,比如萬維網(wǎng)(HTTP)、文件傳輸(FTP)、電子郵件(SMTP)等。

UDP是無連接的,不可靠傳輸,盡最大努力交付數(shù)據(jù),協(xié)議簡單、資源要求少、傳輸速度快、實時性高的特點,適用于對傳輸效率要求高,但準確率要求低的應用場景,比如域名轉換(DNS)、遠程文件服務器(NFS)等。

TCP特寫

TCP是為了在不可靠的互聯(lián)網(wǎng)上提供可靠的端到端字節(jié)流而專門設計的一個傳輸協(xié)議。

互聯(lián)網(wǎng)與單個網(wǎng)絡有很大的不同,因為互聯(lián)網(wǎng)的不同部分可能有截然不同的拓補結構、帶寬、延遲、數(shù)據(jù)包大小和其他參數(shù)。TCP的設計目標是能夠動態(tài)地適應互聯(lián)網(wǎng)的這些特性,而且具備面向各種故障的健壯性。

不同主機的應用層之間經常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。

應用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)?、?位字節(jié)表示的數(shù)據(jù)流,然后TCP把數(shù)據(jù)流分區(qū)成適當長度的報文段(通常受計算連接的網(wǎng)絡的數(shù)據(jù)鏈路層的最大傳輸單元(MTU)的限制)。之后TCP把結果包傳輸給IP層,有它來通過網(wǎng)絡將包傳送給接收端實體的TCP層。

TCP為了保證不發(fā)生丟包,就給每個包一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然后

接收端實體對已成功接收到的包回一個相應的確認(ACK);如果發(fā)送端實體在合理的往返時延(RTT)內未接收到確認,那么對應的數(shù)據(jù)包就被假設為已丟失將會被進行重傳。TCP用一個校驗和函數(shù)來校驗數(shù)據(jù)是否有誤;在發(fā)送和接收時都要計算校驗。

每臺支持TCP的機器都有一個TCP傳輸實體。TCP 實體可以時一個庫過程、一個用戶進程、或者內核的一部分。在所有這些情形下,它管理TCP流,以及與IP層之間的接口。TCP傳輸實體接收本地進程的用戶數(shù)據(jù)流,將他們分割成不超過64KB(實際上去掉IP和TCP頭,通常不超過1460數(shù)據(jù)字節(jié))的分段,每個分段以單獨的IP數(shù)據(jù)報形式發(fā)送。當包含TCP數(shù)據(jù)的數(shù)據(jù)報到達一臺機器時,它們被遞交給TCP傳輸實體,TCP傳輸實體重構出原始的字節(jié)流。為簡化起見,我們有時候僅僅用TCP來代表TCP傳輸實體(一段軟件)或者TCP協(xié)議(一組規(guī)則)。根據(jù)上下文語義你應該能很清楚的推斷出其實際含義。例如,在'用戶將數(shù)據(jù)提交給TCP'這句話中,很顯然這里指的時TCP實體。

IP層并不保證數(shù)據(jù)報一定被正確的提交到接收方,也不只是數(shù)據(jù)報的發(fā)送速度有多塊。正是TCP負責紀要足夠快的發(fā)送數(shù)據(jù)報,以便使用網(wǎng)絡容量,但又不能引起網(wǎng)絡阻塞:而且,TCP超時后,要重傳沒有遞交的數(shù)據(jù)報。即使被正確遞交的數(shù)據(jù)報,也可能存在錯誤的問題,這也是TCP的責任,它必須把接收到的數(shù)據(jù)報重新裝配成正確的順序,簡言之,TCP必須提供可靠性的良好性能,這正是大多數(shù)用戶所期望的而IP又沒有提供的功能。

主要特點

當應用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)?、?位字節(jié)表示的數(shù)據(jù)流,TCP則把數(shù)據(jù)流分割成適當長度的報文。之后TCP把數(shù)據(jù)包傳遞給IP層,由它來通過網(wǎng)絡將包傳送給接收端實體的TCP層。

TCP是一種面向廣域網(wǎng)的通信協(xié)議,目的是在跨越多個網(wǎng)絡通信時,為兩個通信端點之間提供一條具有一下特點的通信方式:

(1)基于流的方式;

(2)面向連接;

(3)可靠通信方式;

(4)在網(wǎng)絡情況不佳的時候盡量降低系統(tǒng)由于重傳帶來的帶寬開銷;

(5)通信連接維護是面向的兩個端點的,而不考慮中間網(wǎng)段和節(jié)點。

為滿足TCP協(xié)議的這些特點,TCP協(xié)議做了以下規(guī)定:

①數(shù)據(jù)分片:在發(fā)送端對用戶數(shù)據(jù)進行分片,在接收端進行重組,由TCP確定分片的大小并控制分片和重組;

②到達確認:接收端接收到分片數(shù)據(jù)時,根據(jù)分片數(shù)據(jù)序號向發(fā)送端發(fā)送一個確認;

③超時重發(fā):發(fā)送方在發(fā)送分片時啟動超時定時器,如果在定時器超時之后沒有接收到對應的確認,重發(fā)分片;

④滑動窗口:TCP連接每一方的接收緩沖空間大小都固定,接收端只允許另一端發(fā)送接收端緩沖區(qū)所能接納的數(shù)據(jù),TCP在滑動窗口的基礎上提供流量控制,防止較快主機致使較慢主機的緩沖區(qū)溢出;

⑤失序處理:作為IP數(shù)據(jù)報來傳輸?shù)腡CP分片到達時可能會失序,TCP將對接收的數(shù)據(jù)進行重新排序,將接收到的數(shù)據(jù)以正確的順序交給應用層;

⑥重復處理:作為IP數(shù)據(jù)報來傳輸?shù)腡CP分片會發(fā)生重復,TCP的接收端必須丟棄重復的數(shù)據(jù);

⑦數(shù)據(jù)校驗:TCP將保持它首部和數(shù)據(jù)的校驗和,這是一個端到端的校驗和,目的是檢測數(shù)據(jù)在傳輸過程中的任何變化。如果收到分片的校驗和由差錯,TCP將丟棄這個分片,并確認接收到此報文段導致對端超時并重發(fā)。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2010-06-13 14:49:40

TCP IP協(xié)議優(yōu)化

2013-08-01 10:01:02

網(wǎng)絡協(xié)議TCP協(xié)議UDP協(xié)議

2014-12-03 14:05:01

TCPUDP

2020-07-28 08:38:10

TCPUDP協(xié)議

2010-07-07 10:45:22

TCP UDP協(xié)議

2010-07-06 15:16:34

UDP協(xié)議

2010-07-07 10:42:36

TCP UDP協(xié)議

2010-07-06 15:50:12

TCP和UDP協(xié)議

2013-05-27 10:48:16

TCPUDP傳輸協(xié)議

2010-07-07 11:02:26

TCP UDP協(xié)議服務

2010-06-28 15:45:07

UDP協(xié)議

2019-09-12 09:56:33

TCPUDPHTTP

2010-07-07 11:17:01

UDP協(xié)議應用

2019-11-29 07:53:07

DNSTCP網(wǎng)絡協(xié)議

2010-07-07 10:52:05

TCP UDP協(xié)議

2010-06-09 14:42:21

UDP協(xié)議TCP協(xié)議

2010-07-06 15:46:41

UDP協(xié)議

2010-07-08 13:19:34

UDP協(xié)議

2019-03-26 14:07:39

TCPUDPDNS

2010-06-28 10:57:07

UDP協(xié)議
點贊
收藏

51CTO技術棧公眾號