电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

《计算机网络》课程设计-编程实现基于UDP的PING (Java)

  • 资源ID:478406464       资源大小:501.50KB        全文页数:20页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

《计算机网络》课程设计-编程实现基于UDP的PING (Java)

计算机网络课程设计学院_ _计算机学院_专 业_软件工程_ 年级班别_12级4班_学 号3112006291 学生姓名_指导教师_成绩目录一、设计环境5二、课程设计的目的5三、理论基础5四、基本要求6五、设计思想6六、源程序7七、测试用例13八、总结17九、附带半成品作业截图18计算机网络课程设计任务书设计题目编程实现基于UDP的PING (Java)已知技术参数和设计要求1.编程实现PING的服务器端和客户端,实现操作系统提供的ping命令的类似功能。2.服务器端PingServer功能:2.1 可以2.2 显示用户通过客户端发送来的消息内容(包含头部和payload);2.3 能够模拟分组的丢失;能够模拟分组传输延迟;2.4 将用户发送来的请求request在延迟一段随机选择的时间(小于1s)后返回给客户端,作为收到请求的响应reply; 2.5 通过如下命令行启动服务器:java PingServer port。 port为PingServer的工作端口号3.客户端PingClient功能:3.1启动后发送10个request。发送一个request后,最多等待1秒以便接收PingServer返回的reply消息。如果在该时间内没有收到服务器的reply,则认为该请求或对该请求的reply已经丢失;在收到reply后立即发送下一个request。3.2请求消息的payload中至少包含关键字PingUDP、序号、时间戳等内容。如:PingUDPSequenceNumberTimeStamp CRLF其中:CRLF表示回车换行符(0X0D0A);TimeStamp为发送该消息的机器时间。3.3 为每个请求计算折返时间(RTT),统计10个请求的平均RTT、最大/小RTT。3.4 通过如下命令行启动:java PingClient host port。 host为PingServer所在的主机地址;port为PingServer的工作端口号设计内容与步骤1.学习ICMP,了解ping命令的工作机理;2.学习Java UDP Socket通信机制;3.了解Java多线程程序设计;4.服务器PingServer程序设计;5.客户端PingClient程序设计。6.调试与演示设计工作计划与进度安排1.ping命令工作机制学习 2小时2.Java UDP Socket通信机制 2小时3.Java多线程程序设计 4小时4.PingServer程序设计6小时5.PingClient程序设计 12小时6.调试与演示 4小时6.课程设计说明书 10小时一、设计环境操作系统:win8开发环境:JDK1.7IDE:eclipse二、课程设计的目的本次课程设计的目的在掌握计算机网络理论的基础上,了解网络技术,掌握计算机网络相关设计方法和思想,希望能通过本次的课程设计,达到巩固和综合应用计算机网络原理和知识,本次课程设计主要是编程实现基于UDP的ping,使用java语言编程,编写一个实验程序、仿真模拟Ping命令,通过观察实验结果,从而判定本次程序设计是否成功完成任务。三、理论基础3.1 UDP简介UDP 是User Datagram Protocol的简称,中文名是用户数据包协议,是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。UDP协议全称是用户数据报协议1 ,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。3.2 ping简介Ping是Windows下的一个命令在Unix和Linux下也有这个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:Ping空格IP地址。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。ping指的是端对端连通,通常用来作为可用性的检查,但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。通常的情况下你如果不用作服务器或者进行网络测试,可以放心的选中它,保护你的电脑。四、基本要求4.1 编程实现PING的服务器端和客户端,实现操作系统提供的ping命令的类似功能。4.2服务器端PingServer功能:4.2.1 可以2.2 显示用户通过客户端发送来的消息内容(包含头部和payload);4.2.3 能够模拟分组的丢失;能够模拟分组传输延迟;4.2.4 将用户发送来的请求request在延迟一段随机选择的时间(小于1s)后返回给客户端作为收到请求的响应reply;4.2.5 通过如下命令行启动服务器:java PingServer port。 port为PingServer的工作端口号4.3客户端PingClient功能:4.3.1启动后发送10个request。发送一个request后,最多等待1秒以便接收PingServer返回的reply消息。如果在该时间内没有收到服务器的reply,则认为该请求或对该请求的reply已经丢失;在收到reply后立即发送下一个request。4.3.2请求消息的payload中至少包含关键字PingUDP、序号、时间戳等内容。如:PingUDPSequenceNumberTimeStamp CRLF其中:CRLF表示回车换行符(0X0D0A);TimeStamp为发送该消息的机器时间。4.3.3 为每个请求计算折返时间(RTT),统计10个请求的平均RTT、最大/小RTT。4.3.4 通过如下命令行启动:java PingClient host port。host为PingServer所在的主机地址port为PingServer的工作端口号五、设计思想UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据包,在OSI模型中,在第四层-传输层,处于IP协议的上一层,UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知是否安全完整的到达目的地。这个课设通过调用java JDK中java.net包下的DatagramSocket和DatagramPacket类,可以实现对用户数据报文的控制,DatagramSocket类用于创建接收和发送UDP的Spcket实例,调用DatagramPacket类用于处理报文,因为它可以将Byte数组、目标地址、目标端口等数据包装成报文或者将报文拆卸成Byte数组。通过调用DatagramSocket和DatagramPacket类来实现操作系统提供的ping命令的类似功能。编程实现基于UDP的ping的思想可以概括为几点:5.1服务器端PingServer功能:5.1.1可以并发地为多个用户服务;5.1.2显示用户通过客户端发送来的消息内容(包含头部和payload);5.1.3将用户发送来的请求在延迟一段时间后返回给客户端,作为收到请求的相应。5.1.4通过java PingServer9999(端口号可以任意选择)命令行来启动服务器。5.2客户端PingClient功能:5.2.1启动都发送10个请求,发送一个请求后,最多等待1秒以便接收PingServer返回的响应消息。5.2.2请求消息的payload中包含有关键字PingUDP、序号、时间戳等内容。5.2.3为每个请求计算折返时间(RTT),统计10个请求的平均RTT、min/max的RTT。5.2.4通过java PingClient localhost(本机IP地址)9999命令行启动。5.3程序设计流程图根据课程设计的要求,结合程序设计流程,本次设计按如下的流程进行六、源程序6.1 服务器端代码import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;/import java.util.Scanner;/* * 服务器端* author LinBingcheng */public class PingServer extends Thread private intinitPort; / 监听的端口号private DatagramSocketserverSocket; /

注意事项

本文(《计算机网络》课程设计-编程实现基于UDP的PING (Java))为本站会员(新**)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.