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