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