免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4173 | 回复: 8
打印 上一主题 下一主题

子网数目的计算,求正解(版主请进)(熟悉IP子网算法的请进) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-24 08:45 |只看该作者 |倒序浏览
在网上找到了一些资料,算法不一样,请问哪个对\r\n比如子网掩码是:/28    或255.255.192.0\r\n/28  就是28个1  11111111.11111111.11111111.11110000 2的4次方等于16 就是说/28是将C类网分成16个子网,对吗???\r\n255.255.192.0   11111111.11111111.11000000.00000000 2的2次方等于4  就是说255.255.192.0是将B类网分成4个子网,对吗?\r\n\r\n但有些资料说,这样算后还要减去2  迷糊中。。。。。。\r\n\r\n\r\n另外,请问192.168.11.0/22  和 192.168.11.10/22有什么区别啊?\r\n\r\n\r\n\r\n网上找的资料:\r\n\r\n如何计算子网数量? \r\n这个问题大家会常常提到,还是从子网掩码入手,主要有两个步骤: \r\n1.观察子网掩码的二进制形式,确定作为子网号的位数n; \r\n2.子网数量为2的n次方-2。(为什么减2,呵呵,往下看) \r\n举个例子来说,比如有这样一个子网掩码:255.255.255.224其二进制为: \r\n11111111.11111111.11111111.11100000可见n=3,2的3次方为8,说明子网地址可能有\r\n如下8种情况: \r\n000 \r\n001 \r\n010 \r\n011 \r\n100 \r\n101 \r\n110 \r\n111 \r\n但其中代表网络自身的000;代表广播地址的111是被保留的,所以要减2,明白了吗?\r\n\r\n\r\n根据掩码来确定子网的数目\r\n首先看题中给出的掩码是属于哪个默认掩码的“范围”内,这样我们就可以知道是对A类还是B类还是C类大网来划分子网。比方说202.117.12.36/30,我们先把/30这种另类的掩码表示法转换为我们习惯的表示法: 11111111.11111111.11111111.11111100,转为十进制是255.255.255.252。我们可以看到,这个掩码的左边三节与C类默认掩码相同,只有第四节与C类默认掩码不同,所以我们认为255.255.255.252这个掩码是在C类默认掩码的范围之内的,意味着我们将对C类网络进行子网划分。因为C类网络的默认掩码是255.255.255.0,将C类默认掩码转换为二进制是11111111.11111111.11111111.00000000,这里的8个0表示可以用8位二进制数来表示IP地址,也就是说C类大网中可有2的8次方个IP地址,也就是256个IP地址。这道题中的掩码的最后一节是252,转换为二进制是11111100,因为1表示网络号,所以111111就表示将C类大网划分为(111111)2进制个子网。将111111转换为十进制是64,所以就表示将C类大网划分为64个子网,每个子网的IP地址数目是256/64=4,去除子网中的第一个表示子网号的IP地址和最后一个表示广播地址的IP地址,子网中的可分配的IP地址数目就是子网中的总的IP地址数目再减去2,也就是4-2=2个。\n\n[ 本帖最后由 wdb2005 于 2009-4-24 08:46 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-04-24 08:53 |只看该作者
最简单的方法: 掩码最后那个数=255+1-ip数\r\n如:你有32个ip 那么你的掩码就是255+1-32=224 即255.255.255.224\r\n如果ip是奇数 就把ip数再加1凑成偶数

论坛徽章:
0
3 [报告]
发表于 2009-04-24 09:37 |只看该作者
比如子网掩码是:/28    或255.255.192.0\r\n/28  就是28个1  11111111.11111111.11111111.11110000 2的4次方等于16 就是说/28是将C类网分成16个子网,对吗???\r\n255.255.192.0   11111111.11111111.11000000.00000000 2的2次方等于4  就是说255.255.192.0是将B类网分成4个子网,对吗?
\r\n\r\n个人感觉这个描述的比较准确。\r\n\r\n\r\n
另外,请问192.168.11.0/22  和 192.168.11.10/22有什么区别啊?
\r\n\r\n感觉没有什么区别,主要的信息是要告诉你/22 即子网掩码为11111111.11111111.11111100.00000000,每1024个IP为一个子网。\r\n\r\n\r\n
但有些资料说,这样算后还要减去2  迷糊中。。。。。。\r\n...\r\n这道题中的掩码的最后一节是252,转换为二进制是11111100,因为1表示网络号,所以111111就表示将C类大网划分为(111111)2进制个子网。将111111转换为十进制是64,所以就表示将C类大网划分为64个子网,每个子网的IP地址数目是256/64=4,去除子网中的第一个表示子网号的IP地址和最后一个表示广播地址的IP地址,子网中的可分配的IP地址数目就是子网中的总的IP地址数目再减去2,也就是4-2=2个。\r\n
\r\n\r\n你下面已经给出答案了,-2应该是计算子网中可分配的IP数时需要减去表示子网号的地址和广播地址,个人感觉计算子网数量时不应该-2。

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
4 [报告]
发表于 2009-04-24 12:13 |只看该作者
但有些资料说,这样算后还要减去2  迷糊中。。。。。。\r\n\r\n\r\n这个是老的标准了,以前有类路由协议不支持全0和全1子网的时候是这么算的。现在不需要减2了。\r\n\r\n请问192.168.11.0/22  和 192.168.11.10/22\r\n这个是没区别的。掩码中的1表示要关心的bit,0表示可以忽略的bit 。10这个在22个1bit以外了。做AND运算后超出了范围。

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
5 [报告]
发表于 2009-04-24 12:18 |只看该作者
另外其实计算子网数目是有简单公式的\r\n\r\n譬如掩码是192.168.1.0/28 ,其中的主机数就是2^(32-2,划分的子网数目就是2^(28-24) .\r\n有或者192.168.1.0/255.255.255.240,主机数目就是。(255.255.255.255-255.255.255.240)+1 ,子网数目还是用位掩码方便些的。

论坛徽章:
0
6 [报告]
发表于 2009-10-16 22:05 |只看该作者
这个是老的标准了,以前有类路由协议不支持全0和全1子网的时候是这么算的。现在不需要减2了。\r\n\r\n\r\n按照老标准,有类路由协议不能传输子网掩码,那么192.168.11.16    255.255.255.240 这样的地址应该就被认为是192.168.11.0/24,C类地址再次细分子网,是不是只针对无类路由的而言的? 2^n-2的计算方法用在这里是否恰当?

论坛徽章:
0
7 [报告]
发表于 2009-10-20 17:32 |只看该作者
子网数(前面1的部分)是不需要减2的,每个子网的主机数(后面0的部分)需要减2,也就是减去本身地址和广播地址。\r\n\r\nLZ可以参考Sybex Ccna Study Guide 6Th Edition。网上有电子版。

论坛徽章:
0
8 [报告]
发表于 2009-10-20 18:11 |只看该作者
IP addressing并不是很难的事情,要习惯用32位二进制的方式去思考.\r\n\r\n有不明白的时候,就用两台机器设置不同的地址、子网,再互ping一下就能帮助理解了。\r\n\r\n其实IPv4地址的编址非常好理解--掩码盖住的是网络号,剩下的事主机号;根本不用管什么ABC类,细分了叫做子网划分,汇集了叫做子网汇聚,都是可以的。\r\n\r\n另外,对于要不要-2的问题也很好理解,就是子网里面位于上下两条界线的地址不可分配给主机而已。\r\n比如:\r\n网络 192.168.1.0/24 之中 剔除192.168.1.0 和192.168.1.255\r\n网络 192.168.1.0/25 之中 剔除192.168.1.0 和192.168.1.127\r\n网络 192.168.1.0/26 之中 剔除192.168.1.0 和192.168.1.63\r\n网络 192.168.1.0/27 之中 剔除192.168.1.0 和192.168.1.31\r\n网络 192.168.1.0/28 之中 剔除192.168.1.0 和192.168.1.15\r\n网络 192.168.1.0/29 之中 剔除192.168.1.0 和192.168.1.7\r\n网络 192.168.1.0/30 之中 剔除192.168.1.0 和192.168.1.3 (这个网络只有2个地址可用)\r\n网络 192.168.1.0/31 之中 192.168.1.0 和192.168.1.1(没有地址可用)\n\n[ 本帖最后由 gammachang 于 2009-10-20 18:13 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2009-10-21 10:32 |只看该作者
做个记号,以后用了来参考
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP