1、 课程设计实验报告 专 业: 12 级通信工程(2)班 学 号: 姓 名: 实验所属课程:通信网综合课程设计 一、程设计的目的和意义一、程设计的目的和意义 在网络管理中, 经常要确定当前网络中处于活动状态的主机,这 时可以通过使用 ICMP 协议的回送请求 (Ping 请求) 和回送响应 (Ping 应答)消息来完成本工作。 本课程设计的目的是编制程序,利用 ICMP 数据包,发现制定网 段中的活动主机。 IP 协议的优点是简洁,但缺少差错控制和查询机制, 而网际控制 报文协议(ICMP)具有补充 IP 功能的作用。在网络管理中,常常要 确定当前网络中处于活动状态的主机,这时可以通过使用 IC
2、MP 的回 送和回送响应消息来完成这项工作。本课程设计的目的就是编制程 序,利用 ICMP 数据包,发现指定网段中的活动主机。通过课程设计, 使学生更加熟悉ICMP报文的结构, 对ICMP协议有更好的理解和认识。 二、课程设计条件二、课程设计条件 计算机,Matlab、C/C+或 JAVA 编程软件或者其他通信网仿真软 件(如 NS2、OMNET+等)、嵌入式开发板、编程器等。 三三、程设计的内容和要求、程设计的内容和要求 本程序的功能是发送 ICMP 数据包,以获取指定网段中的活动主 机,并将结果显示到屏幕上。 程序的要求 1) 不允许在程序中直接调用 Ping,而是用程序实现 Ping 的
3、功 能。 2) 以命令形式运行:程序名 Start_ip End_ip, 其中, Start_IP 为起始 IP 地址;End_IP 为结束 IP 地址。 3) 输出格式为: 活动主机 1 的 IP 地址 活动主机 2 的 IP 地址 四四、课程设计的相关技术、课程设计的相关技术 IP 协议是一种不可靠的协议, 无法进行差错控制。 但 IP 协议可以 借助其他协议来实现这一功能, 如 ICMP。ICMP(Internet Control Messages Protocol, 网间控制 报文协议) 允许主机或路由器报告差错情况和提供有关异常情况的报 告。一般来说,ICMP 报文提供针对网络层的错
4、误诊断、拥塞控制、 路径控制和查询服务四项大的功能。 如,当一个分组无法到达目的站 点或 TTL 超时后,路由器就会丢弃此分组,并向源站点返回一个目 的站点不可到达的 ICMP 报文。 编制程序前首先要对 ICMP 报文的格式有一定的了解,ICMP 报文是 在 IP 数据报内部传输的,其结构如图 10-1 所示。 IP 数据报 IP 首部 ICMP 报文 图 10-1 ICMP 封装在 IP 内部 0 7 8 15 16 31 (位) 类型字段 代码字段 校验和字段 (不同类型和代码有不同内容) 图 10-2 ICMP 报文 ICMP 报文的格式如图 10-2 所示。所有报文的前 4 个字节都
5、是一 样的,但是其它字节则互不相同。其中类型字段可以有 15 个不同的 值,以描述特定类型的 ICMP 报文,某些 ICMP 报文还使用代码字段的 值来进一步描述不用的条件。 按验和字段为 2 字节,校验的范围是整 个 ICMP 报文。检验和是必须的, 其计算方法与 IP 协议头部校验和的 计算方法一样。 各种类型的 ICMP 报文如图 10-3 所示(ICMP 报文类型) ,不同类 型由报文中的类型字段和代码字段来共同决定。 类 型 代 码 描 述 0 0 回送响应(PING 应答) 3 目的不可达 0 网络不可达 1 主机不可达 2 协议不可达 3 端口不可达 4 需要进行分片但设置了禁止
6、分片比特 5 源主机选择路由失败 6 无法识别目的网络 7 无法识别目的主机 8 源主机被隔离 9 目的网络被禁止 10 目的主机被禁止 11 由于服务类型(TOS) ,网络不可达 12 由于服务类型(TOS) ,主机不可达 13 由于过滤,通信被强行禁止 14 主机越权 15 优先权终止生效 4 0 源端被关闭(基本流控制) 5 重定向 0 对网络重定向 1 对主机重定向 2 对服务类型和网络重定向 3 对服务类型和主机重定向 8 0 回送请求(PING 请求) 9 0 路由器通告 10 0 路由器请求 11 超时 0 传输期间生存期减为 0 1 数据报组装期间生存期减为 0 12 参数问题 0 各种 IP 头部错