2023年计算机网络ping实验报告.pdf
《2023年计算机网络ping实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年计算机网络ping实验报告.pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 程 设 计课程名 称 计算机网络课程设计题目名称.PING程序设计学生学院 自动化学院_专业班级_学 号_学生姓名_指导教师_2 00 9 年1 2 月 3 0 日摘要本说明书重要涉及了 ping程序设计的设计目的、p i ng程序的工作原理以及设计方案,重点介绍了 pi ng程序的源代码,并且附带了实验结果以及总结等。关键字:P ing 程序设计目 录1实验设计目的及规定.错误!未定义书签。1.1 设计目的。错误!未定义书签。1 2 设计规定。错误!未定义书签。2 实验内容。错误!未定义书签。2.1 定义数据结构.错误!未定义书签。2.2 程序实现。错误!未定义书签。2.3。程序规定.错
2、误!未定义书签。3 p in g 工作原理及设计方案.错误!未定义书签。3.1。设计思绪。错误!未定义书签。3.2 设计方案.错误!未定义书签。3.3 pin g 源程序。错误!未定义书签。4 实验结果.错误!未定义书签。5。总结。错误!未定义书签。6。参考文献.错误!未定义书签。1 实验设计目的及规定1.1 设计目的PI NG程序是我们使用的比较多的用于测试网络连通性的程序。PING程序基于I C M P,使用I C M P 的回送请求和回送应答来工作。由计算机网络课程知道,ICMP是基于IP 的一个协议,ICM P 包通过I P 的封装之后传递。课程设计中选取P I NG程序的设计,其目的
3、是希望同学们通过PING程序的设计,能初步掌握TCP/IP网络协议的基本实现方法,对网络的实现机制有进一步的结识。1.2 设计规定RAW模式的SOCKET编程PING程序是面向用户的应用程序,该程序使用ICMP的封装机制,通过IP协议来工作。为了实现直接对I P 和 ICMP包进行操作,实验中使用RAW模式的SOCKET 编程。熟悉SOCKET的编程,涉及基本的系统调用如SOCKET、BIND等;2 实验内容2.1 定义数据结构需要定义好IP 数据报、ICM P包等相关的数据结构;2.2 程序实现在 W I NDOWS环境下实现P I NG程序;2.3 程序规定在命令提醒符下输入:PING X
4、XX.XXX.XXX.XXX其中X X X 为目的主机的IP 地址,不规定支持域名,对是否带有开关变量也不做规定。不带开关变量时,规定返回4 次响应。返回信息的格式:REPLY FROM XXX.XXX.XXX.XXX或REQU ESTT i meOu t(无法 PING 通的情况)。3 p i ng工作原理及设计方案3.1 设计思绪由于Ping是基于I C MP协议,因此需要使用wi n d o ws so ck et中的RAW模式进行编程,一方面定义好IP数据包头,接着在IP数据包头的基础上定义ICMP数据包头,由于需要计算回送时间,因此还需要ICM P回送数据的结构。P i ng的具体实
5、现流程可以分为以下几点:一方面创建SOCK ET,然后根据主机名查询地址;接着调用PING主程序对目的主机地址进行测试,测试过程包含相关信息的解决;最后显示回复,并关闭SOCKET3.2 设计方案IP头与ICMP头的设立分别参照RFC791及RFC792的标准,包含所有必要信息。主程序设立m a in()函数,用于数据包发送及接受,其中,数据包发送调用另一函数void s e nd_ packet(),数据包接受调用void recv _ p acket(),由于发送数据包时也许会碰到阻塞或者目的主机不通,导致超时,因此需要在发送数据包后调用一个函数判断是否超时,此处设立函数s e tsock
6、op t()来实现超时判断;另一方面,还需要一个函数来计算C R C校验和,此处设立为signed short cal_chk s u m(),校验和采用移位方法进行计算。3.3 p i ng源程序/P i n g.c p p:定义控制台应用程序的入口点。#in c lu d e#inc 1 u de#i n c 1 ude#def i ne SEND_SIZE 3 2#def i ne PAC K E T _S I Z E4096#define ICMP_ECHO 8#d efine I CMP_ECH 0 REPLY0#pragma c o mm e nt(li b,Ws 2_ 3 2.l
7、ib)stru c t icmp(un s igne d char icmp_ty p e;/类型ounsign e d char icmp_code;编码ou n s i gned s h ort ic m p_ c hks um;/校验和u n s ign e d sh o r t icmp_ id;/标示符ounsi g n ed s h o rt icmp_seq;/顺序号o u n s i g n ed long i cmp_ d at a;数据);st r u c t i p(u n signe d c h a r ip_ h 1 :4;/报头长度un s igned char i
8、p_v:4;版本号uns i gn e d c h a r ip_to s;服务类型u nsi g ned sh o rt ip_ 1 en;总长度un s i gned shor t ip_id;/标记unsigned s h or t ip_ o ff;/标志u n s igne d char ip_ 11 1;生存时间n signed ch a r ipp;协议号e u nsigned shor t ip_sum;报头校验和ounsign e d 1 o ng ip_ s r c;/源IP地址unsigned 1 o ng ip_ d s t;目的IP地址);cha r se n dpa
9、ck e t PACKET_SIZE;c har re c v pack e tPACKE T-SIZE;st r uct so c kadd r _in d e s t_addr;struct sockaddr_ in fr o m_ a d dr;int s o c k fd;int p id;uns i gned shor t c a l_chk s um(unsi g n ed sh o r t*a d d r,i ntlen);int pac k(int p ackno);int u n p ack(uns i gn e d c h a r*b u f,i nt 1 e n);voi
10、 d sen d _pa c k e t(void);v o id recv_ packe t(vo i d);i nt main(int arg c,CH AR*a rgv)(struc t h o s tent*host;s truct p rotoent*pro t o c ol;int t i meout=1000;“n t SEND_C0UNT=4;int i;b c h a r*p ar_hos t;char mnp u tl 0 0;pr i ntf(I n p u t IP:);og e t s(m_I n pu t);叩a r _ho s t=m_ I n pu t;bWOR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 计算机网络 ping 实验 报告
限制150内