第六章
6-01. 因特網(wǎng)的域名結(jié)構(gòu)是怎樣的?它與目前的電話網(wǎng)的號碼結(jié)構(gòu)有何異同之處?答:域名系統(tǒng)結(jié)構(gòu)由若干個分量組成,各分量之間用點表示隔開。各分量分別代表不同級別的域名。每一級的域名都是由英文字母和數(shù)字組
6-01. 因特網(wǎng)的域名結(jié)構(gòu)是怎樣的?它與目前的電話網(wǎng)的號碼結(jié)構(gòu)有何異同之處?
答:域名系統(tǒng)結(jié)構(gòu)由若干個分量組成,各分量之間用點表示隔開。各分量分別代表不同級別的域名。每一級的域名都是由英文字母和數(shù)字組成,級別最低的域名寫在最左邊,而級別最高的頂級域名寫在右邊。完整的域名不超過255個字符。
同電話網(wǎng)號碼結(jié)構(gòu)的相同之處:都采用若干個分量表示,各個分量之間代表不同的級別。 同電話網(wǎng)號碼結(jié)構(gòu)的不同之處:電話號碼網(wǎng)中級別高的域名寫在最左邊,級別最低的域名寫在最右邊;而域名系統(tǒng)則相反。
6-02。域名系統(tǒng)的主要功能是什么?域名系統(tǒng)中的本地域名服務(wù)器、根域名服務(wù)器、頂級域名服務(wù)器以及權(quán)限域服務(wù)器有何區(qū)別?
答:域名系統(tǒng)的主要功能是實現(xiàn)域名到IP 地址的解析。
域名系統(tǒng)中的根域名服務(wù)器是指當(dāng)今存在于因特網(wǎng)上的十幾個根域名服務(wù)器,授權(quán)服務(wù)器是主機(jī)本地ISP 的一個域名服務(wù)器。
6-03. 舉例說明域名轉(zhuǎn)換的過程。域名服務(wù)器中的高速緩存的作用是什么?
答:假定域名為m.xyz.com 的主機(jī)想知道另一個域名為t.y.abc.com 的主機(jī)的IP 地址。首先向其本地域名服務(wù)器dns.xyz..com 。當(dāng)查詢不到的時候,就向根域名服務(wù)器dns.com 查詢。根據(jù)被查詢的域名中的”abc.com ”再向授權(quán)域名服務(wù)器dns.abc.com 發(fā)送查詢報文,最后再向授權(quán)域名服務(wù)器dns.y.abc.com 查詢。得到結(jié)果后,按查詢的路徑返回給本地域名服務(wù)器dns.xyz.com 。
域名服務(wù)器中的高速緩存的用途是優(yōu)化查詢的開銷,減少域名查詢花費的時間。
6-04. 設(shè)想有一天整個因特網(wǎng)的DNS 系統(tǒng)都癱瘓了(這種情況不大會出現(xiàn)),試問還有可能給朋友發(fā)送電子郵件嗎?
6-05. 文件傳送協(xié)議FTP 的主要工作過程是怎樣的?為什么說FTP 是帶外傳送控制信息?主進(jìn)程和從屬進(jìn)程各起什么作用?
答:FTP 使用客戶/服務(wù)器方式,一個FTP 服務(wù)器可同時為多個客戶服務(wù)進(jìn)程提供服務(wù)。FTP 服務(wù)器運行時創(chuàng)建一個主進(jìn)程,負(fù)責(zé)接受新的服務(wù)請求,另外有若干個從屬進(jìn)程,分別負(fù)責(zé)處理單個請求。
服務(wù)器主進(jìn)程(1)首先打開熟知端口(端口號21),使客戶進(jìn)程能夠連接上;(2)等待客戶進(jìn)程發(fā)出連接請求;(3)當(dāng)收到客戶進(jìn)程建立連接請求后,用傳送數(shù)據(jù)的熟知端口20與客戶進(jìn)程提供的端口號建立數(shù)據(jù)傳送連接(FTP 服務(wù)進(jìn)程使用了兩個不同的端口號,所以數(shù)據(jù)連接與控制連接不會發(fā)生混亂);(4)啟動從屬進(jìn)程來處理客戶進(jìn)程發(fā)來的數(shù)據(jù)傳送等服務(wù)請求,從屬進(jìn)程運行期間還可能創(chuàng)建一些子進(jìn)程,處理完客戶進(jìn)程請求后從屬進(jìn)程終止;(5)回到等待狀態(tài)。
客戶進(jìn)程向服務(wù)器主進(jìn)程發(fā)出連接建立請求時,尋找服務(wù)器的熟知端口21,同時將自己的端口號告訴服務(wù)器進(jìn)程。
6-06.簡單文件傳送協(xié)議TFTP 與FTP 的主要區(qū)別是什么?各用在什么場合?
答:Ftp 基于tcp 協(xié)議,會先建立連接在傳輸,有完善的容錯機(jī)制。tftp 基于udp 協(xié)議,數(shù)據(jù)是直接發(fā)送的,對方能否收到完全不知,是不可靠的傳送。適于傳送小文件,但不可用于局域網(wǎng)地址。
,6-07. 遠(yuǎn)程登陸TELNET 的主要特點是什么?什么叫做虛擬終端NVT ?
答:TELNET 是一個簡單的遠(yuǎn)程終端協(xié)議,本地主機(jī)上的用戶可使用TELNET 通過TCP 連接登錄(注冊)到遠(yuǎn)地由主機(jī)名或IP 地址標(biāo)識的另一臺主機(jī)上。TELNET 能將用戶在鍵盤上的擊鍵通過TCP 連接傳到遠(yuǎn)地主機(jī),同時也能將遠(yuǎn)地主機(jī)的輸出返回到本地用戶的顯示屏幕。這種服務(wù)是透明的,用戶的感覺就好象鍵盤與顯示器是直接連接到遠(yuǎn)地主機(jī)上的。
TELNET 的主要特點包括:(1)使用客戶/服務(wù)器方式,在本地主機(jī)運行TELNET 客戶進(jìn)程,而在遠(yuǎn)地主機(jī)上運行TELNET 服務(wù)器進(jìn)程。與FTP 情況相似,服務(wù)器中的主進(jìn)程等待新的請求,并產(chǎn)生從屬進(jìn)程來處理每一個連接。(2)TELNET 能夠適應(yīng)許多異構(gòu)的計算機(jī)和操作系統(tǒng)的差異,例如,對于文本中一行的結(jié)束,有的系統(tǒng)使用ASCII 碼的回車符CR ,有的使用換行符LF ,有的系統(tǒng)使用回車換行兩個字符;有如,一些系統(tǒng)中斷一個程序用^C,另一些用^D,還有的使用ESC 。
TELNET 定義了適應(yīng)這種差異的機(jī)制,這種機(jī)制就是所謂的網(wǎng)絡(luò)虛擬終端NVT (Network Virtual Terminal ),它規(guī)定了數(shù)據(jù)和命令如何通過因特網(wǎng)??蛻糗浖⒂脩舻膿翩I和命令轉(zhuǎn)換成NVT 格式,并遞交到服務(wù)器,服務(wù)器將收到的數(shù)據(jù)和命令由NVT 格式再轉(zhuǎn)換為遠(yuǎn)地系統(tǒng)所需的格式。向用戶返回數(shù)據(jù)時,服務(wù)器將遠(yuǎn)地系統(tǒng)格式轉(zhuǎn)換為NVT 格式,本地客戶再從NVT 格式轉(zhuǎn)換回本地系統(tǒng)的格式。
6-08. 解釋以下名詞。各英文縮寫詞的原文是什么?
www ,url ,http ,html ,cgi ,瀏覽器,超文本,超媒體,超鏈,頁面,活動文檔,搜索引擎。
答:WWW 是World Wide Web的縮寫,有時譯成萬維網(wǎng)或全球公眾信息網(wǎng),是一個大規(guī)模的在線信息儲藏所,是一種可在Internet 上公開發(fā)布信息的平臺。
萬維網(wǎng)必須解決以下問題:
1) 怎樣標(biāo)識分布在整個因特網(wǎng)上的萬維網(wǎng)文檔?
2) 用什么樣的協(xié)議實現(xiàn)萬維網(wǎng)上各種超鏈的鏈接?
3) 怎樣使不同作者創(chuàng)作的不同風(fēng)格的萬維網(wǎng)文檔能在因特網(wǎng)上的各種計算機(jī)上顯示
出來,同時使用戶清楚地知道在何處存在著超鏈?
4) 怎樣使用戶能夠方便地找到所需的信息?
為了解決第一個問題,使用統(tǒng)一資源定位符URL (Uniform Resource Locator)在萬維網(wǎng)上標(biāo)識各種文檔,并使每一個文檔在整個因特網(wǎng)上具有惟一的標(biāo)識符,這個標(biāo)識符我們稱之為統(tǒng)一資源標(biāo)識符URI (Uniform Resource Identifier)。
為了解決第二個問題,就要使萬維網(wǎng)客戶程序與萬維網(wǎng)服務(wù)器程序之間的交互遵守嚴(yán)格的協(xié)議,這個協(xié)議就是超文本傳送協(xié)議HTTP (Hyper Text Transfer Protocol ),它是一個使用TCP 連接進(jìn)行可靠傳送的應(yīng)用層協(xié)議。
為了解決第三個問題,萬維網(wǎng)使用超文本標(biāo)記語言HTML (Hyper Text Mark Language ),使得萬維網(wǎng)頁面的設(shè)計者可以很方便地用一個超鏈從本頁面的某處鏈接到因特網(wǎng)上的任何一個萬維網(wǎng)頁面,并且能在自己的或他人的計算機(jī)上將這些頁面顯示出來。能夠借助于超鏈將本地或遠(yuǎn)程的萬維網(wǎng)頁面在本地計算機(jī)上顯示出來的萬維網(wǎng)HTTP 客戶程序稱為瀏覽器(browser ),它使用HTTP 協(xié)議與URL 指示的萬維網(wǎng)服務(wù)器建立連接,能夠解釋執(zhí)行HTML 語言。在一個萬維網(wǎng)客戶程序主窗口上顯示出的萬維網(wǎng)文擋稱為頁面(page )。HTTP 服務(wù)器上等待來自HTTP 客戶的請求的進(jìn)程稱為HTTP 守護(hù)進(jìn)程(daemon ),有的文獻(xiàn)將其縮寫為HTTPD 。HTTPD 收到HTTP 請求后,經(jīng)過一些必要的處理,把請求的文檔頁面返回給瀏覽器。
為了解決最后一個問題,用戶可以使用各種搜索工具。如果不知道要找的信息在何網(wǎng)點,那就要使用萬維網(wǎng)檢索系統(tǒng),在萬維網(wǎng)中用來搜索的程序系統(tǒng)叫做搜索引擎(search
,engine )。
一個超文本(hypertext )由多個信息源鏈接而成,這些信息源的數(shù)目實際上是不受限制的。文本中的一個鏈接可以使用戶找到另一個文檔,而該文檔又可鏈接到其它文檔。依次類推。超媒體(hypermedia )與超文本的區(qū)別是文檔內(nèi)容不同,超文本僅包含文本信息,超媒體文檔則包含文本、圖形、圖像、聲音、動畫、甚至活動的視頻影像等多媒體信息,萬維網(wǎng)實質(zhì)上就是一個分布式的超媒體系統(tǒng)。若干個超文本或超媒體文檔之間的這種鏈接稱為超鏈(hyper link ),換句話說,超文本或超媒體就是通過超鏈鏈接起來的文本信息或多媒體信息。
最基本的萬維網(wǎng)文擋是靜態(tài)文檔(static document),創(chuàng)作完畢后存放在萬維網(wǎng)服務(wù)器中,在被用戶瀏覽的過程中內(nèi)容不變,用戶每次對靜態(tài)文檔的讀取所得到的返回結(jié)果是一樣的。靜態(tài)文檔簡單但不夠靈活,信息變化時需進(jìn)行手工修改文檔,不適應(yīng)信息變化頻繁的場合。
如果文擋的內(nèi)容在瀏覽器訪問萬維網(wǎng)時才有應(yīng)用程序動態(tài)創(chuàng)建,這種文檔稱為動態(tài)文檔(dynamic document )。當(dāng)瀏覽器請求到達(dá)時,萬維網(wǎng)服務(wù)器要運行另一個應(yīng)用程序,并將控制轉(zhuǎn)移到此程序。接著,該應(yīng)用程序?qū)g覽器發(fā)來的數(shù)據(jù)進(jìn)行處理,其間可能訪問數(shù)據(jù)庫或圖形軟件包等其它服務(wù)器資源,并輸出HTML 格式的文檔,萬維網(wǎng)服務(wù)器將應(yīng)用程序的輸出作為對瀏覽器的響應(yīng)。由于對瀏覽器每次請求的響應(yīng)都是臨時生成的,因此用戶通過動態(tài)文檔看到的內(nèi)容可根據(jù)需要不斷變化。
實現(xiàn)動態(tài)文檔必須在兩個方面對萬維網(wǎng)服務(wù)器的功能進(jìn)行擴(kuò)充:(1)增加一個應(yīng)用程序,處理瀏覽器發(fā)來的數(shù)據(jù),并創(chuàng)建動態(tài)文擋;(2)增加一種機(jī)制,用來使萬維網(wǎng)服務(wù)器將瀏覽器發(fā)來的數(shù)據(jù)傳送給該應(yīng)用程序,然后使萬維網(wǎng)服務(wù)器能夠解釋該應(yīng)用程序的輸出,并向瀏覽器返回HTML 文檔。一種標(biāo)準(zhǔn)的機(jī)制稱為通用網(wǎng)關(guān)接口CGI (Common Gateway Interface ),它定義了動態(tài)文檔應(yīng)如何創(chuàng)建,輸入數(shù)據(jù)如何提供給應(yīng)用程序,以及輸出結(jié)果如何使用。是因為新增加的程序叫做CGI 程序,因為萬維網(wǎng)服務(wù)器與應(yīng)用程序的通信遵循CGI 標(biāo)準(zhǔn),“通用”是因為該標(biāo)準(zhǔn)定義的規(guī)則對其他任何語言都通用,“網(wǎng)關(guān)”是因為CGI 程序還要訪問其他服務(wù)器資源,因而CGI 程序的作用有點像一個網(wǎng)關(guān)。CGI 程序的正式名稱是CGI script (腳本),腳本指的是一個程序,它被另一個程序(解釋程序)解釋或執(zhí)行。腳本可使用常規(guī)編程語言如C 、C 等來書寫,也可使用專門的腳本語言Perl 、JavaScript 、Vbscript 、REXX 等書寫。CGI 程序通常放在某些萬維網(wǎng)服務(wù)器的/cgi-bin目錄下,所以又稱為cgi-bin 腳本。微軟在其因特網(wǎng)信息服務(wù)器軟件IIS3及后續(xù)版本中擴(kuò)展了支持動態(tài)文檔的活動服務(wù)器頁面ASP (Active Server Page )技術(shù),該技術(shù)依賴ActiveX 控件,基于用戶輸入或其他信息創(chuàng)建動態(tài)HTML 文檔,這些文檔是通過運行后端服務(wù)器上采用VBscript 或JavaScript 創(chuàng)建的腳本而產(chǎn)生的,并確保所傳遞的頁面總是更新過的。
從HTML2.0開始增加了“表單(form )”,用來將用戶數(shù)據(jù)從瀏覽器傳遞給萬維網(wǎng)服務(wù)器,在創(chuàng)建動態(tài)文擋時,表單與CGI 程序經(jīng)常配合使用。表單在瀏覽器的屏幕出現(xiàn)時,就有一些方框和按鈕,供用戶選擇或點取,有的方框可讓用戶輸入數(shù)據(jù)。
活動文檔(active document)將所有工作都轉(zhuǎn)移給瀏覽器端。每當(dāng)瀏覽器請求一個活動文檔,服務(wù)器就返回一段程序副本并在瀏覽器端運行,創(chuàng)建出活動文檔。活動文檔程序可與用戶直接交互,并可連續(xù)地改變屏幕的顯示。由于不需要服務(wù)器連續(xù)更新傳送,對網(wǎng)絡(luò)帶寬要求不太高。從傳送的角度看,瀏覽器和服務(wù)器都將活動文檔看成是靜態(tài)文檔,在服務(wù)器上的活動文檔的內(nèi)容是不變的,這與動態(tài)文檔是有區(qū)別的。瀏覽器可在本地緩存一份活動文檔副本,活動文檔本身并不包括其運行的全部軟件,大部分支撐軟件事先存放在瀏覽器中,
6-09. 假定一個超鏈從一個萬維網(wǎng)文檔鏈接到另一個萬維網(wǎng)文檔時,由于萬維網(wǎng)文檔上出現(xiàn)
,了差錯而使得超鏈指向一個無效的計算機(jī)名字。這時瀏覽器將向用戶報告什么? 答:404 Not Found.
6-10. 假定要從已知的URL 獲得一個萬維網(wǎng)文檔。若該萬維網(wǎng)服務(wù)器的IP 地址開始時并不知道。試問:除HTTP 外,還需要什么應(yīng)用層協(xié)議和運輸層協(xié)議?
11、你所使用的瀏覽器的高速緩存有多大?請進(jìn)行一個實驗:訪問幾個WWW 文檔,然后將你的計算機(jī)與網(wǎng)絡(luò)斷開,然后再回到你剛才訪問過的文檔。你的瀏覽器的高速緩存能夠存放多少個頁面?
答:(因不同機(jī)器而定)
12 、什么是動態(tài)文檔?試舉出萬維網(wǎng)使用動態(tài)文檔的一些例子。
如果文擋的內(nèi)容在瀏覽器訪問萬維網(wǎng)時才有應(yīng)用程序動態(tài)創(chuàng)建,這種文檔稱為動態(tài)文檔(dynamic document)。當(dāng)瀏覽器請求到達(dá)時,萬維網(wǎng)服務(wù)器要運行另一個應(yīng)用程序,并將控制轉(zhuǎn)移到此程序。接著,該應(yīng)用程序?qū)g覽器發(fā)來的數(shù)據(jù)進(jìn)行處理,其間可能訪問數(shù)據(jù)庫或圖形軟件包等其它服務(wù)器資源,并輸出HTML 格式的文檔,萬維網(wǎng)服務(wù)器將應(yīng)用程序的輸出作為對瀏覽器的響應(yīng)。由于對瀏覽器每次請求的響應(yīng)都是臨時生成的,因此用戶通過動態(tài)文檔看到的內(nèi)容可根據(jù)需要不斷變化。例如Google 搜索到的信息,博客,論壇等。
13、瀏覽器同時打開多個TCP 連接進(jìn)行瀏覽的優(yōu)缺點如何?請說明理由。
14、當(dāng)使用鼠標(biāo)點取一個WWW 文檔時,若該文檔除了有文本外,還有一個本地.gif 圖像和兩個遠(yuǎn)地.gif 圖像。試問:需要使用哪個應(yīng)用程序,以及需要建立幾次UDP 連接和幾次TCP 連接?
解答
使用支持HTTP 協(xié)議的應(yīng)用程序。不需要建立UDP 連接。需要建立4次TCP 連接,一次讀取整個WWW 文檔,然后讀取三個.gif 圖像文件。由于HTTP 是一種分布式協(xié)議,對本地.gif 圖像文件和遠(yuǎn)地.gif 圖像文件同樣看待。
15、假定你在瀏覽器上點擊一個URL, 但是這個URL 的IP 地址以前并沒有緩存在本地主機(jī)上。因此需要用DNS 自動查找和解析。假定要解析到所有要找到的URLd IP 地址公斤過n 個DNS 服務(wù)器,所經(jīng)過的時間分別為RTT1,RTT2, …,RTTn 。假定從要找的網(wǎng)頁上只需讀取一個很小的圖片(即忽略這個小圖片的傳輸時間) 。從本地主機(jī)到這個網(wǎng)頁的往返時間是RTTw 。試問從點擊這個URL 開始,一直到本地主機(jī)的屏幕上出現(xiàn)所讀取的小圖片,一共要經(jīng)過多少時間?
16、在上題中假定同一臺服務(wù)器的HTML 文件中有鏈接了三個份非常小的對象。若忽略這些對象的發(fā)送時間,試計算客戶點擊讀取這些對象所需的時間。
(1) 沒有并行TCP 連接的非持續(xù)HTTP ;
(2) 使用并行TCP 連接的非持續(xù)HTTP ;
(3) 流水線方式的持續(xù)HTTP 。
17、在瀏覽器中應(yīng)當(dāng)有幾個可選解釋程序。試給出一些可選解釋程序的名稱。
,18、一個萬維網(wǎng)網(wǎng)點有1千萬個頁面,平均每個頁面有10個超鏈。讀取一個頁面平均要100ms 。問要檢索整個網(wǎng)點所需的最少時間?
解答
6
每個頁面都要被訪問。每個頁面需要100ms ,得到所有的頁面要花10s 的時間,這大約等于11.6天。與每個頁面上的鏈接數(shù)目是無關(guān)的,因為散列表保證每個頁面僅訪問一次。
19、搜索引擎可分為那兩種類型?給有什么特點?
搜索引擎按其工作方式主要可分為兩種,分別是全文搜索引擎(Full Text Search Engine )和目錄索引類搜索引擎(Search Index/Directory
全文搜索引擎
全文搜索引擎是名副其實的搜索引擎,國外具代表性的有Google 、Fast/AllTheWeb、AltaVista 、Inktomi 、Teoma 、WiseNut 等,國內(nèi)著名的有百度(Baidu )。它們都是通過從互聯(lián)網(wǎng)上提取的各個網(wǎng)站的信息(以網(wǎng)頁文字為主)而建立的數(shù)據(jù)庫中,檢索與用戶查詢條件匹配的相關(guān)記錄,然后按一定的排列順序?qū)⒔Y(jié)果返回給用戶,因此他們是真正的搜索引擎。 從搜索結(jié)果來源的角度,全文搜索引擎又可細(xì)分為兩種,一種是擁有自己的檢索程序(Indexer ),俗稱“蜘蛛”(Spider )程序或“機(jī)器人”(Robot )程序,并自建網(wǎng)頁數(shù)據(jù)庫,搜索結(jié)果直接從自身的數(shù)據(jù)庫中調(diào)用,如上面提到的7家引擎;另一種則是租用其他引擎的數(shù)據(jù)庫,并按自定的格式排列搜索結(jié)果,如Lycos 引擎。
目錄索引
目錄索引雖然有搜索功能,但在嚴(yán)格意義上算不上是真正的搜索引擎,僅僅是按目錄分類的網(wǎng)站鏈接列表而已。用戶完全可以不用進(jìn)行關(guān)鍵詞(Keywords )查詢,僅靠分類目錄也可找到需要的信息。目錄索引中最具代表性的莫過于大名鼎鼎的Yahoo 雅虎。其他著名的還有Open Directory Project (DMOZ )、LookSmart 、About 等。國內(nèi)的搜狐、新浪、網(wǎng)易搜索也都屬于這一類
6-20 試述電子郵件的最主要的組成部件。用戶代理UA 的作用是什么? 沒有UA 行不行? 答案:電子郵件的主要組成部件,這就是用戶代理、郵件服務(wù)器,以及電子郵件使用的協(xié) 議。用戶代理UA 就是用戶與電子郵件系統(tǒng)的接口,在大多數(shù)情況下就是在用戶PC 機(jī)中運行的程序。郵件服務(wù)器是電子郵件系統(tǒng)的核心構(gòu)建,因特網(wǎng)上所有的ISP 都有郵件服務(wù)器。遇見服務(wù)器所使用的協(xié)議主要有用戶發(fā)送郵件的SMTP 協(xié)議,另一個協(xié)議是用于接受郵件的POP 協(xié)議。
用戶代理的功能主要有:(1)撰寫,給用戶提供方便地編輯信件的環(huán)境;(2)顯 示,能方便的在計算機(jī)屏幕上顯示出來信;(3)處理,處理包括發(fā)送郵件和接收郵件。 沒有用戶代理是不行的。這是因為并非所有的計算機(jī)都能運行郵件服務(wù)器程序。有 些計算機(jī)可能沒有足夠的存儲器來運行允許程序在后臺運行的操作系統(tǒng),或是可能沒有足 夠的CPU 能力來運行服務(wù)器程序。更重要的是,郵件服務(wù)器程序必須不間斷地運行,每天不間斷地連接在因特網(wǎng)上,否則可能使很陡外面發(fā)來的郵件丟失。讓用戶的PC 機(jī)運行郵件服務(wù)器程序是不現(xiàn)實的。讓來信暫時存儲在ISP 郵件服務(wù)器中,而當(dāng)用戶方便是就從服務(wù)器中的用戶信箱中來讀取來信,是比較合理的做法。
6-21 電子郵件的信封和內(nèi)容在郵件的傳送過程中起什么作用?和用戶的關(guān)系如何?
,答案 電子郵件由信封和內(nèi)容兩部分組成。電子郵件的傳輸程序根據(jù)郵件信封上的信息來 傳送郵件,用戶在從自己的郵箱中讀取郵件時候才能見到郵件的內(nèi)容。
6-22 電子郵件的地址格式是怎樣的?請說明各部分的意思。
答案 電子郵件系統(tǒng)規(guī)定電子郵件地址的格式為:收信人郵箱名@郵箱所在主機(jī)的域名, 其中“@”表示“在”的意思。收信人郵箱名又簡稱為用戶名,是收信人自己定義的字符串 標(biāo)識符,收信人郵箱名的字符串在郵箱所在計算機(jī)中必須是唯一的,電子郵件的用戶一般采用容易記憶的字符串。郵箱所在地域名在整個因特網(wǎng)范圍內(nèi)必須是唯一的。
6-23 試簡述SMTP 通信的三個階段的過程。
答案 SMTP通信的三個階段:
1.連接建立。發(fā)信人現(xiàn)將發(fā)送的郵件送到郵件緩存。SMTP 客戶每隔一段時間對郵件 緩存掃描一次。如發(fā)現(xiàn)有郵件,就通主機(jī)的SMTP 服務(wù)器建立TCP 連接,連接建立后,SMTP 服務(wù)器發(fā)出“服務(wù)就緒”,然后SMTP 客戶想SMTP 發(fā)送命令,SMTP 若有能力接收郵件,發(fā)送準(zhǔn)備好命令,若SMTP 服務(wù)器不可用,回答服務(wù)不可用。
2.郵件傳送。郵件的發(fā)送從MAIL 命令開始。若SMTP 服務(wù)器已經(jīng)準(zhǔn)備號接受郵件,則發(fā)送一個RCPT 命令,并從SMTP 服務(wù)器返回相應(yīng)的信息,然后開始傳送數(shù)據(jù);如果SMTP 沒有準(zhǔn)備好接受郵件,就返回一個代碼,指出錯誤的原因。
3.連接釋放。郵件發(fā)送完畢后,SMTP 客戶發(fā)送QUIT 命令。SMTP 服務(wù)器返回信息,表示同意釋放TCP 連接,郵件發(fā)送的全部過程結(jié)束。
6-24 試述郵局協(xié)議POP 的工作過程。在電子郵件中,為什么需要使用POP 和SMTP 這兩個協(xié)議?IMAP 與POP 有何區(qū)別?
答案 當(dāng)收取郵件時,電子郵件軟件首先會根據(jù)用戶名和密碼調(diào)用DNS 協(xié)議對POP 服務(wù)器進(jìn)行解析IP地址,然后郵件程序便開始使用TCP 協(xié)議連接郵件服務(wù)器的110端口。當(dāng)郵件程序成功地連上POP 服務(wù)器后,齊賢慧使用USER 命令將郵箱的賬號傳給pop 服務(wù)器,然后在使用PASS 命令將郵箱的密碼傳給服務(wù)器,當(dāng)完成這一認(rèn)證過程后,郵件程序使用STAT 命令請求服務(wù)器返回郵箱的統(tǒng)計資料,比如郵件總數(shù)和郵件大小等,然后LIST 便會列出服務(wù)器里郵件數(shù)量。接著郵件程序就會使用RETR 命令接受郵件,接受一封后便使用DELE 命令將郵件服務(wù)器中的郵件置為刪除狀態(tài)。當(dāng)使用QUIT 時,郵件服務(wù)器便會將置為刪除標(biāo)志的郵件給刪了。這就是POP 協(xié)議工作的過程。
pop協(xié)議和SMTP 協(xié)議分別是用來收信、發(fā)信時使用的協(xié)議。也就是說,這兩個協(xié)議是專門為接受、發(fā)送郵件設(shè)計的語言,通過使用pop 和SMTP 協(xié)議,可以是接受以及發(fā)送郵件變得方便。
因特網(wǎng)報文存取協(xié)議IMAP 比pop 復(fù)雜,雖然都是按照客戶服務(wù)器方式工作,但還是有很大的差別。IMAP 是一個聯(lián)機(jī)協(xié)議,用戶可以在自己的PC 機(jī)上操縱ISP 郵件服務(wù)器的郵箱,就像在本地操縱一樣。當(dāng)用戶打開IMAP 服務(wù)器的郵箱時,可以看到郵件首部。若用戶需要打開某個郵件,則該郵件才傳送到用戶的計算機(jī)上。用戶可以按照某種條件對郵件進(jìn)行查找,在用戶未發(fā)出刪除郵件的命令之前,IMAP 服務(wù)器郵箱中的郵件一直保存著。這樣用戶就可以在不同的地方使用不同的計算機(jī)隨時上網(wǎng)閱讀和處理自己的郵件。IMAP 還允許收信人只讀取郵件中的某一個部分。
6-25 MIME與SMTP 的關(guān)系是怎樣的?什么是quoted-printable 編碼和base64編碼?
答案 由于SMTP 存在著一些缺點和不足,在這種情況下提出了通用因特網(wǎng)郵件擴(kuò)充協(xié)
,議MIME 。MIME 并沒有改動SMTP 或取代它。MIME 的意圖是繼續(xù)使用目前的格式,但增加了郵件主題的結(jié)構(gòu),并定義了傳送非ASCII 碼的編碼規(guī)則,也就是說,MIME 郵件可以在現(xiàn)有的電子郵件程序和協(xié)議下傳送??梢杂妙}8-12解圖表示。
quoted-printable編碼適用于所有可以打印的ASCII 碼,除非特殊字符等號“=”外,都不改變。
base64編碼適用于任意的二進(jìn)制文件。編碼過程是先將二進(jìn)制代碼劃分為一個24bit 長的單元,然后將每一個24bit 單元劃分為4個6bit 組,每一個6bit 組按照一定方法轉(zhuǎn)換成
ASCII 碼。base64編碼增加了開銷,當(dāng)需要傳送的數(shù)據(jù)大部分為ASCII 碼時,最好還是采用 quoted-printable 編碼。
6-26一個二進(jìn)制文件共3072字節(jié)長,若使用base64編碼,并且每發(fā)送完80字節(jié)就插入一個回車符CR 和一個換行符LF ,問一共發(fā)送了多少個字節(jié)?
解析 base64的編碼原則方法是先將二進(jìn)制代碼劃分為一個24bit 長的單元,然后將每
一個24bit 單元劃分為4個6bit 組,每一個6bit 組按照一下方法轉(zhuǎn)換成ASCII 碼。6bit 的二進(jìn)制代碼共有64中不同的值,從0到63,分別用大寫字碼,小寫字碼,10個阿拉伯?dāng)?shù)字, ,/表示,再用兩個連在一起的等號和一個等號分別表示最后一組的代碼只有8或16bit ?;剀嚭蛽Q行可以在任何地方插入。然后將ASCII 碼進(jìn)行傳輸。簡單說,是將每6bit 的數(shù)據(jù)轉(zhuǎn)換為8bit 之后再進(jìn)行傳輸。
答案 轉(zhuǎn)換后共需要傳送的字節(jié)數(shù)=3072*8/4096,由題知每80個字節(jié)就插入兩個字節(jié),所以一共還需要插入的字節(jié)數(shù)為4096/80*2=102再加上最后一組發(fā)送完應(yīng)歘如的CR 和LF ,最后一共需要傳輸?shù)淖止?jié)數(shù)為4096 102 2=4100(字節(jié))。
6-27試將數(shù)據(jù)11001100 10000001 00111000進(jìn)行base64編碼,并得出最后傳送的ASCII 數(shù)據(jù)。
解析 考察的仍然是base64編碼,基本原理同上體一樣。分成6bit 每組,按照相對應(yīng)
的ASCII 碼進(jìn)行傳送。本題中按照6bit 每組進(jìn)行排列,得到110011 001000 000100 111000,相對應(yīng)的編碼為zlE4, 如題8-14解圖所示為ASCII 碼表。
根據(jù)ASCII 編碼表得到最后傳送的數(shù)據(jù)為:7A 49 45 34。
答案 01111010 01001001 01000101 00110100。
6-28試將數(shù)據(jù)01001100 10011101 00111001進(jìn)行quoted-printable 編碼,并得出最后傳送
的ASCII 數(shù)據(jù)。這樣的數(shù)據(jù)用quoted-printable 編碼后,其編碼開銷有多大?
解析 quoted-printable編碼規(guī)則是對于可打印的字節(jié)的二進(jìn)制代碼用兩個十六進(jìn)制
數(shù)字表示,然后在前面加上一個等號“=”。而等號的二進(jìn)制代碼為00111101,即十六進(jìn)制 的3D ,等號的quoted-printable 編碼為“=3D”。對于本體,所給數(shù)據(jù)的十六進(jìn)制表示為4C 9D 39,其中第二個字節(jié)為非ASCII 編碼,需要增加等號,增加后對應(yīng)的ASCII 值為L=9D9, 則最后的ASCII 編碼為4C 3D 39 44 39。解得此題。
答案 01001100 00111101 00111001 01000100 00111001。
編碼開銷 = (5-3)/3 = 66.7 。
6-29 電子郵件系統(tǒng)需要將人們的電子郵件地址編成目錄以便于查找。要建立這種目錄應(yīng)將人名劃分為幾個標(biāo)準(zhǔn)部分(例如,姓、名)。若要形成一個國際標(biāo)準(zhǔn),那么必須解決哪些問題?
答:非常困難。人名的書寫方法,例如,很多國家是先寫名再寫姓,但中國或日本等國家則先寫姓再寫名。有些國家的一些人還有中間的名。稱呼也有非常多的種類,還有各式各樣的頭銜等,很難有統(tǒng)一的格式。
6-30 電子郵件系統(tǒng)使用TCP 傳送郵件。為什么有時我們會遇到郵件發(fā)送失敗的情況?為什么有時對方會收不到我們發(fā)送的郵件?
答:有時對方的郵件服務(wù)器不工作,郵件就發(fā)送不出去。對方的郵件服務(wù)器出故障也會使郵件丟失。
6-31 基于萬維網(wǎng)的電子郵件系統(tǒng)有什么特點?在傳送郵件時使用什么協(xié)議?
6-32 DHCP 協(xié)議用在什么情況下?當(dāng)一臺計算機(jī)第一次運行引導(dǎo)程序時,其ROM 中有沒有該主機(jī)的IP 地址、子網(wǎng)掩碼或某個域名服務(wù)器的IP 地址?
6-33 什么是網(wǎng)絡(luò)管理?為什么說網(wǎng)絡(luò)管理是當(dāng)今網(wǎng)絡(luò)領(lǐng)域中的熱門課題?
答:網(wǎng)絡(luò)管理簡稱網(wǎng)管,包括對硬件、軟件和人力的使用、綜合與協(xié)調(diào),以便對網(wǎng)絡(luò)資源進(jìn)行監(jiān)視、測試、配置、分析、評估和控制,以合理的價格滿足網(wǎng)絡(luò)使用需求,如實時運行性能、服務(wù)質(zhì)量等。
網(wǎng)絡(luò)是當(dāng)今不可或缺的信息基礎(chǔ)設(shè)施,尤其是進(jìn)入互聯(lián)網(wǎng)時代,網(wǎng)絡(luò)變得越來越龐大,也越來越復(fù)雜。網(wǎng)絡(luò)是一個由許多運行著多種協(xié)議的結(jié)點組成的分布式系統(tǒng),這些結(jié)點需要相互通信和交換信息,網(wǎng)絡(luò)的狀態(tài)也總是不斷變化著。為了上面提到的網(wǎng)絡(luò)管理目標(biāo),必須依靠網(wǎng)絡(luò)自身來對網(wǎng)絡(luò)實現(xiàn)智能的高效管理,因此網(wǎng)絡(luò)管理業(yè)成為網(wǎng)絡(luò)技術(shù)必不可少的一個分支,也是網(wǎng)絡(luò)領(lǐng)域中最熱門的話題之一。
6-34 解釋下列術(shù)語:網(wǎng)絡(luò)元素、被管對象、管理進(jìn)程、代理進(jìn)程和管理信息庫。
,答:網(wǎng)絡(luò)元素是指網(wǎng)絡(luò)中的被管設(shè)備,有時簡稱網(wǎng)元,可以是主機(jī)、路由器、網(wǎng)橋、交換機(jī)/集線器、打印機(jī)、調(diào)制解調(diào)器等設(shè)備。
每一個網(wǎng)絡(luò)設(shè)備可以有多個被管對象,可以是設(shè)備中的一個硬件部件(如一塊網(wǎng)卡),業(yè)可以是某些硬件或軟件(如路由選擇協(xié)議)的配置參數(shù)集合。管理信息庫是一個網(wǎng)絡(luò)中所有被管對象的集合的數(shù)據(jù)結(jié)構(gòu)。
管理站是整個網(wǎng)絡(luò)管理系統(tǒng)的核心,管理站中的核心構(gòu)件是管理程序,管理程序運行時會創(chuàng)建一個或若干個管理進(jìn)程。
在每一個被管設(shè)備中都要運行一個網(wǎng)絡(luò)管理的代理程序,運行時就成了代理進(jìn)程。 一個綜合網(wǎng)絡(luò)管理系統(tǒng)包含OSI 網(wǎng)絡(luò)管理模型的多個或全部功能域。目前有的綜合網(wǎng)絡(luò)管理系統(tǒng)(如CA 公司的Unicenter 、HP 的OpenView 、IBM 的Tivoli )還涉及信息管理、存儲管理等各種資源管理。
6-35 SNMP使用UDP 傳送報文。為什么不使用TCP ?
答:因為SNMP 協(xié)議采用客戶/服務(wù)器工作方式,客戶與服務(wù)器使用request 和response 報文建立了一種可靠的請求/響應(yīng)關(guān)系,因此不必再耗時建立TCP 連接。而采用首部開銷比TCP 小的UDP 報文形式。
6-36 為什么SNMP 的管理進(jìn)程使用探詢掌握全網(wǎng)狀態(tài)屬于正常情況,而代理進(jìn)程用陷阱向管理進(jìn)程報告屬于較少發(fā)生的異常情況?
答:探詢主要由管理站根據(jù)需要來向代理請求信息或要求代理執(zhí)行某個動作,該方式開銷和時延都相對大一些,再正常情況下,這些都是可以接受的。
盡管探詢方式也可以為代理進(jìn)程所用,但在嚴(yán)重異常情況下,需要及時地向管理進(jìn)程報告。因此采用了陷阱方式。
6-37 SNMP使用哪幾種操作?SNMP 在Get 報文中設(shè)置了請求標(biāo)識符字段,為什么?
答:SNMP 有兩種操作:(1)“讀”操作,用get 報文來檢測各被管對象的狀況。(2)“寫”操作,用set 報文來改變各被管對象的狀況。
因為SNMP 在get 報文中設(shè)置請求標(biāo)識符字段,可以允許管理進(jìn)程同時向許多代理發(fā)送請求,代理響應(yīng)回答的get-response 報文中也包含相應(yīng)的請求標(biāo)識符,以區(qū)分不同的代理發(fā)回的響應(yīng)報文。
6-38什么是管理信息庫MIB ?為什么要使用MIB ?
答案:管理信息庫MIB 是一個網(wǎng)絡(luò)中所有可能的被管對象集合的數(shù)據(jù)結(jié)構(gòu)。
只有在MIB 中的對象才是SNMP 能夠管理的。MIB 的定義與具體的網(wǎng)絡(luò)管理協(xié)議無關(guān),這對于廠商和用戶都有利,廠商可以在產(chǎn)品中包含SNMP 代理軟件,并保證在定義新的MIB 項目后該軟件仍能夠遵守標(biāo)準(zhǔn)。用戶可以使用同一網(wǎng)絡(luò)管理客戶軟件來管理具有不同版本的MIB 的多個路由器。
6-39什么是管理信息結(jié)構(gòu)SMI ?它的作用是什么?
答案:管理信息結(jié)構(gòu)SMI 是SNMP 的另一個重要組成部分。SMI 標(biāo)準(zhǔn)指明了所有的MIB 變量必須使用抽象語法記法1(ASN.1)來定義。
6-40用ASN.1基本編碼規(guī)則對以下4個數(shù)組(SEQUENCE-OF )進(jìn)行編碼。假定每一個數(shù)字占
,用4個字節(jié)。
2345,1236,122,1236
答案:整個的編碼為:
30 18
02 04 00 00 09 29
02 04 00 00 04 D4
02 04 00 00 00 7A
02 04 00 00 04 D4
6-41SNMP 要發(fā)送一個GetRequest 報文,以便向一個路由器獲取ICMP 的icmpInParmProbs 的值。在icmp 中變量icmpInParmProbs 的標(biāo)號是(5),它是一個計數(shù)器,用來統(tǒng)計收到的類型為參數(shù)問題的ICMP 差錯報告報文的數(shù)目。試給出這個GetRequest 報文的編碼。 答案:1.3.6.1.2.1.5.5.0
30 29
02 01 00
04 06 70 75 62 6C 69 63
A0 1C
02 04 00 01 06 14
02 01 00
02 01 00
30 0E
30 0C
06 08 2B 06 01 02 01 05 05 00
05 00
6-42對tcp 的OBJECT IDENTIFIER是什么?
答案: {1.3.6.1.2.1.6}
6-43在ASN.1中,IP 地址(IPAddress )的類別是應(yīng)用類。若IPAddress=131.21.14.2,試求其ASN.1編碼。
答案: 40 04 83 15 0E 02
6-44什么是應(yīng)用編程接口API ?它是應(yīng)用程序和誰的接口?
答案: 當(dāng)某個應(yīng)用進(jìn)程啟動系統(tǒng)調(diào)用時,控制權(quán)就從應(yīng)用進(jìn)程傳遞給了系統(tǒng)調(diào)用接口。此接口再將控制權(quán)傳遞給計算機(jī)的操作系統(tǒng),操作系統(tǒng)將此調(diào)用給某個內(nèi)部過程,并執(zhí)行所請求的操作。內(nèi)部過程一旦執(zhí)行完畢,控制權(quán)就又通過系統(tǒng)調(diào)用接口返回給應(yīng)用程序。只要應(yīng)用進(jìn)程需要從操作系統(tǒng)獲得服務(wù),就要將控制權(quán)傳遞給操作系統(tǒng),操作系統(tǒng)在執(zhí)行必要的操作后將控制權(quán)返回給應(yīng)用進(jìn)程,這種系統(tǒng)調(diào)用接口又稱為應(yīng)用編程接口API 。API 是應(yīng)用程序和操作系統(tǒng)之間的接口。
6-45試舉出常用的幾種系統(tǒng)調(diào)用的名稱,說明它們的用途。
答案: 無答案
6-46圖表示了各應(yīng)用協(xié)議在層次中的位置。
(1)簡單討論一下為什么有的應(yīng)用層協(xié)議要使用TCP 而有的卻要使用UDP ?
(2)為什么MIME 畫在SMTP 之上?
(3)為什么路由選擇協(xié)議RIP 放在應(yīng)用層?