第一范文网 - 专业文章范例文档资料分享平台

IP地址的合法性及子网判断

来源:用户分享 时间:2025/5/24 10:07:42 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

程序开始,变量初始化 读取一个字符串 是否都是数 字字符 Y N return N段数=4? YY调用ipIsValid 函数 每段的值是否大于255 N 输出”ip地址非法” NipIsValid(subnet)是否为真 Y输出”子网非法” Mask是否在(0,32)范围内 YNIp&Mask==subnet YN 子网号与掩码不匹配 输出”掩码非法” 程序结束 五.程序运行结果

(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% 结果如下:

该结果表示所输入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地址是否属于该子网

①在(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 结果如下:

②在命令提示窗口中输入命令:ip_test 202.113.16.0/24 202.113.16.255 结果如下:

以上现象充分说明该算法是完全正确的。

六、课程设计小结

为期两天的计算机网络课程设计就这样结束了,在整个设计过程中我们遇到了各种意想不到的问题,遍尝了各种滋味,既享受到成功的欢欣,有品尝到失败的懊恼,总之,充满了艰辛,一路上磕磕跘跘,甚是不易。

一开始,老师要我们选择课程设计题目,我们选择了 “IP地址的合法性及子网判断”这个题目!

但是,当我们大伙坐下来仔细分析题目时,发现这并没有我们当初想的那么简单,首先,在考虑IP地址(subnet子网地址原理相同)非法的情况时,我们就漏掉了几种情况。

最后,当我们输入命令行进行运行时,却发现不管我们输入的子网地址是否合法,运行结果都显示:subnet is invalid。我们分析了很久也找不到原因,无奈我们再一次寻求同学的帮助。他只是把整个程序大致浏览了一下就发现了错误,原来我们把char ip[15],char subnetPlusMask[18],char subnet[18],char TempIp[15]这几个变量设置成了私有变量,导致后面的程序不能访问。把代码按老师的指导修改后,调试,运行显示的结果准确无误,这才把课程设计的核心——编写源代码搞定。

平常我们都只顾对理论的学习,而没花时间进行实践,课程设计为我们提供了一个把理论知识进行实践的绝好机会,课程设计要求我们既动手有动脑,即要独立思考又要团队配合,锻炼我们的分析实际问题,解决实际问题的能力,提高我们适应实际,实践的能力。

一言以蔽之,我们既要强调对理论知识的学习,又要注重实践,在实践过程中加强对理论知识的理解,使实践与理论学习形成良性循环。

最后,真诚地感谢老师的指导。

七.参考文献

[1]张尧学,郭国强,王晓春,赵艳标。计算机网络与Internet教程[第2版]。清华大学出版社,2006,11。

[2]吴功宜,胡晓英,张仁,何云,王宁。计算机网络课程设计。机械工业出版社,2005,9。 八.附录:课程设计原代码

#include #include #include #include

#include #include #include #include #include #include

#pragma comment(lib,\//类结构 class ipTest{ public:

char ip[15];

char subnetPlusMask[18]; char subnet[18]; char TempIp[15];

l maskIsValid;

int mask; char Tempsub[18];

ipTest(char *,char *); } ; //主函数

void main(int argc,char * argv[]){

if(argc!=3){ //判断参数格式化是否正确

cout<<\~ipTest(){};

bool NoIllegalChar(char *); //非法字符的判断 bool ipIsValid(char *); //判断IP地址是否合法 bool subnetIsValid(char *); //判断子网号是否合法 void belong(); //判断IP是否为子网成员 print();

搜索更多关于: IP地址的合法性及子网判断 的文档
IP地址的合法性及子网判断.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2ytkd2gizm0zdc523xwm17c19373fh00go2_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top