跳至主要內容

ip地址与子网掩码换算公式

zheng大约 7 分钟网络ip子网掩码

	熟练的掌握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来进行。

Subnet_block:可分配子网块大小,指在某一子网掩码下的子网的块数。

Subnet_num:实际可分配子网数,指可分配子网块中要剔除首、尾两块,这是某一子网掩码下可分配的实际子网数量,它等于Subnet_block-2。

IP_block:每个子网可分配的IP地址块大小。

IP_num:每个子网实际可分配的IP地址数,因为每个子网的首、尾IP地址必须保留(一个为网络地址,一个为广播地址),所以它等于IP_block-2,IP_num也用于计算主机段

M:子网掩码(net mask)。它们之间的公式如下:M=256-IP_block

IP_block=256/Subnet_block,反之Subnet_block=256/IP_block

IP_num=IP_block-2

Subnet_num=Subnet_block-2

参考于:子网掩码及主机段的十进制算法.doc - 百度文库 (baidu.com)open in new window

二、根据子网掩码算网络地址

已知一个ip地址是192.168.1.1,子网掩码是255.255.255.0,那么它的网络地址是多少?

在了解这个问题之前,我们先需要了解下,什么是网络地址?

ip地址是由两部分组成:网络地址+主机地址。

网络地址可以确定ip地址的范围,ip地址其实跟身份证号比较像。

那么如何来算出网络地址呢?

详细计算

将ip地址192.168.1.1转换为二进制
11000000.10101000.00000001.00000001
将子网掩码255.255.255.0转换成二进制
11111111.11111111.11111111.00000000
然后将两者相“与(and)"运算:
11000000.10101000.00000001.00000001
11111111.11111111.11111111.00000000
然后得到:
11000000.10101000.00000001.00000000
转换成网络地址就是:192.168.1.0

三、根据子网掩码计算可用ip地址数

已知某主机的ip地址是192.168.100.200,子网掩码为255.255.255.192,其网络内可用的ip地址个数为多少?

详细计算

将子网掩码255.255.255.192转换为二进制
11111111.11111111.11111111.11000000
子网掩码共有26位,还有6位可用。
即26次方减去2,等于62,即有62个ip地址可用。

上述计算过程-2是除去一个网络地址,一个组播地址

四、设置子网掩码

某公司申请到一个C类IP地址,只连接6个子公司,最大的一个子公司有26台计算机,每个子公司都分配在同一个网段,则子网掩码应设为多少合适?

首先一个C类的子网掩码为255.255.255.0,这个是最原始。

但现在我们是有要求:

1、连接6个子网

2、且最大一个子网的ip地址为26个。

如何来设置这个子网掩码呢?

详细计算

网络中的原则是ip地址与子网掩码越越精准,网络越易管理,故障越低。
192.168.1.0是一个C类地址,子网掩码应该为255.255.255.M,而26主机在16(2^4)32(2^5)之间,故M取后五位为主机段,前三位为子网段,M=11100000=128+64+32=224
    
我们再来验证下,每个子网的主机数量。
子网掩码255.255.255.224转化为二进制为:
11111111.11111111.11111111.11100000
子网掩码为27位,那么主机位数为5位。
即可容纳的主机数为25次方减2,等于30。
完全符合一个子网内容纳26个ip地址。
所以最终的子网掩码为255.255.255.224

即:
子网掩码为:255,255,255,224,掩码长为24+3=27.
8个子网的主机块地址分别为:
192.168.1.0----------192.168.1.31
192.168.1.32----------192.168.1.63
192.168.1.64----------192.168.1.95
192.168.1.96----------192.168.1.127
192.168.1.128----------192.168.1.159
192.168.1.160----------192.168.1.191
192.168.1.192----------192.168.1.223
192.168.1.224----------192.168.31.255
又因为每个子网块中可分配的主机块又有首|尾两个不能用(一个是子网网络地址,一个是子网广播地址),所以8个子网的主机块地址分别除去首尾两个,可用地址范围是:
192.168.1.1----------192.168.1.30
192.168.1.33----------192.168.1.62
192.168.1.65----------192.168.1.94
192.168.1.97----------192.168.1.126
192.168.1.129----------192.168.1.158
192.168.1.161----------192.168.1.190
192.168.1.193----------192.168.1.222
192.168.1.225----------192.168.31.254
IP地址:192.168.1.0二进制为: 11000000.10101000.00000001.00000000
掩码:255.255.255.224二进制为:11111111.11111111.11111111.11100000
两者相与得网络地址(11); 11000000.10101000.00000001.00000000
网络地址为:192.168.1.0
广播地址为:192.168.1.255
不过8个子网块中首尾两块不能用,如果你是在实际中用的话,总的主机有8*20=160,160可以分成5*32,5个子网,每个子网32,主机地址可取下面的任意五个:
192.168.1.33----------192.168.1.62
192.168.1.65----------192.168.1.94
192.168.1.97----------192.168.1.126
192.168.1.129----------192.168.1.158
192.168.1.161----------192.168.1.190
192.168.1.193----------192.168.1.222

如何计算ip地址和子网掩码是否匹配

子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。

最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。

参考于:计算机网络如何计算有效ip地址个数,知道IP和子网掩码,如何计算可用IP数量和可用的IP地址?..._Runhua Zhao的博客-CSDN博客open in new window

五、计算广播地址

10.135.255.19/255.255.255.248的广播地址是什么?

计算思路,要得到广播,先得出网络地址,然后把网络地址的主机位全换成1,便就是广播地址。

详细计算

将ip地址10.135.255.19转换为二进制
00001010.10000111.11111111.00010011
将子网掩码255.255.255.248转换成二进制
11111111.11111111.11111111.11111000
然后将两者相“与(and)"运算:
00001010.10000111.11111111.00010011
11111111.11111111.11111111.11111000
然后得到:
00001010.10000111.11111111.00010000
转换成网络地址就是:10.135.255.16
那么广播地址是多少呢?
从子网掩码可以看出,这个子网掩码是29位。
11111111.11111111.11111111.11111000
也就是主机数还有3位可用。
00001010.10000111.11111111.00010000
把网络地址的后面三个零全换成1。
即可得出广播地址为:10.135.255.23

六、根据ip地址计算子网掩码

大部分的情况下,我们网络中只要不超过254台主机的的话,子网掩码都可以设置成255.255.255.0。那么超过了254台主机的话怎么办呢?

可以划分vlan(VLAN原理详解_弦苦的博客-CSDN博客_vlanopen in new window),也可以设置成一个大网段。

设置成一个大网段就有一个难点,如何确定这个大网段里面的子网掩码呢?

示例:

假设监控网络中有600个点位,我们现在也不想把它划分vlan(实际项目中大部分是会划分vlan的),假设只想用一个大网段把这600个点位分配ip地址,如何设置ip地址,如何确实子网掩码?
分析:首先我们知道600个点位,可以使用3254个ip地址段来分配。
可以使用
ip段一:192.168.0.1——192.168.0.254
ip段二:192.168.1.1——192.168.1.254
ip段三:192.168.2.1——192.168.2.254
每个网段有254个ip地址,完全够600个点位用的。
那么问题来了,如果要使这三个ip段在同一个网段内,那么这个大网段共同的子网掩码是多少呢?
我们来分析下:
将ip地址192.168.0.1转换为二进制
11000000 10101000 00000000 00000001
将ip地址192.168.1.1转换为二进制
11000000 10101000 00000001 00000001
将ip地址192.168.2.1转换为二进制
11000000 10101000 00000010 00000001
转换成了二进制,可以看得出,三个ip段的二进制前面22位的是不变的,那么可以将他们表示成:
ip段一:192.168.0.1/22
ip段二:192.168.1.1/22
ip段三:192.168.2.1/22
这种192.168.2.x/22形式的ip地址相信大家平时都见过,就是已经告诉了子网掩码了。
也就是说他们共同的子网掩码二进制前面22个都是111111111 11111111 11111100 00000000
转换成十进制,那就是255.255.252.0,所以他们共同的子网掩码就是255.255.252.0
上次编辑于:
贡献者: 郑天祺