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