複製鏈接
請複製以下鏈接發送給好友

應用層

(因特網)

鎖定
應用層也稱為應用實體(AE),它由若干個特定應用服務元素(SASE)和一個或多個公用應用服務元素(CASE)組成。每個SASE提供特定的應用服務,例如文件運輸訪問和管理(FTAM)、電子文電處理(MHS)、虛擬終端協議(VAP)等。CASE提供一組公用的應用服務,例如聯繫控制服務元素(ACSE)、可靠運輸服務元素(RTSE)和遠程操作服務元素(ROSE)等。
中文名
應用層
外文名
Application layer
其他稱謂
應用實體(AE)
釋    義
是七層OSI模型的第七層
特    點
標準最多最不成熟
協議舉例
DNS、HTTP等

應用層基本簡介

開放式系統互連 (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):該層為用於通信的應用程序和用於消息傳輸的底層網絡提供接口。 [1] 
網絡應用是計算機網絡存在的原因,而應用層正是應用層協議得以存在和網絡應用得以實現的地方。
應用層 應用層
應用層Application layer)是七層OSI模型的第七層。應用層直接和應用程序接口並提供常見的網絡應用服務。應用層也向表示層發出請求。應用層是開放系統的最高層,是直接為應用進程提供服務的。其作用是在實現多個系統應用進程相互通信的同時,完成一系列業務處理所需的服務.其服務元素分為兩類:公共應用服務元素CASE和特定應用服務元素SASE.
CASE提供最基本的服務,它成為應用層中任何用户和任何服務元素的用户,主要為應用進程通信,分佈系統實現提供基本的控制機制;特定服務SASE則要滿足一些特定服務,如文卷傳送,訪問管理,作業傳送,銀行事務,訂單輸入等。這些將涉及到虛擬終端,作業傳送與操作,文卷傳送及訪問管理,遠程數據庫訪問,圖形核心系統,開放系統互連管理等等。 [2] 
應用層的軟件
1、 網絡感知應用程序:
應用程序是指人們用於網絡通信的軟件程序。有些終端用户應用程序是網絡感知程序,即這些程序實現應用層協議,並可直接與協議棧的較低層通信。電子郵件客户程序和 Web 瀏覽器就屬於這種類型的應用程序。
2、 應用層服務[1]
如何實現一個網絡應用
1. 選擇一個合適的網絡應用體系結構;
2. 根據所選的網絡應用體系結構,確定客户進程和服務器進程;
3. 確定客户進程和服務器進程的端口號;
4. 確定客户進程和服務器進程的IP地址;
5. 選擇一個合適的應用層協議;
6. 考慮網絡應用所需的服務。 [3] 

應用層功能特點

屬於應用的概念和協議發展得很快,使用面又很廣泛,這給應用功能的標準化帶來了複雜性和困難性。比起其它層來説,應用層需要的標準最多,但也是最不成熟的一層。但隨着應用層的發展,各種特定應用服務的增多,應用服務的標準化開展了許多研究工作,ISO已制定了一些國際標準(IS)和國際標準草案(DIS)。因此,通過介紹一些具有通用性的協議標準,來描述應用層的主要功能及其特點。
主要是提供網絡任意端上應用程序之間的接口

應用層運輸訪問和管理

文件運輸與遠程文件訪問是任何計算機網絡最常用的兩種應用。文件運輸與遠程訪問所使用的技術是類似的,都可以假定文件位於文件服務器機器上,而用户是在顧客機器上並想讀、寫而整個或部分地運輸這些文件,支持大多數現代文件服務器的關鍵技術是虛擬文件存儲器,這是一個抽象的文件服務器。虛擬文件存儲給顧客提供一個標準化的接口和一套可執行的標準化操作。隱去了實際文件服務器的不同內部接口,使顧客只看到虛擬文件存儲器的標準接口,訪問和運輸遠地文件的應用程序,有可能不必知道各種各樣不兼容的文件服務器的所有細節。

應用層電子郵件

計算機網絡電子郵件的實現開始了人們通信方式的一場革命。電子郵件的吸引力,在於象電話一樣,速度快,不要求雙方都同時在場,而且還留下可供處理或多處投遞的書寫文電拷貝
ISO標誌 ISO標誌
雖然電子郵件被認為只是文件運輸的一個特例,但它有一些不為所有文件運輸所共有的特殊性質。因為,電子郵件系統首先需考慮一個完善的人機界面,例如寫作,編輯和讀取電子郵件接口,其次要提供一個運輸郵件所需的郵政管理功能,例如管理郵件表和遞交通知等。此外,電子郵件與通用文件運輸的另一個差別是,郵件文電是最高度結構化的文本。在許多系統中,每個文電除了它的內容外,還有大量的附加信息域,這些信息域包括髮送方名和地址、接收方名和地址、投寄的日期和時刻、接收復寫副本的人員表、失效日期、重要性等級、安全許可性以及其它許多附加信息。1984年CCITT制定了叫做MHS(文電處理系統)的X.400建議的一系列協議。ISO試圖把它們收進OSI的應用層,並叫做MOTIS(面向文電的正交換系統)。由於X.400結構的缺少,這種吸收不是很簡單。1988年又修改了X.400,力爭與MOTIS會聚。本章我們將介紹MHS。

應用層虛擬終端

由於種種原因,可以説終端標準化的工作已完全失敗了。解決這一問題的OSI方法是,定義一種虛擬終端,它實際上只是代有實際終端的抽象狀態的一種抽象數據結構。這種抽象數據結構可由鍵盤和計算機兩者操作,並把數據結構的當前狀態反映在顯示器上。計算機能夠查詢此抽象數據結構,並能改變此抽象數據結構以使得屏幕上出現輸出。

應用層其它功能

其它應用已經或正在標準化。在此,要介紹的是目錄服務、遠程作業錄入、圖形和信息通信。
(1)目錄服務:它類似於電子電話本,提供了在網絡上找人或查到可用服務地址的方法。
(2)遠程作業錄入:允許在一台計算機上工作的用户把作業提交到另一台計算機上去執行。
(3)圖形:具有發送如工程圖在遠地顯示和標繪的功能。
(4)信息通信:用於家庭或辦公室的公用信息服務。例如智能用户電報、電視圖文等。
聯繫控制服務元素]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 定義發送消息的方式和預期的響應;
定義與下一層之間的交互。 [1] 
參考資料