年梅++張?zhí)m芳
摘 要:針對高校計算機網(wǎng)絡(luò)實驗教學(xué),文章提出了將協(xié)議實驗與服務(wù)器配置相結(jié)合,提升學(xué)生實踐能力的同時加深學(xué)生對網(wǎng)絡(luò)協(xié)議理解的實驗設(shè)計方法。本設(shè)計首先分析服務(wù)的功能、確定服務(wù)配置參數(shù)及服務(wù)協(xié)議知識點,借助虛擬機平臺搭建服務(wù)器和客戶機拓?fù)洌缓筮M行服務(wù)配置和功能測試,最后利用Wireshark軟件對協(xié)議包進行獲取和分析。通過DHCP協(xié)議實驗設(shè)計過程為例,證實了該方法的可行性。
關(guān)鍵詞:實驗設(shè)計;網(wǎng)絡(luò)協(xié)議; DHCP;協(xié)議包分析
中圖分類號:G434 文獻(xiàn)標(biāo)識碼:A 文章編號:1673-8454(2014)10-0071-04
一、引言
《計算機網(wǎng)絡(luò)》是信息技術(shù)相關(guān)專業(yè)本??频谋匦拚n,是計算機科學(xué)與技術(shù)專業(yè)考研必考科目之一,要求學(xué)生掌握一定的理論深度。同時,網(wǎng)絡(luò)技術(shù)應(yīng)用范圍越來越廣,社會對掌握網(wǎng)絡(luò)工程實踐技能的人才需求越來越大。針對這種狀況,我們將網(wǎng)絡(luò)課程的目標(biāo)設(shè)置為:使學(xué)生熟練掌握計算機網(wǎng)絡(luò)的體系結(jié)構(gòu)、局域網(wǎng)、廣域網(wǎng)、網(wǎng)絡(luò)互連和Internet協(xié)議等網(wǎng)絡(luò)基本原理和配置技術(shù),讓學(xué)生能夠“學(xué)網(wǎng)”、“建網(wǎng)”、“用網(wǎng)”和“管網(wǎng)”,為后續(xù)學(xué)習(xí)和未來工作打下扎實的理論基礎(chǔ)和實踐技能。如何加深學(xué)生對網(wǎng)絡(luò)理論的理解以及讓學(xué)生掌握較強的實踐能力,網(wǎng)絡(luò)實驗起到了至關(guān)重要的作用。
目前,高校開設(shè)的《計算機網(wǎng)絡(luò)》實驗主要包括了三類:一是計算機網(wǎng)絡(luò)協(xié)議實驗,通過讓學(xué)生對網(wǎng)絡(luò)協(xié)議包的抓取和分析,加深對網(wǎng)絡(luò)體系結(jié)構(gòu),網(wǎng)絡(luò)協(xié)議的語法、語義以及協(xié)議執(zhí)行順序的理解。二是網(wǎng)絡(luò)工程實驗,幫助學(xué)生學(xué)會交換機、路由器以及服務(wù)器的配置,掌握管理局域網(wǎng)和廣域網(wǎng)基本技能。三是計算機網(wǎng)絡(luò)編程實驗,培養(yǎng)學(xué)生網(wǎng)絡(luò)編程的思想和方法。通過這幾類實驗的培養(yǎng),基本能夠滿足本課程培養(yǎng)目標(biāo)要求。
目前的網(wǎng)絡(luò)實驗?zāi)J酱嬖谝韵聠栴}:有些學(xué)校沒有條件建立專門的網(wǎng)絡(luò)協(xié)議實驗室和網(wǎng)絡(luò)工程實驗室,無法開設(shè)網(wǎng)絡(luò)協(xié)議實驗,影響了學(xué)生對協(xié)議的理解;其次,很多高校的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)工程類是專門的軟硬結(jié)合的實驗室,兩個實驗室中開設(shè)的實驗內(nèi)容相互隔離,無法根據(jù)教學(xué)需要自主設(shè)計和調(diào)整實驗內(nèi)容;網(wǎng)絡(luò)工程實驗只關(guān)注網(wǎng)絡(luò)設(shè)備和服務(wù)器的配置與管理,并未考慮服務(wù)實現(xiàn)中協(xié)議的作用。這種實驗方案無法將兩類實驗相結(jié)合,培養(yǎng)工程能力同時加深理論理解。如何解決以上問題,打破協(xié)議實驗和工程實驗之間的壁壘,滿足無協(xié)議實驗室高校能夠開設(shè)網(wǎng)絡(luò)協(xié)議類實驗,是本文要解決的主要問題。
二、問題的解決方法
《計算機網(wǎng)絡(luò)》中最重要的概念就是網(wǎng)絡(luò)協(xié)議。單純依靠教師講解網(wǎng)絡(luò)協(xié)議,學(xué)生缺乏對網(wǎng)絡(luò)協(xié)議的感性認(rèn)識,無法深入地理解網(wǎng)絡(luò)協(xié)議。由于技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)工具越來越多,出現(xiàn)了各種網(wǎng)絡(luò)嗅探器,如Sniffer、Wireshark等,這些工具能夠進行協(xié)議數(shù)據(jù)包的獲取和分析,因此能有效地彌補無網(wǎng)絡(luò)協(xié)議實驗室的問題。此外,網(wǎng)絡(luò)虛擬機軟件的出現(xiàn),能夠在一臺計算機上搭建客戶/服務(wù)器等復(fù)雜網(wǎng)絡(luò)拓?fù)洌瑸閷W(xué)生獨立完成從網(wǎng)絡(luò)服務(wù)拓?fù)浯罱ǖ椒?wù)功能測試的實驗提供了技術(shù)支持。
由此可知,在普通機房中開設(shè)網(wǎng)絡(luò)服務(wù)器配置管理與協(xié)議分析實驗是可能的。但如何達(dá)到培養(yǎng)目標(biāo),最重要的問題是提供精心設(shè)計的實驗內(nèi)容,在實驗中融合服務(wù)功能和服務(wù)協(xié)議分析,在潛移默化中讓學(xué)生深入理解網(wǎng)絡(luò)協(xié)議的功能和作用。
1.Wireshark抓包軟件簡介
Wireshark(前稱Ethereal)是一個網(wǎng)絡(luò)抓包分析軟件,其功能是抓取網(wǎng)絡(luò)中各層次的協(xié)議數(shù)據(jù)包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)協(xié)議包的信息。網(wǎng)絡(luò)管理員可以使用Wireshark來檢測網(wǎng)絡(luò)問題,網(wǎng)絡(luò)安全工程師可以使用Wireshark來檢查資訊安全相關(guān)問題,我們可以使用Wireshark來學(xué)習(xí)網(wǎng)絡(luò)協(xié)定的相關(guān)知識。[1]本文主要利用Wireshark來獲取并分析網(wǎng)絡(luò)協(xié)議的語法、語義和順序,為學(xué)生深刻理解網(wǎng)絡(luò)協(xié)議和體系結(jié)構(gòu)提供幫助。
2.VMware Workstation軟件介紹
VMware Workstation是一款功能強大的桌面虛擬計算機軟件,它可在一部實際機器上模擬完整的網(wǎng)絡(luò)環(huán)境,以及可便于攜帶的虛擬機器,利用VMware Workstation,可以在一個窗口中加載一臺虛擬機,它可以運行自己的操作系統(tǒng)和應(yīng)用程序。用戶可以在運行于桌面上的多臺虛擬機之間切換,通過一個網(wǎng)絡(luò)共享虛擬機。該軟件為我們在普通的PC機上實現(xiàn)客戶/服務(wù)器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)提供了支持。
3.實驗設(shè)計的思路
本類實驗設(shè)計主要包括了以下步驟:
(1)確定實驗拓?fù)浣Y(jié)構(gòu)。該階段是整個實驗成功的關(guān)鍵,其主要任務(wù)是確定配置的服務(wù)器、客戶數(shù)量,考慮是否需要轉(zhuǎn)發(fā)設(shè)備等。
(2)根據(jù)服務(wù)器的功能,確定服務(wù)器和客戶機配置的參數(shù)以及如何通過客戶機測試服務(wù)器的功能。
(3)如有轉(zhuǎn)發(fā)設(shè)備或者中間設(shè)備,確定中轉(zhuǎn)設(shè)備的數(shù)量、硬件結(jié)構(gòu)和配置參數(shù)。
(4)實驗拓?fù)渲械拿颗_設(shè)備(包括服務(wù)器和客戶機)都安裝Wireshark軟件,設(shè)計在哪些設(shè)備上抓取協(xié)議包以及抓取該協(xié)議的哪些種類報文等。
(5)通過課程綱要中對協(xié)議的知識點要求,確定需要對哪些類型的協(xié)議報文進行分析以及如何分析協(xié)議的順序。確定重點分析協(xié)議報文中哪些字段及這些字段在協(xié)議中作用。
三、實驗設(shè)計實例——DHCP實驗設(shè)計
按照實驗設(shè)計的步驟,我們以DHCP實驗為例,介紹了如何應(yīng)用該設(shè)計方法,進行DHCP實驗內(nèi)容的設(shè)計與實施。
1.DHCP協(xié)議的分析
動態(tài)主機配置協(xié)議(Dynamic Host Configuration Protocol, DHCP)是一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,主要有兩個用途:給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動分配IP地址,給用戶或者內(nèi)部網(wǎng)絡(luò)管理員提供作為對所有計算機進行中央管理的手段。
DHCP是一種典型的客戶/服務(wù)器的服務(wù)模式,主要任務(wù)是IP地址的分配。DHCP對服務(wù)器的主要配置和管理就是對其預(yù)分配的地址范圍數(shù)據(jù)庫的管理。該地址范圍可以是一個網(wǎng)絡(luò)的也可以是多個網(wǎng)絡(luò)的??蛻魴C的配置就是使其能夠?qū)崿F(xiàn)自動地址獲取配置。
DHCP服務(wù)器除了能夠為本局域網(wǎng)內(nèi)的計算機分配IP地址外,還能給外網(wǎng)的機器分配IP地址,為此需要設(shè)計一臺DHCP中繼代理服務(wù)器,該中繼設(shè)備需要連接兩個網(wǎng)絡(luò),可以對不在同一網(wǎng)絡(luò)中其它客戶機的請求和應(yīng)答信息進行轉(zhuǎn)發(fā)。
DHCP協(xié)議實現(xiàn)過程中共有7種報文。Dhcpdiscover是 client開始DHCP過程中的第一個請求報文;dhcpoffer 是server對dhcpdiscover報文的響應(yīng);dhcprequst 是client 對dhcpoffer報文的響應(yīng);Dhcpdeclient是client發(fā)現(xiàn)server 分配給它的IP地址無法使用(如 IP地址發(fā)生沖突),將發(fā)出此報文讓server禁止使用這次分配的IP地址的報文;dhcpack是server對dhcprequst報文的響應(yīng),client收到此報文后才真正獲得了IP地址和相關(guān)配置信息;dhcpnack是server對client的dhcprequst報文的拒絕響應(yīng),client 收到此報文后,一般會重新開始DHCP過程;dhcprelease是 client主動釋放IP地址,當(dāng)server 收到此報文后就可以收回IP地址分配給其他的client。
2.DHCP實驗的拓?fù)湓O(shè)計
按照對DHCP的分析,我們設(shè)置了2臺服務(wù)器,一臺用作DHCP服務(wù)器,一臺用作DHCP中繼代理服務(wù)器,該DHCP中繼代理服務(wù)器上需要配置兩塊網(wǎng)卡,一塊連接內(nèi)網(wǎng),一塊連接外網(wǎng)。為了驗證IP地址的分配結(jié)果以及轉(zhuǎn)發(fā)的結(jié)果,至少需要兩臺客戶機,是分別進行內(nèi)外網(wǎng)地址獲取的驗證設(shè)備。按照上述要求,設(shè)計了如圖1所示的拓?fù)浣Y(jié)構(gòu)。
3. DHCP實驗內(nèi)容的設(shè)計
(1)按照設(shè)計的DHCP實驗拓?fù)浣Y(jié)構(gòu),安裝兩臺Windows 2003 server虛擬機和兩臺Windows XP虛擬機。其中一臺server虛擬機設(shè)置為DHCP服務(wù)器,另一臺server虛擬機設(shè)置為DHCP中繼代理服務(wù)器(也稱轉(zhuǎn)發(fā)器),并在該機器中配置了兩塊網(wǎng)卡。設(shè)置兩個網(wǎng)段,即LAN segment1、LAN segment2。把DHCP服務(wù)器、客戶機A、DHCP中繼代理服務(wù)器的網(wǎng)卡1(本地連接)設(shè)置為LAN segment1,把客戶機B、DHCP中繼代理服務(wù)器的網(wǎng)卡2(本地連接2)設(shè)置為LAN segment2。
(2)設(shè)置DHCP服務(wù)器的IP地址、網(wǎng)關(guān)、DHCP作用域(LAN 1和LAN 2的地址范圍)。實驗時將DHCP服務(wù)器的IP地址設(shè)置為192.168.10.1,網(wǎng)關(guān)為192.168.10.30(指向DHCP中繼代理服務(wù)器的IP地址),DNS為192.168.10.1;設(shè)置第一個DHCP作用域area1,范圍為192.168.10.2~192.168.10.50,要排除的IP地址為192.168.10.30,租約期限使用默認(rèn),路由器(默認(rèn)網(wǎng)關(guān))為192.168.10.1;設(shè)置第二個DHCP作用域area2,其范圍為192.168.20.2~192.168.20.50,地址租約期限設(shè)置默認(rèn),路由器(默認(rèn)網(wǎng)關(guān))為192.168.20.1;建立超級作用域hr,包括area1和area2兩個作用域,并授權(quán)。
(3)DHCP中繼代理服務(wù)器的配置。DHCP中繼代理服務(wù)器的網(wǎng)卡1連接DHCP服務(wù)器,IP地址為192.168.10.30(DHCP服務(wù)器的網(wǎng)關(guān)地址),網(wǎng)卡2連接LAN 2,IP地址為192.168.20.1;在該機器上配置路由轉(zhuǎn)發(fā)和DHCP中繼代理功能使子網(wǎng)192.168.20.0的客戶機可以使用子網(wǎng)192.168.10.0的DHCP服務(wù)器。
(4)用主機A和B進行內(nèi)外網(wǎng)獲取地址的測試。將機器的TCP/IP屬性設(shè)置為“自動獲取IP地址”以及“自動獲取DNS服務(wù)器的地址”。
(5)DHCP協(xié)議實現(xiàn)過程中共有7種報文,為了盡可能測試各種協(xié)議報文的作用和執(zhí)行順序,設(shè)計了以下實驗內(nèi)容,每個實驗前都需要:打開所有設(shè)備上的Wireshark軟件,設(shè)置為俘獲DHCP協(xié)議數(shù)據(jù)包,并啟動數(shù)據(jù)俘獲功能。每個實驗結(jié)束后都停止俘獲報文并進行實驗分析。
①分別在每個客戶機上使用命令I(lǐng)PCONFIG /all查看獲取IP地址的結(jié)果,并整理獲取的所有DHCP報文,分析報文的地址和類型字段。列出俘獲的各類DHCP報文的順序。
②分別在每個客戶機上使用命令。IPCONFIG /release釋放IP地址,整理獲取的DHCP報文,分析這些報文的地址和類型字段。列出俘獲的各類DHCP報文的順序。
③將DHCP中繼代理服務(wù)器上。Wireshark軟件打開,在其兩塊網(wǎng)卡上設(shè)置DHCP協(xié)議報文的俘獲,然后分別在兩個客戶機上使用命令I(lǐng)PCONFIG /renew重新獲取IP地址。停止DHCP中繼代理服務(wù)器上的DHCP俘獲,整理兩個網(wǎng)絡(luò)接口上獲取的各類DHCP報文,分析報文類型和順序。對兩個接口上俘獲的DHCP請求、應(yīng)答報文的地址信息進行記錄然后比較。
4.DHCP實驗結(jié)果分析
按照實驗設(shè)計得到以下的實驗結(jié)果:
(1)在兩臺客戶機上執(zhí)行了IPCONFIG /all命令后,兩個主機上均獲得了正確的IP地址,證明DHCP服務(wù)設(shè)置正確。同時,我們在實驗的DHCP服務(wù)器上獲取了地址分配時的DHCP報文,如圖2所示。在圖2中用方框標(biāo)識的是為主機A分配IP所用DHCP報文,可以看出DHCP地址分配使用了四類報文,分別是dhcpdiscover、dhcpoffer、dhcprequest和dhcpack,以上列出的順序就是該協(xié)議報文的執(zhí)行順序。圖2下半部分是dhcpoffer報文的解析結(jié)果,通過解析清楚地看到擬分配的地址是192.168.10.2以及該地址的各種租約期限等。
(2)使用IPCONFIG /release后,在DHCP服務(wù)器上獲取了如圖3上半部分所示的數(shù)據(jù)包,表示192.168.20.2(客戶機B)、192.168.10.2(客戶機A)釋放IP地址時僅使用了一種報文,即dhcprelease報文。使用IPCONFIG /renew后,在DHCP服務(wù)器上俘獲的DHCP報文如圖3下半部分所示。從圖3中可以看出,renew過程相當(dāng)于執(zhí)行了一次地址釋放和一次地址分配過程。在圖3中,用方框標(biāo)識的是主機A地址獲取時的DHCP報文,剩下的報文則是主機B地址獲取時的DHCP。
(3)在DHCP中繼代理服務(wù)器上,網(wǎng)卡1上俘獲的DHCP報文如圖4上半部分所示,網(wǎng)卡2上俘獲的DHCP報文如圖4下半部分所示。從圖4上下兩部分的對比發(fā)現(xiàn),主機B發(fā)出的dhcpdiscover和dhcprequest,在LAN segment2上傳遞時,報文的源地址為0.0.0.0,目標(biāo)地址為255.255.255.255,由此證明是廣播傳遞。經(jīng)DHCP轉(zhuǎn)發(fā)器轉(zhuǎn)發(fā)后,報文的源地址為192.168.20.1(DHCP中繼代理地址),目標(biāo)地址為192.168.10.1,轉(zhuǎn)變?yōu)閱尾鬟f。為了更為清晰地表達(dá),我們在圖4上下兩部分的對應(yīng)位置上用方框進行了標(biāo)識。從以上對比證實了DHCP在跨網(wǎng)地址分配時,DHCP的請求應(yīng)答報文在不同的網(wǎng)段上以不同的傳播方式進行傳遞。
四、結(jié)束語
計算機網(wǎng)絡(luò)是一門理論與實踐結(jié)合非常緊密的課程,通過實驗?zāi)軌蚣由顚碚摰睦斫猓莆沼嬎銠C網(wǎng)絡(luò)工程的實踐技能。精心設(shè)計的實驗,能夠讓學(xué)生在工程中深入理解網(wǎng)絡(luò)原理,激發(fā)他們的求知欲望,同時充分利用現(xiàn)有信息技術(shù),解決一些學(xué)校在設(shè)備不足的情況下,提升學(xué)生的綜合設(shè)計性能力的實驗思路。本文以網(wǎng)絡(luò)中常用的DHCP協(xié)議為例,介紹了該類實驗設(shè)計的思路。限于篇幅,文中未將所有的實驗結(jié)果羅列出來,如僅將dhcpoffer的解析展示給大家,教師還可以根據(jù)需要設(shè)計分析更多的協(xié)議報文以及協(xié)議字段的信息,引導(dǎo)學(xué)生進行深入思考。希望通過本文,給教師們一點參考,能夠促進教師將多年的教學(xué)經(jīng)驗進行總結(jié),為學(xué)生精心設(shè)計更多的綜合性實驗,幫助學(xué)生達(dá)到課程培養(yǎng)的目標(biāo)。
參考文獻(xiàn):
[1]百度百科.Wireshark[DB/OL]http://baike.baidu.com/link?url=W1Su2atwHdLqM0wSTk2QsXPkHdF0VZr PF7lDXUWsE_fZtFmMs54YEcOwmp1GlRR,2013-10-22/2013-10-31.
[2]謝希仁.計算機網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2008:224-232.
[3]蔣一川,王陳章,曹巖,高菲等.計算機網(wǎng)絡(luò)實驗教學(xué)系統(tǒng)V1.1實驗教程(IPv4網(wǎng)絡(luò)協(xié)議篇)[M].吉林中軟吉大信息技術(shù)有限公司.2011.8:162-175.
[4]朱小明.中等職業(yè)學(xué)校“計算機網(wǎng)絡(luò)”實踐教學(xué)的研究與思考[J]中國電化教育,2013(2):102-105.
[5]吳海濤,郭麗紅.DNS協(xié)議分析與安全檢測[J].計算機安全,2009(4):24-27.
(編輯:魯利瑞)