判断IP地合法性1.doc

判断IP地合法性1.doc

ID:58491013

大小:91.50 KB

页数:7页

时间:2020-05-17

判断IP地合法性1.doc_第1页
判断IP地合法性1.doc_第2页
判断IP地合法性1.doc_第3页
判断IP地合法性1.doc_第4页
判断IP地合法性1.doc_第5页
资源描述:

《判断IP地合法性1.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、XXXX大学计算机网络实习报告设计题目判断IP地址合法性学生专业班级学生姓名(学号)指导教师完成时间2010年5月25日实习(设计)地点信息楼139机房2010年5月25日一、实习题目编写一个判断IP地址是否合法的计算机程序,如果合法给出其子网号。二、原理概述所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP(TransportControlProtocol/InternetProtocol,传输控制协议/Internet协议)协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4

2、个字节。例如一个采用二进制形式的IP地址“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。  将IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。网络号的位数直接决定了可以分配的网络数(计算方法2^网络号位数);主机号的位数则决定了网络中最大的主机数(计算方法2^主机

3、号位数-2)。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明的选择了一种灵活的方案:将IP地址空间划分成5种不同的类别,每一类具有不同的网络号位数和主机号位数。32位IP地址的空间划分IP地址分类  1.A类IP地址  一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围1.0.0.1-126.255.255.254(二进制表示为:00000001000000000000000000000001-01111110111111111111111111111110)。可用的A类网络有1

4、26个,每个网络能容纳1677214个主机。  2.B类IP地址  一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围128.1.0.1-191.255.255.254(二进制表示为:10000000000000010000000000000001-10111111111111111111111111111110)。可用的B类网络有16384个,每个网络能容纳65534主机。  3.C类IP地址  一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围192.

5、0.1.1-223.255.255.254(二进制表示为:11000000000000000000000100000001-11011111111111111111111011111110)。C类网络可达2097152个,每个网络能容纳254个主机。  4.D类地址用于多点广播(Multicast)。  D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。  地址范围224.0.0.1-239.2

6、55.255.254  5.E类IP地址  以“1111”开始,为将来使用保留。  E类地址保留,仅作实验和开发用。  全零(“0.0.0.0”)地址指任意网络。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。三、设计方案IP地址格式为“xxx.xxx.xxx.xxx”,判断IP地址合法性这个问题可以归结为对三种情况的处理:分隔符“.”的合法性、0的合法性、四个数值的合法性。即每个IP中分隔符“.”必须只有三个,每个非零数字前不能有0,每个分隔符“.”之间的数值xxx大小在0—255内,只有满足这三个条件,IP地址才算合法

7、。采用C语言编写程序,编写要求:1、如果字符串范围在”0.0.0.0到255.255.255.255内,为合法,返回1;否则非法,返回0。2、每个不能非零数字前不能有0,如032.32.34.56或者12.028.93.78均视为不规范写法3、尽量不要使用c的库函数4、尽量不要重新复制一遍字符串5、尽量不要修改原字符串6、使用合适个数个局部变量7、尽量做到占用的内存少,速度快,效率高四、程序编写程序代码如下#includeintIpCheck1(char*IP){intnumI=0;intnumD=0;charnumT[3];whil

8、e(*IP){if(*IP>='0'&&*IP<='9'&&numI<3){if(numI==

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。