User Datagram Protocol (UDP)

Slides:



Advertisements
Similar presentations
寻址与路由技术 IP地址 ARP协议 IP地址的扩展 Internet的组播 Internet群组管理协议 自举与动态配置 端口与套接字
Advertisements

数据通信与计算机网络 第1讲 绪论 浙江万里学院 邵鹏飞.
第 12 章 UDP 與 TCP.
TCP/UDP協定 10-1 TCP/UDP簡介 10-7 採用TCP或UDP 10-2 連接埠編號 10-8 UDP標頭格式
Chapter 12 UDP 與 TCP.
第2章 计算机网络的协议与体系结构 2.1 计算机网络体系结构的形成 2.2 协议与划分层次 2.3 计算机网络的原理体系结构
数据转发过程.
校園網路管理實電務 電子計算機中心 謝進利.
第2章 计算机网络体系结构 教学目标: 通过本章的学习,了解计算机网络体系结构和各个层次的相关协议,理解接口和服务等概念。掌握ISO/OSI模型和TCP/IP模型的各个层次及其所实现的功能。掌握IP地址的功能和划分,并对子网掩码和下一代互联网IPv6有相应的了解。
ARP and RARP 靜宜大學資工系 蔡奇偉 副教授 2006.
Mobile IP Mar.14,’03 B 黃品甄 B 范哲瑋.
学习目标: 1)理解包和包过滤 2)理解包过滤的方法 3)设置特殊的包过滤规则
TCP/IP通訊協定與網路架構 台大計資中心 李美雯
題目:十六對一多工器 姓名:李國豪 學號:B
第 12 章 UDP 與 TCP.
教师:陈有为 TCP/IP与Internet(A) 教师:陈有为
TCP協定 (傳輸層).
第 6 章 通訊協定 UDP.
Socket () and TCP client-server
TCP和UDP基本原理.
Internet Protocol (IP)
Wireless and Mobile Multimedia Networks
访问控制列表(ACL) Version 1.0.
TCP/IP Protocol Suite TCP/IP協定 第二組 投影片製作by簡嘉宏 綦凱宏 林睿敏 滕孟哲.
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
第 6 章 通訊協定 TCP.
第 2 章 TCP / IP 簡介.
Chapter 2 OSI 分層模型與 TCP/IP 通訊協定組
SQL Stored Procedure SQL 預存程序.
第四章 網路層 4-1 網路層簡介 4-2 電路交換技術 4-3 信息交換技術 4-4 分封交換技術 4-5 各種交換技術之比較
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.
考试题型 填空题(30) 选择题(20) 名词解释(10) 问答题(24) 计算题(16) 附加题(30) 成绩核算:
第4章 OSI傳輸層.
Echo Server/Client Speaker:Fang.
TCP/IP介紹 講師:陳育良 2018/12/28.
網路安全管理 期末報告 分散式阻斷服務攻擊 - DDoS 指導教授:梁明章 教授 學生:陳皓昕 A
FTP檔案上傳下載 實務與運用.
第 12 章 UDP 與 TCP 著作權所有 © 旗標出版股份有限公司.
網路安全管理 何謂「安全」(Security) 保護資產之機密性、完整性與可用性;得增加諸如可鑑別性、可歸責性、不可否認性與可靠性。
DHCP for W2K.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
Topic Introduction—RMI
第2讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
第7章 传输层协议——TCP与UDP 任课教师 卢豫开.
Westmont College 网络互连 Part 4 (传输协议, UDP and TCP, 协议端口)
Network Application Programming(3rd Edition)
3.1 通訊協定 3.2 開放系統參考模式(OSI) 3.3 公眾數據網路 3.4 TCP/IP通訊協定
網頁資料知多少? 事 實 ? 謠言?.
TCP/IP协议及其应用.
使用VHDL設計 七段顯示器 通訊工程系 一年甲班 姓名 : 蘇建宇 學號 : B
Speaker : Chang Kai-Jia Date : 2010/04/26
SOCKET( ).
如何使用Gene Ontology 網址:
探測工具:NetCat.
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
Chapter 11 使用者資料包通訊協定.
資訊安全和資訊倫理宣導 永康區復興國小教務處.
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
編輯網頁可用那些應用程式? 記事本 Word FrontPage Dreamweaver.
ZigBee PRO教學系統 CC2530 實驗.
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
班級:博碩子一甲 授課老師:鐘國家 助教:陳國政
資料表示方法 資料儲存單位.
網路安全管理個人報告 封包偽裝攻擊 A 魏兆言 2007/11/30.
ARP攻擊 A 吳峻誠.
Internet课程设计 教师:陈 妍 朱海萍 西安交通大学计算机系
指導教授 :逄愛君 資訊三 B 莊惟舜 資訊三 B 張憶婷 資訊三 B 徐嘉偉
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
第7章 传输层协议——TCP与UDP 任课教师 卢豫开.
Presentation transcript:

User Datagram Protocol (UDP) 靜宜大學資工系 蔡奇偉 副教授 2006

大綱 簡介 程序對程序通訊 埠號 插座位址 使用者資料包格式 檢查合 UDP 運作 UDP 之用途

簡介 UDP 是程序 (process) 與 IP 間資料交流的一個簡單封包格式。 提供程序對程序的資料傳輸 非預接性 (connectionless) 不具可靠性 (unreliable) 不分封資料 適合少量資料與不在乎可靠性的傳輸,如 DNS。

UDP 在 TCP/IP 協定組的位置

程序對程序通訊 IP 協定負責主機對主機的通訊。不過這樣的傳輸並不完全,該筆訊息尚須交到正確的程序手上,這就需要像 UDP 這種傳輸層協定來執行。UDP 負責將訊息交給適當的程序。下圖展示 IP 及 UDP 運作的區域:

Figure 11-3 埠號 (Port numbers) 程序用一個 0 到 65535 的整數來代表,稱為埠號。以下圖的 Daytime 服務為例, 客戶端程序的埠號為 52000,伺服端程序的埠號為 13。(伺服端程序的埠號通常是公開且固定)

Figure 11-5 IANA (Internet Assigned Numbers Authority) 負責埠號的分配與管理。IANA 把埠號分隔成下圖所示的三個區間: 由 IANA 指定與管理。 須向 IANA 註冊以避免被重複使用。 不受 IANA 控制也不用註冊,任何程序都可使用,這些號碼為短暫埠號

IP 位址與埠號 如右圖所示,傳送 UDP 資料包時, IP 標頭中的 IP 位址欄用來指定目標主機; UDP 標頭中的埠號用來選擇程序。 Figure 11-4 IP 位址與埠號 如右圖所示,傳送 UDP 資料包時, IP 標頭中的 IP 位址欄用來指定目標主機; UDP 標頭中的埠號用來選擇程序。

插座位址 (Socket addresses) Figure 11-6 插座位址 (Socket addresses) UDP 用 IP 位址與埠號在兩端形成一個連線,一個IP位址與一個埠號的組合稱為插座位址 (如下圖所示) 。在用戶端的插座位址唯一的定義用戶端的程序,同樣地,伺服端的插座位址定義伺服端的程序 。

使用者資料包格式 (User Datagram Format) Figure 11-7 使用者資料包格式 (User Datagram Format) UDP 的封包被稱為使用者資料包,它的標頭固定為 8 個位元組。下圖展示其格式:

■來源端埠號 (Source port number) 這個埠號為來源端主機上的程序所使用。長為 16 位元,其範圍從 0 到 65,535。如果來源主機為用戶端,則大多情況下,其埠號為 UDP 軟體所選出的短暫埠號。如果來源主機為伺服端,則大多數埠號碼為公認埠號。 ■目的端埠號 (Destination port number) 這個埠號為目的主機上的程序所使用。長為 16 位元。如果目的主機為伺服端,其埠號大多為公認埠號。如果目的主機為用戶端,則其號碼大多為一短暫埠號。在這種情況下,伺服端程式會從收到的要求封包中,複製其短暫埠號過來。

■長度 (Length) 本欄為 16 位元長,用來代表使用者資料包 (標頭與資料) 的總長度。16 位元可定義長度為 0 到 65,535 位元組。不過 UDP 最小長度為 8 個位元組,代表該資料包只有標頭沒有資料。因此資料的長度最多為 65,507 位元組 ( 65,535 – 20 – 8 = 65,507,20 位元組為 IP 標頭,8 位元組為 UDP 標頭)。 ■檢查和 (Checksum) 檢查和用來偵測整個使用者資料包 (包括標頭與資料) 的錯誤。

UDP 資料包中的長度欄事實上是多餘的,因為資料包將被封裝在 IP 資料包內,由 IP 中的長度欄即可推出以下公式: 不過 UDP 協定的設計者認為,直接用目的 UDP 資料包內的長度資訊來獲得 UDP 資料的長度較為有效率,這樣就不用要求 IP 軟體來提供這項資訊。我們知道,當 IP 軟體把 UDP 使用者資料包送到 UDP 層時,IP 已經把 IP 標頭部分丟掉了。

檢查合 (Checksum) UDP 檢查合計算與 IP 或 ICMP 不同,UDP 的檢查合計算包括一個虛擬標頭 (pseudoheader)、UDP 標頭及來自應用層的資料。 虛擬標頭為 IP 標頭的一部分。如果檢查合不包含虛擬標頭,使用者資料包或許能安全無誤的到達,但是如果 IP 標頭遭毀壞,就有可能會被送到別台電腦。

Figure 11-8 UDP 資料包的虛擬標頭

Figure 11-9 一個簡單 UDP 使用者資料包的檢查和計算

UDP 運作 非預接式服務 (Connectionless Services) 前面提及 UDP 提供非預接式服務,表示每個 UDP 所送出的使用者資料包都是獨立的,不同的使用者資料包即使是來自相同的程序到相同的目的程式,彼此間也沒有任何關係。使用者資料包並不編號,也沒有如同 TCP 協定一樣,有所謂的連線建立與連線結束。以 UDP 方式,表示每個使用者資料包可能以不同的路徑旅行。 非預接式的另一個現象是,使用 UDP 的程序不能以資料流 (data stream) 的方式將資料送給 UDP,且期望 UDP 將之分成數個相關聯的使用者資料包。相反的,每個程序要求要送的資料,必須比一個使用者資料包小,也就是說,送短訊息的程序應該使用 UDP。

流量與錯誤控制 UDP 是一種非常簡單、非可靠性的傳輸協定。沒有流量控制,也就是說沒有流量窗口的機制,接收者可能被湧入的訊息淹沒。 在 UDP 除了檢查合外,沒有其他錯誤控制的機制,送出者不知道是否一筆訊息掉了或是重複傳送。當接收者以檢查合偵測到錯誤時,該資料包即被丟棄。由於 UDP 沒有流量控制及錯誤控制,必須由使用 UDP 的程序來提供這些機制。

封裝及解封裝 要把訊息從一個程序送到另一個程序,UDP 協定必須將訊息封裝起來再送出,並且在接收後,解封裝取出 (如下圖)。 Figure 11-10 封裝及解封裝 要把訊息從一個程序送到另一個程序,UDP 協定必須將訊息封裝起來再送出,並且在接收後,解封裝取出 (如下圖)。

Figure 11-11 UDP 的佇列 UDP 對每一個埠號建立輸出/入佇列,來處理與對應程序間的資料交流,如下圖所示:

多工與解多工 (Multiplexing and Demultiplexing) Figure 11-12 多工與解多工 (Multiplexing and Demultiplexing) 執行 TCP/IP 協定的主機只跑一個 UDP,但是可能有好幾個程序想使用 UDP 的服務,處理這種情況,要以 UDP 多工及解多工的方式進行 (如下圖)。

UDP 之用途 適合小量資料傳送而且也不在乎流量與錯誤控制的程序。 適合內部自定流量與錯誤控制機制的程序,如 TFTP。 適合廣播與群播的傳輸層協定,因為效率較高,而且錯誤的影響不大。 使用於如 SNMP 之類的網管的程序。 使用於 RIP 之類的路徑協定。