如何根据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=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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
IP地址子网掩码是用来确定网络中主机的地址范围的重要参数。在计算IP地址子网掩码时,需要遵循以下步骤: 1. 确定 IP 地址和子网掩码的格式:IPv4 地址通常采用点分十进制表示法,如 192.168.1.1,而子网掩码通常采用 CIDR 表示法,如 /24。 2. 将 IP 地址和子网掩码转换成二进制数。例如,IP 地址 192.168.1.1 可以转换为二进制数 11000000.10101000.00000001.00000001,而子网掩码 /24 可以转换为二进制数 11111111.11111111.11111111.00000000。 3. 确定网络地址主机地址数。在子网掩码中,前面的数是网络地址,后面的数是主机地址。例如,在 /24 的子网掩码中,前面的 24 网络地址,后面的 8 主机地址。 4. 确定 IP 地址的网络地址主机地址。将 IP 地址的二进制数与子网掩码的二进制数进行逐的与运算,得到网络地址主机地址。例如,对于 IP 地址 192.168.1.1 和子网掩码 /24,进行逐与运算,得到网络地址 192.168.1.0 和主机地址 0.0.0.1。 5. 确定网络中可用的 IP 地址范围。根据子网掩码中的主机地址数,确定网络中可用的 IP 地址范围。例如,在 /24 的子网掩码中,主机地址有 8 ,因此可用的 IP 地址范围是从 192.168.1.1 到 192.168.1.254。 以上就是计算 IP 地址和子网掩码的基本步骤。在实际中,还需要考虑网络拓扑结构、路由设置等因素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值