如何计算ip地址及子网掩码
来源:互联网 发布:快手小号注册机源码 编辑:程序博客网 时间:2024/04/25 09:21
转自:http://hi.baidu.com/ww2000e/item/98f7b9f6d396d5b430c1994f
首先,我们看一个CCNA考试中常见的题型:一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。
255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128。而广播地址就是下一个网络的网络地址减1。而下一个32的倍数是160,因此可以得到广播地址为 202.112.14.159。CCNA考试中,还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主机,那么对于这个子网就需要10+1+1+1=13个IP地址。(注意加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。)13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。
如果一个子网有14台主机,不少同学常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1= 17 ,大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。
而在子网内部的主机地址的计算方法为:当前主机的IP地址的最后一个字节(十进制)减去当前主机所在的子网地址的最后一个字节,所得的结果就是当前主机的地址.
EG:一主机的IP为192.155.12.112,其所在的子网地址为:0.0.0.96
因此它的子网主机地址为:112-96=16即0.0.0.16
快速计算子网掩码和主机IP
要划分子网就需要计算子网掩码和分配相应的主机块,尽管采用二进制计算可以得出相应的结论,但如果采用十进制计算方法,计算起来更为简便。经过长期实践与经验积累,笔者总结出子网掩码及主机块的十进制算法。
一、明确概念
在介绍十进制算法前我们先要明确一些概念。
类范围:
IP地址常采用点分十进制表示方法X.Y.Y.Y,在这里,X在1~126范围内称为A类地址;X在128~191范围内称为B类地址;X在192~223范围内称为C类地址。比如10.202.52.130,因为X为10,在1~126范围内,所以称为A类地址。
类默认子网掩码:
A类为 255.0.0.0; B类为 255.255.0.0; C类为 255.255.255.0。当我们要划分子网用到子网掩码M时,类子网掩码的格式如下:A类为 255.M.0.0,B类为 255.255.M.0,C类为255.255.255.M。M是相应的子网掩码,比如255.255.255.240。十进制计算基数是256(下面,我们所有的十进制计算都要用256来进行)。
二、变量说明
1.Subnet_block指可分配子网块大小,表示在某一子网掩码下子网的块数。
2.Subnet_num是可分配子网数,指可分配子网块中要剔除首、尾两块,是某一子网掩码下可分配的实际子网数量。Subnet_num =Subnet_block-2。
3.IP_block指每个子网可分配的IP地址块大小。
4.IP_num指每个子网实际可分配的IP地址数。因为每个子网的首、尾IP地址必须保留(一个为网络地址,一个为广播地址),所以它等于IP_block-2,IP_num也用于计算主机块。
5.M指子网掩码。
表示上述变量关系的公式如下:
M=256-IP_block IP_block=256/Subnet_block或Subnet_block=256/IP_block IP_num=IP_block-2 Subnet_num=Subnet_block-2。
6.2的幂数。大家要熟练掌握28(256)以内的2的幂代表的十进制数(如128=2^7、64=2^6等),这样可以使我们立即推算出Subnet_block和IP_block的数目。
三、举例说明
现在,通过举一些实际例子,大家可以对子网掩码和主机块的十进制算法有深刻的了解。
1.已知所需子网数12,求实际子网数。
这里实际子网数指Subnet_num,由于12最接近2的幂为16(2^4),即Subnet_block=16,那么Subnet_num=16-2=14,故实际子网数为14。
2.已知一个B类子网的每个子网主机数要达到60×255个(约相当于X.Y.0.1~X.Y.59.254的数量),求子网掩码。
首先,60接近2的幂为64(2^6),即IP_block=64; 其次,子网掩码M=256-IP_block=256-64=192,最后由子网掩码格式B类是255.255.M.0得出子网掩码为255.255.192.0。
3.如果所需子网数为7,求子网掩码。
7最接近2的幂为8,但8个Subnet_block因为要保留首、尾2个子网块,即 8-2=6< 7,并不能达到所需子网数,所以应取2的幂为16,即Subnet_block=16。因为IP_block=256/Subnet_block= 256/16=16,所以子网掩码M=256-IP_block=256-16=240。
4.已知网络地址为211.134.12.0,要有4个子网,求子网掩码及主机块。
由于211.Y.Y.Y是一个C类网,子网掩码格式为255.255.255.M,又知有4个子网,4接近2的幂是8(2^3),所以 Subnet_block=8,Subnet_num=8-2=6,IP_block=256/Subnet_block=256/8=32,子网掩码M =256-IP_block=256-32=224,故子网掩码表示为255.255.255.224。又因为子网块的首、尾两块不能使用,所以可分配6 个子网,每个子网有32个可分配主机块,即32~63、64~95、96~127、128~159、160~191、192~223,其中首块(0~31)和尾块(224~255)不能使用。
由于每个子网块中的可分配主机块又有首、尾两个不能使用(一个是子网网络地址,一个是子网广播地址),所以主机块分别为33~62、65~94、 97~126、129~158、161~190及193~222,因此子网掩码为255.255.255.224,主机块共有6段,分别为 211.134.12.33~211.134.12.62、211.134.12.65~211.134.12.94、 211.134.12.97~211.134.12.126、211.134.12.129~211.134.12.158、 211.134.12.161~211.134.12.190及211.134.12.193~211.134.12.222。用户可以任选其中的4段作为4个子网。
总之,只要理解了公式中的逻辑关系,就能很快计算出子网掩码,并得出可分配的主机块
0 0
- 如何计算ip地址及子网掩码
- 子网掩码!如何划分子网掩码,计算IP地址
- IP地址与子网掩码(如何计算子网掩码)
- IP地址及子网掩码
- IP地址和子网掩码计算
- IP地址和子网掩码计算
- IP地址、子网掩码相关计算
- IP地址,子网掩码,地址池计算
- IP地址、子网掩码、网关及DNS地址
- 根据ip地址和子网掩码计算网络地址
- IP地址分类与子网掩码有关计算
- IP地址分类与子网掩码有关计算
- [Python]根据ip地址计算子网掩码位数
- IP地址、子网掩码、网络号、主机号、网络地址、主机地址的关系及相关计算
- 给出IP地址和子网掩码,如何计算该网段的广播地址
- 如何计算IP地址及CIDR
- IP地址表示方法及网段子网掩码
- ip地址的分类及子网掩码介绍
- JDK环境变量设置详解
- System.Serializable
- bash: /home/x/.bash_profile: line 48: syntax error: unexpected end of file的解决
- 实战数据结构(11)_二叉树的遍历
- 在asp.net mvc中使用jquery validate验证
- 如何计算ip地址及子网掩码
- break,continue,return测试,一个程序让你明白其执行原理
- Subsets
- MatrixCursor 模拟数据库
- 为数据库添加索引
- CADisplayLink 及定时器的使用
- 个人开公司流程
- jquery网页左侧导航菜单栏
- 做你最后一个情人