网络工程 计算机网络课程实验虚拟仿真系统设计与.docx
《网络工程 计算机网络课程实验虚拟仿真系统设计与.docx》由会员分享,可在线阅读,更多相关《网络工程 计算机网络课程实验虚拟仿真系统设计与.docx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本科毕业设计(论文)计算机网络课程实验虚拟仿真系统设计与实现Design and implementation of virtual simulation system for computer network course experiment院 (系)计算机学院专 业网络工程班 级1班学 号16210220116学生姓名陈文棋指导教师赵元成提交日期2020年 4 月 19 日毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行的设计(研究)工作及取得的成果,论文中引用他人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成
2、,不包含他人已经发表或撰写的作品及成果。对本文的研究作出贡献的个人和集体,均已在论文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。毕业论文作者(签字): 签字日期: 年 月 日成绩评定成绩项论文成绩(百分制)折合比例实得成绩(折合分)指导教师成绩30%评阅教师成绩20%答辩成绩50%总评成绩 注:毕业设计(论文)成绩按百分制评定。答辩成绩不及格的(评分低于60分的),则该毕业设计(论文)总评成绩为答辩成绩。摘要计算机网络课程虚拟仿真系统是一个基于Web开发的平台,将课程的理论知识与网页结合在一起,实现知识的具体化体现通过虚拟仿真的方式,将计算机网络课程教学中涉及到的HTTP协议、
3、Socket通信、网络规划、路由算法、负载均衡等实验过程及结果通过WEB方式展示出来,实验操作性强,能直观、形象的反映出这些计算机网络中的协议、实验的网络原理及实现过程。本文主要是设计实现出一个计算机网络课程虚拟仿真系统。使用IntelliJ IDEA 终极版作为本系统的开发软件,使用MariaDB数据库为本系统提供服务,项目架构采取Spring+SpringMVC+MyBatis框架完成,实现主要6个功能包括:端口扫描、负载均衡、UserAgent解析、网络地址计算、链路选择、WebSocket通讯。关键词:MariaDB;Spring+SpringMVC+MyBatisAbstractTh
4、e virtual simulation system of computer network course is a platform based on web development. It combines the theoretical knowledge of the course with the web page to realize the embodiment of the knowledge. Through the way of virtual simulation, the experimental process and results of HTTP protoco
5、l, socket communication, network planning, routing algorithm, load balancing, etc. involved in the teaching of computer network course are displayed through the way of web Come, the experiment has strong operability, which can directly and vividly reflect the protocols in these computer networks, th
6、e network principle of the experiment and the realization process.This paper mainly designs and implements a computer network course virtual simulation system. The final version of IntelliJ idea is used as the development software of the system, and the MariaDB database is used to provide services f
7、or the system. The project architecture adopts the Spring + springmvc + mybatis framework to complete the implementation of six main functions, including: port scanning, load balancing, user agent analysis, network address calculation, link selection, websocket communication.Key words:MariaDB; Sprin
8、g+SpringMVC+MyBatis目 录第一章 绪论11.1课题背景与意义11.2本文主要内容与结构11.2.1本文主要内容11.2.2本文主要结构2第二章 系统功能简介32.1端口扫描32.2负载均衡42.3UserAgent解析42.4链路选择52.5网络地址计算62.6 WebSocket通讯6第三章 开发工具与技术综述83.1编程语言83.1.1 Java语言和JavaScript语言83.1.2 html语言83.2 Spring boot 框架93.3 LayUI前端框架93.4 路由算法103.4.1 距离矢量算法103.4.2 链路状态算法103.5 MariaDB数据库1
9、1第四章 系统运行所需环境及数据库设计124.1系统运行环境及配置124.1.1系统运行时所需环境124.1.2环境配置124.2数据库表设计134.2.1数据库表分析134.2.2数据表结构设计13第五章 系统功能设计与实现155.1 端口扫描设计与实现155.2 负载均衡设计与实现165.3 UserAgent解析设计与实现185.4 链路选择设计与实现205.5 网络地址计算设计与实现215.6 WebSocket通讯设计与实现22第六章 总结与展望25参考文献26致 谢27广东东软学院本科毕业设计 (论文)第一章 绪论1.1课题背景与意义随着网络的飞速发展,传统教学应结合现代科技共同展
10、现新时代的教育方式。传统的教学主要通过书本以及老师的讲解组成,学生对于知识的理解并不深刻,往往只能了解表面的意思,无法深入的知道知识的本质,无法将所学的知识表现出来。经过班级的调查和同学的反馈,大部分的同学不能在课堂上很好的接受老师所传授的知识,在计算机网络课程中,知识的众多,杂乱的信息量让学习起来麻烦复杂。在计算机网络课程学习中,基本上是了解课本的字面知识,了解知识的原理为基础,掌握基本的理论知识,但是在与实际实验或现实生活结合的时候,只有理论知识是会受到一定的阻碍的,在实际操作过程中会出现无法将理论知识转为具体实现。而网络进步的今天,可以通过实验仿真系统来实现对理论知识的具体表现。结合系统
11、与理论,加深对知识的了解,并活学活用,让知识变得鲜活起来,富含乐趣,在实现系统的过程中不仅运用了计算机网络课程的知识也结合了其他方面课程的知识,让整个学习具有系统化的运用与体现,深化了知识的串联与融会贯通。实践是增强本领的重要途径,利用这个系统,可以帮助我们学懂弄痛计算机网络的知识。用图形、文字、统计、互动等增添了知识的体现程度。在未来发展的道路上,实验虚拟仿真系统仍然存在很大的学习价值,宽阔的上升空间。伴随各种崭新的网络知识出现,算法的更新,将会涌现出更多实践结合知识的方法,对学习途径上增添新的道路,对学习网络领域起到重大作用。完成该项目能够熟练掌握WEB相关的开发技术及框架和开发工具的运用
12、,包括MySQL的分支MariaDB数据库,JavaScript编程语言,Springboot、Mybatis框架,IntelliJ IDEA Ultimate开发工具等,把大学四年学习内容融合,作为一个总结,为今后的实习工作打下坚实的基础。该选题的设计与实现,可以有效的结合大学四年所学的各项知识提高编程实践能力、网络知识具体化学习、具体问题具体分析能力、设计项目并实现能力、和遇到项目问题自己解决能力,有助于我们对所学习的知识进行一个总结,便于将知识融会贯通,通过实践锻炼动手能力,把理论知识体现出来。1.2本文主要内容与结构1.2.1本文主要内容计算机网络课程实验虚拟仿真系统是一种基于Web的
13、平台,相对于课本、老师讲解具有较大的优势。核心思想是:将课程的理论知识与网页结合在一起,实现知识的具体化体现。达到能直观看到书本知识的目的。平台设计遵循简约、易懂风格,我们可以一眼看出它所含有的功能,也可以在简明的实验展示中学习知识。 通过虚拟仿真的方式,将计算机网络课程教学中涉及到的HTTP协议、Socket通信、网络规划、路由算法、负载均衡等实验过程及结果通过WEB方式展示出来,实验操作性强,能直观、形象的反映出这些计算机网络中的协议、实验的网络原理及实现过程。项目架构拟采用SSM(Spring+SpringMVC+MyBatis)框架,Spring作为控制层,SpringMVC作为显示层
14、,Mybatis作为数据库管理层。在前端显示上,使用LayUI前端框架,数据交互使用Ajax实现无刷新用户交互,无需重新加载网页,提高并优化了用户体验。数据库选择MySQL的一个分支MariaDB数据库,MariaDB是开源的数据库服务器,在兼容MySQL的同时,增添了其他一些功能,还有着不同方面的提升。1.2.2本文主要结构以下5个章节将构造本论文的主要结构:第1章:绪论,主要是论述计算机网络课程实验虚拟仿真系统研究的意义与目的、该选题的背景与现状以及对本论文的主要内容进行大概的叙述。第2章:系统的6大功能简介,主要是介绍该系统6个功能模块,介绍每一个功能的用处和意义,从而理解6个功能的作用
15、。第3章:开发工具和技术介绍,重点介绍本系统开发时所使用到的相关技术,这一章,介绍技术的内容和概要以及自我的一些理解。第4章:该系统开发过程中所用到的各类工具和数据库中数据表的设计与实现以及该系统运行时环境的安装和配置。第5章,计算机网络课程实验虚拟仿真系统里功能的详细设计与实现,第一步先介绍各个功能的设计思路和代码实现,主要包含设计思路,关键代码等。第二章 系统功能简介2.1端口扫描在因特网中,有无数的主机之间需要进行通信,通信时需通过网络协议来进行协商,一般采用TCP/IP协议。通信时以数据包的形式进行交流,数据包中含有源ip和目的ip地址,路由器根据数据包中的源ip和目的ip地址,进行转
16、发最终把数据包传送到相应的位置。主机在接受到数据包后,要查看数据包的内容,把该数据包所携带的数据传送到相应的程序里,那么端口就相当于是该程序的房间号,主机的系统根据房间号,来决定数据包传送到哪一个房间(进程),也会根据系统服务的需要来安排房间号(端口Port)。端口号的命名和房间号一样都是正整数构成。常用的端口号和它所对应的服务有:Tomcat服务8080、FTP文本传输协议21、https服务443、Telnet远程登录协议23、http协议80等。所以数据报文中蕴含了目的端口号,用于将数据发送的指定端口,进行数据的正确输送。端口扫描,按照字面上的意思,就是对一个端口或者多个端口进行扫描,根
17、据扫描的结果,可以得知所扫描的目标是否有开启端口号,根据扫描出来的端口号,可以获取该目标主机是否开启了相应的服务。如果开启了相应的服务,在进行网络攻击的时候,可以根据主机开启的相应服务,查询相关服务端口的漏洞并以此为切入点进行网络攻击。如果目的主机没有开启此端口,即便向特定的端口发出请求,对方也不会应答。例如,没有在本地开启Tomcat 服务的8080端口,就去访问localhost:8080,就会拒绝说发出的连接请求。端口扫描并不单纯只是一个网络攻击的方法,而是可以帮助我们找到目标主机的一些隐患,关闭主机上一些不必要的端口(服务),降低黑客利用端口来进行网络攻击的风险。以下图解为与TCP端口
18、进行三次握手通讯来确定客户端与服务端是否建立连接成功的过程:图2-1端口扫描图解2.2负载均衡负载均衡是一种计算机技术,用于避免计算机过载,达到优化资源使用的效果。用于在多个服务器、计算机、内存等多方面资源中分配负载。让节点可以适度调配自身的运行状态,合理安排资源使用,给用户提供更好的优质服务。使用负载均衡能使同一项任务,分配的不同的节点,极大限度的降低了单个节点过载宕机的风险。如果将大部分的任务都分配到同一个节点,那么该节点处理起来就会响应时间变长,用户等待时间变长,当该节点不堪重负宕机后,该节点的所有任务又将传递到下一节点,那么下一节点也将面临同样的问题。现如今大部分的网络设备都采取负载均
19、衡的方式来提高网络质量,分布式系统,云计算更是如此。在分布式系统中,负载均衡是核心的一点,利用多个节点来完成单个节点无法做到的计算,那么要有大量节点进行计算,负载均衡在其中就扮演着重要的角色。图2-2负载均衡原理图解只存在一台服务器的情况,我们不需要使用到负载均衡技术,有2台或2台以上服务器的时候,这时需要根据服务器各方面的因素来决定服务器的运行状态,那么实现负载均衡时就要根据一定的算法来选择到底把信息传送到哪一台服务器,一个好的算法能提高负载均衡的效率、是负载均衡技术的核心。负载均衡的算法有很多种,每一个算法都有它的优点和缺点,使用哪种算法要根据实际来决定。2.3UserAgent解析Use
20、rAgent是Http协议中的一部分,属于头域的组成部分,中文名为用户代理,简称UA。它的作用在于当用户进入服务器或访问网站时,网站可以获取到用户的一些基础设备的资料,例如:用安卓手机、苹果手机和电脑登录网站,获取到用户使用安卓手机、苹果手机和电脑的具体版本信息。在电脑上用chrome、火狐等浏览器访问网站,可以得到具体浏览器类型的信息。用户每一次访问网址时,会向网站发送http连接请求,请求接入该网站获取信息,那么在这个时候,网站会接受到用户的UA。利用UserAgent解析可以统计用户一些信息情况,统计完用户的信息后,可对网站进行一些优化,针对不同的用户所使用的不同设备,从而进行一个整改,
21、当用户登录时判断该用户使用手机还是电脑登录,UA获取用户的系统信息,给予匹配该系统的网页界面反馈到用户设备上,方便用户在网页上进行操作。根据用户UA,网页可强制用户使用特定的设备进行访问,可以强制让用户只能在手机端访问,也可以强制用户只能使用电脑访问。当只有电脑时,想要访问网站提供的手机端网页,那么只需更改UA,把UA改成手机端访问,在电脑上就可以浏览WAP或其他移动格式的网页。2.4链路选择链路选择是指在计算机网络通信当中,路由器与路由器之间选择最优路径来进行数据包的传输。路由器链路选择分为5个步骤(1)网络区域内所有路由器先向外发送数据包,等他们附近的路由器都发送完数据包,并接受了其他路由
22、所发送的数据包后,了解附近路由器自身的网络地址和它所知道的其他路由器的网络地址。(2)在步骤1阶段发送数据包,接受数据包时,根据两个路由器之间所交流使用的时间设置它们通信的链路成本也称作开销。(3)当完成步骤1和2后,路由器把收到的网络地址和到其他路由器所要花费的开销以及一些标识等信息打包到一起发送给其他路由器。(4)将收到的打包好的信息加上自身打包好的信息再进行统一整理,然后发给另外的路由器。(5)最后,当路由器要发送数据到另一个路由器时,计算它们之间的开销,通过一些算法如距离矢量算法或链路状态算法来计算出它们之间的最短路径。当整个网络区域内的路由器都获得了彼此打包好的数据包,就可以构造出该
23、网络区域内的网络图。路由器接收打包好的数据时,该数据称为链路状态分组,先放到保留区中一段时间,当新的链路状态分组到达时,先检测分组时新的还是旧的,新的分组会被路由器所记住,然后把该分组重新转发出去,但在该分组来的那条链路上不会转发,如果来的分组是旧的,那么路由器在接收到信息后,得知是旧分组就会将其扔弃。如果接受到的分组里序号小于当前所看到的分组里最大序号,那么该分组会被路由器拒绝接受。下图为链路选择图解,当计算机发送数据到网络时,根据链路状态选择最短路径开销,最短路径为:路由器A路由器开销B网络,如果路由器B发生故障,将会重新计算最短路径,从而保证数据通信正常。图2-3链路选择图解2.5网络地
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络工程 计算机网络课程实验虚拟仿真系统设计与 计算机网络 课程 实验 虚拟 仿真 系统 设计
限制150内