计算机网络课程设计-基于ICMP的PING设计

上传人:飞*** 文档编号:28517842 上传时间:2018-01-17 格式:DOC 页数:21 大小:146.50KB
返回 下载 相关 举报
计算机网络课程设计-基于ICMP的PING设计_第1页
第1页 / 共21页
计算机网络课程设计-基于ICMP的PING设计_第2页
第2页 / 共21页
计算机网络课程设计-基于ICMP的PING设计_第3页
第3页 / 共21页
计算机网络课程设计-基于ICMP的PING设计_第4页
第4页 / 共21页
计算机网络课程设计-基于ICMP的PING设计_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《计算机网络课程设计-基于ICMP的PING设计》由会员分享,可在线阅读,更多相关《计算机网络课程设计-基于ICMP的PING设计(21页珍藏版)》请在金锄头文库上搜索。

1、 编程实现基于 ICMP 的 PING第 1 页 共 21 页编程实现基于 ICMP 的 PING学生姓名: 指导老师:摘 要 本次课程设计主要是基于 Linux 系统,使用编程语言 C 语言,编写一个实验程序,实现基于 ICMP 报文的 PING 的类似功能。本文主要介绍了 ICMP 报文,PING功能的相关原理,根据设计要求,用 C 语言编程运行、仿真,通过观察实验结果,从而判定本次设计成功完成任务。通过这次计算机网络方面的课程设计,提高了我们对网络领域的认识,有利于培养我们在该方面的设计能力。一人一题特别有利于锻炼我们独立分析问题和解决问题的能力。设计过程的复杂加老师的严格要求有益于培养

2、我们严谨的工作作风。关键词 Linux;C 语言;ICMP;PING 编程实现基于 ICMP 的 PING第 2 页 共 21 页Programming PING capabilities based on ICMP protocolStudent Name:Li minghong Instructor:Long jizhengAbstract The curriculum design is mainly based on the Linux system, use the programming language C language, write a test program, pack

3、et-based ICMP PING similar function. This paper describes the ICMP message, PING function of relevant principles, according to design requirements, the C programming language to run the simulation, by observing the results, which determine the success of this design task. Through this computer netwo

4、rk design aspects of the curriculum, improve our knowledge in the field of networking, helping to train us in that aspect of the design capacity. One person, one problem is particularly conducive to exercise our independent analysis of issues and problem-solving ability. The complexity of the design

5、 process increases the stringent requirements of teacher training benefit our strict style of workKeywords Linux;C language;ICMP;PING 编程实现基于 ICMP 的 PING第 3 页 共 21 页1 引 言当现代社会逐渐变为具有高度的相互依赖的巨大网络时,我们所生活的世界无法不变成一个被计算机网络紧密联结起来的世界。计算机网络从技术角度来说,是作为一种布局,将经有关联但相距遥远的事物通过通信线路连接起来,但是对网络的思考决不是传统的二维平面思维甚至三维的球面思维所

6、能达到的。在信息时代,网络的生命在于其安全性和可靠性。计算机网络最重要的方面是它向用户所提供的信息服务及其所拥有的信息资源,网络连接在给用户带来方便的同时,也给网络入侵者带来了方便。因此,未来的计算机网络应该具有很高的安全性和可靠性,可以抵御高智商的网络入侵者,使用户更加可靠、更加方便地拥有大量各式各样的个性化客户服务。1.1 课程设计的目的本次设计的目的就是在掌握计算机网络理论的基础上,了解网络技术,掌握网络相关设计方法和思想,通过本次课程设计,达到巩固和综合运用计算机网络原理的知识,理论联系实际,巩固所学理论知识,并且提高自己通过所学理论分析、解决计算机实际问题的能力。掌握计算机网络课程的

7、知识可使学生打下一个坚实的专业基础,可提高处理通信系统问题能力和素质。由于通信工程专业理论深、实践性强,做好课程设计,对学生掌握本专业的知识、提高其基本能力是非常重要的。 本次设计的目的也是为了学生加深对所学计算机网络知识的理解,培养学生专业素质,提高利用计算机网络知识处理通信系统问题的能力,为今后的专业课程的学习、毕业设计和工作打下良好的基础。使学生能比较扎实地掌握本专业的基础知识和基本理论。 本次课程设计主要是基于 Linux 系统,使用编程语言 C 语言,编写一个实验程序,实现基于 ICMP 报文的 PING 的类似功能。本文主要介绍了 ICMP 报文,PING 功能的相关原理,根据设计

8、要求,用 C 语言编程运行、仿真,通过观察实验结果,从而判定本次设计成功完成任务。通过这次计算机网络方面的课程设计,提高了我们对网络领域的认识,有利于培养我们在该方面的设计能力。一人一题特别有利于锻炼我们独立 编程实现基于 ICMP 的 PING第 4 页 共 21 页分析问题和解决问题的能力。设计过程的复杂加老师的严格要求有益于培养我们严谨的工作作风。1.2 课程设计的主要任务和要求课程设计的主要任务编程实现 PING 的服务器端和客户端,实现操作系统提供的 ping 命令的类似功能。服务器端 PingServer 功能:可以并发地为多个用户服务;显示用户通过客户端发送来的消息内容(包含头部

9、和 payload);能够模拟分组的丢失;能够模拟分组传输延迟;将用户发送来的请求 request 在延迟一段随机选择的时间(小于 1s)后返回给客户端,作为收到请求的响应 reply;通过如下命令行启动服务器:java PingServer port。port 为 PingServer 的工作端口号客户端 PingClient 功能:启动后发送 10 个 request。发送一个 request 后,最多等待 1 秒以便接收PingServer 返回的 reply 消息。如果在该时间内没有收到服务器的 reply,则认为该请求或对该请求的 reply 已经丢失;在收到 reply 后立即发送

10、下一个 request。请求消息的 payload 中至少包含关键字 PingUDP、序号、时间戳等内容。如:PingUDP SequenceNumber TimeStamp CRLF其中:CRLF 表示回车换行符(0X0D0A);TimeStamp 为发送该消息的机器时间。为每个请求计算折返时间(RTT),统计 10 个请求的平均 RTT、最大/小 RTT。通过如下命令行启动:java PingClient host port。host 为 PingServer 所在的主机地址;port 为 PingServer 的工作端口号课程设计的要求:(1)按要求编写课程设计报告书,能正确阐述设计结果

11、。(2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。(3)学会文献检索的基本方法和综合运用文献的能力。(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。 编程实现基于 ICMP 的 PING第 5 页 共 21 页2 理论基础2.1 ICMP 相关介绍ICMP 是(Internet Control Message Protocol)Internet 控制报文协议。它是 TCP/IP协议族的一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据

12、的传递起着重要的作用。ICMP 协 议 是 一 种 面 向 无 连 接 的 协 议 , 用 于 传 输 出 错 报 告 控 制 信 息 。 它 是 一 个 非常 重 要 的 协 议 , 它 对 于 网 络 安 全 具 有 极 其 重 要 的 意 义 。 它 是 TCP/IP 协 议 族 的 一 个 子 协 议 ,属 于 网 络 层 协 议 ,主 要 用 于 在 主 机 与 路 由 器之 间 传 递 控 制 信 息 ,包 括 报 告 错 误 、 交 换 受 限 控 制 和 状 态 信 息 等 。 当 遇 到 IP 数 据无 法 访 问 目 标 、 IP 路 由 器 无 法 按 当 前 的 传 输

13、 速 率 转 发 数 据 包 等 情 况 时 , 会 自 动 发送 ICMP 消 息 。 ICMP 提 供 一 致 易 懂 的 出 错 报 告 信 息 。 发 送 的 出 错 报 文 返 回 到 发 送 原 数 据 的 设 备 ,因 为 只 有 发 送 设 备 才 是 出 错 报 文 的 逻 辑 接 受 者 。 发 送 设 备 随 后 可 根 据 ICMP 报 文确 定 发 生 错 误 的 类 型 , 并 确 定 如 何 才 能 更 好 地 重 发 失 败 的 数 据 报 。 但 是 ICMP 唯一 的 功 能 是 报 告 问 题 而 不 是 纠 正 错 误 , 纠 正 错 误 的 任 务 由

14、 发 送 方 完 成 。 我 们 在 网 络 中 经 常 会 使 用 到 ICMP 协 议 , 比 如 我 们 经 常 使 用 的 用 于 检 查 网 络 通不 通 的 Ping 命 令 ( Linux 和 Windows 中 均 有 ) , 这 个 “Ping”的 过 程 实 际 上 就 是ICMP 协 议 工 作 的 过 程 。 还 有 其 他 的 网 络 命 令 如 跟 踪 路 由 的 Tracert 命 令 也 是 基 于ICMP 协 议 的 。ICMP 协 议 对 于 网 络 安 全 具 有 极 其 重 要 的 意 义 。 ICMP 协 议 本 身 的 特 点 决 定 了它 非 常

15、容 易 被 用 于 攻 击 网 络 上 的 路 由 器 和 主 机 。 例 如 , 在 1999 年 8 月 海 信 集 团“悬 赏 ”50 万 元 人 民 币 测 试 防 火 墙 的 过 程 中 , 其 防 火 墙 遭 受 到 的 ICMP 攻 击 达334050 次 之 多 , 占 整 个 攻 击 总 数 的 90%以 上 ! 可 见 , ICMP 的 重 要 性 绝 不 可 以 忽视 ! 编程实现基于 ICMP 的 PING第 6 页 共 21 页比 如 , 可 以 利 用 操 作 系 统 规 定 的 ICMP 数 据 包 最 大 尺 寸 不 超 过 64KB 这 一 规定 , 向 主

16、机 发 起 “Ping of Death”( 死 亡 之 Ping) 攻 击 。 “Ping of Death” 攻 击 的 原理 是 : 如 果 ICMP 数 据 包 的 尺 寸 超 过 64KB 上 限 时 , 主 机 就 会 出 现 内 存 分 配 错 误 ,导 致 TCP/IP 堆 栈 崩 溃 , 致 使 主 机 死 机 。 ( 现 在 的 操 作 系 统 已 经 取 消 了 发 送 ICMP数 据 包 的 大 小 的 限 制 , 解 决 了 这 个 漏 洞 ) 此 外 , 向 目 标 主 机 长 时 间 、 连 续 、 大 量 地 发 送 ICMP 数 据 包 , 也 会 最 终使 系 统 瘫 痪 。 大 量 的 ICMP 数 据 包 会 形 成 “ICMP 风 暴 ”, 使 得 目 标 主 机 耗

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号