计算机网络第六章:应用层
目錄
- 1 域名系統(tǒng) DNS
- 1.1 域名系統(tǒng)概述
- 1.2 因特網(wǎng)的域名結(jié)構(gòu)
- 1.3 域名服務(wù)器
- 2 文件傳送協(xié)議
- 2.1 FTP概述
- 2.2 FTP 的基本工作原理
- 3 按遠程終端協(xié)議 TELNET
- 4 萬維網(wǎng) WWW
- 4.1 萬維網(wǎng)概述
- 4.2 統(tǒng)一資源定位符 URL
- 4.3 超文本傳送協(xié)議 HTTP
- 5 電子郵件
- 5.1 概述
- 5.2 簡單郵件傳送協(xié)議 SMTP
- 5.3 電子郵件的信息格式
- 5.4 郵件讀取協(xié)議 POP3 和 IMAP
- 6 動態(tài)主機配置協(xié)議 DHCP
1 域名系統(tǒng) DNS
1.1 域名系統(tǒng)概述
- 許多應(yīng)用層軟件經(jīng)常直接使用域名系統(tǒng) DNS (Domain Name System),但計算機的用戶只是間接而不是直接使用域名系統(tǒng)
- 因特網(wǎng)采用層次結(jié)構(gòu)的命名樹作為主機的名字,并使用分布式的域名系統(tǒng) DNS
- 名字到 IP 地址的解析是由若干個域名服務(wù)器程序完成的。域名服務(wù)器程序在專設(shè)的結(jié)點上運行,運行該程序的機器稱為域名服務(wù)器
1.2 因特網(wǎng)的域名結(jié)構(gòu)
- 因特網(wǎng)采用了層次樹狀結(jié)構(gòu)的命名方法
- 任何一個連接在因特網(wǎng)上的主機或路由器,都有一個唯一的層次結(jié)構(gòu)的名字,即域名
- 域名的結(jié)構(gòu)由標號序列組成,各標號之間用點隔開,各標號分別代表不同級別的域名
域名只是個邏輯概念:
- 域名只是個邏輯概念,并不代表計算機所在的物理地點
- 變長的域名和使用有助記憶的字符串,是為了便于人來使用。而 IP 地址是定長的 32 位二進制數(shù)字則非常便于機器進行處理
- 域名中的“點”和點分十進制 IP 地址中的“點”并無一一對應(yīng)的關(guān)系。點分十進制 IP 地址中一定是包含三個“點”,但每一個域名中“點”的數(shù)目則不一定正好是三個
頂級域名 TLD (Top Level Domain):
- 國家頂級域名 nTLD:如: .cn 表示中國,.us 表示美國,.uk 表示英國,等等
- 通用頂級域名 gTLD:最早的頂級域名是:.com(公司和企業(yè)),.net(網(wǎng)絡(luò)服務(wù)機構(gòu)),.org(非贏利性組織), .edu(美國專用的教育機構(gòu)), .gov(美國專用的政府部門),.mil(美國專用的軍事部門),.int(國際組織)
- 基礎(chǔ)結(jié)構(gòu)域名(infrastructure domain):這種頂級域名只有一個,即 arpa,用于反向域名解析,因此又稱為反向域名
因特網(wǎng)的域名空間:
1.3 域名服務(wù)器
- 一個服務(wù)器所負責(zé)管轄的(或有權(quán)限的)范圍叫做區(qū)(zone)
- 各單位根據(jù)具體情況來劃分自己管轄范圍的區(qū)。但在一個區(qū)中的所有節(jié)點必須是能夠連通的
- 每一個區(qū)設(shè)置相應(yīng)的權(quán)限域名服務(wù)器,用來保存該區(qū)中的所有主機的域名到IP地址的映射
- DNS 服務(wù)器的管轄范圍不是以“域”為單位,而是以“區(qū)”為單位
區(qū)的不同劃分方法舉例:
樹狀結(jié)構(gòu)的 DNS 域名服務(wù)器:
域名的解析過程:
- 主機向本地域名服務(wù)器的查詢一般都是采用遞歸查詢。如果主機所詢問的本地域名服務(wù)器不知道被查詢域名的 IP 地址,那么本地域名服務(wù)器就以 DNS 客戶的身份,向其他根域名服務(wù)器繼續(xù)發(fā)出查詢請求報文
- 本地域名服務(wù)器向根域名服務(wù)器的查詢通常是采用迭代查詢。當根域名服務(wù)器收到本地域名服務(wù)器的迭代查詢請求報文時,要么給出所要查詢的 IP 地址,要么告訴本地域名服務(wù)器:“你下一步應(yīng)當向哪一個域名服務(wù)器進行查詢”。然后讓本地域名服務(wù)器進行后續(xù)的查詢
2 文件傳送協(xié)議
2.1 FTP概述
- 文件傳送協(xié)議 FTP (File Transfer Protocol) 是因特網(wǎng)上使用得最廣泛的文件傳送協(xié)議
- FTP 提供交互式的訪問,允許客戶指明文件的類型與格式,并允許文件具有存取權(quán)限
- FTP 屏蔽了各計算機系統(tǒng)的細節(jié),因而適合于在異構(gòu)網(wǎng)絡(luò)中任意計算機之間傳送文件
- RFC 959 很早就成為了因特網(wǎng)的正式標準
文件傳送并非很簡單的問題:
- 網(wǎng)絡(luò)環(huán)境中的一項基本應(yīng)用就是將文件從一臺計算機中復(fù)制到另一臺可能相距很遠的計算機中
- 初看起來,在兩個主機之間傳送文件是很簡單的事情
- 其實這往往非常困難。原因是眾多的計算機廠商研制出的文件系統(tǒng)多達數(shù)百種,且差別很大
2.2 FTP 的基本工作原理
網(wǎng)絡(luò)環(huán)境下復(fù)制文件的復(fù)雜性:
- 計算機存儲數(shù)據(jù)的格式不同
- 文件的目錄結(jié)構(gòu)和文件命名的規(guī)定不同
- 對于相同的文件存取功能,操作系統(tǒng)使用的命令不同
- 訪問控制方法不同
FTP 特點:
- 文件傳送協(xié)議 FTP 只提供文件傳送的一些基本的服務(wù),它使用 TCP 可靠的運輸服務(wù)
- FTP 的主要功能是減少或消除在不同操作系統(tǒng)下處理文件的不兼容性
- FTP 使用客戶服務(wù)器方式。一個 FTP 服務(wù)器進程可同時為多個客戶進程提供服務(wù)。FTP 的服務(wù)器進程由兩大部分組成:一個主進程,負責(zé)接受新的請求;另外有若干個從屬進程,負責(zé)處理單個請求
主進程的工作步驟如下:
- 打開熟知端口(端口號為 21),使客戶進程能夠連接上
- 等待客戶進程發(fā)出連接請求
- 啟動從屬進程來處理客戶進程發(fā)來的請求。從屬進程對客戶進程的請求處理完畢后即終止,但從屬進程在運行期間根據(jù)需要還可能創(chuàng)建其他一些子進程
- 回到等待狀態(tài),繼續(xù)接受其他客戶進程發(fā)來的請求。主進程與從屬進程的處理是并發(fā)地進行
兩個連接:
- 控制連接在整個會話期間一直保持打開,FTP 客戶發(fā)出的傳送請求通過控制連接發(fā)送給服務(wù)器端的控制進程,但控制連接不用來傳送文件
- 實際用于傳輸文件的是“數(shù)據(jù)連接”。服務(wù)器端的控制進程在接收到 FTP 客戶發(fā)送來的文件傳輸請求后就創(chuàng)建“數(shù)據(jù)傳送進程”和“數(shù)據(jù)連接”,用來連接客戶端和服務(wù)器端的數(shù)據(jù)傳送進程
- 數(shù)據(jù)傳送進程實際完成文件的傳送,在傳送完畢后關(guān)閉“數(shù)據(jù)傳送連接”并結(jié)束運行
兩個不同的端口號:
- 當客戶進程向服務(wù)器進程發(fā)出建立連接請求時,要尋找連接服務(wù)器進程的熟知端口(21),同時還要告訴服務(wù)器進程自己的另一個端口號碼,用于建立數(shù)據(jù)傳送連接
- 接著,服務(wù)器進程用自己傳送數(shù)據(jù)的熟知端口(20)與客戶進程所提供的端口號碼建立數(shù)據(jù)傳送連接
- 由于 FTP 使用了兩個不同的端口號,所以數(shù)據(jù)連接與控制連接不會發(fā)生混亂
使用兩個不同端口號的好處:
- 使協(xié)議更加簡單和更容易實現(xiàn)
- 在傳輸文件時還可以利用控制連接(例如,客戶發(fā)送請求終止傳輸)
3 按遠程終端協(xié)議 TELNET
- TELNET 是一個簡單的遠程終端協(xié)議,也是因特網(wǎng)的正式標準
- 用戶用 TELNET 就可在其所在地通過 TCP 連接注冊(即登錄)到遠地的另一個主機上(使用主機名或 IP 地址)
- TELNET 能將用戶的擊鍵傳到遠地主機,同時也能將遠地主機的輸出通過 TCP 連接返回到用戶屏幕。這種服務(wù)是透明的,因為用戶感覺到好像鍵盤和顯示器是直接連在遠地主機上
客戶服務(wù)器方式:
- 現(xiàn)在由于 PC 機的功能越來越強,用戶已較少使用 TELNET 了
- TELNET 也使用客戶服務(wù)器方式。在本地系統(tǒng)運行 TELNET 客戶進程,而在遠地主機則運行 TELNET 服務(wù)器進程
- 和 FTP 的情況相似,服務(wù)器中的主進程等待新的請求,并產(chǎn)生從屬進程來處理每一個連接
TELNET 使用網(wǎng)絡(luò)虛擬終端 NVT 格式:
網(wǎng)絡(luò)虛擬終端 NVT 格式:
- 客戶軟件把用戶的擊鍵和命令轉(zhuǎn)換成 NVT 格式,并送交服務(wù)器
- 服務(wù)器軟件把收到的數(shù)據(jù)和命令,從 NVT 格式轉(zhuǎn)換成遠地系統(tǒng)所需的格式
- 向用戶返回數(shù)據(jù)時,服務(wù)器把遠地系統(tǒng)的格式轉(zhuǎn)換為 NVT 格式,本地客戶再從 NVT 格式轉(zhuǎn)換到本地系統(tǒng)所需的格式
4 萬維網(wǎng) WWW
4.1 萬維網(wǎng)概述
- 萬維網(wǎng) WWW (World Wide Web)并非某種特殊的計算機網(wǎng)絡(luò),萬維網(wǎng)是一個大規(guī)模的、聯(lián)機式的信息儲藏所
- 萬維網(wǎng)用鏈接的方法能非常方便地從因特網(wǎng)上的一個站點訪問另一個站點,從而主動地按需獲取豐富的信息,這種訪問方式稱為“鏈接”
萬維網(wǎng)提供分布式服務(wù):
超媒體與超文本:
- 萬維網(wǎng)是分布式超媒體(hypermedia)系統(tǒng),它是超文本(hypertext)系統(tǒng)的擴充
- 一個超文本由多個信息源鏈接成。利用一個鏈接可使用戶找到另一個文檔。這些文檔可以位于世界上任何一個接在因特網(wǎng)上的超文本系統(tǒng)中。超文本是萬維網(wǎng)的基礎(chǔ)
- 超媒體與超文本的區(qū)別是文檔內(nèi)容不同。超文本文檔僅包含文本信息,而超媒體文檔還包含其他表示方式的信息,如圖形、圖像、聲音、動畫,甚至活動視頻圖像
萬維網(wǎng)的工作方式:
- 萬維網(wǎng)以客戶服務(wù)器方式工作
- 瀏覽器就是在用戶計算機上的萬維網(wǎng)客戶程序。萬維網(wǎng)文檔所駐留的計算機則運行服務(wù)器程序,因此這個計算機也稱為萬維網(wǎng)服務(wù)器
- 客戶程序向服務(wù)器程序發(fā)出請求,服務(wù)器程序向客戶程序送回客戶所要的萬維網(wǎng)文檔
- 在一個客戶程序主窗口上顯示出的萬維網(wǎng)文檔稱為頁面(page)
萬維網(wǎng)必須解決的問題:
使用統(tǒng)一資源定位符 URL (Uniform Resource Locator)來標志萬維網(wǎng)上的各種文檔,使每一個文檔在整個因特網(wǎng)的范圍內(nèi)具有唯一的標識符 URL
在萬維網(wǎng)客戶程序與萬維網(wǎng)服務(wù)器程序之間進行交互所使用的協(xié)議,是超文本傳送協(xié)議 HTTP (HyperText Transfer Protocol)。HTTP 是一個應(yīng)用層協(xié)議,它使用 TCP 連接進行可靠的傳送
超文本標記語言 HTML (HyperText Markup Language)使得萬維網(wǎng)頁面的設(shè)計者可以很方便地用一個超鏈從本頁面的某處鏈接到因特網(wǎng)上的任何一個萬維網(wǎng)頁面,并且能夠在自己的計算機屏幕上將這些頁面顯示出來
為了在萬維網(wǎng)上方便地查找信息,用戶可使用各種的搜索工具(即搜索引擎)
4.2 統(tǒng)一資源定位符 URL
URL的格式:
- 統(tǒng)一資源定位符 URL 是對可以從因特網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示
- URL 給資源的位置提供一種抽象的識別方法,并用這種方法給資源定位
- 只要能夠?qū)Y源定位,系統(tǒng)就可以對資源進行各種操作,如存取、更新、替換和查找其屬性
- URL 相當于一個文件名在網(wǎng)絡(luò)范圍的擴展。因此 URL 是與因特網(wǎng)相連的機器上的任何可訪問對象的一個指針
URL 的一般形式:
- 由以冒號隔開的兩大部分組成,并且在 URL 中的字符對大寫或小寫沒有要求
- URL 的一般形式是:
4.3 超文本傳送協(xié)議 HTTP
- 為了使超文本的鏈接能夠高效率地完成,需要用 HTTP 協(xié)議來傳送一切必須的信息
- 從層次的角度看,HTTP 是面向事務(wù)的(transaction-oriented)應(yīng)用層協(xié)議,它是萬維網(wǎng)上能夠可靠地交換文件(包括文本、聲音、圖像等各種多媒體文件)的重要基礎(chǔ)
萬維網(wǎng)的工作過程:
用戶點擊鼠標后所發(fā)生的事件:
HTTP 的主要特點:
- HTTP 是面向事務(wù)的客戶服務(wù)器協(xié)議
- HTTP 1.0 協(xié)議是無狀態(tài)的(stateless)
- HTTP 協(xié)議本身也是無連接的,雖然它使用了面向連接的 TCP 向上提供的服務(wù)
請求一個萬維網(wǎng)文檔所需的時間:
HTTP 的報文結(jié)構(gòu),HTTP 有兩類報文:
- 請求報文——從客戶向服務(wù)器發(fā)送請求報文
- 響應(yīng)報文——從服務(wù)器到客戶的回答
- 由于 HTTP 是面向正文的(text-oriented),因此在報文中的每一個字段都是一些 ASCII 碼串,因而每個字段的長度都是不確定的
5 電子郵件
5.1 概述
- 電子郵件(e-mail)是因特網(wǎng)上使用得最多的和最受用戶歡迎的一種應(yīng)用
- 電子郵件把郵件發(fā)送到收件人使用的郵件服務(wù)器,并放在其中的收件人郵箱中,收件人可隨時上網(wǎng)到自己使用的郵件服務(wù)器進行讀取
- 電子郵件不僅使用方便,而且還具有傳遞迅速和費用低廉的優(yōu)點
- 現(xiàn)在電子郵件不僅可傳送文字信息,而且還可附上聲音和圖像
電子郵件的一些標準:
- 發(fā)送郵件的協(xié)議:SMTP
- 讀取郵件的協(xié)議:POP3 和 IMAP
- MIME 在其郵件首部中說明了郵件的數(shù)據(jù)類型(如文本、聲音、圖像、視像等),使用 MIME 可在郵件中同時傳送多種類型的數(shù)據(jù)
電子郵件的最主要的組成構(gòu)件:
5.2 簡單郵件傳送協(xié)議 SMTP
- SMTP 所規(guī)定的就是在兩個相互通信的 SMTP 進程之間應(yīng)如何交換信息
- 由于 SMTP 使用客戶服務(wù)器方式,因此負責(zé)發(fā)送郵件的 SMTP 進程就是 SMTP 客戶,而負責(zé)接收郵件的 SMTP 進程就是 SMTP 服務(wù)器
SMTP 通信的三個階段:
5.3 電子郵件的信息格式
- 一個電子郵件分為信封和內(nèi)容兩大部分,RFC 822 只規(guī)定了郵件內(nèi)容中的首部(header)格式,而對郵件的主體(body)部分則讓用戶自由撰寫
- 用戶寫好首部后,郵件系統(tǒng)將自動地將信封所需的信息提取出來并寫在信封上。所以用戶不需要填寫電子郵件信封上的信息,郵件內(nèi)容首部包括一些關(guān)鍵字,后面加上冒號。最重要的關(guān)鍵字是:To 和 Subject
5.4 郵件讀取協(xié)議 POP3 和 IMAP
- 郵局協(xié)議 POP 是一個非常簡單、但功能有限的郵件讀取協(xié)議,現(xiàn)在使用的是它的第三個版本 POP3
- POP 也使用客戶服務(wù)器的工作方式
- 在接收郵件的用戶 PC 機中必須運行 POP 客戶程序,而在用戶所連接的 ISP 的郵件服務(wù)器中則運行 POP 服務(wù)器程序
IMAP 協(xié)議 (Internet Message Access Protocol) :
- IMAP 也是按客戶服務(wù)器方式工作,現(xiàn)在較新的是版本 4,即 IMAP4
- 用戶在自己的 PC 機上就可以操縱 ISP 的郵件服務(wù)器的郵箱,就像在本地操縱一樣
- 因此 IMAP 是一個聯(lián)機協(xié)議。當用戶 PC 機上的 IMAP 客戶程序打開 IMAP 服務(wù)器的郵箱時,用戶就可看到郵件的首部。若用戶需要打開某個郵件,則該郵件才傳到用戶的計算機上
IMAP 的特點:
- IMAP最大的好處就是用戶可以在不同的地方使用不同的計算機隨時上網(wǎng)閱讀和處理自己的郵件
- IMAP 還允許收件人只讀取郵件中的某一個部分。例如,收到了一個帶有視像附件(此文件可能很大)的郵件。為了節(jié)省時間,可以先下載郵件的正文部分,待以后有時間再讀取或下載這個很長的附件
- IMAP 的缺點是如果用戶沒有將郵件復(fù)制到自己的 PC 機上,則郵件一直是存放在 IMAP 服務(wù)器上。因此用戶需要經(jīng)常與 IMAP 服務(wù)器建立連接
6 動態(tài)主機配置協(xié)議 DHCP
- 為了將軟件協(xié)議做成通用的和便于移植,協(xié)議軟件的編寫者把協(xié)議軟件參數(shù)化。這就使得在很多臺計算機上使用同一個經(jīng)過編譯的二進制代碼成為可能
- 一臺計算機和另一臺計算機的區(qū)別,都可通過一些不同的參數(shù)來體現(xiàn)
- 在軟件協(xié)議運行之前,必須給每一個參數(shù)賦值
協(xié)議配置:
- 在協(xié)議軟件中給這些參數(shù)賦值的動作叫做協(xié)議配置
- 一個軟件協(xié)議在使用之前必須是已正確配置的
- 具體的配置信息有哪些則取決于協(xié)議棧
需要配置的項目:
動態(tài)主機配置協(xié)議 DHCP 提供了即插即用連網(wǎng)(plug-and-play networking)的機制,這種機制允許一臺計算機加入新的網(wǎng)絡(luò)和獲取IP地址而不用手工參與
總結(jié)
以上是生活随笔為你收集整理的计算机网络第六章:应用层的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络第五章:运输层
- 下一篇: 计算机网络第七章:网络安全