资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,计算机网络课程设计之协议编程,实验一 帧封装,实验目的,帧是在数据链路层数据进行传输与交换的基本单位。本次试验的目的是应用数据链路层的知识和基本原理,通过构造一个具体的,Ethernet,帧,从而深入理解网络协议的基本该法年与网络问题处理的一般方法。,试验要求,编写程序,根据给出的原始数据,组装一个,IEEE 802.3,格式的帧(题目)默认的输入文件为二进制原始数据(文件名分别为,input1,和,input2,)。,要求程序为命令行程序。比如,可执行文件名为,framer.exe,,则命令行形式如下:,framer,inputfile,outputfile,,其中,,inputfile,为原始数据文件,,outputfile,为输出结果。,输出,:,对应,input1,和,input2,得结果分别为,output1,和,output2,。,实验分析,填充帧头部字段,要完成一次帧封装的过程,首先要完成的就是帧头部的装入,这一过程只要将签到吗、定界符、目的地址、源地址、长度字段的相应数值按顺序写入就可以了。其中,长度字段的值即为要发送的数据的实际长度。,填充数据字段,在填充数据字段的过程中要注意的主要问题是数据字段的长度。,802.3,标准中规定了帧数据字段的最小长度为,46B,,最大长度为,1500B,。如果数据不足,46B,,则需要通过填充,0,来补足;若数据长度超过,1500B,,则的大奖超过部分封装入下一个帧进行发送。,CRC,校验,帧封装的最后一步就是对数据进行校验,并将校验结果记入帧校验字段。,实验二 解析,IP,数据包,实验目的,设计一个解析,IP,数据包的程序,并根据这个程序,说明,IP,数据包的结构及,IP,协议的相关问题,从而对,IP,层的工作原理有更好的理解和认识。,实验要求,本实验的目标是捕获网络中的,IP,数据包,解析数据包的内容,见个结果显示在标准输出上,并同时写入日志文件。,程序的具体要求如下:,以命令行形式运行:,ipparse,logfile,,其中,ipparse,是程序名,而,logfile,则代表记录结果的日志文件。,在标准输出、和日志文件中写入捕获的,IP,包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源,IP,地址和目的,IP,地址等内容。,当程序接收到键盘输入,Ctrl+C,时退出。,实验设计分析,为了获取网络中的,IP,数据包,必须对网卡进行编程,我们使用套接字进行编程。,使用套接字,接收数据包,定义,IP,头部的数据结构,IP,包的解析,实验三 发送,TCP,数据包,实验目的,设计一个发送,TCP,数据包的程序,并根据本设计说明,TCP,数据包的结构以及,TCP,协议与,IP,协议的关系,使大家对,TCP,协议的工作原理有更深入的认识。,实验要求,本程序的功能是填充一个,TCP,数据包,并发送给目的主机。,以命令行形式运行:,SendTCP,source_ip,source_port,dest_ip,dest_port,其中,SendTCP,为程序名;,source_ip,为源,IP,地址;,source_port,为源端口;,dest_ip,为目的,IP,地址;,dest_port,为目的端口。,其他的,TCP,头部参数自行设定。,数据字段为“,This is my homework of network!”.,成功发送后在屏幕上输出“,send OK”,。,课程设计分析,使用原始套接字,定义,IP,头部、,TCP,头部和伪头部的数据结构,填充数据包,发送数据包,实验报告格式要求,封面:包括课程名称、教师名字、专业、班级、学号、姓名、日期;,三个实验必须全部完成;,编程语言只能选择,VC+,;,每个实验必须包括以下几个部分:实验名称和基本要求、实验的分析和设计的详细步骤、完整的代码、实验的运行过程和结果截图、每个实验的小结。,整个课程设计的心得体会及小结。,
展开阅读全文