鄭文光
摘要:該文針對(duì)計(jì)算機(jī)網(wǎng)絡(luò)課程教學(xué)中存在的問(wèn)題,引入網(wǎng)絡(luò)應(yīng)用分析的方法對(duì)教學(xué)進(jìn)行了探索。以ARP理論學(xué)習(xí)為例,通過(guò)網(wǎng)絡(luò)分析系統(tǒng)抓包分析,把抽象的理論學(xué)習(xí)轉(zhuǎn)變成具體的網(wǎng)絡(luò)應(yīng)用實(shí)例分析,提高了教學(xué)的效果。
關(guān)鍵詞:計(jì)算機(jī)網(wǎng)絡(luò);網(wǎng)絡(luò)應(yīng)用分析;ARP;教學(xué)方法
中圖分類號(hào):TP393? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? 文章編號(hào):1009-3044(2018)31-0058-03
The Teaching Practice of Computer Networks Based on the Analyzing of Network Application
ZHENG Wen-guang
(Zhejiang Post and Telecommunication College, Shaoxing 312016, China)
Abstract: In order to solve the problems lying in the teaching of the course of computer networks, the scholarly paper studies the teaching by the method of the analyzing of network application. Taking the ARP theory learning as an example, the paper transforms abstract learning of theory into specific case study of network application by the analysis of grasping data package through network analysis system and achieves my aim of improving the effect of teaching.
Key words: computer networks; the analyzing of network application; ARP; the teaching method
1 引言
《計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)》是一門理論性很強(qiáng)的專業(yè)核心課程,是后繼學(xué)習(xí)《無(wú)線局域網(wǎng)組建與維護(hù)》《網(wǎng)絡(luò)互聯(lián)技術(shù)》和《物聯(lián)網(wǎng)》等課程的基礎(chǔ)。該課程主要學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)的基本原理、TCP/IP協(xié)議族和基本網(wǎng)絡(luò)應(yīng)用。涉及的基礎(chǔ)理論多,內(nèi)容抽象難以理解。在教學(xué)中,很多老師采用分層教學(xué),從物理層、數(shù)據(jù)鏈路層一直到最上的應(yīng)用層,每一層介紹它的功能、協(xié)議和相關(guān)的一些概念,側(cè)重于理論學(xué)習(xí)和理解,很少通過(guò)具體的網(wǎng)絡(luò)應(yīng)用分析從整體上學(xué)習(xí)協(xié)議的特點(diǎn)及相關(guān)的協(xié)議。
從事《計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)》課程教學(xué)多年,一直把基于實(shí)際網(wǎng)絡(luò)應(yīng)用分析的教學(xué)方法應(yīng)用于各層次網(wǎng)絡(luò)教學(xué)。本文將描述基于科來(lái)網(wǎng)絡(luò)分析系統(tǒng)的數(shù)據(jù)包跟蹤和分析功能,理論聯(lián)系實(shí)際以一次連通測(cè)試為例學(xué)習(xí)ARP協(xié)議的特點(diǎn)及原理,把抽象的協(xié)議和具體的數(shù)據(jù)包聯(lián)系起來(lái),把復(fù)雜的概念簡(jiǎn)單化。
2 ARP協(xié)議簡(jiǎn)介
ARP,中文名稱是地址解析協(xié)議,全稱Address Resolution Protocol,它工作在參考模型的數(shù)據(jù)鏈路層,向下和硬件接口聯(lián)系,向上對(duì)上層提供服務(wù)。
在以太網(wǎng)通信過(guò)程中,一臺(tái)計(jì)算機(jī)要和另一臺(tái)計(jì)算進(jìn)行通信之前,必須要有目的主機(jī)的MAC地址。因此,計(jì)算機(jī)必須采用某種方法把目的IP地址轉(zhuǎn)換成目的MAC地址。在以太網(wǎng)中,計(jì)算機(jī)就是通過(guò)地址解析協(xié)議ARP實(shí)現(xiàn)的。ARP協(xié)議把網(wǎng)絡(luò)中的IP地址解析為對(duì)應(yīng)的硬件地址(MAC地址),從而保證通信的順利進(jìn)行。
ARP的工作原理如下:
1) 每臺(tái)計(jì)算機(jī)都會(huì)建有一個(gè)ARP緩存表,保存已知的IP地址和MAC地址的對(duì)應(yīng)關(guān)系。
2) 當(dāng)源計(jì)算機(jī)需要發(fā)送一個(gè)數(shù)據(jù)包到目的計(jì)算機(jī)時(shí),首先它要做的是檢查自己的ARP緩存表,查看是否有該目的IP地址對(duì)應(yīng)MAC地址的映射記錄。如果存在,就直接發(fā)送數(shù)據(jù)包到這個(gè)MAC地址;如果不存在,源計(jì)算機(jī)就向所在網(wǎng)段發(fā)出一個(gè)ARP請(qǐng)求的廣播包,查詢此目的主機(jī)對(duì)應(yīng)的MAC地址。這個(gè)ARP請(qǐng)求數(shù)據(jù)包里包括有源主機(jī)的IP地址、源主機(jī)的MAC地址以及目的主機(jī)的IP地址。
3) 網(wǎng)絡(luò)中所有的主機(jī)收到這個(gè)ARP請(qǐng)求數(shù)據(jù)包后,首先判斷數(shù)據(jù)包中的目的IP是否和自己的IP地址相同。如果不相同就忽略此數(shù)據(jù)包;如果相同,該主機(jī)先將數(shù)據(jù)包中的源IP地址和MAC地址添加到自己的ARP緩存表中,如果緩存表中已經(jīng)存在此IP的信息,則將其覆蓋。然后給源主機(jī)發(fā)送一個(gè)一對(duì)一的ARP響應(yīng)包,該數(shù)據(jù)包封裝了自己的MAC地址。
4) 源主機(jī)收到發(fā)來(lái)的ARP響應(yīng)包后,將數(shù)據(jù)包里的目的IP地址和MAC地址添加到自己的ARP緩存表中,并利用獲取的MAC地址開(kāi)始發(fā)送數(shù)據(jù)。ARP報(bào)頭的結(jié)構(gòu),如表1所示。
硬件類型字段值為1表明硬件接口類型為以太網(wǎng)。
協(xié)議類型字段指明了上一層的協(xié)議類型,IP為0800(16進(jìn)制)。
操作類型字段用于表明這個(gè)報(bào)文的類型,ARP請(qǐng)求為1,ARP響應(yīng)為2。
在傳統(tǒng)教學(xué)中,我們會(huì)講解ARP的以上知識(shí)點(diǎn),希望通過(guò)理論分析讓學(xué)生掌握ARP的功能以及數(shù)據(jù)傳輸流程。這個(gè)過(guò)程是抽象的,需要大腦想象、分析和形成數(shù)據(jù)流。傳統(tǒng)教學(xué)表明學(xué)生難以理解這些知識(shí),同時(shí)學(xué)習(xí)后很容易忘記,教學(xué)效果較差。
3 ARP抓包分析
科來(lái)是一家國(guó)內(nèi)領(lǐng)先的網(wǎng)絡(luò)分析服務(wù)提供商,通過(guò)科來(lái)網(wǎng)絡(luò)分析系統(tǒng)可以捕獲和分析計(jì)算機(jī)通信的數(shù)據(jù)包,部署方便高效,能快速地對(duì)網(wǎng)絡(luò)故障、網(wǎng)絡(luò)安全和網(wǎng)絡(luò)性能進(jìn)行分析。
本文以PC1:10.10.70.139和PC2:10.10.70.242的連通性測(cè)試為例介紹網(wǎng)絡(luò)應(yīng)用分析在抽象的ARP理論學(xué)習(xí)中的作用。設(shè)置科來(lái)網(wǎng)絡(luò)分析系統(tǒng)過(guò)濾器只捕捉ARP和ICMP的通信數(shù)據(jù)包。然后在PC1上執(zhí)行arp–a命令查看本機(jī)arp緩存表,結(jié)果如圖1所示。
可以看到本機(jī)不存在10.10.70.242的MAC地址記錄,接下來(lái)在PC1去PING目標(biāo)PC2,抓取的第一個(gè)包如圖2所示。
通過(guò)分析抓取的第一個(gè)數(shù)據(jù)包我們可以清楚地看到數(shù)據(jù)鏈路層的目標(biāo)地址為FF:FF:FF:FF:FF:FF,表明這是一個(gè)廣播包,ARP協(xié)議頭部中操作類型為1,表明這是一個(gè)ARP請(qǐng)求,目標(biāo)物理地址為00:00:00:00:00:00,說(shuō)明目標(biāo)物理地址未知,綜合分析得出PC1在未知PC2的MAC地址情況下,發(fā)出一個(gè)ARP廣播查找10.10.70.242的MAC地址。接下來(lái)看10.10.70.242返回的數(shù)據(jù)包,如圖3所示。
從數(shù)據(jù)包結(jié)構(gòu)可以看出在數(shù)據(jù)鏈路層目標(biāo)地址和源地址都為具體的MAC地址,結(jié)合交換機(jī)的工作原理,得出這個(gè)數(shù)據(jù)包會(huì)被一對(duì)一轉(zhuǎn)發(fā)。再看ARP的頭部結(jié)構(gòu),操作類型為2,說(shuō)明這是一個(gè)ARP響應(yīng)包,包含了源和目標(biāo)的IP和MAC地址,綜合分析得出這個(gè)數(shù)據(jù)包是一個(gè)一對(duì)一的ARP響應(yīng)包。
此時(shí)再次在PC1上執(zhí)行arp–a命令,結(jié)果如圖4所示,本機(jī)已經(jīng)學(xué)習(xí)到了10.10.70.242的MAC地址。
接下來(lái)再次用科來(lái)網(wǎng)絡(luò)分析系統(tǒng)捕捉PC1和PC2的PING測(cè)試,結(jié)果如圖5所示。
從中可以看出在PC1已有PC2的MAC地址情況下,未再做ARP請(qǐng)求操作,而是直接發(fā)出回顯請(qǐng)求。
通過(guò)簡(jiǎn)單的抓包分析,印證了書上介紹的ARP工作原理和ARP的頭部結(jié)構(gòu),把抽象的理論轉(zhuǎn)變成具體的、可見(jiàn)的數(shù)據(jù)包分析,同時(shí)也學(xué)習(xí)了ARP和ICMP協(xié)議涉及的各個(gè)協(xié)議。
4 結(jié)束語(yǔ)
基于網(wǎng)絡(luò)應(yīng)用分析的實(shí)踐練習(xí)有助于學(xué)生理論聯(lián)系實(shí)際,直觀地學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)的各種協(xié)議。同時(shí),在具體的網(wǎng)絡(luò)應(yīng)用分析中,可以系統(tǒng)地學(xué)習(xí)相關(guān)的一系列協(xié)議,理解分層模型下的協(xié)議調(diào)用。通過(guò)實(shí)踐,學(xué)生普遍反映基于網(wǎng)絡(luò)應(yīng)用分析的教學(xué)方法有利于他們掌握計(jì)算機(jī)網(wǎng)絡(luò)的基本原理,在一定程度上提高了他們的學(xué)習(xí)熱情。
參考文獻(xiàn):
[1] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2017:101-103.
[2] 李萍.Packet Tracer在計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2012,35(11):177-179+182.
[3] Forouzan.B.A.TCP/IP協(xié)議族[M]. 3版.謝希仁,譯.北京:清華大學(xué)出版社,2006.