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