如何根据ip地址块求子网掩码

如何根据ip地址块求子网掩码,第1张

子网掩码(subnet

mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个ip地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合ip地址一起使用。子网掩码只有一个作用,就是将某个ip地址划分成网络地址和主机地址两部分。

在拥有一个ip地址的情况下,确定子网掩码,首要要根据实际需要,确定划分的子网数目,然后就可以求出子网掩码。比如,现在有一个c类ip地址1921671232,划分子网和求子网掩码如下步骤如下:

将要划分的子网数目转换为2的m次方,如果恰好不是2的多少次方,则取大为原则;

假设划分为2个子网,也就是m=1,也就是说主机位中有1位被划为“网络标识号“;

将子网掩码写成二进制,1代表网络标识号,0代表主机号,因此子网掩码写成二进制就是11111111111111111111111110000000,写成十进制就是255255255128。

关键是了解IP地址的网络前缀和主机后缀的分界位置(或者说知道是哪一类的IP地址),子网掩码中1位表示网络前缀,0位表示主机后缀。

就你给出的例子而言,10开头,显然是A类的IP地址,那么你知道前8位是网络前缀,后24位是主机后缀,那么它的子网掩码就是255000

ip地址不能转换成子网掩码。

ip地址与子网掩码是两个不同的东西,之间没有对应关系,无法换算。一个ip地址可以分为两部分,前面的某一部分为网络号,后面的为机器号。如:19216815/2552552550表示网络号是1921681,机器号是5,这个网络内可以有254台电脑;而19216815/25525500,表示网络号是192168,机器号是15(实际是261号),这个网络可以有6万5千多台机器。如用二进制表示,子网掩码的前半部分都是1,后半部分都是0,ip地址也同样用二进制1、0表示,则掩码1对应的ip部分叫做网络号,0对应的叫机器号。划分网络号,对内部的广播信号非常重要。

IP地址(IP Address)的概念及其子网掩码(Subnet Mask)的计算对于首次学习网络知识的初学者来说是一件比较困难的事情。下文所述的是我个人的一些心得,望大家指正。

按照目前使用的IPv4的规定,对IP地址强行定义了一些保留地址,即:“网络地址”和“广播地址”。所谓“网络地址”就是指“主机号”全为“0”的IP地址,如:125000(A类地址);而“广播地址”就是指“主机号”全为“255”时的IP地址,如:125255255255(A类地址)。

而子网掩码,则是用来标识两个IP地址是否同属于一个子网。它也是一组32位长的二进制数值,其每一位上的数值代表不同含义:为“1”则代表该位是网络位;若为“0”则代表该位是主机位。和IP地址一样,人们同样使用“点式十进制”来表示子网掩码,如:25525500。

如果两个IP地址分别与同一个子网掩码进行按位“与”计算后得到相同的结果,即表明这两个IP地址处于同一个子网中。也就是说,使用这两个IP 地址的两台计算机就像同一单位中的不同部门,虽然它们的作用、功能、乃至地理位置都可能不尽相同,但是它们都处于同一个网络中。

子网掩码计算方法

自从各种类型的网络投入各种应用以来,网络就以不可思议的速度进行大规模的扩张,目前正在使用的IPv4也逐渐暴露出了它的弊端,即:网络号占位太多,而主机号位太少。目前最常用的一种解决办法是对一个较高类别的IP地址进行细划,划分成多个子网,然后再将不同的子网提供给不同规模大小的用户群使用。使用这种方法时,为了能有效地提高IP地址的利用率,主要是通过对IP地址中的“主机号”的高位部分取出作为子网号,从通常的“网络号”界限中扩展或压缩子网掩码,用来创建一定数目的某类IP地址的子网。当然,创建的子网数越多,在每个子网上的可用主机地址的数目也就会相应减少。

要计算某一个IP地址的子网掩码,可以分以下两种情况来分别考虑。

第一种情况:

无须划分成子网的IP地址。

一般来说,此时计算该IP地址的子网掩码非常地简单,可按照其定义就可写出。例如:某个IP地址为1226430,无须再分割子网,按照定义我们可以知道它是一个A类地址,其子网掩码应该是255000;若此IP地址是一个B类地址,则其子网掩码应该为25525500;如果它是C类地址,则其子网掩码为2552552550。其它类推。

第二种情况:

要划分成子网的IP地址。

在这种情况下,如何方便快捷地对于一个IP地址进行划分,准确地计算每个子网的掩码,方法的选择很重要。下面我介绍两种比较便捷的方法:

当然,在求子网掩码之前必须先清楚要划分的子网数目,以及每个子网内的所需主机数目。

方法一:利用子网数来计算。

1首先,将子网数目从十进制数转化为二进制数;

2接着,统计由“1”得到的二进制数的位数,设为N;

3最后,先求出此IP地址对应的地址类别的子网掩码。再将求出的子网掩码的主机地址部分(也就是“主机号”)的前N位全部置1,这样即可得出该IP地址划分子网的子网掩码。

例如:需将B类IP地址16719400划分成28个子网:

1)(28)10=(11100)2;

2)此二进制的位数是5,则N=5;

3)此IP地址为B类地址,而B类地址的子网掩码是25525500,且B类地址的主机地址是后2位(即0-2551-254)。于是将子网掩码25525500中的主机地址前5位全部置1,就可得到2552552480,而这组数值就是划分成 28个子网的B类IP地址 16719400的子网掩码。

方法二:利用主机数来计算。

1首先,将主机数目从十进制数转化为二进制数;

2接着,如果主机数小于或等于254(注意:应去掉保留的两个IP地址),则统计由“1”中得到的二进制数的位数,设为N;如果主机数大于 254,则 N>8,也就是说主机地址将超过8位;

3最后,使用255255255255将此类IP地址的主机地址位数全部置为1,然后按照“从后向前”的顺序将N位全部置为0,所得到的数值即为所求的子网掩码值。

例如:需将B类IP地址16719400划分成若干个子网,每个子网内有主机500台:

1)(500)10=(111110100)2;

2)此二进制的位数是9,则N=9;

3)将该B类地址的子网掩码255 25500的主机地址全部置 1,得到255255255255。然后再从后向前将后9位置0,可得:11111111 111111111111111000000000即2552552540。这组数值就是划分成主机为500台的B类IP地址 16719400的子网掩码。

以上就是关于如何根据ip地址块求子网掩码全部的内容,包括:如何根据ip地址块求子网掩码、给出一个IP地址,怎么算出子网掩码、IP地址怎么转换成子网掩码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9412033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存