兩類傳輸協議:TCP,UDP

來源:互聯網
上載者:User

標籤:位元組   必須   udp協議   沒有   鎖定   連線導向   視頻   簡單   資料報   

1) TCP是Transfer Control Protocol的簡稱,是一種連線導向的保證可靠傳輸的協議。通過TCP協議傳輸,得到的是一個順序的無差錯的資料流。發送方和接收方的成對的兩個socket之間必須建立串連,以便在TCP協議的基礎上進行通訊,當一個socket(通常都是server socket)等待建立串連時,另一個socket可以要求進行串連,一旦這兩個socket串連起來,它們就可以進行雙向資料轉送,雙方都可以進行發送或接收操作.[這是一種典型的服務端與用戶端進行互動的模型]

TCP是一個基於串連的協議,它能夠提供兩台電腦之間的可靠的資料流。HTTP、FTP、Telnet等應用都需要這種可靠的通訊通道。

連接埠號碼是什麼東西呢?一個機器有固定的IP地址,我們可以通過IP地址來找到對應的機器,但是機器上運行著多個程式,我們不知道要對機器上的哪一個程式進行通訊?(比如說同時運行msn和QQ,我們不能把qq的資訊發送到msn上去),所以就有連接埠號碼來唯一的確定一台機器上的某一個程式。連接埠是一個數字,在0~65535之間,其中0~1024的連接埠號碼一般被系統的應用程式佔用了,所以建議使用靠後面的連接埠號碼數字,比如5000。

確定好IP地址和對應的連接埠號碼之後我們就可以鎖定使用者的程式了,而不會對不相關的程式有任何關聯了。如106-3所示:伺服器總是有一個線程在監聽者某一個連接埠號碼,一旦服務端與用戶端串連好之後,伺服器就會另起一個線程,來保證這條線路資料的傳遞正常。這種就是通過I/O進行資料的串連,而且也是位元組流,因為我們必須通過網路來傳送檔案,音頻,視頻資料等,而這些資料都是二進位形式,而不是字元資訊。當然如果可以確定是字串的話,可以進行字元流的傳輸。

2) UDP是User Datagram Protocol的簡稱,是一種不需連線的協議,每個資料報都是一個獨立的資訊,包括完整的源地址或目的地址,它在網路上以任何可能的路徑傳往目的地,因此能否到達目的地,到達目的地的時間以及內容的正確性都是不能被保證的。

UDP是從一台電腦向另一台電腦發送稱為資料報的獨立資料包的協議,該協議並不保證資料報是否能正確地到達目的地。它是一個非連線導向的協議。

  • 下面我們對這兩種協議做簡單比較:

使用UDP時,每個資料報中都給出了完整的地址資訊,因此無需要建立發送方和接收方的串連。對於TCP協議,由於它是一個連線導向的協議,在socket之間進行資料轉送之前必然要建立串連,所以在TCP中多了一個串連建立的時間。

使用UDP傳輸資料時是有大小限制的,每個被傳輸的資料報必須限定在64KB之內。而TCP沒有這方面的限制,一旦串連建立起來,雙方的socket就可以按統一的格式傳輸大量的資料。UDP是一個不可靠的協議,發送方所發送的資料報並不一定以相同的次序到達接收方。而TCP是一個可靠的協議,它確保接收方完全正確地擷取發送方所發送的全部資料。

總之,TCP在網路通訊上有極強的生命力,例如遠端連線(Telnet)和檔案傳輸(FTP)都需要不定長度的資料被可靠地傳輸。相比之下UDP操作簡單,而且僅需要較少的監護,因此通常用於區域網路高可靠性的分散系統中client/server應用程式。

既然有了保證可靠傳輸的TCP協議,為什麼還要非可靠傳輸的UDP協議呢?主要的原因有兩個。一是可靠的傳輸是要付出代價的,對資料內容正確性的檢驗必然佔用電腦的處理時間和網路的頻寬,因此TCP傳輸的效率不如UDP高。二是在許多應用中並不需要保證嚴格的傳輸可靠性,比如視頻會議系統,並不要求音頻視頻資料絕對的正確,只要保證連貫性就可以了,這種情況下顯然使用UDP會更合理一些。

兩類傳輸協議:TCP,UDP

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.