您的位置:首页 > 理论基础 > 计算机网络

如何根据IP地址和子网掩码,计算其所在子网的网络地址,主机地址和广播地址

2009-10-29 18:53 796 查看
一、在介绍十进制算法前我们先要明确一些概念。
  类范围:
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=27、64=26等),这样可以使我们立即推算出Subnet_block和IP_block的数目。
三、举例说明
  现在,通过举一些实际例子,大家可以对子网掩码和主机块的十进制算法有深刻的了解。
   1.已知所需子网数12,求实际子网数。
  这里实际子网数指Subnet_num,由于12最接近2的幂为16(24),即Subnet_block=16,那么Subnet_num=16-2=14,故实际子网数为14。
   2.已知一个B类子网的每个子网主机数要达到60×255个(约相当于X.Y.0.1~X.Y.59.254的数量),求子网掩码。
  首先,60接近2的幂为64(26),即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(23),所以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个子网。
  总之,只要理解了公式中的逻辑关系,就能很快计算出子网掩码,并得出可分配的主机块。

关于如何计算子网掩码和广播地址的问题的一个例子

题目:

如果某单位拥有100台计算机和一个C类注册IP地址段:218.102.142.0,其内网(LAN)需要进一步划分为两个子网,每个子网分别有40台和60台计算机,

要求:

(1)试规定子网掩码;

(2)假设内网中的某两台计算机的IP地址分别是: 218.102.142.7和218.102.142.219,试分别推算这两台计算机的所属的子网地址和广播地址,并说明它们是否在同一个子网中。

分析问题与解答:

这个问题很简单,其实就跟我们学过的数字电路里面的存储器级联的问题类似。

比方说:

C类地址有4个段:218.102.142.0,其中有3个是表示网络号的。

以这个为例

它就有255个机子

地址从218.102.142.0---218.102.142.255

网络地址是:218.102.142.*

如果要把这个网络拆开成几个子网

就是要把网络号向后面扩展

把原来表示机子号的数字一部分用来表示网络号

这样就实现了划分子网的目的

像这个情况

因为需要划分两个子网

那就需要扩展一个位用来表示网络号

而剩下的部分必须保证能够表示机器号

像这个就必须保证后面留够6位

前面两位作为区分子网的就行了

前面的两位和3个字节共同表示一个子网

xxxxxxxx.xxxxxxxx.xxxxxxxx.xxyyyyyy

x表示网络号

y表示主机号

其实没有子网掩码也照样可以确定子网的地址

因为我们可以手动计算出来

而子网掩码的作用就是取得上面的那几位

所以子网掩码就是把那些x全部换成1就行了

所以最后的那两个x一共有4种不同组合

可以随便弄两个不同的

这样子网地址就不一定了

但是掩码是一定的:255.255.255.192

但是下面给出的两个机子

我们把它们的地址和子网掩码相与一下取出前面的那些x来就是它的子网地址了

218.102.142.0

218.102.142.192

换成2进制就是

1111111.11111111.11111111.00

1111111.11111111.11111111.11

这就是两个网络的子网地址

而规定的是每个子网的广播地址就是他这个子网机子的最大地址

哪个最大啊?

当然是y全部是1的最大了!

所以,第一个的广播地址就是:11111111.11111111.11111111.0011111111

第二个的广播地址就是:11111111.11111111.11111111.1111111111

1的个数能不太对

:)

换算成10进制

就是

255.255.255.191

255.255.255.255
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐