ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:220.66KB ,
资源ID:11491259      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11491259.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机网络课程设计报告.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

计算机网络课程设计报告.docx

1、计算机网络课程设计报告计算机网络课程设计班级: 学号: 姓名: 一、 课程设计的目的和意义11设计目的掌握IP地址的分类,准确理解子网、掩码的概念,确切地明了IP地址的合法格式。并判断该地址是否属于一个给定的子网。12设计的意义1、有利于对基础知识的理解2、有利于逻辑思维的锻炼程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。3、有利于与其他学科的整合在程序设计中,

2、我们可以解决其它学科有关问题,也利用其它课程的有关知识来解决信息技术中比较抽象很难理解的知识。在信息技术课中整合其它学科的知识,发挥信息技术的优势。4、有利于治学态度的培养。程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。因此,程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。这当中就有一个严谨治学、一丝不苟的科学精神的培养。二、 课程设计的内容和要求在掌握IP地址的表示方法以及子网划分方法的基础上,并以计算机网络中关于IP地址的相关理论

3、知识为基石,运用C/C+语言按如下要求完成程序。1 在判断一个IP地址合法性时要自行编写代码,不要使用任何inet函数2 命令行格式:ip_test subnet/mask ip_addr其中,ip_test为程序名;subnet为子网号;mask是一个整型数值,代表子网掩码连续1的个数;ip_addr表示要测试的IP地址。比如说,要测试的IP地址为202.113.16.10,子网号码是202.113.16.0,子网掩码是255.255.255.0,则命令行为ip_test202.113.16.0/24 202.113.16.10。(因为255.255.255.0是连续的24个1,所以用24表

4、示)3.判断subnet和ip_addr的合法性。在判断IP地址合法性时要自行编写代码,不要使用任何inet函数。判断时要考虑各种情况,全面分析问题。例如以下IP地址均不合法:123.2.1123.23$.2.1123.2345.2.1123.23.45.14.判断掩码的合法性。譬如说mask的值为负数或者大与32,这时输入的掩码就不合法。5.在IP地址合法,掩码合法以及子网号也合法的前提下,判断ip_addr是否属于subnet。6.输出命令行中的ip是否合法,掩码是否合法,子网号码是否合法(可适当给出不合法的原因)以及ip_addr是否属于子网subnet。7.还可以判断子网号,主机号全0

5、,全1问题。课程设计一:计算校验和1. 课程设计的目的:网络上的信号最终都是通过物理传输线路进行传输的,如果高层没有采用差错控制,那么物理层传输的数据信号是可能有差错的。为了保证数据的正确性,在物理层的基础上设计了数据链路层。设计数据链路层的主要作用就是在原始的、有差错的物理传输线路的基础上,采用差错检测、差错控制与流量控制等方法,将有差错的物理线路改进成逻辑上无差错的数据链路,以向网络层提供高质量的服务。本课程设计主要通过一个简单例子使学生了解网络协议中校验和的计算过程,以及设置校验和的作用。目前,进行差错检测和差错控制的主要方法是:在需要传输的数据分组后面加上一定的冗余信息,这样的冗余信息

6、通常都是通过对所发送数据应用某种算法进行计算而得到的。数据的接收方在接收到数据后进行同样的计算再与收到的冗余信息进行比较,如果结果不同就说明出现了差错,此时可以要求发送方重传该数组数据,以此达到数据准确性的目的。在普遍使用的网络协议中都设置了校验和项以保存这些冗余信息,例如Ipv4、ICMPv4、IGMPv4、ICMPv6、UDP和TCP等等。计算校验和的算法称为国际校验和算法,简单来说,就是把被校验的数据按16位进行累加,然后取反码。若数据字节长度为奇数,则在这数据尾部补一个字节的0以凑成偶数。2. 课程设计中的部分程序分析校验和的计算过程主要分为三个步骤:数据文件的传输,校验和的计算和校验

7、结果的输出。其中,主要的是数据的输入和校验和的计算过程。(1) 输入数据可能是以字符的形式存储的,而校验和的计算则要采用数据形式,所以在从文件读取数据时,都要进行字符到数据的相互转换。1) 将读入的ASCII码转化为相应的整型变量。if(ch=0&ch=a&ch=A&chofxx|lowbyteofxx)/高八位或低八位中任何一方产生溢出(进位)lowbyte+=(highbyte8); /低字节加上高字节超过8位的进位highbyte+=highbyte&ofxx; /清楚高字节的进位highbyte+=(lowbyte8); /高字节加上来自低字节的进位3校验和程序的流程图:四程序运行结果

8、二:IP地址合法性及子网判断1、课程设计目的:掌握IP地址的分类,准确理解子网、掩码的概念,确切地明了IP地址的合法格式。并判断该地址是否属于一个给定的子网。2、课程设计分析: 1.程序大致流程1)分别判断子网号,掩码和IP地址的基本格式是否合法。2)如果三者的基本格式都合法,才调用判定“IP地址是否为子网成员”的函数。该函数同时判别子网号与掩码是否匹配,子网号为全0或全1,主机号为全0,全1.2.核心代码及说明1)判断IP地址是否合法。一般来说,我们先检查最明显的错误。例如,可以先判断IP中”.”个数是否正确;接着,以“.”为标志将IP字符串按节分开;然后,看该IP是否为4段,再判断各节是否

9、是0255间的整数。关于网络号,主机号全0全1等问题要在后面结合子网掩码一起判断。这里的关键是怎么将IP字符串以“.”为标志按节分开,这要用到函数strtok(char*strToken,const char*strDelimit).第一个参数是给定的串,第二个参数是分隔符集合,该函数的功能就是以strDelimit中包含的任意字符为分隔符,在strToken中寻找下一个token。每一次调用strtok后,都会在strToken中插入一个NULL字符,所以,如果要读取下一个token,接下来调用strtok时第一个参数用NULL。char ch=“.”; /分隔符char *token,*d

10、ot4;int iplen=0;token=strtok(ip,ch); /以“。”标志将IP字符串按节分开while(token!=NULL) /循环进行,直到结束 dotiplen=token; /将分开的每段赋值给dotiplen+;token=strtok(NULL,ch);这样,IP串的每一段都放到dot数组里了,下面判断是否有非法字符,每一段的值是否在0255之间,就很容易了。2) 判断IP地址是否为子网成员,判断子网号与掩码是否匹配,以及子网号,主机号全0,全1问题(iSubA是子网号,iMask是掩码,iIPA是给定的IP地址)。if(iSubA|iMask!=imask) /

11、说明sub与mask不匹配 cout”子网号与掩码不匹配,error!”end1; return; if(iSubAiMask)=0) /说明子网号全1cout”子网号全1,error!”end1;return; if(iSubA&iMask)=0) /说明子网号全0cout”子网号全0,error!”end1;return; if(iSubA)=(iIPA&iMask) /ip和掩码做“与”运算,结果和子网号比较 if(iIPA|iMask)=iMask) /说明主机号全0 cout”主机号全0,error!”end1; return; if(iIPA|iMask)=0xffffffff)

12、/说明主机号全1 cout”主机号全1,error!”end1; return; cout”ip”belongs to”subnetPlusMaskend1; /属于 return; else cout”ip”doesnt belong to” subnetPlusMaskend1; /不属于3.设计流程图程序运行结果(1)在命令提示窗口中输入命令:ip_test 202.113.16.0/24 202.113.16.10结果如下:这个结果表示所输入的子网及ip地址是合法的(2)判断ip地址无效在命令提示窗口中输入命令:ip_test 202.113.16.0/24 202.113.16.1%

13、结果如下:该结果表示所输入ip地址无效,因为ip地址中有无效字符“%”。在命令提示窗口中输入命令:ip_test 202.113.16.0/24 202.113.16.10.10结果如下:由命令可以很明显的看出ip地址过长,说明该程序算法正确。(3)判断掩码的有效性在命令提示窗口中输入命令:ip_test 202.113.16.0/2a 202.113.16.10结果如下:很显然,掩码中含有“a”,不合法。在命令提示窗口中输入命令:ip_test 202.113.16.0/33 202.113.16.10结果如下:因掩码不能长于32位,上提示掩码无效进一步说明该算法的正确性。(4)判断ip地址

14、是否属于该子网在(1)中是该ip地址属于该子网的情况在命令提示窗口中输入命令:ip_test 202.113.16.0/24 202.113.15.10,显然该ip地址不属于该子网。结果如下:该结果符合我们的预想。(5)提示子网号全0或全1在命令提示窗口中输入命令:ip_test 0.0.0.0/24 202.113.16.10结果如下:在命令提示窗口中输入命令:ip_test 255.255.255.0/24 202.113.15.10结果如下:(6)判断主机号全0或全1在命令提示窗口中输入命令:ip_test 202.113.16.0/24 202.113.16.0结果如下:在命令提示窗口

15、中输入命令:ip_test 202.113.16.0/24 202.113.16.255结果如下:以上现象充分说明该算法是完全正确的。六、课程设计小结在这学期的计算机网络课程设计中,我学会了很多。一开始拿到实验题目时感觉有点无从下手,后来静下心来慢慢分析这些题目,发现要用到的知识都是平时学的东西,只是程序比较复杂,要分成几个部分。于是我在编一个程序前把程序的流程在纸上整理好,突然间也发现了流程图在这时候的重要性,因为以前编的程序大多相对简单,思路可以在脑海里记着,现在发现流程图可以把程序里面的主程序和子程序分清楚,把各个程序段的嵌套调用关系理清,这是编程序一个很好的方法。同时还认识到学好+实用

16、性,在认识到这些后,我认真的投入实验中,编程,调试,修改,运行,不停的循环,枯燥但也不乏趣味,错的多也不用怕,那样你可以见到很多没见过的错误,争取以后避免。编程,调试,修改,调试再修改,过程也许有些枯燥,但你得承认,当你运行出结果时,真的很有成就感。通过本次课程设计最大的收获可能就是使我懂得了理论联系实际是很重要的,我们在书本上学到的知识是很基础的,而且我们对知识的掌握也是很有限的。通过实践,在加强我们独立思考以及动手能力的同时还加深了我们对知识的理解、加强了我们对知识运用的能力。在实践中我们可以发现自身的不足,可以通过以后的学习及锻炼及时地改正。当然在本次课程设计过程中遇到了很大的困难,在实践的过程中遇到了各种各样的问题,在老师的指导下以及和在和同学的讨论过程中解决了这些困难和问题。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2