王道计算机网络 应用层整理 超详细版
應(yīng)用層概述
應(yīng)用層對應(yīng)用程序的通信提供服務(wù)。
應(yīng)用層協(xié)議定義:
-
應(yīng)用進(jìn)程交換的報文類型(請求/響應(yīng))
-
各種報文類型的語法,如報文中的各個字段及其詳細(xì)描述。
-
字段的語義,即包含在字段中的信息的含義。
-
進(jìn)程何時、如何發(fā)送報文,以及對報文進(jìn)行響應(yīng)的規(guī)則。
應(yīng)用層的功能:文件傳輸、訪問和管理;電子郵件;虛擬終端;查詢服務(wù)和遠(yuǎn)程作業(yè)登錄
應(yīng)用層的重要協(xié)議:FTP、SMTP、POP3、DNS
網(wǎng)絡(luò)應(yīng)用模型
客戶/服務(wù)器模型(Client/Server)
服務(wù)器:提供計算服務(wù)的設(shè)備。
? 1、永久提供服務(wù)。
? 2、永久性訪問地址/域名。
客戶機(jī):請求計算服務(wù)的主機(jī)。
? 1、與服務(wù)器通信,使用服務(wù)器提供的服務(wù)。
? 2、間歇性接入網(wǎng)絡(luò)。
? 3、可能使用動態(tài)IP地址。
? 4、不與其他客戶機(jī)直接通信。
應(yīng)用:Web、文件傳輸FTP、遠(yuǎn)程登錄、電子郵件。
P2P模型(Peer-to-peer)
不存在永遠(yuǎn)在線的服務(wù)器
每個主機(jī)既可以提供服務(wù),也可以請求服務(wù)。
任意端系統(tǒng)/結(jié)點(diǎn)之間可以直接通訊。
結(jié)點(diǎn)間歇性接入網(wǎng)絡(luò)。
結(jié)點(diǎn)可能改變IP地址。
可拓展性好,網(wǎng)絡(luò)健壯性強(qiáng)。
DNS 域名系統(tǒng)
Domain Name System
DNS系統(tǒng)采用客戶/服務(wù)器模型,其協(xié)議運(yùn)行在UDP之上,使用 53 號端口。
域名
級別最低的域名寫在最左邊,級別最高的頂級域名寫在最右邊。
頂級域名(Top Level Domain,TLD)
1、國家頂級域名。國家和某些地區(qū)的域名,如“.cn”表示中國,“.us”表示美國。
2、通用頂級域名。常見的有“.com”(公司)、“.net”(網(wǎng)絡(luò)服務(wù)機(jī)構(gòu))、“.org”(非營利性組織)和“.gov”(國家或政府部門)等。
3、基礎(chǔ)結(jié)構(gòu)域名。這種域名只有一個,即 arpa,用于反向域名解析,因此又稱反向域名。
DNS服務(wù)器
根域名服務(wù)器
最高層次的域名服務(wù)器,所有的根域名服務(wù)器都知道所有的頂級域名服務(wù)器的IP地址。
不管是哪個本地域名服務(wù)器,若要對因特網(wǎng)上任何一個域名進(jìn)行解析,只要自己無法解析,就首先要求助于根域名服務(wù)器。
因特網(wǎng)上有 13 個根域名服務(wù)器。
通常它并不直接把待查詢的域名直接轉(zhuǎn)換成IP地址,而是告訴本地域名服務(wù)器下一步應(yīng)當(dāng)找哪個頂級域名服務(wù)器。
頂級域名服務(wù)器
負(fù)責(zé)管理在該頂級域名服務(wù)器注冊的所有二級域名。
權(quán)限域名服務(wù)器
每臺主機(jī)都必須在權(quán)限域名服務(wù)器處等登記。
權(quán)限域名服務(wù)器總能將其管轄的主機(jī)名轉(zhuǎn)換為該主機(jī)的IP地址。
本地域名服務(wù)器
當(dāng)一個主機(jī)發(fā)出DNS查詢請求時,這個查詢請求報文就發(fā)給本地域名服務(wù)器。
域名解析過程(遞歸查詢&迭代查詢)
域名解析是指把域名映射成為 IP 地址或把 IP 地址映射成域名的過程。
前者稱為正向解析,后者稱為反向解析。
為了提高DNS的查詢效率,在域名服務(wù)器中廣泛使用了高速緩存。
文件傳輸協(xié)議 FTP
文件傳送協(xié)議(File Transfer Protocol):提供不同種類主機(jī)系統(tǒng)(硬、軟件體系等都可以不同)之間的文件傳輸能力。
FTP 是基于客戶/服務(wù)器(C/S)的協(xié)議,使用TCP可靠的傳輸服務(wù)。
用戶通過一個客戶機(jī)程序連接至在遠(yuǎn)程計算機(jī)上運(yùn)行的服務(wù)器程序。
依照FTP協(xié)議提供服務(wù),進(jìn)行文件傳送的計算機(jī)就是 FTP服務(wù)器。
連接FTP服務(wù)器,遵循FTP協(xié)議與服務(wù)器傳送文件的電腦就是FTP客戶端。
FTP工作原理
FTP服務(wù)器進(jìn)程由兩大部分組成:一個主進(jìn)程,負(fù)責(zé)接收新的請求;另外有若干從屬進(jìn)程,負(fù)責(zé)處理單個請求。
工作步驟如下:
1、打開熟知端口 21 (控制端口),使客戶進(jìn)程能夠連接上。
2、等待客戶進(jìn)程發(fā)連接請求。
3、啟動從屬進(jìn)程來處理客戶進(jìn)程發(fā)來的請求。主進(jìn)程與從屬進(jìn)程并發(fā)執(zhí)行,從屬進(jìn)程對客戶進(jìn)程的請求處理完畢后即終止。
4、回到等待狀態(tài),繼續(xù)接收其他客戶進(jìn)程的請求。
控制連接和數(shù)據(jù)連接
FTP在工作時使用兩個并行的TCP連接:一個是控制連接(端口號21),一個是數(shù)據(jù)連接(端口號20)。
控制進(jìn)程和數(shù)據(jù)傳送進(jìn)程都屬于從屬進(jìn)程。
-
控制連接在整個會話期間一直保持打開狀態(tài)。
-
數(shù)據(jù)連接在文件傳送完畢之后會關(guān)閉。
數(shù)據(jù)連接有兩種傳輸模式:主動模式 PORT 和 被動模式 PASV。
主動方式使用 TCP 20端口,被動方式由服務(wù)器和客戶端自行協(xié)商決定(端口 > 1024)。
電子郵件
電子郵件系統(tǒng)的組成結(jié)構(gòu)
1、用戶代理(User Agent,UA)
用戶與電子郵件系統(tǒng)的接口。
用戶代理向用戶提供一個很友好的接口來發(fā)送和接收郵件。
用戶代理應(yīng)當(dāng)具有撰寫、顯示和郵件處理的功能。
通常情況下,用戶代理是一個運(yùn)行在PC上的程序,常見的有 Outlook、Foxmail。
2、郵件服務(wù)器
發(fā)送和接收文件,同時向發(fā)信人報告郵件傳送的情況。
采用客戶/服務(wù)器方式工作,必須能夠同時充當(dāng)客戶和服務(wù)器。
3、郵件發(fā)送協(xié)議和讀取協(xié)議
郵件發(fā)送協(xié)議用于用戶代理向郵件服務(wù)器發(fā)送郵件或在郵件服務(wù)器之間發(fā)送郵件,如SMTP。
郵件讀取協(xié)議用于用戶代理從郵件服務(wù)器讀取郵件,如POP3。
電子郵件格式
多用途網(wǎng)際郵件擴(kuò)充 MIME
由于SMTP只能傳送一定長度的 ASCII 碼,許多其他非英語國家的文字就無法傳送,且無法傳送可執(zhí)行文件及其他二進(jìn)制對象,因此提出了 多用途網(wǎng)絡(luò)郵件擴(kuò)充 MIME。
MIME 繼續(xù)使用SMTP的格式,但增加了郵件主體的結(jié)構(gòu),并定義了傳送非 ASCII 碼的編碼規(guī)則。
使電子郵件系統(tǒng)可以支持聲音、圖像、視頻多種國家語言。
主要包括以下三部分:
1、5個新的郵件首部字段,包括 MIME 版本、內(nèi)容描述、內(nèi)容表示、傳送編碼和內(nèi)容類型。
2、定義了許多郵件內(nèi)容的格式,對多媒體電子郵件的表示方法進(jìn)行了標(biāo)準(zhǔn)化。
3、定義了傳送編碼,可對任何內(nèi)容格式進(jìn)行了轉(zhuǎn)換,而不會被郵件系統(tǒng)改變。
SMTP
簡單郵件傳送協(xié)議(Simple Mail Transfer Protocol,SMTP)是一種提供可靠且有效的電子郵件傳輸?shù)膮f(xié)議。
規(guī)定了在兩個相互通信的SMTP進(jìn)程之間應(yīng)如何交換信息。
負(fù)責(zé)發(fā)送郵件的SMTP進(jìn)程就是SMTP客戶,負(fù)責(zé)接收郵件的進(jìn)程就是SMTP服務(wù)器。
SMTP使用TCP連接,端口號為25。
SMTP通信有以下三個階段:1、連接建立 2、郵件傳送 3、連接釋放
SMTP的缺點(diǎn):
1、SMTP不能傳送可執(zhí)行文件或者其他二進(jìn)制對象。
2、SMTP僅限于傳送7位ASCII碼,不能傳送其他非英語國家的文字。
3、SMTP服務(wù)器會拒絕超過一定長度的郵件。
POP3
郵局協(xié)議(Post Office Protocol,POP)是一個非常簡單但功能有限的郵件讀取協(xié)議。
POP 使用客戶/服務(wù)器的工作方式,在傳輸層使用TCP,端口號為110。
兩種工作方式:1、下載并保留(在服務(wù)器)2、下載并刪除。
因特網(wǎng)報文存取協(xié)議 IMAP
基于萬維網(wǎng)的電子郵件
萬維網(wǎng)(WWW)
萬維網(wǎng)(World Wide Web,WWW)是一個分布式的、聯(lián)機(jī)式的信息存儲空間,
在這個空間中:一樣有用的事物稱為一樣 “資源”,并由一個全域“統(tǒng)一資源定位符”(URL)標(biāo)識。
用戶通過點(diǎn)擊超鏈接(http://www.baidu.com)獲取資源,這些資源通過“超文本傳輸協(xié)議(HTTP)傳送給使用者。
萬維網(wǎng)以“客戶/服務(wù)器方式工作,用戶使用的瀏覽器就是萬維網(wǎng)客戶程序,萬維網(wǎng)文檔所駐留的主機(jī)運(yùn)行服務(wù)器程序。
萬維網(wǎng)使用超文本標(biāo)記語言 HTML,使得萬維網(wǎng)頁面設(shè)計者可以很方便地從一個界面的鏈接轉(zhuǎn)到另一個界面,并能夠在自己的屏幕上顯示出來。
超文本傳輸協(xié)議HTTP
HTTP協(xié)議的特點(diǎn):
1、HTTP是無狀態(tài)的。
2、HTTP采用TCP作為傳輸層協(xié)議,但HTTP協(xié)議本身是無連接的(通信雙方在交換HTTP報文之前不需要先建立HTTP連接)。
3、HTTP的連接方式分為持久連接(流水線、非流水線)【HTTP/1.1支持】和 非持久連接。
對于非持久連接
每個網(wǎng)頁元素對象的傳輸都需要單獨(dú)建立一個TCP連接。
請求一個萬維網(wǎng)文檔所需的時間是該文檔的傳輸時間加上兩倍往返時間RTT(一個RTT用于TCP連接,另一個RTT用于請求和接收文檔)。
每個對象引用都導(dǎo)致 2xRTT的開銷,此外每次建立新的TCP連接都要分配緩存和變量,使萬維網(wǎng)服務(wù)器的負(fù)擔(dān)很重。
對于持久連接
指萬維網(wǎng)服務(wù)器在發(fā)送響應(yīng)后仍然保持這條連接,使同一個客戶和該服務(wù)器可以繼續(xù)在這條連接上傳送后續(xù)的HTTP請求和響應(yīng)報文。
對于非流水線方式,客戶在收到前一個響應(yīng)后才能發(fā)出下一個請求,服務(wù)器發(fā)送完一個對象后,其TCP連接就處于空閑狀態(tài),浪費(fèi)了服務(wù)器資源。
HTTP/1.1的默認(rèn)方式是使用流水線的持久連接,這種情況下,客戶每遇到一個對象引用就立即發(fā)出一個請求,因而客戶可以逐個地連續(xù)發(fā)出對各個引用對象的請求。所有引用的對象共計經(jīng)歷1個RTT延遲,提高效率。
HTTP的報文結(jié)構(gòu)
HTTP是面向文本的,因此報文種的每個字段都是一些ASCII碼串,并且每個字段的長度都是不確定的。
- 請求報文:從客戶向服務(wù)器發(fā)送的請求報文。
- 響應(yīng)報文:從服務(wù)器到客戶的回答。
CR表示回車,LF表示換行。
狀態(tài)碼:
1xx表示通知信息的,如請求收到了或正在處理。
2xx表示成功,如接受或知道了。
3xx表示重定向,如要完成請求還必須采取進(jìn)一步的行動。
4xx表示客戶的差錯,如請求中有錯誤的語法或不能完成。
en">響應(yīng)報文:從服務(wù)器到客戶的回答。
CR表示回車,LF表示換行。
狀態(tài)碼:
1xx表示通知信息的,如請求收到了或正在處理。
2xx表示成功,如接受或知道了。
3xx表示重定向,如要完成請求還必須采取進(jìn)一步的行動。
4xx表示客戶的差錯,如請求中有錯誤的語法或不能完成。
5xx表示服務(wù)器的差錯,如服務(wù)器失效無法完成請求。
總結(jié)
以上是生活随笔為你收集整理的王道计算机网络 应用层整理 超详细版的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络(六)-传输介质
- 下一篇: Linux命令整理 —— 目录结构