TCP/UDP協定

TCP/UDP協定

TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)協定屬於傳輸層協定。其中TCP提供IP環境下的數據可靠傳輸,它提供的服務包括數據流傳送、可靠性、有效流控、全雙工操作和多路復用。通過面向連線、端到端和可靠的數據包傳送。通俗說,它是事先為所傳送的數據開闢出連線好的通道,然後再進行數據傳送;而UDP則不為IP提供可靠性、流控或差錯恢復功能。一般來說,TCP對應的是可靠性要求高的套用,而UDP對應的則是可靠性要求低、傳輸經濟的套用。TCP支持的套用協定主要有:Telnet、FTP、SMTP等;UDP支持的套用層協定主要有:NFS(網路檔案系統)、SNMP(簡單網路管理協定)、DNS(主域名稱系統)、TFTP(通用檔案傳輸協定)等。

基本介紹

  • 中文名:TCP/UDP協定
  • TCP:Transmission Control Protocol
  • UDP:User Datagram Protocol
  • 類別傳輸層協定
協定簡介,連線,協定差別,

協定簡介

對於網路管理的網路安全具有至關重要的意義。比如,防火牆的作用本質就是檢測網路中的數據包,判斷其是否違反了預先設定的規則,如果違反就加以阻止。下圖就是某防毒軟體個人版防火牆軟體設定規則的界面。細心的讀者會發現,圖中的“協定”欄中有“TCP”、“UDP”等名詞。
TCP/UDP協定

連線

面向連線的TCP
“面向連線”就是在正式通信前必須要與對方建立起連線。比如你給別人打電話,必須等線路接通了、對方拿起話筒才能相互通話。
TCP(Transmission Control Protocol,傳輸控制協定)是基於連線的協定,也就是說,在正式收發數據前,必須和對方建立可靠的連線。一個TCP連線必須要經過三次“對話”才能建立起來,其中的過程非常複雜,我們這裡只做簡單、形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三次對話的簡單過程:主機A向主機B發出連線請求數據包:“我想給你發數據,可以嗎?”,這是第一次對話;主機B向主機A傳送同意連線和要求同步(同步就是兩台主機一個在傳送,一個在接收,協調工作)的數據包:“可以,你什麼時候發?”,這是第二次對話;主機A再發出一個數據包確認主機B的要求同步:“我現在就發,你接著吧!”,這是第三次對話。三次“對話”的目的是使數據包的傳送和接收同步,經過三次“對話”之後,主機A才向主機B正式傳送數據。
TCP/UDP協定
TCP協定能為應用程式提供可靠的通信連線,使一台計算機發出的位元組流無差錯地發往網路上的其他計算機,對可靠性要求高的數據通信系統往往使用TCP協定傳輸數據。
我們來做一個實驗,用計算機A(安裝Windows 2000 Server作業系統)從“網上鄰居”上的一台計算機B拷貝大小為8,644,608位元組的檔案,通過狀態欄右下角網卡的傳送和接收指標就會發現:雖然是數據流是由計算機B流向計算機A,但是計算機A仍傳送了3,456個數據包,如圖2所示。這些數據包是怎樣產生的呢?因為檔案傳輸時使用了TCP/IP協定,更確切地說是使用了面向連線的TCP協定,計算機A接收數據包的時候,要向計算機B回發數據包,所以也產生了一些通信量。
TCP/UDP協定
如果事先用網路監視器監視網路流量,就會發現由此產生的數據流量是9,478,819位元組,比檔案大小多出10.96%(如圖3所示),原因不僅在於數據包和幀本身占用了一些空間,而且也在於TCP協定面向連線的特性導致了一些額外的通信量的產生。
面向非連線的UDP協定
“面向非連線”就是在正式通信前不必與對方先建立連線,不管對方狀態就直接傳送。與手機簡訊非常相似:你在發簡訊的時候,只需要輸入對方手機號就OK了。
UDP(User Data Protocol,用戶數據報協定)是與TCP相對應的協定。它是面向非連線的協定,它不與對方建立連線,而是直接就把數據包傳送過去!
UDP適用於一次只傳送少量數據、對可靠性要求不高的套用環境。比如,我們經常使用“ping”命令來測試兩台主機之間TCP/IP通信是否正常,其實“ping”命令的原理就是向對方主機傳送ICMP數據包,然後對方主機確認收到數據包,如果數據包是否到達的訊息及時反饋回來,那么網路就是通的。例如,在默認狀態下,一次“ping”操作傳送4個數據包(如圖所示)。大家可以看到,傳送的數據包數量是4包,收到的也是4包(因為對方主機收到後會發回一個確認收到的數據包)。這充分說明了UDP協定是面向非連線的協定,沒有建立連線的過程。正因為UDP協定沒有連線的過程,所以它的通信效率高;但也正因為如此,它的可靠性不如TCP協定高。QQ就使用UDP發訊息,因此有時會出現收不到訊息的情況。
TCP/UDP協定

協定差別

tcp協定和udp協定的差別
TCP協定和UDP協定各有所長、各有所短,適用於不同要求的通信環境。TCP協定和UDP協定之間的差別如附表所示。
TCP/UDP協定

相關詞條

熱門詞條

聯絡我們