电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

20页
  • 卖家[上传人]:新**
  • 文档编号:478406464
  • 上传时间:2023-08-31
  • 文档格式:DOC
  • 文档大小:501.50KB
  • / 20 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、计算机网络课程设计学院_ _计算机学院_专 业_软件工程_ 年级班别_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秒以便接收Pin

      2、gServer返回的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通信

      3、机制 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协议

      4、一样用于处理数据包,是一种无连接的协议。在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”命令

      5、可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:Ping空格IP地址。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。ping指的是端对端连通,通常用来作为可用性的检查,但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。通常的情况下你如果不用作服务器或

      6、者进行网络测试,可以放心的选中它,保护你的电脑。四、基本要求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、序号、时间戳等内容。如:PingUDPSequenceN

      7、umberTimeStamp 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中包下的DatagramSocket和DatagramPacket类,可以实现对用户数据报文的控制,DatagramSocket类用于创建接收和发送UDP的Spcket实例,调用DatagramPacket类用于处理报文,因为它可以将Byte数组、目标地址、目标端口等数据包装成报文或者将报文拆卸成Byte数组。通过调用D

      8、atagramSocket和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 .DatagramPacket;import .DatagramSocket;import .InetAddress;import .SocketException;/import java.util.Scanner;/* * 服务器端* author LinBingcheng */public class PingServer extends Thread private intinitPort; / 监听的端口号private DatagramSocketserverSocket; /

      《《计算机网络》课程设计-编程实现基于UDP的PING (Java)》由会员新**分享,可在线阅读,更多相关《《计算机网络》课程设计-编程实现基于UDP的PING (Java)》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.