630 likes | 748 Views
第 3 章 應用層的功能和通 訊協定. 學習目標. 在學習本章之後,讀者將可以回答下列的問題: OSI 模型的較高三階層功能,是如何為終端使用者的應用提供網路 服務? TCP/IP 應用層的通訊協定,是如何提供 OSI 模型的上三階層服務? 人們如何使用應用層在資訊網路之間進行通訊? TCP/IP 的應用功能中,如全球資訊網、電子郵件及其相關服務( HTTP 、 DNS 、 SMB 、 DHCP 、 STMP/POP 及 Telnet )等的功能為何?. 學習目標(續).
E N D
學習目標 在學習本章之後,讀者將可以回答下列的問題: • OSI模型的較高三階層功能,是如何為終端使用者的應用提供網路服務? • TCP/IP應用層的通訊協定,是如何提供OSI模型的上三階層服務? • 人們如何使用應用層在資訊網路之間進行通訊? • TCP/IP的應用功能中,如全球資訊網、電子郵件及其相關服務(HTTP、DNS、SMB、DHCP、STMP/POP及Telnet)等的功能為何?
學習目標(續) • 哪些檔案共享程序是採用同儕式(peer-to-peer)應用和Gnutella協定? • 通訊協定是如何確保一種設備上的服務,能夠與多種不同的網路設備進行資料的傳送和接收? • 如何使用網路分析工具,來檢查和解釋常見的使用者應用的運作方式?
學習目標(續) • 「開放系統互連」(OSI)模型的階層架構,可以讓我們更加容易地了解網路的通訊機制 • 在本章中,將專注於第七階層,也就是應用層及其元件
學習目標(續) 圖3-1 人們與資料網路的介面
應用:網路之間的介面 • 二項重要的概念: • 應用層:OSI模型的應用層是將資料傳進網路的第一個步驟 • 應用軟體:應用軟體是供人們透過網路來進行通訊的程式。應用軟體的範例,如HTTP、FTP、電子郵件及其它軟體,可以說明其與應用層之間的差異
應用:網路之間的介面(續) • OSI和TCP/IP模型 • 應用層軟體 • 使用者應用程式、服務和應用層協定 • 應用層通訊協定功能
OSI和TCP/IP模型 • 「開放系統互連」的參考模式是採用一種階層、抽象的表達方式,能夠指引網路協定的設計 • 七個邏輯階層 • TCP/IP應用階層的通訊協定功能大致是符合OSI模型的上三個階層:應用層、表達層及會談層
OSI和TCP/IP模型(續) 圖3-2OSI封裝程序
OSI和TCP/IP模型(續) 圖3-3OSI與TCP/IP模型
OSI和TCP/IP模型(續) • 表達層 • 針對應用層資料進行編碼和轉換 • 壓縮的資料 • 進行資料的加密(encryption),並在目的端進行資料的解密(decryption) • 著名的視訊標準有QuickTime和Motion Picture Experts Group(MPEG) • 著名的圖形影像格式,有GIF(Graphics Interchange Format)、JPEG(Joint Photographic Experts Group)和TIFF(Tagged Image File Format)
OSI和TCP/IP模型(續) • 會談層 • 建立和維護來源和目的應用之間的對話
OSI和TCP/IP模型(續) • TCP/IP應用階層協定 • 網域名稱服務通訊協定(DNS)用於將網際網路名稱解析成IP位址 • 超文字傳輸通訊協定(HTTP)用於傳輸Web網頁的檔案 • 簡易訊息傳送通訊協定(SMTP)用於傳送郵件訊息和附件 • 終端機模擬通訊協定(Telnet)用於提供伺服器和網路設備之間的遠端存取 • 檔案傳輸通訊協定(FTP)用於系統之間的檔案傳輸
應用層軟體 • 人際網路與基礎資料網路之間的介面 • 每個載入到設備上的程式,皆稱之為一個程序(process) • 有兩種可以存取網路的軟體程式或程序:應用程式和服務
應用層軟體(續) 圖3-4 軟體程序
應用層軟體(續) • 網路相關的應用程式 • 某些應用程式是網路相關的程式 • 應用層服務 • 其它的程式可能會需要應用層服務(Application layer services)的協助,方能使用網路上的資源 • 每項應用或網路服務的通訊協定,都會明訂所使用的標準和資料格式
使用者應用程式、服務和應用層協定 • 應用層所使用的通訊協定是實現於應用程式和服務之中 • 應用程式提供人們建立訊息的方法,應用層服務可以建立一個網路介面
使用者應用程式、服務和應用層協定(續) 圖3-5 人們與資料網路之間的介面
應用層通訊協定功能 • 可以在載入於設備上的應用與服務之間,建立一致的規則以方便資料的交換 • 可以指定訊息內的資料結構,以及來源端與目的端之間所傳送之訊息的類型 • 可以定義訊息的對話(dialogues)
應用與服務的提供 • 用戶端/伺服器模型 • 應用層的服務與通訊協定 • 同儕網路和應用
用戶端/伺服器模型 • 請求資訊的設備稱之為用戶端,回應請求的設備稱之為伺服器
用戶端/伺服器模型 圖3-6 用戶端/伺服器模型
伺服器 • 伺服器是一組電腦設備,可以回應用戶端應用程式的請求 • 伺服器通常會執行一個稱之為「伺服器精靈」(server daemon)的服務或程序
伺服器 圖3-7 伺服器
應用層的服務與通訊協定 • 一個單獨的應用程式可能會使用到許多不同的應用層服務
應用層的服務與通訊協定(續) 圖3-8 多位用戶端的服務請求
同儕(P2P)網路和應用程式 • 同儕網路 • 在一個同儕網路中,兩部或多部電腦是透過網路來相互連線,並且在不需要專用伺服器的狀況下可以共用資源 • 同儕應用程式 • 讓一個設備在同一個通訊中,扮演用戶端和伺服器的角色
同儕網路 圖3-9 同儕網路
同儕應用程式 圖3-10 同儕應用程式
應用層協定與服務的範例 • 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):UDP連接埠67 • FTP(File Transfer Protocol):TCP連接埠20和21
應用層協定與服務的範例(續) • DNS服務與協定 • WWW服務和HTTP • 電子郵件服務與SMTP/POP通訊協定 • 電子郵件伺服器的程序:MTA和MDA • FTP • DHCP • 檔案共用服務與SMB通訊協定 • P2P服務和Gnutella通訊協定 • Telnet服務和通訊協定
DNS服務與協定 • 網域名稱的建立可以將數值位址,轉換成一個簡單、易於辨識的名稱 • 網域名稱系統(DNS)的建立是為了解析網路的網域名稱 • DNS協定所定義的自動化服務,可以比對資源名稱,並且得到所需的數值網路位址 • DNS是一項用戶端/伺服器的服務
DNS服務與協定(續) • 當進行一個網路設備的組態設定時,我們通常會提供一或多個DNS的伺服器位址 • nslookup公用程式,可以讓使用者以手動方式,向名稱伺服器進行查詢
DNS服務與協定(續) 圖3-11 解析DNS位址
DNS服務與協定(續) • 名稱解析與快取 • 一個DNS伺服器可以使用「名稱精靈」(name daemon)來提供名稱的解析,通常稱之為named(發音是name-dee) • 記錄的類型 • A:終端設備的位址 • NS:授權的名稱伺服器 • CNAME:別名的標準名稱(或完全合格的網域名稱);此類型是使用於單一網路位址具有多項服務時,其中每項服務都在DNS中有其自己的項目記載 • MX:郵件交換記錄;將一個網域名稱對應到一系列的郵件交換伺服器
DNS服務與協定(續) • DNS階層 • 階層架構就像是一個反向樹(inverted tree) • 最上層網域分別代表組織或國家的類型 • .au:澳洲 • .co:哥倫比亞 • .com:企業或產業 • .jp:日本 • .org:非營利組織 • 每個網域名稱是從反向樹的樹根,往下追尋的一條路徑 • DNS會採用此種階層的分散式伺服器,來儲存和維護這些資源記錄
DNS服務與協定(續) 圖3-12DNS伺服器階層
WWW服務和HTTP • 瀏覽器會將URL解譯為三個部分 • http(通訊協定或方法) • www.cisco.com(伺服器名稱) • web-server.htm(所需的特定檔案名稱)。 • 三個常見的訊息類型為 • GET • POST • PUT
WWW服務和HTTP(續) • GET是用戶端請求資料的訊息類型 • POST和PUT是用來傳送的一些訊息,以供上傳一些資料至網頁伺服器 • Secure HTTP(HTTPS)通訊協定可以用較為安全的方式,來存取或張貼網頁伺服器的資訊 • HTTPS可以使用驗證(authentication)和加密(encryption)方式來進行保護
WWW服務和HTTP(續) 圖3-13 使用GET的HTTP協定
電子郵件服務與SMTP/POP通訊協定 • POP(Post Office Protocol) 和 SMTP(Simple Mail Transfer Protocol) • POP和POP3(Post Office Protocol 3,郵局通訊協定第3版)是郵件的遞送通訊協定,也是典型之用戶端/伺服器的通訊協定 • SMTP可以管理用戶端傳送到電子郵件伺服器(MDA)的電子郵件,以及許多「電子郵件伺服器」(MTA)之間的電子郵件傳輸
電子郵件服務與SMTP/POP通訊協定(續) 圖3-14 電子郵件用戶端
電子郵件伺服器的程序:MTA和MDA • 郵件傳輸代理程式(Mail Transfer Agent,MTA) • 郵件傳遞代理程式(Mail Delivery Agent,MDA) • 「郵件傳輸代理程式」(MTA)是用於轉送電子郵件
電子郵件伺服器的程序:MTA和MDA (續) 圖3-15 電子郵件伺服器:MTA
電子郵件伺服器的程序:MTA和MDA (續) • 「郵件傳遞代理程式」(Mail Delivery Agent,MDA)會從「郵件傳輸代理程式」(Mail Transfer Agent,MTA)接受一則電子郵件,並且進行正確的傳遞 • 大部分的電子郵件通訊都會使用到MUA、MTA和MDA應用程式
電子郵件伺服器的程序:MTA和MDA (續) 圖3-16 電子郵件伺服器:MDA
電子郵件伺服器的程序:MTA和MDA (續) • SMTP通訊協定的一些常見命令如下: • HELO:向SMTP伺服器程序指出SMTP用戶端的名稱 • EHLO:較新版本的HELO,具有一些延伸服務 • MAIL FROM:指出寄件者 • RCPT TO:指出收件者 • DATA:指出訊息的主體
FTP • FTP可以在用戶端和伺服器之間,進行檔案的傳輸 • 從具備FTP精靈程式(FTPd)的伺服器電腦上,進行上傳和下載檔案的動作 • 二條連線:一條用於命令和回覆,另一條用於實際的檔案傳輸
FTP (續) 圖3-17FTP程序