ARP(Address Resolution Protocol,地址解析�(xié)議)是一個位于TCP/IP�(xié)�棧中的低層協(xié)議,負責將某個IP地址解析成對應的MAC地址。ARP�(xié)議和ICMP�(xié)議是常用的TCP/IP底層�(xié)�。在對網(wǎng)絡故障進行診斷的時候,它們也是最常用的協(xié)��
ARP �(xié)議功能是把IP 地址映射為MAC 地址,核心機制是ARP 緩存�,實�(xiàn)IP 地址和MAC 地址之間的一一對應關系。研究ARP �(xié)議動�(tài)交互仿真實驗系統(tǒng)的目的是便于大家在學習ARP �(xié)議的時候更好地理解�(xié)議理�,能夠體會到ARP 請求報文和響應報文封裝和�(fā)送的整個過程,真實地演示交換機對于ARP 請求報文和響應報文轉(zhuǎn)�(fā)的機制及PC 機上緩存表的修改過程,有助于增強學生的學習效��
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)拓撲結構圖如�1 所��
�1 ARP �(xié)議動�(tài)交互仿真實驗平臺拓撲結構
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 服務器(PC-C�,將整個ARP �(xié)議工作過程抽象出來放在網(wǎng)頁上直觀地展�(xiàn),學習者可以像瀏覽�(wǎng)頁一樣使用該系統(tǒng)�
客戶端:要求簡單、明了地展現(xiàn)相應信息;有動態(tài)效果,逐步封裝;能與服務器進行�(shù)�(jù)交互。因此,系統(tǒng)用dreamweaver8 設計頁面,采用表格布局封裝相關信息;用javascript. 控制動態(tài)效果和實�(xiàn)逐步封裝;采用Ajax 技術實�(xiàn)客戶端與服務器的交互�
服務器:開發(fā)語言相對簡單易學,業(yè)務邏輯集中控制,采用分層的思想,在基本不動�(xiàn)有代碼的情況下實�(xiàn)功能的拓�。系�(tǒng)用java 完成服務器端的實�(xiàn),以一個邏輯控制類控制整個業(yè)務邏輯;封裝一個持久層框架byesql 操作mysql�(shù)�(jù)�,能在不寫任何SQL 語句的情況下針對MySQL �(shù)�(jù)庫完成基本的�、刪、改、查�
1.2 系統(tǒng)設計
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 響應報文,修改“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 響應報文,當響應報文到達后就針對�(fā)送端(PC-A)單播該報文分組�
接收端(PC-B):獲取本機真實IP 和MAC 地址�,自動跳到“ARP 高速緩存表”模擬頁面,等待“交換機”將ARP請求報文�(zhuǎn)�(fā)過來后修改ARP 高速緩存表,再自己跳轉(zhuǎn)到ARP 響應報文頁面,逐步封裝。封裝完畢則自動向“交換機”發(fā)送ARP 響應報文�
�2 為ARP �(xié)議仿真系�(tǒng)動態(tài)交互用例��
�2 ARP �(xié)議動�(tài)交互仿真系統(tǒng)用例
1.2.2 系統(tǒng)類圖
ARP �(xié)議動�(tài)交互仿真系統(tǒng)定義了四個類�
?、貯RP 報文類ArpMessage:定義ARP 報文屬性和類型;②ARP 緩存表類ArpTable:定義ARP 表字段和屬�;③端口MAC 映射表類MacTable:定義交換機端口和機器MAC 地址的映射關�;④計算機類PC:定義各機器的IP 地址、MAC 地址和計算機��
計算機類PC 為ARP 報文類ArpMessage 和ARP 緩存表類ArpTable 提供本機的MAC 地址和IP 地址,分別用于幀封裝和MAC 地址查詢。端口MAC 映射表類MacTable 為計算機類PC 提供MAC 地址和端口的對應關系,用于數(shù)�(jù)�(zhuǎn)�(fā)�
�3 為ARP �(xié)議動�(tài)交互仿真實驗系統(tǒng)類圖�
�3 ARP �(xié)議動�(tài)交互仿真系統(tǒng)�
1.2.3 系統(tǒng)流程�
為了使用方便,ARP �(xié)議動�(tài)交互仿真系統(tǒng)把三個角色功能集成在一個程序中。程序運行時,操作者需為機器選擇規(guī)定的角色,再根據(jù)角色功能分配,按照定義的流程完成相應的操�。圖4 為ARP �(xié)議動�(tài)交互仿真系統(tǒng)流程��
�4 ARP �(xié)議動�(tài)交互仿真系統(tǒng)流程
當一個基于TCP/IP的應用程序需要從一臺主機發(fā)送數(shù)�(jù)給另一臺主機時,它把信息分割并封裝成包,附上目的主機的IP地址。然后,尋找IP地址到實際MAC地址的映�,這需要發(fā)送ARP廣播消息。當ARP找到了目的主機MAC地址�,就可以形成待發(fā)送幀的完整以太網(wǎng)幀�。,�(xié)議棧將IP包封裝到以太�(wǎng)幀中進行傳��
如圖所示,描述了ARP廣播過程�
圖 ARP廣播
在圖�,當主機A要和主機B通信(如主機A Ping主機B)時。主機A會先檢查其ARP緩存�(nèi)是否有主機B的MAC地址。如果沒�,主機A會發(fā)送一個ARP請求廣播包,此包�(nèi)包含著其欲與之通信的主機的IP地址,也就是主機B的IP地址。當主機B收到此廣播后,會將自己的MAC地址利用ARP響應包傳給主機A,并更新自己的ARP緩存,也就是同時將主機A的IP地址/MAC地址對保存起�,以供后面使�。主機A在得到主機B的MAC地址后,就可以與主機B通信�。同時,主機A也將主機B的IP地址/MAC地址對保存在自己的ARP緩存�(nèi)�
ARP報文被封裝在以太�(wǎng)幀頭部中傳輸,如圖所�,是ARP請求�(xié)議報文頭部格��
� ARP請求�(xié)議報文頭部格�
圖中黃色的部分是以太�(wǎng)(這里是EthernetII類型)的幀頭部。其�,個字段是廣播類型的MAC地址�0XFF-FF-FF-FF-FF-FF,其目標是網(wǎng)絡上的所有主�。第二個字段是源MAC地址,即請求地址解析的主機MAC地址。第三個字段是�(xié)議類型,這里�0X0806代表封裝的上層協(xié)議是ARP�(xié)��
接下來是ARP�(xié)議報文部分。其中各個字段的含義如下�
硬件類型:表明ARP實現(xiàn)在何種類型的�(wǎng)絡上�
�(xié)議類型:代表解析�(xié)議(上層�(xié)議)。這里,一般是0800,即IP�
硬件地址長度:MAC地址長度,此處為6個字節(jié)�
�(xié)議地址長度:IP地址長度,此處為4個字節(jié)�
操作類型:代表ARP�(shù)�(jù)包類��0表示ARP請求�(shù)�(jù)��1表示ARP應答�(shù)�(jù)��
源MAC地址:發(fā)送端MAC地址�
源IP地址:代表發(fā)送端�(xié)議地址(IP地址)�
目標MAC地址:目的端MAC地址(待填充)�
目標IP地址:代表目的端�(xié)議地址(IP地址��
ARP應答�(xié)議報文和ARP請求�(xié)議報文類似。不同的�,此時,以太�(wǎng)幀頭部的目標MAC地址為發(fā)送ARP地址解析請求的主機的MAC地址,而源MAC地址為被解析的主機的MAC地址。同�,操作類型字段為1,表示ARP應答�(shù)�(jù)�,目標MAC地址字段被填充以目標MAC地址�
維庫電子�,電子知�,一查百��
已收錄詞�160647�