基本簡介
開放式系統互連 (Open Systems Interconnection reference,OSI) 參考模型是一種抽象的分層模型。
OSI七層網路參考模型:
Layer 7:套用層(Application Layer)
Layer 6:表示層(Presentation Layer)
Layer 5:會話層(Session Layer)
Layer 4:傳輸層(Transport Layer)
Layer 3:網路層(Network Layer)
Layer 2:數據鏈路層(Data Link Layer)
Layer 1:物理層(Physical Layer)
TCP/IP協定模型:
套用層(Application Layer);
傳輸層(Transport Layer);
Internet層/網路層;
網路接入層(Network Access Layer)
套用層(Application Layer):該層為用於通信的應用程式和用於訊息傳輸的底層網路提供接口。
網路套用是計算機網路存在的原因,而套用層正是套用層協定得以存在和網路套用得以實現的地方。
套用層(
Application layer)是七層OSI模型的第七層。套用層直接和
應用程式接口並提供常見的
網路套用服務。套用層也向
表示層發出請求。套用層是開放系統的最高層,是直接為套用進程提供服務的。其作用是在實現多個系統套用進程相互通信的同時,完成一系列業務處理所需的服務.其服務元素分為兩類:公共套用服務元素CASE和特定套用服務元素SASE.
CASE提供最基本的服務,它成為套用層中任何用戶和任何服務元素的用戶,主要為套用
進程通信,分布系統實現提供基本的控制
機制;特定服務SASE則要滿足一些特定服務,如文卷傳送,訪問管理,作業傳送,銀行事務,訂單輸入等。這些將涉及到
虛擬終端,作業傳送與操作,文卷傳送及訪問管理,遠程資料庫訪問,圖形核心繫統,
開放系統互連管理等等。
套用層的軟體
1、 網路感知應用程式:
應用程式是指人們用於網路通信的軟體程式。有些終端用戶應用程式是網路感知程式,即這些程式實現套用層協定,並可直接與協定棧的較低層通信。電子郵件客戶程式和 Web 瀏覽器就屬於這種類型的應用程式。
2、 套用層服務[1]
如何實現一個網路套用
1. 選擇一個合適的網路套用體系結構;
2. 根據所選的網路套用體系結構,確定客戶進程和伺服器進程;
3. 確定客戶進程和伺服器進程的連線埠號;
4. 確定客戶進程和伺服器進程的IP位址;
5. 選擇一個合適的套用層協定;
6. 考慮網路套用所需的服務。
功能特點
屬於套用的概念和協定發展得很快,使用面又很廣泛,這給套用功能的標準化帶來了複雜性和困難性。比起其它層來說,套用層需要的標準最多,但也是最不成熟的一層。但隨著套用層的發展,各種特定套用服務的增多,套用服務的標準化開展了許多研究工作,
ISO已制定了一些國際標準(IS)和國際標準草案(DIS)。因此,通過介紹一些具有通用性的協定標準,來描述套用層的主要功能及其特點。
主要是提供網路任意端上應用程式之間的接口。
運輸訪問和管理
檔案運輸與遠程檔案訪問是任何
計算機網路最常用的兩種套用。檔案運輸與
遠程訪問所使用的技術是類似的,都可以假定檔案位於
檔案伺服器機器上,而用戶是在顧客機器上並想讀、寫而整個或
部分地運輸這些檔案,支持大多數現代檔案伺服器的關鍵技術是虛擬檔案存儲器,這是一個抽象的檔案伺服器。虛擬檔案存儲給顧客提供一個標準化的
接口和一套可執行的標準化操作。隱去了實際檔案伺服器的不同內部
接口,使顧客只看到虛擬檔案存儲器的標準接口,訪問和運輸遠地檔案的
應用程式,有可能不必知道各種各樣不兼容的檔案伺服器的所有細節。
電子郵件
雖然
電子郵件被認為只是檔案運輸的一個特例,但它有一些不為所有檔案運輸所共有的特殊性質。因為,
電子郵件系統首先需考慮一個完善的人機界面,例如寫作,編輯和讀取
電子郵件的
接口,其次要提供一個運輸郵件所需的郵政
管理功能,例如管理郵件表和遞交
通知等。此外,
電子郵件與通用檔案運輸的另一個差別是,郵件文電是最高度結構化的
文本。在許多系統中,每個文電除了它的內容外,還有大量的附加信息域,這些信息域包括傳送方名和
地址、接收方名和地址、投寄的日期和時刻、接收複寫副本的人員表、失效日期、重要性
等級、安全許可性以及其它許多附加信息。1984年CCITT制定了叫做MHS(文電處理系統)的X.400建議的一系列協定。ISO試圖把它們收進OSI的套用層,並叫做
MOTIS(面向文電的正交換系統)。由於X.400結構的缺少,這種吸收不是很簡單。1988年又修改了X.400,力爭與
MOTIS會聚。本章我們將介紹MHS。
虛擬終端
其它功能
其它套用已經或正在標準化。在此,要介紹的是
目錄服務、遠程作業錄入、圖形和信息通信。
(1)
目錄服務:它類似於電子電話本,提供了在網路上找人或查到可用服務
地址的方法。
(2)遠程作業錄入:允許在一台計算機上工作的用戶把作業提交到另一台計算機上去執行。
(3)圖形:具有傳送如工程圖在遠地顯示和標繪的功能。
聯繫控制服務元素]ACSE和up][2]sup]提交、並發與恢復CCR b]
隨著套用層的發展,各種特定套用服務增多,當初ISO7498中定義的套用層服務已大部
分劃歸到公共套用服務元素(CASE)中去了,而且許多套用有一定數據的共同部分,幾乎
所有這些套用都需要管理連線。為了避免每一個新的套用都要重新從頭開始,ISO決定把這
些公共部分實行標準化。下面描述其中最重要的兩個。
(1)聯繫控制服務元素ACSE
聯繫控制服務元素提供套用連線的建立和正常或異常釋放的功能。
所謂聯繫是指兩個套用實體之間的連線;聯繫控制服務元素是套用層的基本核心子集
。提出以下幾個ACSE原語:
1)A一ASSOCIATE建立一個聯繫
2)A一RELEASE 釋放一個聯繫
3)A一ABORT 用戶發起的夭折
4)A一P一ABORT 提供者發起的夭折
每一條ACSE原語與相應的表示層服務原語有一一映照關係,也即套用聯繫與表示連線
是同時建立、同時釋放的。
(2)託付、並發和恢復(CCR)
CCR的主要目的就是協調若干個(相互關聯的)套用聯繫,為基本多套用聯繫的信息處
理任務提供一個安全和高效的環境。幾乎所有的需要可靠性操作的套用都使用CCR。
在CCR模型中,數據分為兩大類:安全數據和常規數據,所謂安全數據是那些能經受應
用失敗,並且在套用聯繫恢復到正常後可以重新引用的數據。通常是把安全數據存儲在外
部存儲介質中。為了保證安全數據的完整性和可靠性,對它的修改要用一些特定的規則,
例如特定的封鎖機制。所謂常規數據是那些在套用聯繫工作期間並沒有被保存在可靠存儲
區域的數據。例如在緩衝區或工作棧中。當套用聯繫受到破壞後,這些數據將不再可用。
協定舉例
DNS
DNS最早於1983由保羅.莫卡派
喬斯(Paul Mockapetris)發明;原始的技術規範在882號網際網路標準草案(RFC 882)中發布。1987年發布的第1034和1035號草案修正了DNS技術規範,並廢除了之前的第882和883號草案。在此之後對網際網路標準草案的修改基本上沒有涉及到DNS技術規範
部分的改動。
早期的域名必須以英文句號“.”結尾,,這樣DNS才能夠進行域名解析。如今
DNS伺服器已經可以自動補上結尾的句號。
當前,對於域名
長度的限制是63個字元,包括
www.和
.com或者其他的擴展名。域名同時也僅限於
ASCII字元的一個子集,這使得很多其他語言無法正確表示他們的
名字和單詞。基於Punycode碼的IDNA系統,可以將Unicode
字元串映射為有效的DNS
字元集,這已經通過了驗證並被一些
註冊機構作為一種變通的方法所採納。
HTTP
HTTP的發展是全球資訊網協會(World Wide Web Consortium)和Internet工作小組(Internet Engineering Task Force)合作的結果,(他們)最終發布了一系列的
RFC,其中最著名的就是RFC 2616。RFC 2616定義了
HTTP協定中一個現今被廣泛使用的版本——HTTP 1.1。
HTTP是一個
客戶端和伺服器端請求和應答的標準(
TCP)。客戶端是
終端用戶,伺服器端是網站。通過使用
Web瀏覽器、
網路爬蟲或者其它的工具,客戶端發起一個到伺服器上指定
連線埠(默認連線埠為80)的
HTTP請求。(我們稱這個客戶端)調
用戶代理(user agent)。應答的伺服器上存儲著(一些)資源,比如HTML檔案和
圖像。(我們稱)這個應答伺服器為源伺服器(origin server)。在用戶代理和源伺服器中間可能存在多箇中間層,比如代理,
網關,或者隧道(tunnel)。儘管
TCP/IP協定是網際網路上最流行的套用,HTTP協定並沒有
規定必須使用它和(基於)它支持的層。事實上,HTTP可以在任何其他
網際網路協定上,或者在其他網路上實現。HTTP只假定(其下層協定提供)可靠的傳輸,任何能夠提供這種保證的協定都可以被其使用。通常,由HTTP客戶端發起一個請求,建立一個到伺服器指定連線埠(默認是80連線埠)的TCP連線。HTTP伺服器則在那個
連線埠監聽客戶端傳送過來的請求。一旦收到請求,伺服器(向客戶端)發回一個
狀態行,比如"HTTP/1.1 200 OK",和(回響的)
訊息,訊息的訊息體可能是請求的檔案、錯誤訊息、或者其它一些信息。
HTTP使用TCP而不是UDP的
原因在於(打開一個)一個網頁必須傳送很多數據,而
TCP協定提供傳輸控制,按順序組織數據,和錯誤糾正。具體細節請參考‘TCP和UDP的不同’。
通過HTTP或者HTTPS協定請求的資源由
統一資源定位器(Uniform Resource Identifiers,或者,更準確一些,URI)來標識。
FTP
FTP服務一般運行在20和21兩個連線埠。連線埠20用於在客戶端和伺服器之間傳輸
數據流,而連線埠21用於傳輸
控制流,並且是
命令通向ftp伺服器的進口。當數據通過數據流傳輸時,
控制流處於空閒
狀態。而當
控制流,空閒很長時間後,客戶端的
防火牆,會將其會話置為逾時,這樣當大量數據通過防火牆時,會產生一些問題。此時,雖然檔案可以成功的傳輸,但因為控制會話,會被防火牆斷開;傳輸會產生一些錯誤。
FTP實現的目標:
促進檔案的共享(電腦程式或數據)鼓勵間接或者隱式的使用遠程計算機向用戶禁止不同
主機中各種檔案存儲系統(File system)的細節可靠和高效的傳輸數據
缺點:
密碼和檔案內容都使用明文傳輸,可能產生不希望發生的竊聽。因為必須開放一個隨機的連線埠以建立連線,當防火牆存在時,客戶端很難過濾處於主動
模式下的FTP
流量。這個問題,通過使用被動模式的FTP,得到了很大解決。伺服器可能會被告知連線一個第三方計算機的保留連線埠。此
方式在需要傳輸檔案數量很多的小檔案時,效能不好FTP雖然可以被
終端用戶直接使用,但是它是設計成被FTP客戶端程式所控制。
運行FTP服務的許多站點都開放匿名服務,在這種設定下,用戶不需要
帳號就可以登錄伺服器,默認
情況下,匿名用戶的用戶名是:“anonymous”。這個帳號不需要密碼,雖然通常要求輸入用戶的郵件
地址作為認證密碼,但這只是一些細節或者此郵件地址根本不被確定,而是依賴於
FTP伺服器的配置情況。
套用層協定為應用程式之間的通信提供規則,為確保通信暢通,源主機和目的主機上所實現的套用層協定必須一致。
套用層協定的功能:
l 為通信雙方定義過程;
l 定義訊息類型;
l 定義訊息的語法;
l 定義任何信息性欄位的含義;
l 定義傳送訊息的方式和預期的回響;
定義與下一層之間的互動。