IP地址的合法性及子网判断计算机网络系统设计书.docxVIP

IP地址的合法性及子网判断计算机网络系统设计书.docx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IP地址的合法性及子网判断计算机网络系统设计书.docx

IP地址的合法性及子网判断计算机网络系统设计书概述1.1课程设计目的本设计要求编写程序,判断一个IP地址是否合法,并判断该地址是否是属于一个给定的子网。从而考察读者是否对IP地址概念及子网划分有非常清楚的认识。1.2 课程设计的要求在掌握IP 地址的表示方法及指望划分方法的基础上,按如下要求完成程序。命令行格式:ip_test subnet/mask ip_addr其中,ip_test为程序名;subnet为子网好;mask是一个数值,代表子网掩码连续1 的个数;ip_addr是要测试的IP地址。例如,要测试的IP地址为0,子网号为,子网掩码为,则没命令行为ip_test/24 0.(因为是连续的24个1,所以用24表示。)判断subnet和ip_addr的合法性。在判断IP地址的合法性是要自行编写代码,不要用任何的inet函数。判断是要考虑全面,比如以下IP 的地址的合法性:123..2.1123.23¥.2.1.1判断掩码的合法性。在IP地址合法的前提下,判断ip_addr是否属于子网subnet。输入命令行中的ip是否合法,掩码是否合法(可适当给出不合法原因)以及ip_addr是否属于子网subnet。第二章具体设计2.1设计思路根据以上的要求,并结合当前的所学的一些知识和技术,我们最终通过另一种方式来实现相同的功能,但代码更加优化,高效,方便用户的窗体程序。对于以上的要求,设计思路如下:程序大致流程分别判断子网号,掩码和ip地址的基本格式的合法性。如果三者的基本格式都合法,才调用判定“IP地址是否为子网成员”的函数。该函数同时判别子网号和掩码是否匹配,子网号为全0或全1,主机号为全0、全1。核心代码及说明判断ip地址是否合法,才调用判定“IP地址是否为子网成员”的函数。该函数同时判断子网号与掩码是否匹配,子网号为全0或全1,主机号为全0、全1.核心代码及说明判断IP地址是否合法。一般来说,我们先检查最明显的错误。例如,可以先判断IP中“.”的个数是否正确;接着,以“.”为标志将IP字符串按节分开;然后,看该IP是否为4段,再判断各节是否是0~255间的整数。关于网络号、主机号全0全1等问题要在后面结合子网掩码一起判断。这里德关键是怎么样将IP字符串以“.”为标志按节分开,这要用到函数strtok(char * strToken,const char * strDelimit)。第一个参数是给定的串,第二个参数是分隔符集合,该函数的功能就是以strDelimit中包含的任意字符为分隔符,在strToken中寻找下一个token。每一次调用strtok后,都会在strToken中插入一个NULL字符,所以,如果要读取下一个stoken,接下来调用strtok时第一个参数用NULL。这样,IP串的每一段都放到dot数组里了,下面判断是否有非法字符,每一段的值是否在0~255之间,就很容易了。判断IP地址是否为子网成员,判断子网号与掩码是否匹配,以及子网号、主机号全0、全1的问题2.2流程图如下:当用户启动程序后(如图2.1),在输入框中输入IP、子网、子网掩码,然后点击测试,验证其合法性。在此过程中调用子程序isLegal(如图2.2)在子程序中判断输入的IP地址是否合法(其中包括:1.判断输入的IP长度是否合法;2.判断输入的IP是否含有非法字符;3.判断输入的IP格式是否正确;4.判断输入的IP是否已转化为Ipaddress的实例)。跳回到主程序中继续执行,如果IP、子网、子网掩码都合法,调用子程序subChecked(如图2.3),在子程序中完成判断子网号和子网掩码是否匹配,如果匹配则进一步判读子网号是否为全0或全1,否则输出子网号和子网掩码不匹配提示。接下来,如果子网号不为全0或全1则将IP和掩码做“与”运算,结果和子网号比较,否则输出子网号为全0或全1提示。再接下来,判断比较结果(IP和掩码做“与”运算的结果和子网号的比较结果)是否相等,如果相等则判断主机号是否为全0或全1,如果不相等则输出“IP不属于该子网”。最后,如果主机号为全0或全1则输出主机号为全0或全1提示,如果主机号不为全0或全1则输出“IP属于该子网”。子程序执行完后返回主程序中继续执行,然后完成ip地址是否属于给定子网的判定图2.2-子程序islegal流程图图2.3-子流程图subChecked2.3核心源代码分析与说明using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Wind

您可能关注的文档

文档评论(0)

你好世界 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档