ARP 協(xié)議動(dòng)態(tài)交互仿真實(shí)驗(yàn)系統(tǒng)是由三臺(tái)計(jì)算機(jī)(PC-A,PC-B,PC-C)模擬的局域網(wǎng),數(shù)據(jù)在其內(nèi)部轉(zhuǎn)發(fā)時(shí)的分布式仿真實(shí)驗(yàn)平臺(tái)。三臺(tái)機(jī)器分別模擬ARP 報(bào)文發(fā)送端、交換機(jī)、ARP 報(bào)文接收端,通過(guò)三臺(tái)機(jī)器交互操作,在以太網(wǎng)環(huán)境中動(dòng)態(tài)模擬出ARP 協(xié)議的整個(gè)工作流程,包括ARP 高速緩存表的查詢和修改,ARP 報(bào)文封裝,交換機(jī)端口轉(zhuǎn)發(fā)報(bào)文。
ARP 協(xié)議動(dòng)態(tài)交互仿真系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖如圖1 所示。
圖1 ARP 協(xié)議動(dòng)態(tài)交互仿真實(shí)驗(yàn)平臺(tái)拓?fù)浣Y(jié)構(gòu)
1.1 系統(tǒng)分析
該系統(tǒng)的目的是為了在學(xué)生學(xué)習(xí)ARP 協(xié)議時(shí),通過(guò)動(dòng)態(tài)、逼真的實(shí)驗(yàn)過(guò)程幫助學(xué)生深入理解ARP 協(xié)議,提高學(xué)習(xí)效果。為了能夠快捷、順利地完成實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境對(duì)該系統(tǒng)有如下要求:部署方便,使用簡(jiǎn)單,效果逼真,移植性和可擴(kuò)展性強(qiáng)。
系統(tǒng)針對(duì)上述需求采取如下策略:該系統(tǒng)全部在Windows XP 下開(kāi)發(fā),采用部署較為簡(jiǎn)單的Mysql 數(shù)據(jù)庫(kù)和Tomcat 服務(wù)器(PC-C),將整個(gè)ARP 協(xié)議工作過(guò)程抽象出來(lái)放在網(wǎng)頁(yè)上直觀地展現(xiàn),學(xué)習(xí)者可以像瀏覽網(wǎng)頁(yè)一樣使用該系統(tǒng)。
客戶端:要求簡(jiǎn)單、明了地展現(xiàn)相應(yīng)信息;有動(dòng)態(tài)效果,逐步封裝;能與服務(wù)器進(jìn)行數(shù)據(jù)交互。因此,系統(tǒng)用dreamweaver8 設(shè)計(jì)頁(yè)面,采用表格布局封裝相關(guān)信息;用javascript. 控制動(dòng)態(tài)效果和實(shí)現(xiàn)逐步封裝;采用Ajax 技術(shù)實(shí)現(xiàn)客戶端與服務(wù)器的交互。
服務(wù)器:開(kāi)發(fā)語(yǔ)言相對(duì)簡(jiǎn)單易學(xué),業(yè)務(wù)邏輯集中控制,采用分層的思想,在基本不動(dòng)現(xiàn)有代碼的情況下實(shí)現(xiàn)功能的拓展。系統(tǒng)用java 完成服務(wù)器端的實(shí)現(xiàn),以一個(gè)邏輯控制類控制整個(gè)業(yè)務(wù)邏輯;封裝一個(gè)持久層框架byesql 操作mysql數(shù)據(jù)庫(kù),能在不寫任何SQL 語(yǔ)句的情況下針對(duì)MySQL 數(shù)據(jù)庫(kù)完成基本的增、刪、改、查。
1.2 系統(tǒng)設(shè)計(jì)
1.2.1 系統(tǒng)用例圖
實(shí)驗(yàn)時(shí),學(xué)生甲操作PC-A,模擬數(shù)據(jù)發(fā)送端;學(xué)生乙操作PC-C,模擬交換機(jī);學(xué)生丙操作PC-B,模擬數(shù)據(jù)接收端。
發(fā)送端(PC-A):獲取本機(jī)真實(shí)IP 和MAC 地址后,用一個(gè)JSP 頁(yè)面模擬ARP 報(bào)文的逐步封裝過(guò)程,使用者可以看到ARP 請(qǐng)求報(bào)文逐步封裝的效果。然后自動(dòng)向“交換機(jī)”