第六章 應(yīng)用層
第六章 應(yīng)用層6.1.1域名系統(tǒng)DNS 概述域名系統(tǒng)DNS 是因特網(wǎng)使用的命名系統(tǒng),用來把便于人們使用的機(jī)器名字換為IP 地址。 因特網(wǎng)的域名系統(tǒng)DNS 被設(shè)計(jì)成為一個(gè)聯(lián)機(jī)分布式數(shù)據(jù)庫(kù)系統(tǒng),并采用客戶
第六章 應(yīng)用層
6.1.1域名系統(tǒng)DNS 概述
域名系統(tǒng)DNS 是因特網(wǎng)使用的命名系統(tǒng),用來把便于人們使用的機(jī)器名字換為IP 地址。 因特網(wǎng)的域名系統(tǒng)DNS 被設(shè)計(jì)成為一個(gè)聯(lián)機(jī)分布式數(shù)據(jù)庫(kù)系統(tǒng),并采用客戶—服務(wù)器方式。DNS 使大多數(shù)名字都在本地進(jìn)行解析。
域名到IP 地址的解析式由分布在因特網(wǎng)上的許多域名服務(wù)器程序共同完成的。域名服務(wù)器程序在專設(shè)的結(jié)點(diǎn)上運(yùn)行,人們通常也把運(yùn)行域名服務(wù)器程序的機(jī)器也稱為域名服務(wù)器。 域名到IP 地址的解析過程要的如下:當(dāng)某一個(gè)應(yīng)用進(jìn)程需要把主機(jī)名解析為IP 地址時(shí),該應(yīng)用進(jìn)程就調(diào)用解析程序,并成為DNS 的一個(gè)客戶,把待解析的域名放在DNS 請(qǐng)求報(bào)文中,以UDP 用戶數(shù)據(jù)報(bào)方式發(fā)給本地域名服務(wù)器。本地域名服務(wù)器在查找域名后,把對(duì)應(yīng)的IP 地址放在回答報(bào)文中返回。應(yīng)用進(jìn)程獲得主機(jī)的IP 地址后即可進(jìn)行通信。
6.1.2因特網(wǎng)的域名結(jié)構(gòu)
因特網(wǎng)采用了層次樹狀結(jié)構(gòu)的命名方法。
任何一個(gè)連接在因特網(wǎng)上的主機(jī)或路由器,都有一個(gè)唯一的層次結(jié)構(gòu)的名字,即域名。 域名的結(jié)構(gòu)由標(biāo)號(hào)序列組成,各標(biāo)號(hào)之間用點(diǎn)隔開:
各標(biāo)號(hào)分別代表不同級(jí)別的域名。
域名只是個(gè)邏輯概念,并不代表計(jì)算機(jī)所在的物理地點(diǎn)。
變長(zhǎng)的域名和使用有助記憶的字符串,是為了便于人來使用。而IP 地址是定長(zhǎng)的32 位二進(jìn)制數(shù)字則非常便于機(jī)器進(jìn)行處理。
域名中的“點(diǎn)”和點(diǎn)分十進(jìn)制IP 地址中的“點(diǎn)”并無一一對(duì)應(yīng)的關(guān)系。點(diǎn)分十進(jìn)制IP 地址中一定是包含三個(gè)“點(diǎn)”,但每一個(gè)域名中“點(diǎn)”的數(shù)目則不一定正好是三個(gè)。
6.1.3域名服務(wù)器
一個(gè)服務(wù)器所負(fù)責(zé)管轄的(或有權(quán)限的)范圍叫做區(qū)(zone)。
各單位根據(jù)具體情況來劃分自己管轄范圍的區(qū)。但在一個(gè)區(qū)中的所有節(jié)點(diǎn)必須是能夠連通的。
每一個(gè)區(qū)設(shè)置相應(yīng)的權(quán)限域名服務(wù)器,用來保存該區(qū)中的所有主機(jī)的域名到IP 地址的映射。
DNS 服務(wù)器的管轄范圍不是以“域”為單位,而是以“區(qū)”為單位。
域名服務(wù)器有以下四種類型
根域名服務(wù)器
頂級(jí)域名服務(wù)器
權(quán)限域名服務(wù)器
本地域名服務(wù)器
根域名服務(wù)器是最重要的域名服務(wù)器。所有的根域名服務(wù)器都知道所有的頂級(jí)域名服務(wù)器的域名和IP 地址。
不管是哪一個(gè)本地域名服務(wù)器,若要對(duì)因特網(wǎng)上任何一個(gè)域名進(jìn)行解析,只要自己無法解析,就首先求助于根域名服務(wù)器。
在因特網(wǎng)上共有13 個(gè)不同IP 地址的根域名服務(wù)器,它們的名字是用一個(gè)英文字母命名,從a 一直到m (前13 個(gè)字母)。
這些根域名服務(wù)器相應(yīng)的域名分別是
a.rootservers.net
b.rootservers.net
,?
m.rootservers.net
到2006 年底全世界已經(jīng)安裝了一百多個(gè)根域名服務(wù)器機(jī)器,分布在世界各地。 這樣做的目的是為了方便用戶,使世界上大部分DNS 域名服務(wù)器都能就近找到一個(gè)根域名服務(wù)器。
根域名服務(wù)器并不直接把域名直接轉(zhuǎn)換成IP 地址。
在使用迭代查詢時(shí),根域名服務(wù)器把下一步應(yīng)當(dāng)找
的頂級(jí)域名服務(wù)器的 IP 地址告訴本地域名服務(wù)器。
這些域名服務(wù)器負(fù)責(zé)管理在該頂級(jí)域名服務(wù)器注冊(cè)的所有二級(jí)域名。
當(dāng)收到DNS 查詢請(qǐng)求時(shí),就給出相應(yīng)的回答(可能是最后的結(jié)果,也可能是下一步應(yīng)當(dāng)找的域名服務(wù)器的IP 地址)。
這就是前面已經(jīng)講過的負(fù)責(zé)一個(gè)區(qū)的域名服務(wù)器。
當(dāng)一個(gè)權(quán)限域名服務(wù)器還不能給出最后的查詢回答時(shí),就會(huì)告訴發(fā)出查詢請(qǐng)求的DNS 客戶,下一步應(yīng)當(dāng)找哪一個(gè)權(quán)限域名服務(wù)器。
本地域名服務(wù)器對(duì)域名系統(tǒng)非常重要。
當(dāng)一個(gè)主機(jī)發(fā)出DNS 查詢請(qǐng)求時(shí),這個(gè)查詢請(qǐng)求報(bào)文就發(fā)送給本地域名服務(wù)器。
每一個(gè)因特網(wǎng)服務(wù)提供者ISP ,或一個(gè)大學(xué),甚至一個(gè)大學(xué)里的系,都可以擁有一個(gè)本地域名服務(wù)器,
這種域名服務(wù)器有時(shí)也稱為默認(rèn)域名服務(wù)器
DNS 域名服務(wù)器都把數(shù)據(jù)復(fù)制到幾個(gè)域名服務(wù)器來保存,其中的一個(gè)是主域名服務(wù)器,其他的是輔助域名服務(wù)器。
當(dāng)主域名服務(wù)器出故障時(shí),輔助域名服務(wù)器可以保證DNS 的查詢工作不會(huì)中斷。
主域名服務(wù)器定期把數(shù)據(jù)復(fù)制到輔助域名服務(wù)器中,而更改數(shù)據(jù)只能在主域名服務(wù)器中進(jìn)行。這樣就保證了數(shù)據(jù)的一致性。
域名的解析過程:
主機(jī)向本地域名服務(wù)器的查詢一般都是采用遞歸查詢。如果主機(jī)所詢問的本地域名服務(wù)器不知道被查詢域名的IP 地址,那么本地域名服務(wù)器就以DNS 客戶的身份,向其他根域名服務(wù)器繼續(xù)發(fā)出查詢請(qǐng)求報(bào)文。
本地域名服務(wù)器向根域名服務(wù)器的查詢通常是采用迭代查詢。當(dāng)根域名服務(wù)器收到本地域名服務(wù)器的迭代查詢請(qǐng)求報(bào)文時(shí),要么給出所要查詢的IP 地址,要么告訴本地域名服務(wù)器:“你下一步應(yīng)當(dāng)向哪一個(gè)域名服務(wù)器進(jìn)行查詢”。然后讓本地域名服務(wù)器進(jìn)行后續(xù)的查詢。
6.2.2FTP 的基本工作原理
網(wǎng)絡(luò)環(huán)境下復(fù)制文件的復(fù)雜性:
(1) 計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)的格式不同。
(2) 文件的目錄結(jié)構(gòu)和文件命名的規(guī)定不同。
(3) 對(duì)于相同的文件存取功能,操作系統(tǒng)使用的命令不同。
(4) 訪問控制方法不同。
FTP 特點(diǎn):
文件傳送協(xié)議FTP 只提供文件傳送的一些基本的服務(wù),它使用TCP 可靠的運(yùn)輸服務(wù)。 FTP 的主要功能是減少或消除在不同操作系統(tǒng)下處理文件的不兼容性。
FTP 使用客戶服務(wù)器方式。一個(gè)FTP 服務(wù)器進(jìn)程可同時(shí)為多個(gè)客戶進(jìn)程提供服務(wù)。FTP 的服務(wù)器進(jìn)程由兩大部分組成:一個(gè)主進(jìn)程,負(fù)責(zé)接受新的請(qǐng)求;另外有若干個(gè)從屬進(jìn)程,負(fù)責(zé)處理單個(gè)請(qǐng)求。
主進(jìn)程的工作步驟如下:
,打開熟知端口(端口號(hào)為21),使客戶進(jìn)程能夠連接上。
等待客戶進(jìn)程發(fā)出連接請(qǐng)求。
啟動(dòng)從屬進(jìn)程來處理客戶進(jìn)程發(fā)來的請(qǐng)求。從屬進(jìn)程對(duì)客戶進(jìn)程的請(qǐng)求處理完畢后即終止,但從屬進(jìn)程在運(yùn)行期間根據(jù)需要還可能創(chuàng)建其他一些子進(jìn)程。
回到等待狀態(tài),繼續(xù)接受其他客戶進(jìn)程發(fā)來的請(qǐng)求。主進(jìn)程與從屬進(jìn)程的處理是并發(fā)地進(jìn)行。
兩個(gè)連接:
控制連接在整個(gè)會(huì)話期間一直保持打開,F(xiàn)TP 客戶發(fā)出的傳送請(qǐng)求通過控制連接發(fā)送給服務(wù)器端的控制進(jìn)程,但控制連接不用來傳送文件。
實(shí)際用于傳輸文件的是“數(shù)據(jù)連接”。服務(wù)器端的控制進(jìn)程在接收到 FTP 客戶發(fā)送來的文件傳輸請(qǐng)求后就創(chuàng)建“數(shù)據(jù)傳送進(jìn)程”和“數(shù)據(jù)連接”,用來連接客戶端和服務(wù)器端的數(shù)據(jù)傳送進(jìn)程。
數(shù)據(jù)傳送進(jìn)程實(shí)際完成文件的傳送,在傳送完畢后關(guān)閉“數(shù)據(jù)傳送連接”并結(jié)束運(yùn)行。 兩個(gè)不同的端口號(hào):
客戶進(jìn)程向服務(wù)器進(jìn)程發(fā)出建立連接請(qǐng)求時(shí),要尋找連接服務(wù)器進(jìn)程的熟知端口(21),同時(shí)還要告訴服務(wù)器進(jìn)程自己的另一個(gè)端口號(hào)碼,用于建立數(shù)據(jù)傳送連接。
接著,服務(wù)器進(jìn)程用自己傳送數(shù)據(jù)的熟知端口(20)與客戶進(jìn)程所提供的端口號(hào)碼建立數(shù)據(jù)傳送連接。
由于FTP 使用了兩個(gè)不同的端口號(hào),所以數(shù)據(jù)連接與控制連接不會(huì)發(fā)生混亂。
NFS 采用另一種思路:
NFS 允許應(yīng)用進(jìn)程打開一個(gè)遠(yuǎn)地文件,并能在該文件的某一個(gè)特定的位置上開始讀寫數(shù)據(jù)。
NFS 可使用戶只復(fù)制一個(gè)大文件中的一個(gè)很小的片段,而不需要復(fù)制整個(gè)大文件。 對(duì)于上述例子,計(jì)算機(jī)A 的NFS 客戶軟件,把要添加的數(shù)據(jù)和在文件后面寫數(shù)據(jù)的請(qǐng)求一起發(fā)送到遠(yuǎn)地的計(jì)算機(jī)B 的NFS 服務(wù)器。NFS 服務(wù)器更新文件后返回應(yīng)答信息。
在網(wǎng)絡(luò)上傳送的只是少量的修改數(shù)據(jù)。
6.3遠(yuǎn)程終端協(xié)議TELNET
TELNET 是一個(gè)簡(jiǎn)單的遠(yuǎn)程終端協(xié)議,也是因特網(wǎng)的正式標(biāo)準(zhǔn)。
用戶用TELNET 就可在其所在地通過TCP 連接注冊(cè)(即登錄)到遠(yuǎn)地的另一個(gè)主機(jī)上(使用主機(jī)名或IP 地址)。
TELNET 能將用戶的擊鍵傳到遠(yuǎn)地主機(jī),同時(shí)也能將遠(yuǎn)地主機(jī)的輸出通過TCP 連接返回到用戶屏幕。這種服務(wù)是透明的,因?yàn)橛脩舾杏X到好像鍵盤和顯示器是直接連在遠(yuǎn)地主機(jī)上。
現(xiàn)在由于PC 的功能越來越強(qiáng),用戶已較少使用TELNET 了。
TELNET 也使用客戶 服務(wù)器方式。在本地系統(tǒng)運(yùn)行TELNET 客戶進(jìn)程,而在遠(yuǎn)地主機(jī)則運(yùn)行TELNET 服務(wù)器進(jìn)程。
和FTP 的情況相似,服務(wù)器中的主進(jìn)程等待新的請(qǐng)求,并產(chǎn)生從屬進(jìn)程來處理每一個(gè)連接。
網(wǎng)絡(luò)虛擬終端 NVT 格式:
客戶軟件把用戶的擊鍵和命令轉(zhuǎn)換成NVT 格式,并送交服務(wù)器。
服務(wù)器軟件把收到的數(shù)據(jù)和命令,從NVT 格式轉(zhuǎn)換成遠(yuǎn)地系統(tǒng)所需的格式。
向用戶返回?cái)?shù)據(jù)時(shí),服務(wù)器把遠(yuǎn)地系統(tǒng)的格式轉(zhuǎn)換為NVT 格式,本地客戶再?gòu)腘VT 格式轉(zhuǎn)換到本地系統(tǒng)所需的格式。
,6.6動(dòng)態(tài)主機(jī)配置協(xié)議DHCP
為了將軟件協(xié)議做成通用的和便于移植,協(xié)議軟件的編寫者把協(xié)議軟件參數(shù)化。這就使得在很多臺(tái)計(jì)算機(jī)上使用同一個(gè)經(jīng)過編譯的二進(jìn)制代碼成為可能。
一臺(tái)計(jì)算機(jī)和另一臺(tái)計(jì)算機(jī)的區(qū)別,都可通過一些不同的參數(shù)來體現(xiàn)。
在軟件協(xié)議運(yùn)行之前,必須給每一個(gè)參數(shù)賦值。
協(xié)議配置:
在協(xié)議軟件中給這些參數(shù)賦值的動(dòng)作叫做協(xié)議配置。
一個(gè)軟件協(xié)議在使用之前必須是已正確配置的。
具體的配置信息有哪些則取決于協(xié)議棧。
需要配置的項(xiàng)目
(1) IP 地址
(2) 子網(wǎng)掩碼
(3) 默認(rèn)路由器的 IP 地址
(4) 域名服務(wù)器的 IP 地址
這些信息通常存儲(chǔ)在一個(gè)配置文件中,計(jì)算機(jī)在引導(dǎo)過程中可以對(duì)這個(gè)文件進(jìn)行存取。 動(dòng)態(tài)主機(jī)配置協(xié)議DHCP :
動(dòng)態(tài)主機(jī)配置協(xié)議 DHCP 提供了即插即用連網(wǎng)(plug-and-play networking)的機(jī)制。 這種機(jī)制允許一臺(tái)計(jì)算機(jī)加入新的網(wǎng)絡(luò)和獲取IP 地址而不用手工參與。
需要IP 地址的主機(jī)在啟動(dòng)時(shí)就向DHCP 服務(wù)器廣播發(fā)送發(fā)現(xiàn)報(bào)文(DHCPDISCOVER ),這時(shí)該主機(jī)就成為DHCP 客戶。
本地網(wǎng)絡(luò)上所有主機(jī)都能收到此廣播報(bào)文,但只有DHCP 服務(wù)器才回答此廣播報(bào)文。 DHCP 服務(wù)器先在其數(shù)據(jù)庫(kù)中查找該計(jì)算機(jī)的配置信息。若找到,則返回找到的信息。若找不到,則從服務(wù)器的IP 地址池(address pool) 中取一個(gè)地址分配給該計(jì)算機(jī)。DHCP 服務(wù)器的回答報(bào)文叫做提供報(bào)文(DHCPOFFER )。
DHCP 中繼代理:
并不是每個(gè)網(wǎng)絡(luò)上都有DHCP 服務(wù)器,這樣會(huì)使DHCP 服務(wù)器的數(shù)量太多?,F(xiàn)在是每一個(gè)網(wǎng)絡(luò)至少有一個(gè)DHCP 中繼代理,它配置了DHCP 服務(wù)器的IP 地址信息。
當(dāng)DHCP 中繼代理收到主機(jī)發(fā)送的發(fā)現(xiàn)報(bào)文后,就以單播方式向DHCP 服務(wù)器轉(zhuǎn)發(fā)此報(bào)文,并等待其回答。收到DHCP 服務(wù)器回答的提供報(bào)文后,DHCP 中繼代理再將此提供報(bào)文發(fā)回給主機(jī)。
注意:DHCP 報(bào)文只是 UDP 用戶數(shù)據(jù)報(bào)中的數(shù)據(jù)。
租用期:
DHCP 服務(wù)器分配給DHCP 客戶的IP 地址的臨時(shí)的,因此DHCP 客戶只能在一段有限的時(shí)間內(nèi)使用這個(gè)分配到的IP 地址。DHCP 協(xié)議稱這段時(shí)間為租用期。
租用期的數(shù)值應(yīng)由DHCP 服務(wù)器自己決定。
DHCP 客戶也可在自己發(fā)送的報(bào)文中(例如,發(fā)現(xiàn)報(bào)文)提出對(duì)租用期的要求。 DHCP 協(xié)議的工作過程:
凡收到 DHCP 發(fā)現(xiàn)報(bào)文的 DHCP 服務(wù)器都發(fā)出 DHCP 提供報(bào)文,因此 DHCP 客戶可能收到多個(gè) DHCP 提供報(bào)文。
DHCP 客戶從幾個(gè) DHCP 服務(wù)器中選擇其中的一個(gè),并向所選擇的 DHCP 服務(wù)器發(fā)送
,DHCP 請(qǐng)求報(bào)文。
被選擇的 DHCP 服務(wù)器發(fā)送確認(rèn)報(bào)文DHCPACK ,進(jìn)入已綁定狀態(tài),并可開始使用得到的臨時(shí) IP 地址了。
DHCP 客戶現(xiàn)在要根據(jù)服務(wù)器提供的租用期 T 設(shè)置兩個(gè)計(jì)時(shí)器 T1和 T2,它們的超時(shí)時(shí)間分別是 0.5T 和 0.875T。當(dāng)超時(shí)時(shí)間到就要請(qǐng)求更新租用期。
租用期過了一半(T1 時(shí)間到),DHCP 發(fā)送請(qǐng)求報(bào)文 DHCPREQUEST 要求更新租用期。DHCP 服務(wù)器若同意,則發(fā)回確認(rèn)報(bào)文DHCPACK 。DHCP 客戶得到了新的租用期,重新設(shè)置計(jì)時(shí)器。DHCP 服務(wù)器若不同意,則發(fā)回否認(rèn)報(bào)文DHCPNACK 。這時(shí) DHCP 客戶必須立即停止使用原來的 IP 地址,而必須重新申請(qǐng) IP 地址DHCP 客戶可隨時(shí)提前終止服務(wù)器所提供租用期,這時(shí)只需向 DHCP 服務(wù)器發(fā)送釋放報(bào)文 DHCPRELEASE 即可。
6.7.1 網(wǎng)絡(luò)管理的基本概念
網(wǎng)絡(luò)管理包括對(duì)硬件、軟件和人力的使用、綜合與協(xié)調(diào),以便對(duì)網(wǎng)絡(luò)資源進(jìn)行監(jiān)視、測(cè)試、配置、分析、評(píng)價(jià)和控制,這樣就能以合理的價(jià)格滿足網(wǎng)絡(luò)的一些需求,如實(shí)時(shí)運(yùn)行性能,服務(wù)質(zhì)量等。網(wǎng)絡(luò)管理常簡(jiǎn)稱為網(wǎng)管。
網(wǎng)絡(luò)管理并不是指對(duì)網(wǎng)絡(luò)進(jìn)行行政上的管理。
網(wǎng)絡(luò)管理模型中的主要構(gòu)件:
管理站也常稱為網(wǎng)絡(luò)運(yùn)行中心 NOC (Network Operations Center) ,是網(wǎng)絡(luò)管理系統(tǒng)的核心。
管理程序在運(yùn)行時(shí)就成為管理進(jìn)程。
管理站(硬件)或管理程序(軟件)都可稱為管理者(manager)。
Manager 不是指人而是指機(jī)器或軟件。
網(wǎng)絡(luò)管理員(administrator) 指的是人。大型網(wǎng)絡(luò)往往實(shí)行多級(jí)管理,因而有多個(gè)管理者,而一個(gè)管理者一般只管理本地網(wǎng)絡(luò)的設(shè)備。
被管對(duì)象:
網(wǎng)絡(luò)的每一個(gè)被管設(shè)備中可能有多個(gè)被管對(duì)象。
被管設(shè)備有時(shí)可稱為網(wǎng)絡(luò)元素或網(wǎng)元。
在被管設(shè)備中也會(huì)有一些不能被管的對(duì)象。
代理:
在每一個(gè)被管設(shè)備中都要運(yùn)行一個(gè)程序以便和管理站中的管理程序進(jìn)行通信。這些運(yùn)行著的程序叫做網(wǎng)絡(luò)管理代理程序,或簡(jiǎn)稱為代理。
代理程序在管理程序的命令和控制下在被管設(shè)備上采取本地的行動(dòng)。
網(wǎng)絡(luò)管理協(xié)議:
網(wǎng)絡(luò)管理協(xié)議,簡(jiǎn)稱為網(wǎng)管協(xié)議。
需要注意的是,并不是網(wǎng)管協(xié)議本身來管理網(wǎng)絡(luò)。網(wǎng)管協(xié)議就是管理程序和代理程序之間進(jìn)行通信的規(guī)則。
網(wǎng)絡(luò)管理員利用網(wǎng)管協(xié)議通過管理站對(duì)網(wǎng)絡(luò)中的被管設(shè)備進(jìn)行管理。