ARP 协议功能是把IP 地址映射为MAC 地址,核心机制是ARP 缓存表,实现IP 地址和MAC 地址之间的一一对应关系。研究ARP 协议动态交互仿真实验系统的目的是便于大家在学习ARP 协议的时候更好地理解协议理论,能够体会到ARP 请求报文和响应报文封装和发送的整个过程,真实地演示交换机对于ARP 请求报文和响应报文转发的机制及PC 机上缓存表的修改过程,有助于增强学生的学习效果。
1 系统设计
ARP 协议动态交互仿真实验系统是由三台计算机(PC-A,PC-B,PC-C)模拟的局域网,数据在其内部转发时的分布式仿真实验平台。三台机器分别模拟ARP 报文发送端、交换机、ARP 报文接收端,通过三台机器交互 *** 作,在以太网环境中动态模拟出ARP 协议的整个工作流程,包括ARP 高速缓存表的查询和修改,ARP 报文封装,交换机端口转发报文。
ARP 协议动态交互仿真系统拓扑结构图如图1 所示。
图1 ARP 协议动态交互仿真实验平台拓扑结构
1.1 系统分析
该系统的目的是为了在学生学习ARP 协议时,通过动态、逼真的实验过程帮助学生深入理解ARP 协议,提高学习效果。为了能够快捷、顺利地完成实验,实验环境对该系统有如下要求:部署方便,使用简单,效果逼真,移植性和可扩展性强。
系统针对上述需求采取如下策略:该系统全部在Windows XP 下开发,采用部署较为简单的Mysql 数据库和Tomcat 服务器(PC-C),将整个ARP 协议工作过程抽象出来放在网页上直观地展现,学习者可以像浏览网页一样使用该系统。
客户端:要求简单、明了地展现相应信息;有动态效果,逐步封装;能与服务器进行数据交互。因此,系统用dreamweaver8 设计页面,采用表格布局封装相关信息;用javascript. 控制动态效果和实现逐步封装;采用Ajax 技术实现客户端与服务器的交互。
服务器:开发语言相对简单易学,业务逻辑集中控制,采用分层的思想,在基本不动现有代码的情况下实现功能的拓展。系统用java 完成服务器端的实现,以一个逻辑控制类控制整个业务逻辑;封装一个持久层框架byesql *** 作mysql数据库,能在不写任何SQL 语句的情况下针对MySQL 数据库完成基本的增、删、改、查。
1.2 系统设计
1.2.1 系统用例图
实验时,学生甲 *** 作PC-A,模拟数据发送端;学生乙 *** 作PC-C,模拟交换机;学生丙 *** 作PC-B,模拟数据接收端。
发送端(PC-A):获取本机真实IP 和MAC 地址后,用一个JSP 页面模拟ARP 报文的逐步封装过程,使用者可以看到ARP 请求报文逐步封装的效果。然后自动向“交换机”
发送ARP 请求报文,再自动跳转到“ARP 高速缓存表”模拟页面,等待“交换机”转发来ARP 响应报文,最后修改“ARP 高速缓存表”。
交换机(PC-C):用一个JSP 页面模拟“端口——MAC映射表”,负责转发ARP 报文。初始为等待状态,当发送端(PC-A)发送完ARP 请求报文之后,自动向除发送端外的所有端口转发该请求报文,完毕后自动跳到初始状态等待转发ARP 响应报文,当响应报文到达后就针对发送端(PC-A)单播该报文分组。
接收端(PC-B):获取本机真实IP 和MAC 地址后,自动跳到“ARP 高速缓存表”模拟页面,等待“交换机”将ARP请求报文转发过来后修改ARP 高速缓存表,再自己跳转到ARP 响应报文页面,逐步封装。封装完毕则自动向“交换机”发送ARP 响应报文。
图2 为ARP 协议仿真系统动态交互用例图。
图2 ARP 协议动态交互仿真系统用例
1.2.2 系统类图
ARP 协议动态交互仿真系统定义了四个类:
①ARP 报文类ArpMessage:定义ARP 报文属性和类型;②ARP 缓存表类ArpTable:定义ARP 表字段和属性;③端口MAC 映射表类MacTable:定义交换机端口和机器MAC 地址的映射关系;④计算机类PC:定义各机器的IP 地址、MAC 地址和计算机名。
计算机类PC 为ARP 报文类ArpMessage 和ARP 缓存表类ArpTable 提供本机的MAC 地址和IP 地址,分别用于帧封装和MAC 地址查询。端口MAC 映射表类MacTable 为计算机类PC 提供MAC 地址和端口的对应关系,用于数据转发。
图3 为ARP 协议动态交互仿真实验系统类图。
图3 ARP 协议动态交互仿真系统类
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)