基礎網絡概念(六)無連接的UDP協議

聲明:本文爲筆者複習計算機網絡相關知識時的摘錄,文章中的圖片及語句均出自《鳥哥的Linux私房菜》,這裏僅作爲整理自用。

喜歡鳥哥文章的朋友可以到鳥哥的主頁查看:http://linux.vbird.org/


非連接導向的 UDP 協議

UDP 的全名是:『User Datagram Protocol, 用戶數據流協議』,UDP 與 TCP 不一樣,  UDP 不提供可靠的傳輸模式,因爲他不是面向連接的一個機制,這是因爲在 UDP 的傳送過程中,接受端在接受到封包之後,不會回覆響應封包 (ACK) 給發送端,所以封包並沒有像 TCP 封包有較爲嚴密的檢查機制。至於 UDP 的表頭資料如下表所示:


TCP 封包確實是比較可靠的,因爲通過三向交握嘛!不過,也由於三向交握的緣故,TCP 封包的傳輸速度會較慢。 至於 UDP 封包由於不需要確認對方是否有正確的收到數據,故表頭數據較少,所以 UDP 就可以在 Data 處填入更多的數據了。同時 UDP 比較適合需要實時反應的一些數據流,例如影像實時傳送軟件等, 就可以使用這類的封包
傳送。也就是說,  UDP 傳輸協議並不考慮聯機要求、聯機終止與流量控制等特性, 所以使用的時機是當數據的正確性不很重要的情況,例如網絡攝影機!另外,很多的軟件其實是同時提供 TCP 與 UDP 的傳輸協議的,舉例來說,查詢主機名的 DNS 服務就同時提供了 UDP/TCP 協議。由於 UDP 較爲快速,所以我們 client 端可以先使用 UDP 來與服務器聯機。 但是當使用 UDP 聯機卻還是無法取得正確的數據時,便轉換爲較爲可靠的 TCP 傳輸協議來進行數據的傳輸囉。  這樣可以同時兼顧快速與可靠的傳輸
Tips:
那麼上課時怎麼介紹 UDP 呢?很簡單喔!鳥哥就會說:『現在老師就是在進行 UDP 的傳送,因爲老師一直講一直講, 俺也沒有注意到你有沒有聽到,也不需要等待你的響應封包!就這樣一直講!當然,你沒有聽到鳥哥講啥,我也不會知道...』
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章