第十章 UDP與TCP協定 前言 本章詳細介紹可快速將資料送出的UDP協定(User Datagram Protocol;使用者資料元協定)、保證將資料送達接收端的TCP協定(Transmission Control Protocol;傳輸控制協定)的原理、發送機制以及應用實例,並深入探討Socket 與TCP/IP、UDP之間的運作過程。 第十章 UDP與TCP 協定
本章學習重點 UDP協定 TCP協定 TCP發送機制 Socket UDP應用實例 TCP應用實例 第十章 UDP與TCP 協定
UDP 協定 位於 OSI 模型的第四層傳輸層 表頭簡單,僅有四個欄位,被處理的速度極快 與IP資料元一樣,具有: 通訊前不用先建立連線的非連結性 封包可能會遺失的不可靠特性 多被應用於快速查詢(Request/Reply)或影音相關領域 第十章 UDP與TCP 協定
UDP 與 IP 的關係 第十章 UDP與TCP 協定
UDP 欄位 UDP 來源埠號 : 發送端的 16 位元埠號 UDP 目的埠號 : 接收端的 16 位元埠號 第十章 UDP與TCP 協定
埠號 IP 是網際網路間主機的定址,而埠號 (Port #) 則把此定址範圍擴大至程式與程式間 埠號共有 16 個位元 某些 Well-Known Port 是保留給系統或特定的應用程式,而如Web Server (http)使用埠號 80而https使用埠號 443 第十章 UDP與TCP 協定
觀察 UDP 資料元 第十章 UDP與TCP 協定
TCP 協定 提供穩定而又可靠的連結 TCP 送出的資料區段都會收到對方的確認 TCP 利用軟體技術解決 IP 層所不能克服的問題 封包遺失 封包失序 封包重複 流量控制 第十章 UDP與TCP 協定
TCP 處理來自上層的訊息流 第十章 UDP與TCP 協定
TCP 欄位 與UDP不同之處,TCP 多了序號與確認欄位(長度各為 32 個位元)這是用來確保資料區段有無失序、遺失或重複而多加進去的欄位
TCP 發送機制 發送端會把資料區段連同其序號一起送出 接收端接到資料後必須回應確認給發送端 流量與擁塞的管制 連線的建立與結束 第十章 UDP與TCP 協定
TCP 的序號與確認如何運作 第十章 UDP與TCP 協定
倘若資料節遺失了怎麼辦? 別擔心,逾時發生後,送端仍未收到確認,那麼發送端會把原來的資料再重送一次 第十章 UDP與TCP 協定
滑動窗口如何運作 用來管制流量與擁塞 滑動窗口大小為位元組,表送端在未收到收端的確認前,送端最多能傳送的資料量大小 當擁塞發生時(即送端在一定時間內未收到確認) ,那麼滑動窗口就會變小,來降低流量 第十章 UDP與TCP 協定
建立與結束連線 : 三向握手 握手(Handshaking):建立或結束連線前彼此所需協商的項目- 即通訊的雙方得知彼此的序號 接下來通訊必須從方才所得的序號開始 第十章 UDP與TCP 協定
TCP 三向握手實例 3 1 2 第十章 UDP與TCP 協定
Socket 提供一條雙向而穩定的資料流至對方 應用程式透過類似檔案讀寫的方式來存取複雜的網路 第十章 UDP與TCP 協定
用TCP/IP來建立主從連結 伺服器利用一個 Well-Known 埠號來與網路上眾多的用戶端相連,即一對多的概念 伺服器與用戶端間的連線各自獨立,即某一用戶端當線也不會影響其他的用戶端與伺服器的連線 Well-Know 埠號可定義於服務檔 (services.txt) 第十章 UDP與TCP 協定
TCP/IP 主從架構示意圖
用UDP/IP 來建立主從連結 以 UDP 為協定的伺服器端不用如同 TCP需先建立連線便可以收到來自用戶端的資料或請求 特色 非連結性 與建立連線速度極快 Well-Know埠號可定義於服務檔 (services.txt) 第十章 UDP與TCP 協定
UDP/IP 主從架構示意圖
UDP 應用實例 這是個 DNS 查詢的應用,埠號為 53 藉由此實例,您可了解 UDP 封包具有 不必先建立連結 沒有使用序號 沒有確認號碼 斷線不必送出封包 UDP封包-簡單與快速 第十章 UDP與TCP 協定
Chapter-10 The End Computer Network 網路概論