当前位置:首页 > EDA > 电子设计自动化
[导读] 协议仿真实验教学是帮助学生理解网络协议的重要手段。目前的协议仿真实验是离散的、静态的,即单独模拟某个协议,不能与其它协议合作,且协议中的数据表示是静态的,不能随着输入的数据的变化而动态变化,实验效

    协议仿真实验教学是帮助学生理解网络协议的重要手段。目前的协议仿真实验是离散的、静态的,即单独模拟某个协议,不能与其它协议合作,且协议中的数据表示是静态的,不能随着输入的数据的变化而动态变化,实验效果单调、生硬。具有代表性的网络仿真软件有:国外的NS2,BosON Netsim,国内的 “网络协议仿真教学系统”,“Psender”系统等。NS2 能够演示协议的工作过程,但是,无数据内容的动态变化和协议之间的合作。Boson Netsim 主要用于仿真网络工程实验,帮助学生熟悉网络设备和协议的使用,不能演示协议的工作流程,以及协议之间的相互协作过程,其效果仅类似于一个实际的网络工程实验。“网络协议仿真教学系统”实现了跨机器之间通信,但是数据的传递全部由人工操作,实验环境复杂,为了更好地模拟协议,忽略了实验环境与实际应用场景的一致性。“Psender”系统借用了着作《计算机网络:自顶向下方法与Internet 特色》作者提供的一些在线实验案例,实现了数据发送方和接收方之间的自动通信和速度匹配,但是,忽略了数据通信的中间过程,如,不能演示交换机的工作流程,也是离散的。因此,已有的仿真实验是离散的、静态的。而网络通信是一个连续的过程,需要协议之间相互协作,且数据也需要动态变化。

  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 协议动态交互仿真系统类

  1.2.3 系统流程图

  为了使用方便,ARP 协议动态交互仿真系统把三个角色功能集成在一个程序中。程序运行时,操作者需为机器选择规定的角色,再根据角色功能分配,按照定义的流程完成相应的操作。图4 为ARP 协议动态交互仿真系统流程图。



图4 ARP 协议动态交互仿真系统流程

  2 系统实现

  2.1 ByeSQL 框架简介

  Java 流行已久,基于jdbc 封装的持久层框架层出不穷,像Hibernate、Ibatis 等都是功能十分强大的开源框架[8]。但是这些开源框架对于一些小系统的应用显得太复杂,配置很麻烦,而且这些框架没有真正屏蔽掉SQL 语句的书写:

  Hibernate 需要写HQL 语句(和SQL 类似),Ibatis 就是一个sql-Object 映射框架。

  ARP 协议动态交互仿真系统封装了一个持久层框架byeSQL,将对数据库的操作封装起来,利用统一的约定省去配置文件中的诸多麻烦,借助java 反射机制完成表项和实体类的相互转换。所有的逻辑控制都由java 代码去处理。该框架可以应用于大部分小型系统的开发。

  持久层框架byeSQL 主要针对MySQL 数据库,将一些常用的增、删、改、查操作封装起来。使开发人员在做一些小型系统的时候,不要再去关心持久层的实现(也就是不要关心SQL 代码),只要导入byeSQL.jar 和MySQL 驱动包就可以利用java 代码操作数据库,而且配置文件十分简单,只需输入数据库的用户名和密码即可。不过使用框架byeSQL 必须遵守一个约定,表名必须和实体类名一致,字段名必须和实体类的属性一致,而且实体类必须符合JavaBean 规范。该框架是轻量级的,可以单独使用也可以和其它框架结合使用。

  2.2 主要框架函数

  系统持久层框架封装了10 个数据库操作函数,这些操作函数内部关联起来,就能完成对数据库的增、删、改、查操作,不需用户进行干涉。部分操作函数的功能为:

  ①public STatic int selectCount(String beanName):查出表中表项总数(传入该表对应的bean 全名,返回记录个数);

  ②public static List selectPage(String beanName,int start,int size):分页查询(传入该表对应的bean 全名、开始位置、每页显示记录条数,返回装有所查记录对应的对象实例列表);

  ③public static List selectOne(String beanName,StringpkName,String pkValue):根据特定字段名和值选出所需记录(传入该表对应的bean 全名、特定字段名、特定字段值,返回装有所查记录对应的对象实例列表);

  ④public static List selectAll(String beanName):查出所有记录(传入该表对应的bean 全名,返回装有所查记录对应的对象实例的列表);

  ⑤public static List select(String beanName,String select):

  实现复杂查询,如关联查询和子查询等(传入该表对应的bean 全名、SQL 语句,返回装有所查记录对应的对象实例的列表)。

  3 结语

  该系统实现了ARP 协议的动态交互仿真,完成了ARP协议整个工作过程的模拟实现,通过动态交互操作,能够让学习者更轻松地学习和掌握ARP 协议。系统通过封装一个持久层框架,实现针对MySQL 数据库的基本增删操作,做到使用户不需写SQL 语句,利用java 代码就可以操作MySQL 数据库。

 

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

全球半导体封装市场正向PLP、ECP等先进技术倾斜,以应对5G和高性能计算需求。但国内上规模的PLP厂商不超过五家,芯友微凭借技术创新和成本优势已占据一席之地。面对行业竞争和终端需求波动,张博威认为:“机会永远都在,关键...

关键字: PLP ECP 封装 芯友微 XINYOUNG

在半导体封装领域,BGA(球栅阵列)封装技术凭借其高引脚密度、低电阻电感和优异散热性能,已成为高性能芯片的主流封装形式。然而,随着芯片集成度与功率密度的持续提升,BGA焊点中的裂纹与微孔缺陷逐渐成为制约产品可靠性的核心问...

关键字: BGA裂纹 半导体 封装

上海2025年8月20日 /美通社/ -- 今日,全球领先的集成电路成品制造和技术服务提供商长电科技(600584.SH)公布了2025年半年度报告。财报显示,今年上半年长电...

关键字: 封装 长电科技 系统集成 汽车电子

北京2025年8月15日 /美通社/ -- 今日,以"破局者 • 智行合璧"为主题的2025戴尔科技峰会在北京中国大饭店盛大启幕。作为戴尔科技大中华区极具战略意义的年度旗舰活动,本届峰会吸引逾千名行业...

关键字: 戴尔 全栈 PC ALIENWARE

北京2025年7月31日 /美通社/ -- 近日,权威咨询机构德本咨询重磅发布"2025中国信创PC市场影响力品牌TOP 10"榜单。软通计算机凭借其迅猛的发展势头、领先的技术整合能力及显著的市场表现...

关键字: 计算机 TOP PC PC市场

在十年间,3D深度感知市场规模将实现超过2倍的增长,而我们正处于这场变革之中。据Yole数据,2020年这3D深度感知市场规模为67亿美金,2024年为95亿美金,而2030年将达到176亿美金。整个3D深感市场出现了爆...

关键字: AI PC HPC 人体检测 ToF VL53L8CP

6月23日消息,根据IDC最新发布的《中国PC显示器市场季度跟踪报告》,2025年一季度中国PC 显示器市场总出货量707万台,同比增长14.0%。

关键字: PC DDR4 显示器

德国汉堡 2025年6月10日 /美通社/ -- 作为专业的服务器设计与制造商,神达控股股份有限公司(股票代号:3706)旗下子公司神雲科技股份有限公司(MiTAC Computing Technology Corpo...

关键字: MIT 高性能计算 PC HP

6月5日消息,据TrendForce集邦咨询最新报道,受多重因素影响,2025年第二季度PC DDR4模组合约价格预计将上涨13%-18%,涨幅较此前预计的3%-8%明显扩大,而Server DDR4模组价格预计季增18...

关键字: PC DDR4
关闭