计算机网络课程设计-点分十进制

上传人:F****n 文档编号:105074296 上传时间:2019-10-11 格式:DOC 页数:8 大小:153KB
返回 下载 相关 举报
计算机网络课程设计-点分十进制_第1页
第1页 / 共8页
计算机网络课程设计-点分十进制_第2页
第2页 / 共8页
计算机网络课程设计-点分十进制_第3页
第3页 / 共8页
计算机网络课程设计-点分十进制_第4页
第4页 / 共8页
计算机网络课程设计-点分十进制_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《计算机网络课程设计-点分十进制》由会员分享,可在线阅读,更多相关《计算机网络课程设计-点分十进制(8页珍藏版)》请在金锄头文库上搜索。

1、 计算机网络论文 课程设计题目:编写实现点分十进制的IP地址程序 学生姓名: 专 业: 计算机科学与技术 班 级: 学 号: 指导教师: 2012年 12 月 27 日目 录一、 摘要-2二、 程序运行环境-3三、 程序作用及设计目的-3四、 程序分析与设计-3五、 程序调试与运行-3六、 经验和总结-5七、 参考文献-5八、 程序清单-5一、摘要Internet 上的每台主机(Host)都有一个唯一的IP地址。IP协议就是使用这个地址在主机之间传递信息,这是Internet 能够运行的基础。IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0255,段与段之间用句点

2、隔开。例如159.226.1.1。IP地址有两部分组成,一部分为网络地址,另一部分为主机地址。IP地址分为A、B、C、D、E5类。常用的是B和C两类。IP地址就像是我们的家庭住址一样,如果你要写信给一个人,你就要知道他(她)的地址,这样邮递员才能把信送到。计算机发送信息是就好比是邮递员,它必须知道唯一的“家庭地址”才能不至于把信送错人家。只不过我们的地址使用文字来表示的,计算机的地址用十进制数字表示。众所周知,在电话通讯中,电话用户是靠电话号码来识别的。同样,在网络中为了区别不同的计算机,也需要给计算机指定一个号码,这个号码就是“IP地址”。 有人会以为,一台计算机只能有一个IP地址,这种观点

3、是错误的。我们可以指定一台计算机具有多个IP地址,因此在访问互联网时,不要以为一个IP地址就是一台计算机;另外,通过特定的技术,也可以使多台服务器共用一个IP地址,这些服务器在用户看起来就像一台主机似的。将IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。网络号的位数直接决定了可以分配的网络数(计算方法2网络号位数-2);主机号的位数则决定了网络中最大的主机数(计算方法2主机号位数-2)。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明的选择了一种灵活的方案:将IP地址空间划分成不同的类别,每一类具有不同的网络号位数和主机号位数。IP地址被用来给

4、Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(.)。IP地址(英语:Internet Protocol Address)是一种在Intern

5、et上的给主机编址的方式,也称为网际协议地址。常见的IP地址,分为IPv4与IPv6两大类。目前使用的IPV4,就是有4段数字,每一段最大不超过255。近十年来由于互联网的蓬勃发展,IP位址的需求量愈来愈大,使得IP位址的发放愈趋严格,各项资料显示全球IPv4位址可能在2005至2010年间全部发完。IPv6是下一版本的互联网协议,也可以说是下一代互联网的协议,它的提出最初是因为随着互联网的迅速发展,IPv4定义的有限地址空间将被耗尽,地址空间的不足必将妨碍互联网的进一步发展。为了扩大地址空间,拟通过IPv6重新定义地址空间。IPv6采用128位地址长度,几乎可以不受限制地提供地址。按保守方法

6、估算IPv6实际可分配的地址,整个地球的每平方米面积上仍可分配1000多个地址。在IPv6的设计过程中除了一劳永逸地解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它问题,主要有端到端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等。 点分十进制,全称点分十进制表示法(英:Dotted decimal notation),是IPv4的IP地址标识方法,每一组数字都是十进制,组与组之间用.(点)分隔,因此称为“点分十进制”,例如IP地址123.123.123.123;此种表示法有区别于IPv6的冒分十六进制,即冒分十六进制(也叫冒号十六进制)是用冒号分隔每一组数,每组数用1

7、6进制表示,比如IP地址3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562。 二、程序运行环境1、开发环境本程序的设计采用的是VC语言开发2、Windows 操作系统Microsoft Visual C+ 6.0三、程序作用及设计目的1、程序作用通过程序使32位的二进制数转换为十进制,并以ip地址形式显示出来。以实现简化ip地址长度的作用。方便人们记忆和使用。2、 设计目的按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“”,这么长的地址,人们处理起来也太费劲了。为了方便人们

8、的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。而本程序的目的就是将32位二进制表示的ip地址转化为4位十进制ip地址,并显示出来。4、 程序分析与设计 本程序大体由zhuanhuan()函数和main()函数,其中以zhuanhuan()函数实现二进制转换十进制之间的转换.main()函数实现32位2进制数的输入与转换调用过程.用a数组实现32位的2进制数的存储,用ip数组存储转换后4个十进制数.scanf()语句实现键盘输入识别,并用4个f

9、or()语句分别进行8位2进制数的的依次输入,并用if()语句判断如果输入数值为1时进行二进制到十进制的转换.5、 程序调试与运行程序运行截图:六、经验与总结通过本次课程设计首先让我对网络这一门课程的知识溶入到实践设计中,对知识的掌握从理论到实践有了进一步的跨越,尤其是网络的IP位数设置,应用以及表示方法等内容,有了更深的体会.其次温习了c语言的相关的课程,将c语言课程和计算机网络课程相关联,并对进制的转换有了更深入的了解.及对计算机网络各部件之间的密切关系有了更深入的了解.一次整体网络的设计,使我学到的更多的网络知识,对网络的各个部分以及各部分之间的连接有了进一步的认识。总之,这次的网络课程

10、设计使我收益非浅。同时,谢谢杨老师的辛勤培养,给我了更为丰富的知识和宽广的视野。7、 参考文献1 谭浩强,c程序设计(第二版),北京:清华大学出版社,2001年2 谢希仁,计算机网络(第5版),电子工业出版社,2007年3 谢鸣等,计算机网络实验教程,从原理到实践,机械工业出版社,2007年4 8、 程序清单#include #include int zhuanhuan(int s, int n) /定义zhuanhuan函数将二进制数转换为十进制 if(n = 0) return 1; return s * zhuanhuan(s, n-1); /递归调用zhuanhuan()函数 int

11、main(void) /主函数实现32位二进制输入及调用zhuanhuan()函数进行进制转换 int i; int ip4 = 0,0,0,0; /定义ip数组,存放转换后4个十进制数 char a33; /定义a数组,存放32个二进制数 printf(请输入二进制数(0或1): n); scanf(%s, a); /输入二进制数 for(i=0; i8; i+) /第一个八位二进制转换 if(ai = 1) ip0 += zhuanhuan(2, 7-i); /转换后十进制存入ip0数组 for(i=8; i16; i+) /第二个八位二进制转换 if(ai = 1) ip1 += zhuanhuan(2, 15-i); for(i=16; i24; i+) /第三个八位二进制转换 if(ai = 1) ip2 += zhuanhuan(2, 23-i); for(i=24; i32; i+) /第四个八位二进制转换 if(ai = 1) ip3 += zhuanhuan(2, 31-i); if(ai = 0) break; printf(转换为十进制IP为:n); printf(%d.%d.%d.%dn, ip0, ip1, ip2, ip3);/输出转换后十进制IP地址 re

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号