课程设计报告指导ysb_第1页
课程设计报告指导ysb_第2页
课程设计报告指导ysb_第3页
课程设计报告指导ysb_第4页
课程设计报告指导ysb_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

.z---..--总结资料?计算机网络原理?课程设计指导书杨松波电子与信息工程学院2012年6月课程设计目的计算机网络课程设计是计算机网络原理课程之后的实践加强环节,通过本设计的训练使学生加深对网络协议的理解,并实践制定通信规则,同时通过实践,进一步掌握套接字编程方法,为大型网络编程打下坚实根底。通过本次课程设计的学习与实践,使学生能到达知识与技能两方面结合的目标。1.熟练掌握网络的根本概念和原理。2.熟练掌握网络编程接口Winsock概念及编程原理3.掌握基于TCP/IP的Internet编程技术。4.掌握软件开发的过程及思想。二.课程设计内容本课程设计的内容是通过对传输层协议TCP和UDP和客户/效劳器数据通信的原理及方式的掌握,自选任意一种开发工具,利用Winsock控件编写出指定题目的交互信息的软件。本设计有六个题目:网络五子棋下棋、聊天室的设计、POP3客户机程序设计、主机端口扫描程序设计、网络主机扫描程序设计、IP数据包捕获程序。三、根本要求1、每4-5个同学一组,任选一个题目,完成改组的设计任务;2、设计方案合理,计算正确,提交图说资料完整、清楚、符合规*;3、课程设计期间的作息时间仍执行正常上课作息时间;4、借阅相关规*、标准及参考书;四、考核方式本次设计采用上机检查辩论方式进展,一方面学生把所设计的内容进展演示,讲解,另一方面教师提出问题,学生答复。上机演示与设计报告相结合,两者缺一者其考核成绩为不及格;上机演示过程中应能正确解释实现内容及设计思想;设计报告书写工整规*;考核成绩以上机演示为主,以设计报告为辅,可根据报告正确性及书写规*程度及辩论情况,考核成绩可向上或向下浮动一个等级。五、课程设计题目题目一“局域网五子棋设计〞〔一〕游戏规则:一、阳线和阴线1、阳线:棋盘上可见的横纵直线。

2、阴线:棋盘上无实线连接的隐形斜线。二、连:在棋阳线和阴线的任意一条线上形成的有5个或5个以上的同色棋子不间隔地紧紧相连。五连:在棋盘上形成的5个同色棋子的“连〞。

〔二〕实现提示:一、制定通信规*。二、画出棋盘、棋子,棋盘用画线完成,棋子用画点完成,首先添加一个PaintBo*1画线PaintBo*.line(*1,y1)–(*2,y2)2画点PaintBo*.FillColor=RGB(r,g,b)PaintBo*.FillStyle=VbFSSolidPaintBo*.Circle(*,y),radius3去除PaintBo*.Cls三、定义一个逻辑变量表示是否可以下棋子,定义一个二维数组存储棋盘上是否有棋子。定义一个变量表示哪一方。四、处理鼠标单击事件,根据逻辑变量的值判断是否处理,处理时将鼠标单击点坐标转换为棋盘坐标,判断棋盘数组中是否有棋子,无棋子则修改数组、画棋子、发送数据并判断胜负。五、接收数据处理:修改棋盘数组、画棋子并判断胜负。六、程序流程图七.程序执行界面的介绍甲乙双方程序启动后,界面上显示的菜单如下:这是程序要求具有的根本功能。效劳器被动监听,客户机主动要求建立连接。输入远程主机名或远程主机IP地址。连接假设建立成功,出现如下界面,界面下方状态栏显示提示信息。此时可以开场下棋。棋局完毕后,给出双方输或赢的提示信息,表示下棋完毕。此后可以重新开局,再继续新游或退出完毕。在此功能根底上还可以参加“和棋〞、“悔棋〞等功能。-.z题目二“局域网聊天室设计〞〔一〕聊天规则:1、实现管理员对聊天室的管理和维护,包括聊天室的实时监测、用户的管理,不法信息的删除,根本要求可以完成群聊、私人聊天,实时发送和显示聊天信息,完成好友列表;进一步要求带表情,发送,聊天信息的加密传送,设置黑等。2、用户注册自己的用户名后可登陆聊天室进展聊天3、用户可进展对所有人的信息交流,也可进展私聊〔二〕实现提示:①TCP/IP数据通信“聊天〞消息传输格式客户机-效劳器〔ⅰ〕传输“用户名〞ST*+1+用户名+ET*〔ⅱ〕悄悄话ST*+2+用户名+〞,〞+内容+ET*〔ⅲ〕对所有人说ST*+3+内容+ET*效劳器-客户机〔ⅰ〕首次传输在线用户名ST*+1+用户名+ET*〔ⅱ〕传输新到用户名ST*+2+用户名+ET*〔ⅲ〕传输离线用户名ST*+3+用户名+ET*〔ⅳ〕传输聊天数据ST*+4+内容+ET*〔注:ST*为CHR〔2〕,ET*为CHR〔3〕〕②效劳器端〔ⅰ〕定义一个动态数组存储连接用户。定义一个全局变量存储连接用户的元素个数。〔ⅱ〕用一个使用UDP协议的SOCKET套接字完成发送效劳器IP地址。在该控件的数据接收事件中发送效劳器IP地址〔ⅲ〕用一个使用TCP协议的SOCKET套接字数组完成TCP连接及数据发送和接收,处理它的连接请求事件。〔ⅳ〕SOCKET套接字的数据到达事件中首先接收数据到一个变量中,然后从这个变量中逐个提取消息,并对每个消息判断消息类型及做相应处理:case类型1……传输“用户名〞修改用来存储连接用户的元素个数的数组向所有在线用户发送该用户名消息向该用户发送所有在线用户名的消息case类型2……悄悄话向源和目标用户发送消息case类型3……对所有人说向所有在线用户发送消息〔ⅴ〕效劳器端的断开连接事件中修改存储连接用户的元素个数的数组,卸载此控件,向所有在线用户发送消息离线。③客户端〔ⅰ〕添加一个SOCKET套接字,窗体加载时使用UDP协议,发播送数据报;等待接收到效劳器主机地址后使用TCP协议完成连接及数据传送。〔ⅱ〕在客户端的数据到达事件中承受数据,如果客户端协议使用的是UDP协议,关闭客户端连接,重新设置客户端的协议、远程端口号、本地端口等参数,再调用连接方法请求连接,输入用户名,连接成功时发送用户名消息。否则,从承受的数据字符串中逐个提取消息,并对每个消息判断消息类型及做相应处理:case类型1……首次传输在线用户名将用户名参加到用户列表中;case类型2……首次传输在线用户名将用户名参加到用户列表中;在聊天内容中添加该用户名加盟;case类型3……传输离线用户名从用户列表中删除该用户名在聊天内容中添加该用户名退出;case类型4……传输聊天数据在聊天内容中添加聊天数据;〔ⅲ〕在命令按纽触发事件中发送聊天内容根据用户列表中的当前用户决定消息类型,并发送聊天数据。题目三“POP3客户机程序设计〞一、电子的根本概念电子效劳称为效劳,它是指用户通过Internet收发电子形式的二、电子的工作原理简单传输协议(SMTP,SimpleMailTransferProtocol):发送协议邮局协议(POP,PostOfficeProtocol):接收协议交互式协议(IMAP,InteractiveMailAccessProtocol):接收协议电子是一种有连接的效劳,采用的传输层协议是TCP协议电子的工作过程客户机程序的根本功能书写与发送接收、转发、回复与删除与通讯薄管理四、地址与格式电子地址格式:用户名主机名用户名是用户在效劳器中的名,它在同一效劳器中是唯一的主机名是所在效劳器名,用来标识效劳器所在域的位置电子包括2局部:头(MailHeader)与体(MailBody)头由的相关信息构成,局部信息由系统自动生成,例如发信人(From)、发送时间(Data)等;其它信息由发件人输入,例如收信人(To)、主题(Subject)与抄送人地址(Cc)等体是要发送的正文局部多用途Internet扩展(MIME,Multi-purposeInternetMailE*tensions)五、POP命令与响应信息POP客户机与效劳器之间传输控制信息,用于完成*个POP操作POP命令:POP客户机向效劳器发送的操作请求POP响应:POP效劳器根据操作情况向客户机返回的信息POP命令的标准格式:命令名<参数>命令名是对该命令的英文描述缩写,例如USER是用户名的缩写参数是完成命令使用的附加信息,例如USER的参数为具体的用户名所有命令由回车(CR)与换行(LF)符表示完毕根本的POP命令包括:USER、PASS、STAT、LIST、RETR、DELE、RSET与QUITPOP响应的标准格式:响应码描述信息响应码是对响应信息的字符串标识,例如+OK表示成功,-ERR表示失败描述信息是对响应码的文字描述,USER命令成功的描述是valid,USER命令失败的描述是invalid六、例题设计要求编写一个POP客户机程序,具体要求如下要**现的程序为图形化界面,可以输入POP效劳的相关信息(包括POP效劳器名、用户名与密码),输出交互过程中的POP命令与响应信息,以及从POP效劳器的中获得的信息要**现USER、PASS、STAT、RETR与QUIT命令。点击“Connect〞按钮,实现USER与PASS命令;点击“Receive〞按钮,实现STAT与RETR命令;点击“Quit〞按钮,实现QUIT命令程序图形界面七、关键问题分析建立TCP连接POP客户机调用socket()函数建立套接字POP客户机填充效劳器的套接字地址POP客户机调用connect()函数请求与效劳器建立连接POP客户机接收与分析效劳器返回的响应信息登录POP效劳器登录POP效劳器使用USER与PASS命令,分别用来输入用户名与密码USER与PASS命令按规定顺序出现POP客户机向效劳器发送USER命令POP客户机向效劳器发送PASS命令接收中的STAT命令用来返回的统计信息,包括数量与字节总数RETR命令用来返回中的指定,包括头与正文退出POP效劳器POP客户机向效劳器发送QUIT命令断开POP客户机与效劳器之间的控制连接释放控制连接使用的套接字题目四“主机端口扫描程序设计〞一、传输层的根本概念在OSI与TCP/IP参考模型中,传输层(TransportLayer)都是其中的重要层次传输层的主要功能:为应用进程提供可靠的端到端效劳,即实现网络环境中的分布式进程通信网络各层的编址方式二、主要的传输层协议传输控制协议(TCP,TransmissionControlProtocol):可靠的、面向连接的传输层协议,将源主机的数据无过失地传输到目的主机用户数据报协议(UDP,UserDatagramProtocol):不可靠的、无连接的传输层协议TCP数据包的根本构造UDP数据包的根本构造三、端口号的分配方法端口是指网络效劳在传输层的地址,它是一个在0~65535之间的整数TCP端口分配给TCP效劳使用,UDP端口分配给UDP效劳使用端口可以分为3种类型:熟知端口、注册端口与临时端口端口分配由Internet赋号管理局〔IANA〕完成主要的TCP熟知端口号端口号效劳进程说明2OFTP文件传输协议〔数据连接〕21FTP文件传输协议〔控制连接〕23Telnet虚拟终端网络25SMTP简单传输协议53DNS域名效劳器80HTTP超文本传输协议110POP邮局协议143IMAP交互式协议主要的UDP熟知端口号端口号效劳进程说明53DNS域名效劳器67BOOTPS引导程序协议〔效劳器〕68BOOTPC引导程序协议〔客户机〕69TFTP简单文件传输协议111RPC远程过程调用123NTP网络时间协议161SNMP简单网络管理协议162SNMP简单网络管理协议〔Trap〕四、端口扫描的工作原理TCP端口扫描Connect扫描:调用Connect系统调用尝试连接目的主机的指定端口SYN扫描:向目的主机的指定端口发送SYN=1的TCP包FIN扫描:向目的主机的指定端口发送FIN=1的TCP包UDP端口扫描端口扫描程序向目的主机的指定端口发送零字节的UDP包如果没有接收到任何数据包,并且确定目的主机开启,说明该端口处于开启状态如果接收到端口不可达的ICMP包,说明该端口处于关闭状态五、设计要求编写一个主机端口扫描程序,具体要求如下要**现的程序为图形化界面,可以输入扫描的目的主机的IP地址与端口,输出端口的状态(Open或Close)要求扫描任意支持TCP/IP的主机中的一个端口。点击“TcpScan〞按钮,扫描TCP端口;点击“UdpScan〞按钮,扫描UDP端口程序图形界面六、关键问题分析TCP端口扫描端口扫描程序调用socket()函数建立套接字,SOCK_STREAM表示流式套接字调用connect()函数请求与目的主机的指定端口建立连接根据TCP连接是否成功建立,判断目的主机中的端口状态UDP端口扫描端口扫描程序调用socket()函数建立套接字,SOCK_DGRAM表示数据报套接字调用ioctlsocket()函数将套接字设置为非阻塞调用sendto()函数发送UDP数据包调用recvfrom()函数接收返回的错误码,判断目的主机的端口状态七、编写一个主机端口扫描程序,具体要求如下要**现的程序为图形化界面,可以输入扫描的目的主机的端口*围(例如1~128),输出所有端口的状态(Open或Close)要求扫描任意支持TCP/IP的主机中的多个端口。点击“TcpScan〞按钮,扫描TCP端口;点击“UdpScan〞按钮,扫描UDP端口程序图形界面题目五“网络主机扫描程序设计〞一、ICMP协议的根本概念IP协议提供无连接的、尽力而为的效劳,源节点无法知道IP包是否到达目的节点,以及在传输过程中出现过哪些错误IP协议缺少过失控制与查询机制,设计因特网控制报文协议(ICMP,InternetControlMessageProtocol)就是为了解决这个问题ICMP协议本身是一个网络层的协议。ICMP数据包不直接传送给数据链路层,而是封装成IP数据包后发送给数据链路层二、ICMP协议的主要功能ICMP过失控制功能目的站不可达:IP包的目的主机无法到达源站抑制:路由器与主机的缓冲区长度有限超时:路由表出现问题导致寻址错误参数出错:IP包的头部出现错误路由重定向:网络拓扑变化导致路由表变化ICMP查询功能回送请求:路由器或目的主机是否可以到达时间戳请求:IP包在两台主机之间往返时间地址掩码请求:获得目的主机的子网掩码路由器查询:获得路由器的路径选择信息三、ICMP数据包的构造ICMP数据包的根本构造ICMP包的主要类型ICMP过失控制包:3表示目的站不可达,4表示源站抑制,5表示路由重定向,11表示超时,12表示参数出错ICMP查询包:0与8表示回送请求与响应,9和10表示路由器查询与通告,13与14表示时间戳请求与响应,17与18表示地址掩码请求与响应四、PING程序的工作原理PING(PacketInternetGrope)称为因特网包探索器,是一种测试网络连通性的程序PING程序向目的主机发送一个ICMP回送请求,并接收来自该主机的ICMP回送响应Ping是Windows系统自带的可执行命令,通过它可以检查网络是否连通网络主机扫描的工作原理ICMP回送请求与响应格式五、设计要求编写一个网络主机扫描程序,具体要求如下要**现的程序为图形化界面,可以输入扫描的目的主机的IP地址,输出目的主机的状态(Open或Close)要求扫描支持ICMP协议的单台目的主机。点击“Scan〞按钮,实现对目的主机的扫描过程程序图形界面六、关键问题分析创立原始套接字调用socket()函数创立原始套接字,SOCK_RAW表示原始套接字,IPPROTO_ICMP表示ICMP协议调用setsockopt()函数设置发送与接收超时时间,SO_SNDTIMEO表示发送超时,SO_RCVTIMEO表示接收超时定义ICMP头部的数据构造构造ICMP头部的数据构造,包括1字节的类型、1字节的代码、2字节的头部校验和、2字节的标识符与2字节的序号构造IP头部的数据构造填充与发送ICMP数据包填充ICMP头部的各个字段,包括类型、代码、校验和、标识符与序号,回送请求类型为8,回送请求代码为0调用sendto()函数来发送ICMP数据包接收与解析ICMP数据包用recvfrom()函数来接收ICMP数据包依次解析ICMP头部的各个字段,包括类型、代码、校验和、标识符与序号,回送响应类型为0,回送响应代码为0编写一个网络主机扫描程序,具体要求如下要**现的程序为图形化界面,可以输入扫描的目的主机的IP地址*围,例如~5,输出所有目的主机的状态(Open或Close)要求扫描支持ICMP协议的多台目的主机。点击“Scan〞按钮,实现对目的主机的扫描过程程序图形界面题目六“IP数据包捕获程序设计〞一、网络层的根本概念OSI参考模型中的网络层(NetworkLayer)对应于TCP/IP参考模型中的互联层(InternetLayer)网络层的主要功能:为数据传输提供路由选择、流量与拥塞控制等功能网络层协议的核心是互联网协议(IP,InternetProtocol)控制协议作为IP协议的补充来使用,包括ICMP、IGMP、ARP与RARP等路由协议实现路由器对IP包的投递,包括RIP、BGP与OSPF等二、IP协议的主要特点IP协议提供“尽力而为〞的数据包传输效劳IP协议是点到点的网络层协议IP协议可以向传输层屏蔽物理网络的差异IP数据包的传输过程三、IP数据包的构造IP数据包的根本构造IP数据包的头部版本(Version):IP包的协议版本头部长度(HeaderLength):IP头部的长度效劳类型(ServiceType):IP包如何处理总长度(TotalLength):IP数据包的总长度标识符(Identification):IP分片属于的IP包标志位(Flags):IP包的分片标识IP数据包的头部片偏移(FragmentOffset):IP分片在IP包中的相对位置生存周期(TimeToLive):IP包的传输寿命协议(Protocol

温馨提示

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

评论

0/150

提交评论