ARP協(xié)議動態(tài)交互仿真系統(tǒng)的設(shè)計
協(xié)議仿真實驗教學是幫助學生理解網(wǎng)絡(luò)協(xié)議的重要手段。目前的協(xié)議仿真實驗是離散的、靜態(tài)的,即單獨模擬某個協(xié)議,不能與其它協(xié)議合作,且協(xié)議中的數(shù)據(jù)表示是靜態(tài)的,不能隨著輸入的數(shù)據(jù)的變化而動態(tài)變化,實驗效果單調(diào)、生硬。具有代表性的網(wǎng)絡(luò)仿真軟件有:國外的NS2,BosON Netsim,國內(nèi)的 “網(wǎng)絡(luò)協(xié)議仿真教學系統(tǒng)”,“Psender”系統(tǒng)等。NS2 能夠演示協(xié)議的工作過程,但是,無數(shù)據(jù)內(nèi)容的動態(tài)變化和協(xié)議之間的合作。Boson Netsim 主要用于仿真網(wǎng)絡(luò)工程實驗,幫助學生熟悉網(wǎng)絡(luò)設(shè)備和協(xié)議的使用,不能演示協(xié)議的工作流程,以及協(xié)議之間的相互協(xié)作過程,其效果僅類似于一個實際的網(wǎng)絡(luò)工程實驗。“網(wǎng)絡(luò)協(xié)議仿真教學系統(tǒng)”實現(xiàn)了跨機器之間通信,但是數(shù)據(jù)的傳遞全部由人工操作,實驗環(huán)境復雜,為了更好地模擬協(xié)議,忽略了實驗環(huán)境與實際應(yīng)用場景的一致性。“Psender”系統(tǒng)借用了著作《計算機網(wǎng)絡(luò):自頂向下方法與Internet 特色》作者提供的一些在線實驗案例,實現(xiàn)了數(shù)據(jù)發(fā)送方和接收方之間的自動通信和速度匹配,但是,忽略了數(shù)據(jù)通信的中間過程,如,不能演示交換機的工作流程,也是離散的。因此,已有的仿真實驗是離散的、靜態(tài)的。而網(wǎng)絡(luò)通信是一個連續(xù)的過程,需要協(xié)議之間相互協(xié)作,且數(shù)據(jù)也需要動態(tài)變化。
本文引用地址:http://www.ex-cimer.com/article/191284.htmARP 協(xié)議功能是把IP 地址映射為MAC 地址,核心機制是ARP 緩存表,實現(xiàn)IP 地址和MAC 地址之間的一一對應(yīng)關(guān)系。研究ARP 協(xié)議動態(tài)交互仿真實驗系統(tǒng)的目的是便于大家在學習ARP 協(xié)議的時候更好地理解協(xié)議理論,能夠體會到ARP 請求報文和響應(yīng)報文封裝和發(fā)送的整個過程,真實地演示交換機對于ARP 請求報文和響應(yīng)報文轉(zhuǎn)發(fā)的機制及PC 機上緩存表的修改過程,有助于增強學生的學習效果。
1 系統(tǒng)設(shè)計
ARP 協(xié)議動態(tài)交互仿真實驗系統(tǒng)是由三臺計算機(PC-A,PC-B,PC-C)模擬的局域網(wǎng),數(shù)據(jù)在其內(nèi)部轉(zhuǎn)發(fā)時的分布式仿真實驗平臺。三臺機器分別模擬ARP 報文發(fā)送端、交換機、ARP 報文接收端,通過三臺機器交互操作,在以太網(wǎng)環(huán)境中動態(tài)模擬出ARP 協(xié)議的整個工作流程,包括ARP 高速緩存表的查詢和修改,ARP 報文封裝,交換機端口轉(zhuǎn)發(fā)報文。
ARP 協(xié)議動態(tài)交互仿真系統(tǒng)拓撲結(jié)構(gòu)圖如圖1 所示。
圖1 ARP 協(xié)議動態(tài)交互仿真實驗平臺拓撲結(jié)構(gòu)
1.1 系統(tǒng)分析
該系統(tǒng)的目的是為了在學生學習ARP 協(xié)議時,通過動態(tài)、逼真的實驗過程幫助學生深入理解ARP 協(xié)議,提高學習效果。為了能夠快捷、順利地完成實驗,實驗環(huán)境對該系統(tǒng)有如下要求:部署方便,使用簡單,效果逼真,移植性和可擴展性強。
系統(tǒng)針對上述需求采取如下策略:該系統(tǒng)全部在Windows XP 下開發(fā),采用部署較為簡單的Mysql 數(shù)據(jù)庫和Tomcat 服務(wù)器(PC-C),將整個ARP 協(xié)議工作過程抽象出來放在網(wǎng)頁上直觀地展現(xiàn),學習者可以像瀏覽網(wǎng)頁一樣使用該系統(tǒng)。
客戶端:要求簡單、明了地展現(xiàn)相應(yīng)信息;有動態(tài)效果,逐步封裝;能與服務(wù)器進行數(shù)據(jù)交互。因此,系統(tǒng)用dreamweaver8 設(shè)計頁面,采用表格布局封裝相關(guān)信息;用javascript. 控制動態(tài)效果和實現(xiàn)逐步封裝;采用Ajax 技術(shù)實現(xiàn)客戶端與服務(wù)器的交互。
服務(wù)器:開發(fā)語言相對簡單易學,業(yè)務(wù)邏輯集中控制,采用分層的思想,在基本不動現(xiàn)有代碼的情況下實現(xiàn)功能的拓展。系統(tǒng)用java 完成服務(wù)器端的實現(xiàn),以一個邏輯控制類控制整個業(yè)務(wù)邏輯;封裝一個持久層框架byesql 操作mysql數(shù)據(jù)庫,能在不寫任何SQL 語句的情況下針對MySQL 數(shù)據(jù)庫完成基本的增、刪、改、查。
1.2 系統(tǒng)設(shè)計
1.2.1 系統(tǒng)用例圖
實驗時,學生甲操作PC-A,模擬數(shù)據(jù)發(fā)送端;學生乙操作PC-C,模擬交換機;學生丙操作PC-B,模擬數(shù)據(jù)接收端。
發(fā)送端(PC-A):獲取本機真實IP 和MAC 地址后,用一個JSP 頁面模擬ARP 報文的逐步封裝過程,使用者可以看到ARP 請求報文逐步封裝的效果。然后自動向“交換機”
發(fā)送ARP 請求報文,再自動跳轉(zhuǎn)到“ARP 高速緩存表”模擬頁面,等待“交換機”轉(zhuǎn)發(fā)來ARP 響應(yīng)報文,最后修改“ARP 高速緩存表”。
交換機(PC-C):用一個JSP 頁面模擬“端口——MAC映射表”,負責轉(zhuǎn)發(fā)ARP 報文。初始為等待狀態(tài),當發(fā)送端(PC-A)發(fā)送完ARP 請求報文之后,自動向除發(fā)送端外的所有端口轉(zhuǎn)發(fā)該請求報文,完畢后自動跳到初始狀態(tài)等待轉(zhuǎn)發(fā)ARP 響應(yīng)報文,當響應(yīng)報文到達后就針對發(fā)送端(PC-A)單播該報文分組。
接收端(PC-B):獲取本機真實IP 和MAC 地址后,自動跳到“ARP 高速緩存表”模擬頁面,等待“交換機”將ARP請求報文轉(zhuǎn)發(fā)過來后修改ARP 高速緩存表,再自己跳轉(zhuǎn)到ARP 響應(yīng)報文頁面,逐步封裝。封裝完畢則自動向“交換機”發(fā)送ARP 響應(yīng)報文。
圖2 為ARP 協(xié)議仿真系統(tǒng)動態(tài)交互用例圖。
圖2 ARP 協(xié)議動態(tài)交互仿真系統(tǒng)用例
評論