36?張圖詳解應(yīng)用層協(xié)議:網(wǎng)絡(luò)世界的最強(qiáng)王者

應(yīng)用層
我們前面介紹過 TCP/IP 模型的下三層,分別是網(wǎng)絡(luò)接入層、網(wǎng)絡(luò)層和傳輸層。它們都是為應(yīng)用層服務(wù)的,傳輸應(yīng)用層的各種數(shù)據(jù),現(xiàn)在我們就來看看最高層的應(yīng)用層。



- 服務(wù)器和客戶端模型
- P2P 模型




遠(yuǎn)程登錄
網(wǎng)絡(luò)設(shè)備的管理方式,分為本地管理和遠(yuǎn)程管理。遠(yuǎn)程管理是從本地主機(jī)登錄到網(wǎng)絡(luò)對端設(shè)備,向網(wǎng)絡(luò)對端的設(shè)備發(fā)送管理數(shù)據(jù),以實(shí)現(xiàn)設(shè)備管理的操作方式。通過遠(yuǎn)程管理,不僅可以直接使用主機(jī)上的應(yīng)用,還可以對主機(jī)進(jìn)行參數(shù)設(shè)置。遠(yuǎn)程登錄主要使用 Telnet 和 SSH 兩種協(xié)議管理網(wǎng)絡(luò)設(shè)備。
女神叫大劉去她公司修理網(wǎng)絡(luò),大劉都不用去女神的公司,直接遠(yuǎn)程登錄解決問題。
Telnet
在實(shí)際工作中,除了個別無法遠(yuǎn)程管理設(shè)備外,大多會采用遠(yuǎn)程管理的方式,來管理設(shè)備的配置文件和系統(tǒng)文件。對比本地管理,遠(yuǎn)程管理不受物理位置限制,連上網(wǎng)絡(luò)就可以對世界另一端的設(shè)備進(jìn)行操控,更省去了插拔設(shè)備線纜、終端設(shè)置的過程,可以通過一個遠(yuǎn)程應(yīng)用同時管理大量的網(wǎng)絡(luò)設(shè)備。Telnet 協(xié)議定義了一臺設(shè)備通過 IP 網(wǎng)絡(luò)向遠(yuǎn)端設(shè)備發(fā)起明文管理連接的通信標(biāo)準(zhǔn),可以在一臺設(shè)備上通過 Telnet 協(xié)議與一臺遠(yuǎn)端設(shè)備建立管理連接,并對遠(yuǎn)端設(shè)備實(shí)施配置和監(jiān)控,這種方式的體驗(yàn)與本地登錄設(shè)備并無區(qū)別。發(fā)起管理的設(shè)備為 Telnet 客戶端,被管理的設(shè)備是 Telnet 服務(wù)器。因此,Telnet 協(xié)議是一個典型的服務(wù)器和客戶端模型的應(yīng)用層協(xié)議。

SSH
SSH 協(xié)議全程是安全外殼協(xié)議,目的就是為了取代 Telnet ,SSH 是加密的遠(yuǎn)程登錄協(xié)議,提供更加安全的遠(yuǎn)程登錄服務(wù)。使用 SSH 后會加密通信內(nèi)容。即使信息被截獲,由于無法解密,也無法了解數(shù)據(jù)的真正內(nèi)容。
文件傳輸
除了遠(yuǎn)程登錄,我們還需要從遠(yuǎn)端設(shè)備傳輸文件,文件傳輸協(xié)議提供的應(yīng)用服務(wù)可以滿足我們的需求。FTP 是網(wǎng)絡(luò)上文件傳輸?shù)臉?biāo)準(zhǔn)協(xié)議,F(xiàn)TP 使用 TCP 作為傳輸協(xié)議,支持用戶的登錄認(rèn)證和訪問權(quán)限的控制。另一種常見的文件傳輸協(xié)議是 TFTP 協(xié)議,TFTP 是一種簡單的文件傳輸協(xié)議,不支持用戶的登錄認(rèn)證,也沒有復(fù)雜的命令。TFTP 使用 UDP 作為傳輸協(xié)議,并有重傳機(jī)制。
FTP
FTP 用于服務(wù)器和客戶端之間傳輸文件,是 IP 網(wǎng)絡(luò)上傳輸文件的通用協(xié)議。FTP 采用客戶端和服務(wù)器的模式,使用 TCP 協(xié)議提供可靠傳輸。FTP 可以對登錄服務(wù)器的用戶名和密碼進(jìn)行驗(yàn)證,允許客戶端指定文件的傳輸類型,并且可以設(shè)置文件的傳輸權(quán)限。FTP 使用兩條 TCP 連接實(shí)現(xiàn)文件傳輸。一條是 FTP 控制連接,用來控制管理;另一條是 FTP 數(shù)據(jù)連接,用于數(shù)據(jù)傳輸。FTP 控制連接用于傳輸 FTP 控制命令和命令執(zhí)行的應(yīng)答信息,比如登錄用戶名和密碼的驗(yàn)證、發(fā)送文件的名稱、發(fā)送方式的設(shè)置。這條連接在整個 FTP 會話過程中一直保持打開,通過 ASCII 碼字符串發(fā)送請求和接收應(yīng)答。在控制連接上無法發(fā)送數(shù)據(jù),而 FTP 數(shù)據(jù)連接用于文件和文件列表的傳輸,僅在需要傳輸數(shù)據(jù)時建立數(shù)據(jù)連接,數(shù)據(jù)傳輸完畢后終止。
- ASCII 模式ASCII 模式是默認(rèn)的文件傳輸模式。發(fā)送方把本地文件轉(zhuǎn)換成標(biāo)準(zhǔn)的 ASCII 碼,然后在網(wǎng)絡(luò)中傳輸;接收方收到文件后,根據(jù)自己的文件存儲方式,把它轉(zhuǎn)換成本地文件。ASCII 文件傳輸模式通常用于傳輸文本文件。
- 二進(jìn)制流模式二進(jìn)制流模式也稱為圖像文件傳輸模式。發(fā)送方不做任何轉(zhuǎn)換,把文件按照比特流的方式進(jìn)行傳輸。二進(jìn)制文件類型通常用于傳送程序文件。


TFTP
TFTP 也是用于服務(wù)器和客戶端之間傳輸文件的,對比 FTP ,TFTP 沒有復(fù)雜的交互接口和認(rèn)證控制,適用于不需要復(fù)雜交互的網(wǎng)絡(luò)環(huán)境。TFTP 采用客戶端和服務(wù)器的模式,使用 UDP 協(xié)議傳輸,服務(wù)器使用端口號 69 偵聽 TFTP 連接。由于 UDP 不能提供可靠的數(shù)據(jù)傳輸,因此 TFTP 使用超時重傳機(jī)制確保數(shù)據(jù)正確發(fā)送。TFTP 只能提供簡單的文件傳輸能力,包括文件的上傳和下載。不支持文件目錄功能,也不能對用戶的身份進(jìn)行驗(yàn)證和授權(quán)。

512
字節(jié),如果文件長度恰好是 512
字節(jié)的整數(shù)倍,那么在文件傳送完畢后,發(fā)送方還必須在最后發(fā)送一個不包含數(shù)據(jù)的報文,用來表示文件傳輸完畢。如果文件長度不是 512
字節(jié)的整數(shù)倍,那么最后傳送的數(shù)據(jù)報文包含的文件塊肯定小于 512
字節(jié),正好作為文件結(jié)束的標(biāo)志。電子郵件
電子郵件,顧名思義,就是指網(wǎng)絡(luò)上的郵政。通過電子郵件,可以發(fā)送文字內(nèi)容、圖片,還可以發(fā)送報表數(shù)據(jù)等所有計(jì)算機(jī)可以存儲的信息。電子郵件不受距離限制,可以與世界上任一的互聯(lián)網(wǎng)用戶互相聯(lián)系。由于使用簡易、投遞迅速、易于保存、不受距離限制等特點(diǎn),使得電子郵件已經(jīng)成為人們普遍使用的一種應(yīng)用。
大劉向女神發(fā)的第一封郵件。
通信架構(gòu)
電子郵件在幾十年的發(fā)展過程中出現(xiàn)了明顯的變化,從原始的發(fā)送方電腦直接向接收方電腦發(fā)送電子郵件,演變成收發(fā)雙方都使用郵件服務(wù)器代為收發(fā)郵件。通過這種方式,電子郵件通信不再依賴接收方當(dāng)前是否在線,而電子郵件的通信過程由簡單的發(fā)送方到接收方,演變成發(fā)送方電腦到發(fā)送方郵件服務(wù)器,發(fā)送方郵件服務(wù)器到接收方郵件服務(wù)器,以及接收方郵件服務(wù)器到接收方電腦的三個通信過程。并且參與通信的四方都不是直接相連,而是分別獨(dú)立連接到互聯(lián)網(wǎng)中。這個架構(gòu)中,郵件發(fā)送方和接收方使用的電腦稱為用戶代理。
郵件地址
使用電子郵件時,需要擁有一個地址,這個地址叫做郵件地址,也叫郵箱地址。它相當(dāng)于通信地址和姓名。我的電子郵件如下:networkfox@qq.comnetworkfox 表示用戶的名稱,同一個通信地址內(nèi),名稱必須是唯一的,不能出現(xiàn)重復(fù);@ 表示分隔符;qq.com 是用戶郵箱的郵件接收服務(wù)器的域名。電子郵件的發(fā)送地址由 DNS 管理。DNS 中注冊了郵件地址和對應(yīng)郵件服務(wù)器的域名。這些映射信息被稱為 MX 記錄。比如:qq.com 的 MX 記錄中指定了 mail.qq.com。那么任何發(fā)送給 qq.com 結(jié)尾的郵件都被發(fā)送到 mail.qq.com 服務(wù)器。就這樣,根據(jù) MX 記錄中指定的郵件服務(wù)器,可以管理不同郵件地址與特定郵件服務(wù)器之間的映射關(guān)系。SMTP 協(xié)議
提供電子郵件服務(wù)的協(xié)議叫做 SMTP 。SMTP 用于收發(fā)雙方的郵件服務(wù)器之間,而不是用戶代理和郵件服務(wù)器之間的通信方式。在實(shí)際使用中,發(fā)送方用戶代理與發(fā)送方服務(wù)器之間也常采用 SMTP 協(xié)議。

- SMTP 傳輸?shù)泥]件是明文的形式,沒有提供數(shù)據(jù)加密機(jī)制,可以看到郵件傳輸?shù)木唧w內(nèi)容,用戶信息的機(jī)密性無法得到保障。
- SMTP 沒有提供任何認(rèn)證機(jī)制,即使使用了偽造的發(fā)件人郵件地址也無法識別,會出現(xiàn)冒名頂替的安全問題。
POP3 協(xié)議
電子郵件通過 SMTP 協(xié)議到達(dá)接收方服務(wù)器,個人電腦不可能長期處于開機(jī)狀態(tài),用戶希望一開機(jī)就能收到郵件,然而 SMTP 沒有這種功能。為了解決這個問題,就引入了 POP3 協(xié)議。POP3 協(xié)議是用于接收電子郵件的協(xié)議。發(fā)送端的郵件使用 SMTP 協(xié)議將電子郵件轉(zhuǎn)發(fā)給一直在線的 POP3 服務(wù)器??蛻舳嗽俑鶕?jù) POP3 協(xié)議從 POP3 服務(wù)器接收郵件。這個過程中,為了防止別人盜取郵件內(nèi)容,還要進(jìn)行用戶認(rèn)證。

IMAP 協(xié)議
POP3 協(xié)議的郵件客戶端能夠在郵件服務(wù)器上執(zhí)行的操作很少,而且郵件要下載到客戶端本地,而不保留在郵件服務(wù)器,實(shí)際使用時很不方便。目前使用更廣泛的接收電子郵件的協(xié)議是 IMAP 。在 IMAP 中郵件則由服務(wù)器進(jìn)行管理。
WWW
萬維網(wǎng)( WWW )是將互聯(lián)網(wǎng)的信息以超文本形式展現(xiàn)的系統(tǒng),也叫做 Web ??梢燥@示 WWW 信息的客戶端軟件叫做 Web 瀏覽器,有時簡稱為瀏覽器。目前常用的 Web 瀏覽器包括微軟的 Internet Explorer 、谷歌公司的 Google Chrome 、騰訊公司的 QQ 瀏覽器以及 Apple 公司的 Safari 等。使用瀏覽器,我們不需要關(guān)心信息保存在哪個服務(wù)器,只需輕輕點(diǎn)擊鼠標(biāo),就可以訪問頁面上的鏈接并打開相關(guān)信息。
URI
URI 用于標(biāo)識資源,是一種高效的識別碼,被應(yīng)用于主頁地址、電子郵件、電話號碼等。http://www.rfc-editor.org/rfc/rfc4395.txthttp://www.ietf.org:80/index.htmlhttp://localhost:321通常主頁地址被叫做 URL 。URL 常用來表示網(wǎng)絡(luò)資源的具體位置。但是 URI 不限于標(biāo)識互聯(lián)網(wǎng)資源,可以作為所有資源的標(biāo)識符。簡單說就是 URL 是 URI 的一個子集。WWW 主要使用 http 和 https 表示 Web 頁的位置和訪問 Web 頁的方法。http 的具體格式如下:http://主機(jī)名/路徑http://主機(jī)名:端口號/路徑
http://主機(jī)名:端口號/路徑?訪問內(nèi)容#部分信息其中主機(jī)名可以用域名或 IP 地址表示,端口號表示傳輸端口號。省略端口號時,表示使用 http 的默認(rèn)端口 80 。路徑是指主機(jī)上信息的位置,訪問內(nèi)容表示要傳給 CGI 的信息,部分信息表示頁面當(dāng)中的位置等。這種表示方法可以標(biāo)識互聯(lián)網(wǎng)中特定的數(shù)據(jù)。由于 http 展現(xiàn)的數(shù)據(jù)隨時都有可能發(fā)生變化,所以記住頁面的 URI( URL ),也不能保證下次能夠訪問到這個頁面。
HTML
HTML 是用來描述 Web 頁的一種語言。它可以指定瀏覽器中顯示的文字、文字的大小和顏色,還可以對圖像、動畫或音頻進(jìn)行設(shè)置。

HTTP
當(dāng)用戶在瀏覽器的地址欄里輸入 Web 頁的 URL 后,HTTP 的處理就開始了。HTTP 默認(rèn)使用 80 端口。它的工作機(jī)制,首先是客戶端向服務(wù)器的 80 端口建立一個 TCP 連接,然后在這個 TCP 連接上進(jìn)行請求和應(yīng)答以及數(shù)據(jù)報文的發(fā)送。

網(wǎng)絡(luò)管理應(yīng)用
很多應(yīng)用層協(xié)議廣為人知,是因?yàn)槲覀冊谌粘I暇W(wǎng)的過程中,會大量使用與這些應(yīng)用協(xié)議有關(guān)的應(yīng)用程序,這類應(yīng)用協(xié)議稱為終端用戶應(yīng)用協(xié)議;另外還有一些應(yīng)用協(xié)議在網(wǎng)絡(luò)中廣泛使用,但我們對它們卻少有聽聞,最多在網(wǎng)絡(luò)無法正常使用時,才會意識到它們的存在,這類應(yīng)用層協(xié)議稱為系統(tǒng)應(yīng)用協(xié)議。在日常工作中,網(wǎng)絡(luò)工程師經(jīng)常使用到的系統(tǒng)應(yīng)用協(xié)議有 DHCP 協(xié)議和 DNS 協(xié)議。
https://mp.weixin.qq.com/s/flmHhfnfbh_pzIaKu59AXQ)》。
