网站大量收购独家精品文档,联系QQ:2885784924

计算机网络判断ip地址的合法性及子网判断.doc

计算机网络判断ip地址的合法性及子网判断.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络判断ip地址的合法性及子网判断

计算机网络课程设计报告 一题目:判断ip地址的合法性及子网判断 题目要求: 1)命令行格式:ip_test subnet/mask ip_addr, ip_test其中为程序名;subnet为子网号;mask是一个数值,代表子网掩码连续1的个数;ip_addr是要测试的IP地址。 例如,要测试的IP地址为202.114.16.10,子网号为202.113.16.0,子网掩码为255.255.255.0,则命令行为ip_test 202.113.16.0/24 202.114.16.10(因为255.255.255.0是连续的24个1,所以用24表示)。 判断subnet和ip_addr的合法性。在判断IP地址合法性时要自行编写代码,不要使用任何inet函数。判断时要考虑全面, 比如以下IP地址均不合法: 123..2.1 123.23$.2.1 123.2345.2.1 123.23.45.2.1 3)判断掩码的合法性。 4)在IP地址合法的前提下,判断ip_addr是否属于子网subnet。 5)输出命令行中的ip是否合法,掩码是否合法(可适当给出不合法的原因)以及ip_addr是否属于子网subnet。 二:概要设计 1属性:int flag//用于判断ip地址,子网掩码是否合法,如果不合法重新输入,flag=1,表示不合法 int i//判断是否存在非法字符 int dian//定义分割符 2 方法:toCharArray()//使用此方法把用户输入的字符串转换成新的字符数组 Length()//返回用户输入的字符串的长度 Split()//拆分字符串 Parseint()//将字符串参数作为有符号的十进制整数进行解析 Concat()//连接字符串 Equals()//比较两个字符串是否相等 3类 input() Iptest() Subnet() 三:详细设计(由流程图解释) 算法思想:主要分为两部分:一:ip地址的合法性 二:是否属于该子网 一:ip地址的合法性: 参考谢希仁编著的计算机网络, IP地址采用分层结构,由网络号与主机号两部分组成(如下图所示):  网络号 主机号 IP地址长度为32位,用点分十进制表示,格式为ⅹ.ⅹ.ⅹ.ⅹ,每个ⅹ为8位,每个ⅹ的值为0—255(例如202.113.29.119)。根据不同的取值范围,IP地址可以分为五类,IP地址中的前5位用于标识IP地址的类别,具体的分类规则如下: ·A类地址的第一位为0。 ·B类地址的前两位为10 . ·C类地址的前三位为110。 ·D类地址的前四位为1110。 ·E类地址的前五位为11110 例如以下IP地址均不合法: 123..2.1 123.23$.2.1 123.2345.2.1 123.23.45.1。 四类IP地址的结构如下所示; 0 网络号(7位) 主机号(24位) 10 网络号(14位) 主机号(16位) 110 网络号(21位) 主机号(8位) 1110 组播地址(28位) 二:是否属于该子网 首先判断掩码的合法性。 无论是哪类地址,掩码的第一个字段都是255。如果不是,一定是掩码非法。在IP地址、掩码以及子网号都合法的前提下,判断ip是否属于subnet。需要进行与运算(),将ip、subnet_mask相与,将得到的结果与subnet比较,如果相同,则证明该ip属于subnet。 四:调试分析 在程序最终完成后,进入调试过程中出现了好多错误,但大部分都是拼写错误,还有就是很久没有写程序,一些基本的语法错误,但经过调试后都解决了,下面是调试的结果的截图: 1连续输入两个“。”,显示输入非法 . 2输入字段中有大于255或小于0的现象,显示输入非法 3子网掩码地址第一字段不是255,显示输入非法 4得出结果——ip地址属于子网 分析: 其实就是利用split()将用户手动输入的ip地址和subnet_mask以“.”为界限分为四个小段,并将它们赋值给String类,然后分别将它们转化为int类型,逐段相与,再将相与得到的四小段以“.”为分隔符“拼接”起来,最后一步是将最后得到的这一字符串与之前输入的subnet比较,如果相同则该ip地址输入subnet。 五:心得体会 通过这次的课程设计,我明白了,在学习理论的基础上还要利用课余时间多做一些实践性的实验,不能只会纸上谈兵。最初写这个题目的时候我是一脸茫然,于是我就去图书馆接有关网络课程设计方面的书,看看书中的内容,再结合平时所学的理论知识,我把我要写的题目的思路想了出来,但实践起来也不是很容易,由于我对C++不是很熟,所以我试着写,但还是没有一点思路,最后我决定用java写,我又参考了网上别人的程序,最后写了出来,但不能运行,主要是程序中

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档