1 / 33

Chapter 11 使用者資料包通訊協定

Chapter 11 使用者資料包通訊協定. 目標. 本章結束後,您將能夠: 可以去說明程序對程序的通訊 知道 UDP 使用者資料包的格式 可以去計算 UDP 的檢查碼 了解 UDP 的運作 知道 使用 UDP 的時機 了解 UDP 套件中的各模組. 11.1 程序對程序的通訊. 在仔細看 UDP 之前,我們先要了解 主機對主機的通訊 ( host-to-host communication ) 與 程序對程序的通訊 ( process-to-process communication ) ,以及它們之間有何不同。.

Download Presentation

Chapter 11 使用者資料包通訊協定

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 11使用者資料包通訊協定

  2. 目標 本章結束後,您將能夠: • 可以去說明程序對程序的通訊 • 知道 UDP 使用者資料包的格式 • 可以去計算 UDP 的檢查碼 • 了解 UDP 的運作 • 知道使用 UDP 的時機 • 了解 UDP 套件中的各模組

  3. 11.1 程序對程序的通訊 在仔細看 UDP 之前,我們先要了解主機對主機的通訊( host-to-host communication ) 與程序對程序的通訊 ( process-to-process communication ),以及它們之間有何不同。 本節所討論的主題包括: • 通訊埠號碼 • 插座位址

  4. 請注意: 公認埠的號碼皆小於 1024。

  5. 範例1 在 UNIX 系統中,公認埠號被儲存在 /etc/services的這個檔案中。檔案中的每一行給予某個服務的名稱及對應的公認埠號。我們可以使用 grep的系統工具來擷取指定應用所對應的那一行或多行的資料。下面顯示 TFTP 的埠號,注意TFTP 可以使用 UDP 或 TCP 服務的 69 埠號。 接下一張投影片

  6. 範例1 (續) SNMP 通訊協定使用兩個埠號 ( 161 和 162 ),來針對不同的目的,我們會在第 21 章討論。

  7. 11.2 使用者資料包 UDP 的封包被稱為使用者資料包 ( user datagram ),它的標頭固定為 8 個位元組。

  8. 請注意: UDP長度= IP長度-IP標頭長度

  9. 11.3 檢查碼 UDP 的檢查碼計算與 IP 或 ICMP 不同,UDP 的檢查碼計算包含了三個部份:一個虛擬標頭 ( pseudoheader )、UDP標頭及來自應用層的資料。 本節所討論的主題包括: • 傳送端檢查碼之計算 • 接收端檢查碼之計算 • UDP 可以使用檢查碼也可以不使用

  10. 11.4 UDP的運作 UDP 使用的概念與傳輸層共通,在這一節,我們會先簡單介紹,待下一章 TCP 通訊協定再詳細介紹。 本節所討論的主題包括: • 非預接式服務 • 流量與錯誤控制 • 封裝及拆裝 • 佇列 • 多工與解多工

  11. 11.5 UDP之用途 在本節中,我們討論一些使用 UDP 通訊協定的地方。

  12. 11.6 UDP套件 為了去說明 UDP 如何處理 UDP 封包的傳送與接收動作,我們展示一個簡易版本的 UDP 套件。 UDP 套件包含下面五個模組:控制區塊表 ( control-block table )、輸入佇列 ( input queue )、控制區塊模組 ( control-block module )、輸入模組 ( input module )及輸出模組 ( output module )。 本節所討論的主題包括: • 控制區塊表 • 輸入佇列 • 控制區塊模組 • 輸入模組 • 輸出模組

  13. 範例2 • 一開始一個目的埠號為 52,012 的使用者資料包到來。 • 輸入模組在控制區塊表中尋找並找到這個埠號,同時知道這個埠已經使用,佇列代碼為 38。 • 輸入模組將使用者資料包傳送到 38 號佇列,控制區塊表保持不變。

  14. 範例3 • 在數秒後,一個程序啟動,它向作業系統要求一個埠號,而作業系統給予此程序一個 52,014 的埠號。 • 然後該程序將其程序代碼 ( 4,978 ) 及埠號交給控制區塊模組,以便在控制區塊表中建立一個條目。 • 控制模組選用第一個空著的條目,把收到的資訊填入。此時並沒有建立相對應的佇列,因為到此目的埠的使用者資料包還沒有到來 ( 見表11.3 )。 接下一張投影片

  15. 範例4 • 一個目的埠為 52,011 的使用者資料包傳送進來。 • 輸入模組檢查表中發現目前並沒有為這個目的埠安排佇列,這是因為到這個埠號的第一個資料包現在才到。 • 這時候輸入模組便建立一個佇列,其代碼為 43 ( 見表11.4 )。 接下一張投影片

  16. 範例5 • 數秒後,一個埠號為 52,222 的使用者資料包傳送進來。 • 輸入模組在表中無法找到一個與此埠號一樣的條目,於是該使用者資料包就被丟棄。 • 同時輸入模組要求 ICMP 送出一個通訊埠無法到達的訊息給資料包的來源端。

More Related