Download - 第 3 章 應用層的功能和通 訊協定
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
第 3章 應用層的功能和通 訊協定
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
學習目標
在學習本章之後,讀者將可以回答下列的問題: OSI 模型的較高三階層功能,是如何為終端使用者的
應用提供網路服務?
TCP/IP 應用層的通訊協定,是如何提供 OSI 模型的上三階層服務?
人們如何使用應用層在資訊網路之間進行通訊? TCP/IP 的應用功能中,如全球資訊網、電子郵件及
其相關服務( HTTP 、 DNS 、 SMB 、 DHCP 、 STMP/POP 及 Telnet )等的功能為何?
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
學習目標(續)
哪些檔案共享程序是採用同儕式( peer-to-peer )應用和 Gnutella 協定?
通訊協定是如何確保一種設備上的服務,能夠與多種不同的網路設備進行資料的傳送和接收?
如何使用網路分析工具,來檢查和解釋常見的使用者應用的運作方式?
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
學習目標(續)
「開放系統互連」( OSI )模型的階層架構,可以讓我們更加容易地了解網路的通訊機制
在本章中,將專注於第七階層,也就是應用層及其元件
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
學習目標(續)
圖 3-1 人們與資料網路的介面
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用:網路之間的介面
二項重要的概念: 應用層: OSI 模型的應用層是將資料傳進網路的第
一個步驟 應用軟體:應用軟體是供人們透過網路來進行通訊
的程式。應用軟體的範例,如 HTTP 、 FTP 、電子郵件及其它軟體,可以說明其與應用層之間的差異
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用:網路之間的介面(續)
OSI 和 TCP/IP 模型 應用層軟體 使用者應用程式、服務和應用層協定 應用層通訊協定功能
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
OSI 和 TCP/IP 模型
「開放系統互連」的參考模式是採用一種階層、抽象的表達方式,能夠指引網路協定的設計
七個邏輯階層 TCP/IP 應用階層的通訊協定功能大致是符合
OSI 模型的上三個階層:應用層、表達層及會談層
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
OSI 和 TCP/IP 模型(續)
圖 3-2 OSI 封裝程序
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
OSI 和 TCP/IP 模型(續)
圖 3-3 OSI 與 TCP/IP 模型
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
OSI 和 TCP/IP 模型(續)
表達層 針對應用層資料進行編碼和轉換 壓縮的資料 進行資料的加密( encryption ),並在目的端進行
資料的解密( decryption ) 著名的視訊標準有 QuickTime 和 Motion Picture E
xperts Group ( MPEG ) 著名的圖形影像格式,有 GIF ( Graphics Intercha
nge Format )、 JPEG ( Joint Photographic Experts Group )和 TIFF ( Tagged Image File Format )
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
OSI 和 TCP/IP 模型(續)
會談層 建立和維護來源和目的應用之間的對話
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
OSI 和 TCP/IP 模型(續)
TCP/IP 應用階層協定 網域名稱服務通訊協定( DNS )用於將網際網路
名稱解析成 IP 位址 超文字傳輸通訊協定( HTTP )用於傳輸 Web 網
頁的檔案 簡易訊息傳送通訊協定( SMTP )用於傳送郵件訊
息和附件 終端機模擬通訊協定( Telnet )用於提供伺服器和
網路設備之間的遠端存取 檔案傳輸通訊協定( FTP )用於系統之間的檔案
傳輸
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用層軟體
人際網路與基礎資料網路之間的介面 每個載入到設備上的程式,皆稱之為一個程序
( process ) 有兩種可以存取網路的軟體程式或程序:應用
程式和服務
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用層軟體(續)
圖 3-4 軟體程序
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用層軟體(續)
網路相關的應用程式 某些應用程式是網路相關的程式
應用層服務 其它的程式可能會需要應用層服務( Application la
yer services )的協助,方能使用網路上的資源 每項應用或網路服務的通訊協定,都會明訂所使用
的標準和資料格式
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
使用者應用程式、服務和應用層協定
應用層所使用的通訊協定是實現於應用程式和服務之中
應用程式提供人們建立訊息的方法,應用層服務可以建立一個網路介面
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
使用者應用程式、服務和應用層協定(續)
圖 3-5 人們與資料網路之間的介面
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用層通訊協定功能
可以在載入於設備上的應用與服務之間,建立一致的規則以方便資料的交換
可以指定訊息內的資料結構,以及來源端與目的端之間所傳送之訊息的類型
可以定義訊息的對話( dialogues )
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用與服務的提供
用戶端/伺服器模型 應用層的服務與通訊協定 同儕網路和應用
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
用戶端/伺服器模型
請求資訊的設備稱之為用戶端,回應請求的設備稱之為伺服器
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
用戶端/伺服器模型
圖 3-6 用戶端/伺服器模型
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
伺服器
伺服器是一組電腦設備,可以回應用戶端應用程式的請求
伺服器通常會執行一個稱之為「伺服器精靈」( server daemon )的服務或程序
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
伺服器
圖 3-7 伺服器
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用層的服務與通訊協定
一個單獨的應用程式可能會使用到許多不同的應用層服務
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用層的服務與通訊協定(續)
圖 3-8 多位用戶端的服務請求
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
同儕( P2P )網路和應用程式
同儕網路 在一個同儕網路中,兩部或多部電腦是透過網路來
相互連線,並且在不需要專用伺服器的狀況下可以共用資源
同儕應用程式 讓一個設備在同一個通訊中,扮演用戶端和伺服器
的角色
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
同儕網路
圖 3-9 同儕網路
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
同儕應用程式
圖 3-10 同儕應用程式
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用層協定與服務的範例 DNS ( Domain Name System ): TCP/UDP 連接埠
53 HTTP ( Hypertext Transfer Protocol ): TCP 連接埠
80 SMTP ( Simple Mail Transfer Protocol ): TCP 連接埠 25
POP ( Post Office Protocol ): UDP 連接埠 110 Telnet : TCP 連接埠 23 DHCP ( Dynamic Host Configuration Protocol ): U
DP 連接埠 67 FTP ( File Transfer Protocol ): TCP 連接埠 20 和 2
1
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
應用層協定與服務的範例(續)
DNS 服務與協定 WWW 服務和 HTTP 電子郵件服務與 SMTP/POP 通訊協定 電子郵件伺服器的程序: MTA 和 MDA FTP DHCP 檔案共用服務與 SMB 通訊協定 P2P 服務和 Gnutella 通訊協定 Telnet 服務和通訊協定
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
DNS 服務與協定
網域名稱的建立可以將數值位址,轉換成一個簡單、易於辨識的名稱
網域名稱系統( DNS )的建立是為了解析網路的網域名稱
DNS 協定所定義的自動化服務,可以比對資源名稱,並且得到所需的數值網路位址
DNS 是一項用戶端/伺服器的服務
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
DNS 服務與協定(續)
當進行一個網路設備的組態設定時,我們通常會提供一或多個 DNS 的伺服器位址
nslookup公用程式,可以讓使用者以手動方式,向名稱伺服器進行查詢
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
DNS 服務與協定(續)
圖 3-11 解析 DNS 位址
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
DNS 服務與協定(續) 名稱解析與快取
一個 DNS 伺服器可以使用「名稱精靈」( name daemon )來提供名稱的解析,通常稱之為 named (發音是 name-dee )
記錄的類型 A :終端設備的位址 NS :授權的名稱伺服器 CNAME :別名的標準名稱(或完全合格的網域名稱);此類
型是使用於單一網路位址具有多項服務時,其中每項服務都在 DNS 中有其自己的項目記載
MX :郵件交換記錄;將一個網域名稱對應到一系列的郵件交換伺服器
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
DNS 服務與協定(續)
DNS 階層 階層架構就像是一個反向樹( inverted tree ) 最上層網域分別代表組織或國家的類型
.au :澳洲 .co :哥倫比亞 .com :企業或產業 .jp :日本 .org :非營利組織
每個網域名稱是從反向樹的樹根,往下追尋的一條路徑 DNS 會採用此種階層的分散式伺服器,來儲存和維護這些資
源記錄
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
DNS 服務與協定(續)
圖 3-12 DNS 伺服器階層
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
WWW 服務和 HTTP
瀏覽器會將 URL 解譯為三個部分 http (通訊協定或方法) www.cisco.com (伺服器名稱) web-server.htm (所需的特定檔案名稱)。
三個常見的訊息類型為 GET POST PUT
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
WWW 服務和 HTTP (續)
GET 是用戶端請求資料的訊息類型 POST 和 PUT 是用來傳送的一些訊息,以供
上傳一些資料至網頁伺服器 Secure HTTP ( HTTPS )通訊協定可以用較
為安全的方式,來存取或張貼網頁伺服器的資訊
HTTPS 可以使用驗證( authentication )和加密( encryption )方式來進行保護
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
WWW 服務和 HTTP (續)
圖 3-13 使用 GET 的 HTTP 協定
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
電子郵件服務與 SMTP/POP 通訊協定 POP ( Post Office Protocol ) 和
SMTP ( Simple Mail Transfer Protocol ) POP 和 POP3 ( Post Office Protocol 3 ,郵局通訊協定第 3 版)是郵件的遞送通訊協定,也是典型之用戶端/伺服器的通訊協定
SMTP 可以管理用戶端傳送到電子郵件伺服器( MDA )的電子郵件,以及許多「電子郵件伺服器」( MTA )之間的電子郵件傳輸
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
電子郵件服務與 SMTP/POP 通訊協定(續)
圖 3-14 電子郵件用戶端
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
電子郵件伺服器的程序: MTA 和 MDA 郵件傳輸代理程式( Mail Transfer Agent ,
MTA ) 郵件傳遞代理程式( Mail Delivery Agent , M
DA ) 「郵件傳輸代理程式」( MTA )是用於轉送
電子郵件
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
電子郵件伺服器的程序: MTA 和 MDA (續)
圖 3-15 電子郵件伺服器: MTA
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
電子郵件伺服器的程序: MTA 和 MDA (續) 「郵件傳遞代理程式」( Mail Delivery Agent ,
MDA )會從「郵件傳輸代理程式」( Mail Transfer Agent , MTA )接受一則電子郵件,並且進行正確的傳遞
大部分的電子郵件通訊都會使用到 MUA 、 MTA 和 MDA 應用程式
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
電子郵件伺服器的程序: MTA 和 MDA (續)
圖 3-16 電子郵件伺服器: MDA
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
電子郵件伺服器的程序: MTA 和 MDA (續) SMTP 通訊協定的一些常見命令如下:
HELO :向 SMTP 伺服器程序指出 SMTP 用戶端的名稱
EHLO :較新版本的 HELO ,具有一些延伸服務 MAIL FROM :指出寄件者 RCPT TO :指出收件者 DATA :指出訊息的主體
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
FTP
FTP 可以在用戶端和伺服器之間,進行檔案的傳輸
從具備 FTP精靈程式( FTPd )的伺服器電腦上,進行上傳和下載檔案的動作
二條連線:一條用於命令和回覆,另一條用於實際的檔案傳輸
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
FTP (續)
圖 3-17 FTP 程序
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
DHCP
讓網路上的設備,從 DHCP 伺服器獲得 IP 位址及其他的資訊
自動指派的 IP 位址、子網路遮罩、閘道器及其他的 IP 網路參數
DHCP DISCOVER 封包 DHCP OFFER 訊息 DHCP所指派的位址是不會永久地供主機所用
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
DHCP (續)
圖 3-18 DHCP 伺服器的各種配置方法
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
DHCP (續)
DHCP 是用於一般用途的主機 固定的位址是用於網路設備 DHCP OFFER 封包 DHCP REQUEST 封包 DHCP ACK DHCP NAK 訊息
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
檔案共用服務與 SMB 通訊協定
SMB ( Server Message Block ,伺服器訊息區塊)是運作於用戶端/伺服器之間,執行檔案共用的通訊協定
「請求-應答式的通訊協定」( request-response protocol )
SMB 可以在用戶端與伺服器之間建立長期的連線
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
檔案共用服務與 SMB 通訊協定(續)
圖 3-19 使用 SMB 協定的檔案共用
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
檔案共用服務與 SMB 通訊協定(續) LINUX 和 UNIX 作業系統也提供一種可與 Micr
osoft 網路共用資源的方法,此種 SMB 版本稱之為 SAMBA
Apple Macintosh 作業系統也使用 SMB 通訊協定,來支援資源的共用
SMB 訊息可以執行下列的任務 啟動、驗證及終止會談 控制檔案和印表機的存取 容許一個應用可以從另一個設備來傳送或接收訊息
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
P2P 服務和 Gnutella 通訊協定
採用以 Gnutella 通訊協定為基礎的 P2P 應用程式,即可開放硬碟上的檔案供其他人下載
Gnutella 通訊協定制定了五種不同的封包類型 ping :設備的搜尋 pong : ping 的回覆 query :查詢檔案的位置 query hit :針對查詢的回覆 push :下載的請求
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
P2P 服務和 Gnutella 通訊協定(續)
圖 3-20 Gnutella 協定
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
Telnet 服務和通訊協定
從遠端來存取電腦系統,就如同使用直接連接的終端機一樣
每個 Telnet命令至少具有兩個位元組。第一個位元組是一個特殊字元,稱之為 IAC ( Interpret as Command )字元 ,定義下一個位元組將是命令
伺服器會執行一個服務,稱之為 Telnet精靈( Telnet daemon )
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
Telnet 服務和通訊協定(續)
Telnet 通訊協定的一些常見命令 AYT ( Are You There ) EL ( Erase Line ) IP ( Interrupt Process )
SSH ( Secure Shell )通訊協定可以提供伺服器存取的安全替代方法
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
Telnet 服務和通訊協定(續)
圖 3-21 Telnet 服務
© 2009 台灣培生教育出版 (Pearson Education Taiwan)
摘要
應用層負責一些基礎程序的直接存取 應用是一些與使用者進行互動的電腦程式 服務是一些背景程式 通訊協定提供了具結構性的共同規則 網路上的資料傳遞可以是源於用戶端向伺服器
的請求,或是設備之間的同儕模式