数据通信与网络课程设计_第1页
数据通信与网络课程设计_第2页
数据通信与网络课程设计_第3页
数据通信与网络课程设计_第4页
数据通信与网络课程设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络课程设计TOC\o"1-2"\h\z\u设计提纲 1一、 运用Socket实现双机通信 1二、 基于WinSock的即时通信软件功能原理模拟 1三、 了解最基本的RS232接口的网络编程方法 1四、 帧封装 1五、 以太网帧的发送过程 2六、 发送以太网ARP包 3七、 解析IP数据包 4八、 监控IP包流量 4九、 IP地址的合法性验证 5十、 发送TCP数据包 5十一、 OSPF实现 6十三、 简朴FTP服务器实现 8十四、 基于中间件技术的Web服务系统 8十五、 网络管理命令软件包设计 9十六、 编写一个类似QQ的聊天程序 9十七、 VLAN构建 9十八、 FrameRelay构建 9十九、 基于UDP协议的数据包收发程序 10二十、 滑动窗口协议仿真 10二十一、 RIP协议仿真 10二十二、 软件防火墙设计 10二十三、 软件VPN设计 10二十四、 网络监视器设计 11二十五、 FTP站点搜索引擎 11

规定每位学生选择一个项目使用Java、C、VC或C#进行设计,每个小组最多3人,并要有明确的分工。通过课程设计帮助学生进一步理解网络的基本工作原理和协议的设计思想,掌握解决网络问题的基本方法。实习起止时间:2023.9.6至2023.9.10考核时间和标准本周五(9月10日)早上8:00开始,按学号演示设计成果。9月17日根据题目的难易度、实现技术、完毕情况和报告撰写质量给予A,B,C,D,E五级评分。设计提纲运用Socket实现双机通信目的与规定:运用WinSock来实现双机通信,理解TCP状态机图。规定使用WinSock编程,采用其中的TCP面向连接方式,实现文本数据的互换。基于WinSock的即时通信软件功能原理模拟目的与规定:运用WinSock进行点对点通信,工作机制模仿即时通信软件的基本功能,登陆,上线,传递信息等等。分为客户部分和服务器部分两块,客户部分类似一般通信软件例如QQ,服务器部分重要提供客户端用户基本数据配置。了解最基本的RS232接口的网络编程方法目的与规定:编写一个简朴应用程序完毕双机通信,采用停止-等待协议。帧封装目的: 构造帧对于理解网络协议的概念、协议执行过程,以及网络问题解决的一般方法具有重要的意义。根据数据链路层的基本原理,针对普遍应用的Ethernet帧,通过构造一个具体的帧,引导同学进一步理解网络协议的基本概念与网络问题解决的一般方法。规定: 编写程序,根据给出的原始数据(即需要提供MAC帧结构中的“目的MAC地址”、“源MAC地址”、“类型字段”、“数据字段”,具体的值可以自己任意给定;更好的做法,是用Wireshark等抓包工具捕获数据包(比如,捕获一个UDP数据包)按照捕获到的数据包的内容来提供MAC帧格式中各个字段部分,由于“数据字段”部分就是承载IP、ARP等上层协议数据的。注意,“校验字段”必须由程序生成),组装一个EthernetV2.0格式的帧(目前,局域网以以太网应用最广泛,应熟悉Ethernet帧格式)。实现方式不限,可以用命令行程序,也可以用界面程序;但是,结果即生成的MAC帧必须写到文献中,并且要以二进制的形式来写入文献。例如,假如用命令行程序来实现。题目附带的文献为二进制原始数据(文献名inputfile),比如可执行文献名为framer.exe,则命令行形式如下:framerinputfileoutputfileinputfile为原始数据文献,outputfile为输出结果。

操作系统、使用语言和编译环境不限。资料: EthernetV2.0帧结构:前导码帧定界符目的MAC地址源MAC地址类型字段数据字段校验字段 前导码和帧定界符:前导码56位(7字节)的1010101…1010比特序列组成,帧定界符为1字节,结构为10101011。目的地址和源地址均采用6字节,目的地址为00-00-E4-86-3A-DC,源地址为00-00-80-1A-E6-65。 数据字段为46字节到1500字节,要注意局限性46字节需在“数据字段”后面填充。 帧校验字段采用8位CRC校验即可。例如,下面给出一个直观的结果:以太网帧的发送过程目的: 编写程序模拟Ethernet结点数据发送的流程,通过编写程序加深CSMA/CD工作原理的理解。流程:父进程开辟一块大小为sizeof(pid_t)字节的共享内存来模拟介质总线(共享内存初始所有为'\0'),fork两个子进程,当两个子进程都退出后父进程退出。两个子进程做相同动作,它们向"介质总线"上发送自己的进程号,完毕10次成功的发送后退出。子进程检查共享内存是否所有为'\0',假如是则认为总线闲,否则总线忙继续载波侦听。当总线闲时立即启动发送,冲突计数器设立为16,将自己的进程号与共享内存中的数据作"或"运算(模拟发包),然后比较共享内存的内容与写入内容,相同则没有发生冲突,否则发生冲突。当没有发生冲突时,将共享内存清零,报告:xxxxxsendsuccess,xxxxx为进程号,作随机延时,开始下一个发送过程或者结束。当发生冲突时,将共享内存清零,报告:xxxxxsendcollision,冲突计数器减1。假如冲突计数器>0,使用截止二进制后退延迟算法计算等待时间,等待后进入下一次尝试;假如冲突计数器<=0,报告:xxxxxsendfailure,结束本次发送,进入下一个发送过程或者结束。提醒:为了模拟冲突的过程,在这个程序中不要使用任何进程同步机制。假如用了同步,反倒失去了“冲突”特性。发送以太网ARP包规定:1.在熟悉ARP协议并了解Winpcap编程,或者下载JAVA类:jpcap包(Jpcap下载。你只需要把lib中的dll文献拷贝到jre的bin目录,同时lib中的jar文献拷贝到jre中的lib/ext目录下就安装完整,当然你可以使用exe安装包进行安装,这样会更加的简朴。),或者用Windows自带的API(如,SendARP函数)实现。2.对于用Winpacap实现的,构造ARP包,选择并打开网卡,将ARP包发送。命令格式:arpsendsrc_ipsrc_macdst_ipdst_macflagflag:0表达ARP请求;1表达ARP应答。3.程序的对的性检查。可以安装一个截包软件如Wirshark,来查看能否捕获到程序发出的ARP包,并检查捕获的ARP数据包中各字段的内容是否准确。例如,用Wireshark捕获到的发送ARP数据包如下:资料:Jpcapver.0.5.1InstallerforWindowsjpcap-0.5.1.zipSamplesTcpdump

Simple/limitedimplementationoftcpdump.ARP

SamplesourcecodeforimplementingARP.Traceroute

SimpleimplementationofTraceroute.SendTCP,SendUDP,SendICMP

SamplesofhowtosendTCP/UDP/ICMPpacket.解析IP数据包网络数据包通常可以通过WinPcap或LibPcap获取网络数据包。WinPcap(具体内容参见)是一个开源的、运营于Win32平台的体系结构。涉及内核级别的、低层次的包过滤动态连接库packet.dll和高级别系统无关函数库wpcap.dll。也可以用Jpcap获取网络数据包。WinPcap的安装和使用安装WinPcap驱动程序和DLL程序(可以从.org网站下载)开发人员使用的开发工具包(developer’spack),库文献、包含文献、简朴的示例程序代码和帮助文献。用WinPcap库来捕获数据包,都有基本的几个固定环节,可以参考“WinPcap中文技术文档”中示例程序;对用WinPcap捕获到的二进制数据流,再用协议格式来一步步读取即可。设计目的:捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日记文献。规定:以命令行形式运营:ipparselogfile其中ipparse是程序名,logfile是纪录结果的日记文献名在标准输出和日记文献中列出捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标记、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。以键盘输入Ctrl+C退出。参考二:Socket也可以捕获IP及基于IP的上层协议的数据包。所以,对IP数据包的捕获也可以用socket来实现;对捕获到的IP数据包进行解析过程与用WinPcap来实现的方法相同。监控IP包流量规定:编程监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址记录出此地址在该刻时间内发出的IP包个数,可以用命令行程序,也可以做成界面。该题目“课题四”的延续,只但是对捕获到的数据包不是分析各个字段,而是记录IP数据包个数。记录信息涉及源IP地址、目的IP地址、协议类型(TCP、UDP、等上层协议都是基于IP协议的)、及数据包个数。例如,假如用命令行运营:IPStatistictime其中,time为监控时间,单位为秒。例如,运营结果可以如下:IP地址的合法性验证目的:掌握IP地址的分类,准确理解子网、掩码的概念,确切地明了IP地址的合法格式。规定:在判断一个IP地址合法性时要自行编写代码,不要使用任何inet函数。程序规定为命令行程序,格式为:ip_testsubnet/maskip_addr其中,程序名称为ip_test,参数为IP地址/子网掩码,如:要测试的IP地址为0,子网号为,子网掩码为,则命令行为:ip_test/240。(由于是连续的24个1,所以这样表达)。子网号和子网掩码的合法性也要检查。运营结果提醒需要提醒:IP地址是否合法、子网掩码是否合法和IP地址是否为子网成员。提醒:在判断不合法IP时要考虑全面,比如以下情况均属于不合法123..2.1

123.23$.2.1

123.2345.2.1

.1发送TCP数据包目的:编程设计一个发送TCP数据包的程序。填充一个TCP数据包,并发送给目的主机。实现思绪和“六发送以太网ARP包”类似,可以用WinPcap,也可以用socket来实现。规定:程序规定以命令行形式运营:SendTCPsrc_IPsrc_Portdst_ipdst_port其中,SendTCP为程序名称,参数为源IP地址和端口,目的IP地址和端口其它的TCP头部参数请自行设定。数据字段“NanjingAgriculturalUniversity”(TCP协议的“数据字段”部分是用来放上层协议(如,HTTP协议)数据)发送成功在屏幕上输出“sendOK”。用Wireshark捕获到的结果如下:OSPF实现目的:熟悉OSPF协议,编写寻求最短途径的程序,对路由表的建立和路由信息的更新有直观和清楚的结识。对求最短途径的算法可以采用《数据结构》中的Dijkstra算法,该程序可以看为就是Dijkstra算计的实现。规定:程序提醒用户输入有向图的顶点个数和源点v。程序根据用户的输入创建类,分派所需空间;程序提醒用户输入有向图相应的邻接矩阵,00用-1表达输出v到其它各点的最短途径。如:V0->V2;V0,V3,V2Web网站自动登录的实现目的:熟悉HTTP协议格式和工作过程。题目的背景:例如,在登录论坛或邮箱是,需要输入用户名和密码,(不考虑需要输入验证码的情况,那样还要实现验证码辨认的模块,该题目不作规定)。编写程序来模拟这个过程来实现网站自动登录。下面以自动登录校内网为例,演示实现过程:(1)登录校内(2)用捕包软件如Wireshark捕获刚才登录过程浏览器发送的HTTP数据包:由于,对这种填写表单一般采用POST的方法,所以,熟悉HTTP协议的请求消息格式的话,实现网站自动登录,就是模拟浏览器刚发送的HTTP请求消息,按照刚捕获的HTTP请求消息的内容,来填充HTTP请求消息的各个字段,然后发送出去,Web服务器收到POST请求的消息,验证合法后就会返回登陆后的页面,这样就实现自动登录网站。在Windows,WinInetAPI有连接HTTP服务器,和设立HTTP请求消息头各字段的函数(如,OPenRequest()、AddRequestHeaders()、SendRequest()等)。下面是一个实现的例子:登录成功的话,得到的网页源代码与用浏览器登陆得到的源代码是同样的,由于,用这种方法用这种方法POST到服务器后,服务器返回的网页的源代码。假如,服务器验证失败,返回的网页源代码会是重新登陆页面的源代码,这与用浏览器登陆是同样的。当然也可以从用Wireshark捕获的程序发送数据包看出来:成功的话,“Line-basedtestdata”就是成功登录后页面的源代码;失败则是需要重新登录页面的源代码。该题目要实现类似的功能,具体不限,大家可以自由发挥想象力。这样,大家对HTTP协议可以有一个更深的了解。简朴FTP服务器实现运用面向对象程序设计语言开发简朴FTP软件。目的与规定:理解掌握文献传输协议的具体内容;规定可以传递简朴文本文献;设计美观易用的图形界面。基于中间件技术的Web服务系统功能规定:(1)在CORBA、COM/DCOM、EJB等中间件技术中任选一种实现本程序。(2)Web服务程序实现的具体功能可以是多样化的。只要符合Web服务的概念和体系。(3)程序所实现的功能应是完整的,而Web服务站点应尽也许多提供服务供客户程序调用。(4)设计美观易用的图形界面。网络管理命令软件包设计阅读常用windows管理命令、常用网络命令使用技巧详解,选择其中三个命令组成一个一体化的图形用户软件。编写一个类似QQ的聊天程序涉及客户端和服务器,可以供多个用户进行聊天。功能:(1)登录功能。客户端登录到聊天服务器,服务器管理所有登录的客户,并将客户列表发送给各个客户显示。(2)客户可以通过服务器转发,实现一对一和多对多聊天。(3)实现呼喊功能。当客户端程序连接服务器时,通过服务器搜索所要呼喊的客户,假如检测到此用户且该用户正处在联网状态,则服务器告知此用户的客户端程序响应主叫方客户端程序,然后在主叫方和被叫方建立连接后,双方就可以聊天或进行其它的通信。(4)客户端程序应当可以实时显示目前其它用户的状态(例如好友信息上、下线)。VLAN构建规定:(1)编写完整的VLAN构建方案。涉及所需设备以及具体列明各个环节。(2)运用实验室提供的设备完毕VLAN构建。测试其可用性。(3)通过各种方式记录构建过程。如照片,文字记录等等。(4)编写完善的构建报告书。写明构建过程中所碰到的问题,解决方法,体会和总结等等。FrameRelay构建规定:(1)编写完整的FrameRelay构建方案。涉及所需设备以及具体列明各个环节。编写所需的程序。(2)运用实验室提供的设备完毕FrameRelay构建。测试其可用性。(3)通过各种方式记录构建过程。如照片,文字记录等等。(4)编写完善的构建报告书。写明构建过程中所碰到的问题,解决方法,体会和总结等等。基于UDP协议的数据包收发程序功能:(1)按照UDP协议数据包发送方式实现用户端之间的通信。(2)记录包的发送和接受数,计算数据包的丢失数。(3)设计美观易用的图形界面。滑动窗口协议仿真功能:(1)程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论