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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、接收端則自下而上的使用OSI參考模型,將收到的物理數(shù)據(jù)逐層解析,最后將得到的數(shù)據(jù)傳送給應用程序。當然,并不是所有的網絡通信都需要經過OSI模型的全部七層。例如,同一網段的二層交換機之間通信之需要經過數(shù)據(jù)鏈路層和物理層,而路由器之間的連接則只需要網絡層、數(shù)據(jù)鏈路層和物理層即可。在發(fā)送方封裝數(shù)據(jù)的過程中,每一層都會為數(shù)據(jù)包加上一個頭部;在接收方解封數(shù)據(jù)時,又會逐層解析掉這個頭部。因此,雙方的通信必須在對等層次上進行,否則接收方將無法正確地解析數(shù)據(jù)。3、 簡述數(shù)據(jù)鏈路層中數(shù)據(jù)幀的結構。幀的簡要結構如圖1.4所示。圖1.4 幀的簡要結構每個字段的說明如下:l 前導碼,內容是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ù)據(jù)庫包的壽命計數(shù)器。為了防止數(shù)據(jù)包在網絡中無休止地被傳遞下去,或者由于傳輸路徑造成死循環(huán),每個IP數(shù)據(jù)包中都包含一個壽命計數(shù)器。數(shù)據(jù)包在網絡傳輸?shù)倪^程中,每經過一個路由器的處理,其中的壽命計數(shù)器就會遞減1。如果壽命計數(shù)器的值等于0,并且報文還沒有到達目的地,則該報文將會被丟失。發(fā)送者將會在稍后重新發(fā)送該報文。為什么要在IP協(xié)議中使用生存周期的概念呢。因為Internet的結構是復雜的,從一個主機發(fā)送報文到另外一個主機可以有多種路徑,這一點與現(xiàn)實生活中一樣,比如開車前往一個地點就可以有多種路線可供選擇。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論