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

應用層協議

鎖定
應用層協議(application layer protocol)定義了運行在不同端系統上的應用程序進程如何相互傳遞報文。
中文名
應用層協議
外文名
application layer protocol
目    的
網絡進程間相互通信
類    型
請求報文和響應報文

應用層協議工作原理

應用層協議(application layer protocol)定義了運行在不同端系統上的應用程序進程如何相互傳遞報文。

應用層協議應用層協議的定義

(1)交換的報文類型,如請求報文和響應報文;
(2)各種報文類型的語法,如報文中的各個字段公共詳細描述;
(3)字段的語義,即包含在字段中信息的含義;
(4)進程何時、如何發送報文及對報文進行響應。
有些應用層協議是由RFC文檔定義的,因此它們位於公共領域。例如,web的應用層的協議HTTP(超文本傳輸協議,RFC 2616)就作為一個RFC供大家使用。如果瀏覽器開發者遵從HTTP RFC規則,所開發出的瀏覽器就能訪問任何遵從該文檔標準的web,服務器並獲取相應的web頁面。還有很多別的應用層協議是專用的.不能隨意應用於公共領域。例如,很多現有的P2P文件共享系統使用的是專用應用層協議。

應用層協議應用層協議分類

(1)域名系統(Domain Name System,DNS):用於實現網絡設備名字到IP地址映射的網絡服務。
(2)文件傳輸協議(File Transfer Protocol,FTP):用於實現交互式文件傳輸功能。
FTP是一種文件傳輸協議,它支持兩種模式:一種方式叫做 Standard (也就是 Active,主動模式),一種是 Passive (也就是 PASV,被動模式)。 Standard 模式是 FTP 的客户端發送 PORT 命令到 FTP 服務器。Passive 模式是 FTP 的客户端發送 PASV 命令到 FTP 服務器。兩種方式中數據和控制鏈路都是分開傳輸的,惟一的區別在於主動模式由服務器端發起數據鏈路的鏈接請求,而被動模式由客户端發起數據鏈路的鏈接請求。
FTP 通信過程中它的控制鏈路和數據鏈路不是在同一個端口進行通信的,而是在兩個不同的 端口獨立進行通信。首先由客户端向服務器發起控制鏈接的請求,當和服務器建立控制鏈接成功之後,在主動模式下客户端將會發一個端口號給服務器,告訴當前這次傳輸服務器所使用的數據傳輸端口,服務器收到這個信息後就向客户端發起數據鏈接請求,成功後進行當前這次的數據傳輸。在當前傳輸完成之後,該數據鏈路就被拆除了,如果客户端進行一次新的傳輸,則向服務器發送一個新的端口號,重新建立鏈接。在整個過程中,控制鏈路的鏈接一直都存在,直到 FTP 的整個通信過程結束,而數據鏈路每一次傳輸就需要建立一次新的鏈接。而被動模式過程和上述通信過程差不多,只是由客户端發起數據鏈路的建立請求。
FTP 交互的過程中,客户端通過命令字來告訴服務器相關的信息,常用的有訪問控制命令 USER,PASS,CWD,QUIT 等八種;傳輸參數命令 PORT,PASV,TYPE, STRU,MODE 五種;FTP 服務命令 RETR,STOR,LIST,ABOR 等二十種。 服務器則通過一些狀態碼告訴客户端當前服務器的反饋狀態。一般 2xx 表示當前的操作成功,3xx 表示權限問題,4xx 表示文件問題,5xx 表示服務器問題。 [1] 
(3)簡單郵件傳送協議(Simple Mail Transfer Protocol, SMTP):用於實現電子郵箱傳送功能
SMTP是一種提供可靠且有效電子郵件傳輸的協議。SMTP 是建模在 FTP 文件傳輸服務上的一種郵件服務,SMTP 服務器在默認端口 25 上監聽客户請求,主要用於傳輸系統之間的郵件信息。
SMTP 交互過程
比較簡單,首先客户端向服務器的 SMTP 服務端口發起請求,通過三次握手建立鏈接。然後服務器返回 220 的狀態碼告訴客户端當前已經準備好服務,客户端收到該狀態碼後向服務器發出 HELO 或者 EHLO 的命令告訴服務器該客户端需要的服務類型,其中 HELO 是默認的 SMTP 服務,EHLO 要求除了默認的服務之 外還要支持擴展服務。當服務器告訴客户端它所支持的服務之後,雙方用命令字和狀態碼進行交互。 [1] 
(4)超文本傳輸協議(HyperText Transfer Protocol,HTTP):用於實現WWW服務。
是一個屬於應用層的面向對象的協議,它是基於 TCP(Transfer Control Protocol, 傳輸控制協議)的可靠傳輸,採用的是客户端/服務器的工作模式。在 HTTP 通信過程中,首先由客户端向服務器發起建立鏈接的請求,通過 TCP三次握手來完成,然後客户端向服務器發出請求,告訴服務器想得到的信息。服務器通過響應返回客户端需要的信息。最後通過 TCP 四次握手關閉鏈接,從而完成一次基本的通信過程。 [1] 
(5)簡單網絡管理協議(simple Network Management Protocol,SNMP):用於管理與監視網絡設備。
(6)遠程登錄協議(Telnet):用於實現遠程登錄功能。
參考資料
  • 1.    陳佳. 應用層協議快速識別的研究與實現[D]. 北京郵電大學 2010