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