網(wǎng)絡(luò)編程教材課后練習簡答題(共8頁)_第1頁
網(wǎng)絡(luò)編程教材課后練習簡答題(共8頁)_第2頁
網(wǎng)絡(luò)編程教材課后練習簡答題(共8頁)_第3頁
網(wǎng)絡(luò)編程教材課后練習簡答題(共8頁)_第4頁
網(wǎng)絡(luò)編程教材課后練習簡答題(共8頁)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上1、 按從低到高的順序描述OSI參考模型的層次結(jié)構(gòu)。OSI參考模型將網(wǎng)絡(luò)通信的工作劃分為7個層次,由低到高分別為物理層(Physical Layer)、數(shù)據(jù)鏈路層(Data Link Layer)、網(wǎng)絡(luò)層(Network Layer)、傳輸層(Transport Layer)、會話層(Session Layer)、表示層(Presentation Layer)和應(yīng)用層(Application Layer)。2、 簡述OSI參考模型實現(xiàn)通信的工作原理。在網(wǎng)絡(luò)通信中,發(fā)送端的自上而下的使用OSI參考模型,對應(yīng)用程序要發(fā)送的信息進行逐層打包,直至在物理層將其發(fā)送到網(wǎng)絡(luò)中;而

2、接收端則自下而上的使用OSI參考模型,將收到的物理數(shù)據(jù)逐層解析,最后將得到的數(shù)據(jù)傳送給應(yīng)用程序。當然,并不是所有的網(wǎng)絡(luò)通信都需要經(jīng)過OSI模型的全部七層。例如,同一網(wǎng)段的二層交換機之間通信之需要經(jīng)過數(shù)據(jù)鏈路層和物理層,而路由器之間的連接則只需要網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層即可。在發(fā)送方封裝數(shù)據(jù)的過程中,每一層都會為數(shù)據(jù)包加上一個頭部;在接收方解封數(shù)據(jù)時,又會逐層解析掉這個頭部。因此,雙方的通信必須在對等層次上進行,否則接收方將無法正確地解析數(shù)據(jù)。3、 簡述數(shù)據(jù)鏈路層中數(shù)據(jù)幀的結(jié)構(gòu)。幀的簡要結(jié)構(gòu)如圖1.4所示。圖1.4 幀的簡要結(jié)構(gòu)每個字段的說明如下:l 前導(dǎo)碼,內(nèi)容是16進制數(shù)0xAA,作用是使

3、接收節(jié)點進行同步并做好接收數(shù)據(jù)幀的準備。l 幀首定界符,是的二進制序列,標識幀的開始,以使接收器對實際幀的第一位定位。l 源地址和目的地址,即發(fā)送和接收數(shù)據(jù)的兩端主機的MAC地址。目的地址可以是單地址、組播地址和廣播地址。l 數(shù)據(jù)字段的長度,指定要傳送數(shù)據(jù)的長度,以便接收方對數(shù)據(jù)進行處理。l 要傳送的數(shù)據(jù),顧名思義,就是從源地址發(fā)送到目的地址的原始數(shù)據(jù)。l 填充字段,有效幀從目的地址到校驗和字段的最短長度為64字節(jié),其中固定字段的長度為18個字節(jié)。如果數(shù)據(jù)字段長度小于46個字節(jié)時,就使用本字段來填充。l 校驗和,使用32位CRC校驗,用于對傳送數(shù)據(jù)進行校驗。1、 簡述IP生存時間的含義和作用。

4、生存周期表示一個Internet報文生存期的上限,由報文的發(fā)送者來設(shè)置??梢园焉嬷芷诳醋魇菙?shù)據(jù)庫包的壽命計數(shù)器。為了防止數(shù)據(jù)包在網(wǎng)絡(luò)中無休止地被傳遞下去,或者由于傳輸路徑造成死循環(huán),每個IP數(shù)據(jù)包中都包含一個壽命計數(shù)器。數(shù)據(jù)包在網(wǎng)絡(luò)傳輸?shù)倪^程中,每經(jīng)過一個路由器的處理,其中的壽命計數(shù)器就會遞減1。如果壽命計數(shù)器的值等于0,并且報文還沒有到達目的地,則該報文將會被丟失。發(fā)送者將會在稍后重新發(fā)送該報文。為什么要在IP協(xié)議中使用生存周期的概念呢。因為Internet的結(jié)構(gòu)是復(fù)雜的,從一個主機發(fā)送報文到另外一個主機可以有多種路徑,這一點與現(xiàn)實生活中一樣,比如開車前往一個地點就可以有多種路線可供選擇。

5、因為數(shù)據(jù)包在網(wǎng)絡(luò)傳輸中的路徑是由路由器或交換機等網(wǎng)絡(luò)設(shè)備根據(jù)當時的網(wǎng)絡(luò)情況選擇的,所以每次傳輸?shù)穆窂蕉伎赡懿煌?。如果一個數(shù)據(jù)包在傳輸過程中進入了環(huán)路,如果不終止它的話,它可能一直這樣循環(huán)下去。如果網(wǎng)絡(luò)中存在大量這樣循環(huán)的數(shù)據(jù)包,那對于網(wǎng)絡(luò)來說就是一種災(zāi)難性。使用生存周期就可以解決這種問題,它可以將長時間無法到達目的地的數(shù)據(jù)包丟棄。2、 試例舉5個常用的TCP或UDP端口號及其功能。Tcp端口號 21:FTP服務(wù)器所開放的端口,用于上傳、下載。 22:PcAnywhere建立TCP連接的端口。 23:Telnet遠程登錄。 25:SMTP服務(wù)器所開放的端口,用于發(fā)送郵件。 53:DNS服務(wù)器所開

6、放的端口。 80:HTTP端口用于網(wǎng)頁瀏覽。3、 簡述TCP和UDP的區(qū)別。UDP是一種不可靠的協(xié)議,在傳送數(shù)據(jù)時,源主機和目的主機之間不建立連接。而TCP協(xié)議為了確保數(shù)據(jù)傳輸?shù)臏蚀_和安全可靠,集成了各種安全保障功能,這在實際執(zhí)行過程中會占用大量的系統(tǒng)開銷。因此,UDP具有TCP無法比擬的速度優(yōu)勢。相對于可靠性而言,基于UDP的應(yīng)用更注意性能。與TCP相比,UDP更適合發(fā)送數(shù)據(jù)量比較少、但對響應(yīng)速度要求比較高的情況。4、 簡述ARP欺騙的兩種情況。 ARP欺騙通常有如下兩種情況(1)對路由器ARP表的欺騙,感染ARP木馬的主機會不斷地向路由器發(fā)送一系列錯誤的內(nèi)網(wǎng)MAC地址,使真實的地址信息無法

7、通過更新保存在路由器上。因為路由器負責轉(zhuǎn)發(fā)數(shù)據(jù)包,是主機連接互聯(lián)網(wǎng)的關(guān)鍵設(shè)備,所以路由器被欺騙后,網(wǎng)絡(luò)中的大量主機都無法正常上網(wǎng)。(2)偽造網(wǎng)關(guān),欺騙其他主機向假網(wǎng)關(guān)發(fā)送數(shù)據(jù),而不是通過正確的路由器途徑上網(wǎng)。ARP攻擊的后果通常是很嚴重的,往往會造成網(wǎng)絡(luò)的大面積掉線,沒有經(jīng)驗的網(wǎng)絡(luò)管理員通常很難定位問題所在。5、 簡述RARP的工作過程。 (1)申請IP地址的主機在本地網(wǎng)絡(luò)中發(fā)送一個RARP廣播包,其中包括自己的MAC地址,請求任何收到該請求的RARP服務(wù)器為其分配一個IP地址。(2)收到請求的RARP服務(wù)器將檢查其RARP列表,判斷是否存在該MAC地址對應(yīng)的IP地址。如果存在,則給源主機發(fā)送

8、一個響應(yīng)數(shù)據(jù)包,并將此IP地址提供給對方主機使用;如果不存在,則RARP服務(wù)器對該請求不做響應(yīng)。一個網(wǎng)段中可以存在多個RARP服務(wù)器。(3)源主機收到RARP服務(wù)器發(fā)回的響應(yīng)信息后,使用得到的IP地址進行通訊。(4)如果一直沒有收到RARP服務(wù)器的響應(yīng)信息,則說明初始化失敗。(5)如果在前2步中遭受到ARP攻擊,則RARP服務(wù)器返回的IP地址可能會被占用,因此導(dǎo)致申請主機無法正常上網(wǎng)。6、簡述實現(xiàn)Telnet遠程登錄服務(wù)的步驟。 1)與遠程主機建立一個TCP連接,用戶需要指定遠程主機的IP地址和域名。(2)在本地終端上輸入用戶名和口令,然后輸入控制命令,客戶端會將它們以NVT(Net Virt

9、ual Terminal)格式傳送到遠程主機。(3)將遠程主機輸出的NVT格式的數(shù)據(jù)轉(zhuǎn)化為本地所接受的格式,然后送回本地終端,包括命令的回顯和命令的執(zhí)行結(jié)果。(4)最后,本地終端斷開連接,結(jié)束到遠程主機的TCP連接。7、簡述FTP的兩種連接模式。 FTP支持兩種運行模式,即主動模式和被動模式,它們的區(qū)別在于控制如何打開第2個連接。(1)主動模式在主動模式下,客戶端向服務(wù)器發(fā)送自己用于數(shù)據(jù)連接的IP地址和端口號,然后由服務(wù)器程序打開數(shù)據(jù)連接。(2)被動模式當客戶端在防火墻后面或者無法接收TCP連接時,通常建議采用被動模式。在被動模式下,服務(wù)器向客戶端發(fā)送自己用于數(shù)據(jù)連接的IP地址和端口號,則客戶

10、端打開數(shù)據(jù)連接。1、 簡述Ipv4地址的結(jié)構(gòu)和表示方法。 目前應(yīng)用最廣泛的IP地址是基于IPv4的,每個IP地址的長度為32位,即4個字節(jié)。通常把IP地址中的每個字節(jié)使用一個10進制數(shù)字來表示,數(shù)字之間使用小數(shù)點(.)分隔,因此IPv4中IP地址的格式如下:XXX.XXX.XXX.XXX這種IP地址表示法被稱為點分十進制表示法。2、 簡述IP地址的分類。 為了便于尋址和構(gòu)造層次化的網(wǎng)絡(luò)結(jié)構(gòu),在設(shè)計IP地址時規(guī)定每個IP地址都由兩個標識碼(ID)組成,即網(wǎng)絡(luò)ID和主機ID。同一個物理網(wǎng)絡(luò)上的所有主機都使用同一個網(wǎng)絡(luò)ID,而IP地址中除了網(wǎng)絡(luò)ID外的其他部分則是主機ID,它可以唯一標識當前網(wǎng)絡(luò)中的

11、一臺主機(可以是計算機、服務(wù)器或網(wǎng)絡(luò)設(shè)備等)。根據(jù)網(wǎng)絡(luò)ID的不同,IP地址可以分為5種類型,即A類地址、B類地址、C類地址、D類地址和E類地址。A類IP地址的第1個字節(jié)為網(wǎng)絡(luò)ID,其他3個字節(jié)則為主機ID,而且網(wǎng)絡(luò)ID的第1位必須為“0”。A類IP地址的范圍為 54。B類IP地址的前兩個字節(jié)為網(wǎng)絡(luò)ID,后面兩個字節(jié)則為主機ID,而且網(wǎng)絡(luò)ID的前兩位必須為“10”。B類IP地址的范圍為 54。C類IP地址的前3個字節(jié)為網(wǎng)絡(luò)ID,最后一個字節(jié)為主機ID,而且網(wǎng)絡(luò)ID的前3位必須為“110”。C類IP地址的范圍用二進

12、制數(shù)來表示為 54。D類IP地址是專門保留的地址。它并不指向特定的網(wǎng)絡(luò),目前這一類地址被用在多點廣播中。它的前4位必須為“1110”。D類IP地址的范圍為54。E類IP地址并沒有公開使用,它是在設(shè)計時預(yù)留出來供將來使用的地址段,目前僅用于研究和實驗。E類IP地址以“11110”開始,即從開始后面的有效地址都是E類IP地址。3、 簡述單播地址、組播地址和廣播地址的定義和作用。 單播是指對特定的主機進行數(shù)據(jù)傳送,因此在數(shù)據(jù)鏈路層的數(shù)據(jù)頭中應(yīng)該指定非常具體的目的地址,即網(wǎng)卡的MAC地址;而且在I

13、P分組報頭中必須指定接收方的IP地址。組播是主機之間“一對一組”的通訊模式,即加入了同一組的主機可以接收到該組內(nèi)的所有數(shù)據(jù)。主機可以向路由器申請加入或退出指定的組,網(wǎng)絡(luò)中的路由器和交換機可以有選擇的復(fù)制并傳輸數(shù)據(jù),即只將組內(nèi)數(shù)據(jù)傳輸給該組中的主機。組播可以大大節(jié)省網(wǎng)絡(luò)帶寬,無論有多少個目標地址,在整個網(wǎng)絡(luò)的任何一條鏈路上只傳送單一的數(shù)據(jù)包。廣播分組的目標IP地址的主機部分全部為1,這意味著本地網(wǎng)絡(luò)中所有的主機都將接收并查看到該分組消息。比較常見的廣播應(yīng)用是ARP和DHCP等網(wǎng)絡(luò)協(xié)議。1、 簡述TCP/IP通信中端口的概念。 端口是TCP/IP協(xié)議簇中,應(yīng)用層進程與傳輸層協(xié)議實體間的通信接口,在

14、OSI七層協(xié)議的描述中,將它稱為應(yīng)用層進程與傳輸層協(xié)議實體間的服務(wù)訪問點(SAP)。應(yīng)用層進程通過系統(tǒng)調(diào)用與某個端口進行綁定,然后就可以通過該端口接收或發(fā)送數(shù)據(jù),因為應(yīng)用進程在通信時,必須用到一個端口,它們之間有著一一對應(yīng)的關(guān)系,所以可以用端口來標識通信的網(wǎng)絡(luò)應(yīng)用進程。2、 簡述C/S模式中服務(wù)器的工作過程。 (1)打開一通信通道,并告知服務(wù)器所在的主機,它愿意在某一公認的地址上(熟知端口,如FTP為21)接收客戶請求。(2)等待客戶的請求到達該端口。(3)服務(wù)器接收到服務(wù)請求,處理該請求并發(fā)送應(yīng)答信號。為了能并發(fā)地接收多個客戶的服務(wù)請求,要激活一個新進程或新線程來處理這個客戶請求(如UNIX

15、系統(tǒng)中用fork、exec)。服務(wù)完成后,關(guān)閉此新進程與客戶的通信通路,并終止。(4)返回第(2)步,等待并處理另一客戶請求。(5)在特定的情況下,關(guān)閉服務(wù)器。3、簡述P2P系統(tǒng)的特征。 P2P系統(tǒng)具有以下特征。(1)分散性。該系統(tǒng)是全分布式的系統(tǒng),不存在瓶頸。(2)規(guī)模性。該系統(tǒng)可以容納數(shù)百萬乃至數(shù)千萬臺計算機。(3)擴展性。用戶可以隨時加入該網(wǎng)絡(luò)。服務(wù)的需求增加,系統(tǒng)的資源和服務(wù)能力也同步擴充,理論上其可擴展性幾乎可以認為是無限的。(4)Servent性。每個節(jié)點同時具有Server和Cliert的特點,稱之為Servent。(5)自治性。節(jié)點來自不同的所有者,不存在全局的控制者,節(jié)點可以

16、隨時加入或退出P2P系統(tǒng)。(6)互助性。(7)自組織性。大量節(jié)點通過P2P協(xié)議自行組織在一起,不存在任何管理角色。1、簡述基于TCP的兩個網(wǎng)絡(luò)應(yīng)用程序進行通信的基本過程。 (1)客戶端(相當于撥打電話的一方)需要了解服務(wù)器的地址(相當于電話號碼)。在TCP/IP網(wǎng)絡(luò)環(huán)境中,可以使用IP地址來標識一個主機。但僅僅使用IP地址是不夠的,如果一臺主機中運行了多個網(wǎng)絡(luò)應(yīng)用程序,那么如何確定與哪個應(yīng)用程序通信呢。在Socket通信過程中借用了TCP和UDP協(xié)議中端口的概念,不同的應(yīng)用程序可以使用不同的端口進行通信,這樣一個主機上就可以同時有多個應(yīng)用程序進行網(wǎng)絡(luò)通信了。這有些類似于電話分機的作用。(2)服

17、務(wù)器應(yīng)用程序必須早于客戶端應(yīng)用程序啟動,并在指定的IP地址和端口上執(zhí)行偵聽操作。如果該端口被其他應(yīng)用程序所占用,則服務(wù)器應(yīng)用程序無法正常啟動。服務(wù)器處于偵聽狀態(tài)就類似于電話接通電話線、等待撥打的狀態(tài)。(3)客戶端在申請發(fā)送數(shù)據(jù)時,服務(wù)器端應(yīng)用程序必須有足夠的時間響應(yīng)才能進行正常通信。否則,就好像電話已經(jīng)響了,但卻無人接聽一樣。在通常情況下,服務(wù)器應(yīng)用程序都需要具備同時處理多個客戶端請求的能力,如果服務(wù)器應(yīng)用程序設(shè)計得不合理或者客戶端的訪問量過大,都有可能導(dǎo)致無法及時響應(yīng)客戶端的情況。(4)使用Socket協(xié)議進行通信的雙方還必須使用相同的通信協(xié)議,Socket支持的底層通信協(xié)議包括TCP和UD

18、P兩種。在通信過程中,雙方還必須采用相同的字符編碼格式,而且按照雙方約定的方式進行通信。這就好像在通電話的時候雙方都采用對方能理解的語言進行溝通一樣。(5)在通信過程中,物理網(wǎng)絡(luò)必須保持暢通,否則通信將會中斷。(6)通信結(jié)束后,服務(wù)器端和客戶端應(yīng)用程序都可以中斷它們之間的連接。2、簡述流式Socket和數(shù)據(jù)報式Socket的區(qū)別。表5.1流式套接字和數(shù)據(jù)報式套接字的區(qū)別比較項目流式套接字數(shù)據(jù)報式套接字建立和釋放連接×保證數(shù)據(jù)到達×按發(fā)送順序接收數(shù)據(jù)×通訊數(shù)據(jù)包含完整的目的地址信息×3、 簡述服務(wù)器和客戶機面向連接的Socket通信流程。 服務(wù)器程序要先于

19、客戶機程序啟動,每個步驟中調(diào)用的Socket函數(shù)如下:(1)調(diào)用WSAStartup()函數(shù)加載Windows Sockets動態(tài)庫,然后調(diào)用socket()函數(shù)創(chuàng)建一個流式套接字,返回套接字號s。(2)調(diào)用bind()函數(shù)將套接字s綁定到一個已知的地址,通常為本地IP地址。(3)調(diào)用listen()函數(shù)將套接字s設(shè)置為偵聽模式,準備好接收來自各個客戶機的連接請求。(4)調(diào)用accept()函數(shù)等待接受客戶端的連接請求。(5)如果接收到客戶端的請求,則accept()函數(shù)返回,得到新的套接字ns。(6)調(diào)用recv()函數(shù)接收來自客戶端的數(shù)據(jù),調(diào)用send()函數(shù)向客戶端發(fā)送數(shù)據(jù)。(7)與客戶

20、端的通信結(jié)束后,服務(wù)器程序可以調(diào)用shutdown()函數(shù)通知對方不再發(fā)送或接收數(shù)據(jù),也可以由客戶端程序斷開連接。斷開連接后,服務(wù)器進程調(diào)用closesocket()函數(shù)關(guān)閉套接字ns。此后服務(wù)器程序返回第4步,繼續(xù)等待客戶端進程的連接。(8)如果要退出服務(wù)器程序,則調(diào)用closesocket()函數(shù)關(guān)閉最初的套接字s。客戶端程序在每一步驟中使用的函數(shù)如下:(1)調(diào)用WSAStartup()函數(shù)加載Windows Sockets動態(tài)庫,然后調(diào)用socket()函數(shù)創(chuàng)建一個流式套接字,返回套接字號s。(2)調(diào)用connect()函數(shù)將套接字s連接到服務(wù)器。(3)調(diào)用send()函數(shù)向服務(wù)器發(fā)送數(shù)

21、據(jù),調(diào)用recv()函數(shù)接收來自服務(wù)器的數(shù)據(jù)。(4)與服務(wù)器的通信結(jié)束后,客戶端程序可以調(diào)用shutdown()函數(shù)通知對方不再發(fā)送或接收數(shù)據(jù),也可以由服務(wù)器程序斷開連接。斷開連接后,客戶端進程調(diào)用closesocket()函數(shù)關(guān)閉套接字。1、簡述IP Helper API可以實現(xiàn)的主要功能。IP Helper API可以實現(xiàn)的主要功能如下:l 獲取網(wǎng)絡(luò)配置的信息。l 管理網(wǎng)絡(luò)適配器(Network Adapter),也就是通常所說的網(wǎng)卡,它位于數(shù)據(jù)鏈路層。l 管理網(wǎng)絡(luò)接口(Interface)。接口表示節(jié)點上對應(yīng)連接的部分,它位于IP層,因此可以在接口上綁定IP地址。在IP Helper A

22、PI中,網(wǎng)絡(luò)適配器和接口是一一對應(yīng)的。l 管理IP地址。l 使用ARP協(xié)議。l 獲取IP和ICMP協(xié)議中的信息。l 管理路由信息。l 接收網(wǎng)絡(luò)事務(wù)的通知信息。l 接收TCP和UDP信息。2、簡述在Visual C+項目中引用庫文件iphelpapi.lib的方法。 在Visual C+項目中,可以使用下面的語句引用IPHELPAPI.lib。#pragma comment(lib, "IPHLPAPI.lib")也可以在項目屬性對話框中選擇“配置屬性”/“鏈接器”/“輸入”,然后在右側(cè)的“附加依賴項”中輸入IPHLPAPI.lib。3.簡述在Visual C+ 項目中配置命

23、令行參數(shù)的方法。 在系統(tǒng)菜單中選擇“項目”/“屬性”,打開項目屬性對話框。在左側(cè)的樹中選擇“配置屬性”/“調(diào)試”,在右側(cè)的列表中的命令參數(shù)欄中輸入命令行參數(shù)。4、 簡述根據(jù)子網(wǎng)中的任意一個IP地址及其子網(wǎng)掩碼計算該子網(wǎng)的網(wǎng)絡(luò)地址和廣播地址的方法。將IP地址與子網(wǎng)掩碼執(zhí)行按位與運算,即可計算出子網(wǎng)的子網(wǎng)地址,公式如下:<子網(wǎng)地址> = <IP地址> & <子網(wǎng)掩碼>將子網(wǎng)掩碼執(zhí)行按位非操作,然后再將結(jié)果與IP地址執(zhí)行按位或運算,即可計算出子網(wǎng)的廣播地址,公式如下:<廣播地址> = <IP地址> | <子網(wǎng)掩碼>1、

24、簡述LANA編號的概念。 LANA(LAN Adapter,LAN適配器)編號是NetBIOS進行網(wǎng)絡(luò)編程的關(guān)鍵,它對應(yīng)于網(wǎng)卡及傳輸協(xié)議的唯一組合。例如,假定某個工作站安裝了兩塊網(wǎng)卡,以及兩種具有NetBIOS能力的傳輸協(xié)議(例如TCP/IP和NetBEUI),那么將共有下面4個LANA編號:l 表示“TCP/IP網(wǎng)卡1”對。l 表示“NetBEUI網(wǎng)卡1”對。l 表示“TCP/IP網(wǎng)卡2”對。l 表示“NetBEUI網(wǎng)卡2”對。在進行NetBIOS編程時需要注意,兩臺進行通信的計算機必須至少安裝有同一種協(xié)議,并且這兩臺計算機通信所依賴的LANA編號對應(yīng)的網(wǎng)絡(luò)協(xié)議要相同,否則即使這兩臺計算機安

25、裝相同的協(xié)議也無法進行通信。LANA編號范圍在09之間, LANA 0代表默認的LANA。2、 簡述137、138、139端口的功能。 在Windows中,如果安裝了NetBIOS協(xié)議,則系統(tǒng)將自動開放下列端口:l 137端口,主要作用是在局域網(wǎng)中提供計算機的名稱或IP地址查詢服務(wù)。l 138端口,主要作用是提供NetBIOS環(huán)境下的計算機名瀏覽功能。l 139端口,主要作用是提供文件和打印機共享的功能。1、 簡述阻塞模式和非阻塞模式Socket編程的區(qū)別。 Socket編程可以分為阻塞和非阻塞兩種開發(fā)模式。阻塞模式是指在指定套接字上調(diào)用函數(shù)執(zhí)行操作時,在沒有完成操作之前,函數(shù)不會立即返回。例

26、如,服務(wù)器程序在阻塞模式下調(diào)用accept()函數(shù)時將會阻塞服務(wù)器線程,直至接收到一個來自客戶端的連接請求。默認創(chuàng)建的套接字為阻塞模式。非阻塞模式是指在指定套接字上調(diào)用函數(shù)執(zhí)行操作時,無論操作是否完成,函數(shù)都會立即返回。例如,在非阻塞模式下調(diào)用recv()函數(shù)時,程序會直接讀取網(wǎng)絡(luò)緩沖區(qū)中的數(shù)據(jù),無論是否讀到數(shù)據(jù),函數(shù)都會立即返回,而不會一直掛在此函數(shù)的調(diào)用上。2、 簡述WSAAsyncSelect模型的工作原理和優(yōu)缺點。 WSAAsyncSelect模型又稱為異步選擇模型,它為每個套接字綁定一個消息。當套接字上出現(xiàn)事先設(shè)置事件時,操作系統(tǒng)會給應(yīng)用程序發(fā)送這個消息,從而使應(yīng)用程序可以對該事件做

27、相應(yīng)的處理。WSAAsyncSelect模型的優(yōu)點是在系統(tǒng)開銷不大的情況下可以同時處理許多個客戶端連接。它的缺點是,即使應(yīng)用程序不需要窗口,也要至少設(shè)計一個窗口用于處理套接字事件。而且,在一個窗口中處理大量的事件也可能成為性能瓶頸。3、 簡述WSAEventSelect模型與WSAAsyncSelect模型之間的主要區(qū)別。 WSAEventSelect模型與WSAAsyncSelect模型之間的主要區(qū)別是網(wǎng)絡(luò)事件發(fā)生時系統(tǒng)通知應(yīng)用程序的方式不同。WSAAsyncSelect模型以消息的形式通知應(yīng)用程序,而WSAEventSelect模型則以事件的形式進行通知。4、 簡述select()函數(shù)中,

28、參數(shù)readfds中包含的Socket在滿足哪些條件時被設(shè)置為就緒狀態(tài)。(1)、已經(jīng)調(diào)用了listen()函數(shù),并且成功建立連接,則調(diào)用accept()函數(shù)會成功。(2)、有數(shù)據(jù)可以讀取。(3)、連接已經(jīng)關(guān)閉、重置或者中止。5、簡述WSAAsyncSelect模型和WSAEventSelect模型的異同。 WSAEventSelect模型和WSAAsyncSelect模型都是異步I/O模型,它與WSAAsyncSelect模型的最主要區(qū)別是網(wǎng)絡(luò)事件發(fā)生時系統(tǒng)通知應(yīng)用程序的方式不同。WSAAsyncSelect模型使用消息方式通知應(yīng)用程序,而WSAEventSelect模型以事件形式進行通知。本

29、節(jié)將通過實例介紹基于WSAEventSelect模型的Socket編程方法。6、簡述完成端口模型的工作原理。 完成端口模型也屬于并發(fā)線程模型,但它解決了前面提到的普通并發(fā)線程模型中存在問題。完成端口模型中規(guī)定了并發(fā)線程的數(shù)量,并使用線程池對線程進行管理。一個完成端口實際上就是一個通知隊列,操作系統(tǒng)把已經(jīng)完成的重疊I/O請求的通知放到隊列中。當某項I/O操作完成時,系統(tǒng)會向服務(wù)器完成端口發(fā)送一個I/O完成數(shù)據(jù)包,此操作在系統(tǒng)內(nèi)部完成。應(yīng)用程序在收到I/O完成數(shù)據(jù)包后,完成端口隊列中的一個線程被喚醒,為客戶端提供服務(wù)。服務(wù)完成后,該線程會繼續(xù)在完成端口上等待。套接字在被創(chuàng)建后,可以在任何時候與指定

30、的完成端口進行關(guān)聯(lián)。線程池的使用既限制了工作線程的數(shù)量,又避免了反復(fù)創(chuàng)建線程的開銷,減少了線程調(diào)度的開銷,從而提高了服務(wù)器程序的性能。1、 簡述WinPcap的主要功能。 WinPcap是Windows平臺下的網(wǎng)絡(luò)數(shù)據(jù)包捕獲庫。它可以獨立于TCP/IP協(xié)議發(fā)送和接收原始數(shù)據(jù)包,其主要功能如下:l 繞開網(wǎng)絡(luò)協(xié)議棧捕獲網(wǎng)絡(luò)數(shù)據(jù)包,支持遠程數(shù)據(jù)包捕獲功能。l 在數(shù)據(jù)包發(fā)送到應(yīng)用程序之前,按照指定的規(guī)則實現(xiàn)核心層數(shù)據(jù)包過濾。l 在網(wǎng)絡(luò)上發(fā)送原始數(shù)據(jù)包。l 收集網(wǎng)絡(luò)通信過程中的統(tǒng)計信息。2、 簡述網(wǎng)絡(luò)組包過濾(NPF)模塊的主要功能。 NPF包含4個主要功能,即數(shù)據(jù)的捕獲和過濾、監(jiān)測和統(tǒng)計 、轉(zhuǎn)儲到磁盤

31、以及數(shù)據(jù)包發(fā)送。(1)數(shù)據(jù)包的捕獲和過濾捕獲數(shù)據(jù)庫是WinPcap的核心技術(shù)。在捕獲時,驅(qū)動器使用網(wǎng)絡(luò)接口嗅探數(shù)據(jù)包,并把它們完整地傳送到用戶層應(yīng)用程序。可以看到,捕獲數(shù)據(jù)包時使用了兩個組件,即過濾器和核心緩沖區(qū)。過濾器可以決定一個進入數(shù)據(jù)包是否要被接收和復(fù)制到監(jiān)聽應(yīng)用程序。網(wǎng)絡(luò)中的數(shù)據(jù)流量相當大,如果不加過濾直接把所有數(shù)據(jù)包傳送到用戶層應(yīng)用程序,則會給應(yīng)用程序帶來很大的負載,使應(yīng)用程序的工作效率大受影響。事實上,大多數(shù)使用NPF的應(yīng)用程序拒絕的數(shù)據(jù)包遠遠多于其接受的數(shù)據(jù)包。實際上,數(shù)據(jù)包過濾器是一個返回布爾值的函數(shù),它以進入的數(shù)據(jù)包為參數(shù)。如果函數(shù)返回TRUE,則驅(qū)動器會數(shù)據(jù)復(fù)制到用戶層應(yīng)用程序;否則會直接丟棄該數(shù)據(jù)包。核心緩沖區(qū)用來保存數(shù)據(jù)包,避免出現(xiàn)丟包的情況。如果網(wǎng)絡(luò)中的數(shù)據(jù)流量很大,則NPF很可能無法及時地把通過過濾器的數(shù)據(jù)包復(fù)制到用戶應(yīng)用程序。如果沒有緩沖區(qū),那么在新的數(shù)據(jù)包到達后,NPF就必須把未傳送的數(shù)據(jù)包丟棄,就是會影響用戶應(yīng)用程序的分析結(jié)果。用戶緩沖區(qū)的大小非常重要,它決定了一個系統(tǒng)調(diào)用一次可以從內(nèi)核空間中復(fù)制到用戶空間的最大數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論