1 / 42

第十章 UDP 與 TCP 協定

第十章 UDP 與 TCP 協定. 前言. 本章詳細介紹可快速將資料送出的 UDP 協定( User Datagram Protocol; 使用者資料元協定)、保證將資料送達接收端的 TCP 協定( Transmission Control Protocol; 傳輸控制協定)的原理、發送機制以及應用實例,並深入探討 Socket 與 TCP/IP、UDP 之間的運作過程。. 本章學習重點. UDP 協定:高速度的 UDP 協定原理 TCP 協定:可靠( Reliable) 的 TCP 協定原理 TCP 發送機制: TCP 為何穩定的原因

dayo
Download Presentation

第十章 UDP 與 TCP 協定

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. 第十章 UDP與TCP協定

  2. 前言 本章詳細介紹可快速將資料送出的UDP協定(User Datagram Protocol;使用者資料元協定)、保證將資料送達接收端的TCP協定(Transmission Control Protocol;傳輸控制協定)的原理、發送機制以及應用實例,並深入探討Socket 與TCP/IP、UDP之間的運作過程。

  3. 本章學習重點 • UDP協定:高速度的UDP協定原理 • TCP協定:可靠(Reliable)的TCP協定原理 • TCP發送機制: TCP 為何穩定的原因 • Socket: 透過類似檔案讀寫方式存取網路 • UDP應用實例: DNS 協定的應用 • TCP應用實例: SMTP 協定的應用

  4. 10.1 UDP 協定 • 位於 OSI 模型的第四層傳輸層 • 表頭簡單,僅有四個欄位,被處理的速度極快 • 與IP資料元一樣,具有: • 非連結性 : 通訊前不用先建立連線的 • 不可靠性 : 封包可能會遺失的不可靠特性 • 多被應用於快速查詢,如DNS,或影音相關領域,如網路電話 VoIP

  5. UDP 表頭 UDP 與 IP 的關係

  6. UDP 欄位 • UDP 來源埠號 : 送方的 16 位元埠號 • UDP 目的埠號 : 收方的 16 位元埠號 • UDP 資料元長度 : UDP 表頭加 UDP 資料 • UDP 檢查碼 : 用數學公式計算出檢查碼,收端可由此確認送端的封包是否有誤 • UDP 資料 : UDP 資料元所承載的資料

  7. 埠號(Port) • IP 是網際網路間主機的定址,而埠號則把此定址範圍擴大至程式與程式間 • 埠號共有 16 個位元 • 小於 1024 的埠號為系統使用 • 某些 Well-Known Port 是保留給系統或特定的應用程式,而如Web Server (http)使用埠號 80而 HTTPS 使用埠號 443

  8. 觀察 UDP 資料元

  9. 10.2 TCP 協定 • 提供穩定而又可靠的連結 • TCP 送出的資料區段都會收到對方的確認 • TCP 利用軟體技術解決 IP 層不能克服的問題 • 封包遺失 • 封包失序 • 封包重複 • 流量控制

  10. TCP 處理來自上層的訊息流

  11. TCP 欄位 • 與UDP不同之處,TCP 多了序號與確認欄位(長度各為 32 個位元)這是用來確保資料區段有無失序、遺失或重複而多加進去的欄位

  12. 10.3 TCP 發送機制 • 送端會把資料區段連同其序號一起送出 • 收端接到資料後必須回應確認給送端 • 流量與擁塞的管制 • 連線的建立與結束

  13. TCP 的序號與確認如何運作

  14. 倘若資料節遺失了怎麼辦? • 別擔心,逾時發生後,送端仍未收到確認,那麼發送端會把原來的資料再重送一次

  15. 滑動窗口如何運作 • 用來管制流量與擁塞 • 滑動窗口大小為位元組,表送端在未收到收端的確認前,送端最多能傳送的資料量大小 • 當擁塞發生時(即送端在一定時間內未收到確認) ,那麼滑動窗口就會變小,來降低流量

  16. 建立與結束連線 : 三向握手 • 握手(Handshaking):建立或結束連線前彼此所需協商的項目- 即通訊的雙方得知彼此的序號 • 接下來通訊必須從方才所得的序號開始

  17. 3 1 2 TCP 三向握手實例

  18. 10.4 Socket • 提供一條雙向而穩定的資料流至對方 • 應用程式透過類似檔案讀寫的方式來存取複雜的網路

  19. 用TCP/IP來建立主從連結 • 伺服器利用一個 Well-Known 埠號來與網路上眾多的用戶端相連,即一對多的概念 • 伺服器與用戶端間的連線各自獨立,即某一用戶端當線也不會影響其他的用戶端與伺服器的連線 • Well-Know 埠號可定義於服務檔

  20. TCP/IP 主從架構示意圖

  21. 用UDP/IP 來建立主從連結 • 以 UDP 為協定的伺服器端不用如TCP需先建立連線便可以收到來自用戶端的資料或請求 • 特色 • 非連結性 : 傳收錢後,無需建立連結 • 處理速度快 : 無需確認封包 • Well-Know 埠號可定義於電腦內的服務檔案

  22. UDP/IP 主從架構示意圖 用戶端

  23. 10.5 UDP 應用實例 • 這是個 DNS 查詢的應用,埠號為 53 • 藉由此實例,您可了解 UDP 封包具有 • 不必先建立連結 • 沒有使用序號 • 沒有確認號碼 • 斷線不必送出封包 • UDP封包-簡單與快速

  24. 發出DNS/UDP/IP 請求

  25. 收到DNS請求之回應

  26. 10.6 TCP 應用實例 • 使用 SMTP 協定,請參閱 RFC 821 • Mail Server 為 ms9.hinet.net • 其IP位址為 168.95.4.90 • 其埠號 (SMTP)為 25 • 可了解 TCP 與 SMTP 實際運作的情況

  27. SMTP 命令

  28. 執行SMTP後所得的結果

  29. 步驟一

  30. 步驟二

  31. 步驟三

  32. 步驟四

  33. 步驟五

  34. 步驟六

  35. 步驟七

  36. 步驟八

  37. 步驟九

  38. 步驟十

  39. 步驟十一

  40. 步驟十二

  41. Chapter-10 The End

More Related