子网掩码的作用和用法

    xiaoxiao2023-10-21  33

     

    从前有一个地主,有256间房子,地主家的门牌号码是“192.168.1”,那么他家第一间房子的门牌号码是192.168.1.0,第二间是192.168.1.1,…第256间的编号是192.168.1.255。

    地主老了,需要把256间房子分给4个儿子,平均分配,每个儿子可以分64间。

    请来一位先生主持公道,先生这么来操作: 192.168.1.0-192.168.1.63 分给大儿子 192.168.1.64-192.168.1.127 分给二儿子 192.168.1.128 -192.168.1.191 分给三儿子 192.168.1.192-192.168.1.255 分给四儿子

    那如何来描述四个儿子的子网网段呢? 192.168.1.0/26 192.168.1.64/26 192.168.1.128/26 192.168.1.192/26

    /26是什么鬼? 255.255.255.192的二进制是多少? “11111111-11111111-11111111-11”大家数数一共多少个1?不用数了,是26个1,为了简化子网掩码的表示,用/26代替255.255.255.192。

    按位与运算 我们来看大儿子的网段192.168.1.0/26是如何得到的?

    以大儿子的房间为例: 192.168.1.0-192.168.1.63

    二进制表示: 192.168.1.0

    11000000.10101000.00000001.00000000

    192.168.1.63

    11000000.10101000.00000001.00111111

    首尾地址完全相同的是多少? 11000000.10101000.00000001.00

    数数一共多少位?26位!那么用这个“192.168.1.0/26”就可以表示大儿子所有房间。

    对照房间的门牌号码“192.168.1.199”,很显然属于四儿子的。

    一个主机192.168.1.199/26 能否和直连主机192.168.1.200/24 通信?可以的,因为都是四儿子的房间。

    一个主机192.168.1.199/26 能否和直连主机 192.168.1.1/24 通信? 不可以,因为一个是大儿子的房间,一个是四儿子的房间,无法直连通信!

    =============================================================================

    作者:纪言 链接:https://www.zhihu.com/question/56895036/answer/447915532 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。  

    首先子网掩码这名字取得很好,它是用来划分子网的网段和遮掩部分IP地址。换个说法就是:它是用来划分IP地址中哪一部分是网络号,哪一部分是机器号(这话教科书里写的)。

    那么,问题来了 :

    怎么划分子网网段?

    为什么要遮掩IP地址?怎么个遮掩法?

    现在我们有这么个IP地址:192.168.1.129

    我们并不知道它的网络号,也不知道它属于哪部分子网网段。我们现在就需要一个东西来划分出子网网段,这个东西就叫:子网掩码。

    再,我们给出具体子网掩码:255.255.255.0

    什么要这么给?因为子网掩码的长度要和IP地址相同32位,每8位预先被划分为一段。255的二进制就是1111 1111。

    那么我们把子网掩码设置为255.255.255.193行不行?

    这需要看它的二进制,子网掩码还需要满足一个条件才可以使用:它的二进制中1和0必须是连续的。

    255.255.255.193的二进制:

    1111 1111.1111 1111.1111 1111.1100 0001

    可以看出它1并不连续,所以255.255.255.193不能作为子网掩码使用。

    255.255.255.0就很符合条件。

    那子网掩码怎么用?

    答:用乘法来遮掩IP地址。1×1=1、1×0=0、0×0=0、0×1=0

    IP地址:192.168.1.129

    二进制:

    1100 0000.1010 1000.0000 0001.1000 0001

    子网掩码:255.255.255.0

    二进制:

    1111 1111.1111 1111.1111 1111.0000 0000

    计算:

    1100 0000.1010 1000.0000 0001.1000 0001 1111 1111.1111 1111.1111 1111.0000 0000 ———————————————————— 1100 0000.1010 1000.0000 0001.0000 0000

    计算后的这段二进制代码相比于原来的IP地址,后面8位被用0遮掩了。

    为什么要遮掩?因为我们不必关心后面8位是1还是0了。子网网段已经被划分出来了。

    1100 0000.1010 1000.0000 0001.0000 0000的十进制:192.168.1.0

    也就是说,从192.168.1.0到192.168.1.255都是同一个子网网段,里面的0—255号可以分配给不同的机器。

    0—255号都是机器的号码,IP地址显示的就是其中129号。

    192.168.1.0就是所谓的网络号,也可以写作192.168.1或者192.168.1.0\24(24指的是IP地址中有24位未被遮掩)

    IP地址的意思就很明白了,网段(网络号)加上机器号码。同一个IP地址根据不同子网掩码,会划分出不同的网络号和机器号。

     

    —————————————————————————————————————

     

    但是,现在就出现了个问题,我子网掩码的最后8位全是0,要是最后8位不全为0怎么办?又是什么意思呢?

    现在我们就要看上面子网掩码为255.255.255.0的时候机器号码是从0到255的,那如果我想在0到255里再划分一部分呢?

    给出新IP地址:192.168.1.188 再给出新的子网掩码:255.255.255.224

    现在IP的网络号就不是192.168.1.0了,不再是网段192.168.1.0到192.168.1.255了

    1100 0000.1010 1000.0000 0001.1011 1100 1111 1111.1111 1111.1111 1111.1110 0000 ———————————————————— 1100 0000.1010 1000.0000 0001.1010 0000

    不再是24位未被遮掩了,而是27位未被遮掩。被遮掩的后5位,我们不必再关心它是1还是0了。

    这就意味着:后5位不论怎么变换,都是在同一个网段里。

    后5位的变化是在

    1100 0000.1010 1000.0000 0001.1010 0000

    1100 0000.1010 1000.0000 0001.1011 1111

    之间的。

    它的十进制:192.168.1.160到192.168.1.191是由新的子网掩码划分出来的子网网段。

    我们称192.168.1.160\27是它的网络号,它的机器号是在160到191之间任意分配出去。之前的IP地址:192.168.1.188属于其中。

    总结:子网掩码就是用来遮掩IP地址并划分网段的工具,根据遮掩的位数不同来划分不同的网段。

    =========================================================================================

    1、子网掩码的作用

    在设置电脑IP时,会碰到两个重要的参数,一个是IP地址,一个是子网掩码。IP地址是互联网上每个子网或每个主机在网络上的唯一身份标签,那子网掩码是干什么用的呢?

    随着互联网的发展,越来越多的网络产生,有的网络多则几百台主机,少则区区几台,这样就浪费了大量的IP地址,所以要划分子网。为了有序地区分和管理不同的子网,就需要使用子网掩码。

    子网掩码是一种用来指明一个IP地址所标示的主机处于哪个子网中。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

    2、子网掩码的用法

    子网掩码是一个32位地址,对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。

    子网掩码通常有十进制和二级制两种表现形式,255.255.0.0用二进制表示则为1111111.11111111.00000000.00000000,其中,前面2个字节的16位“1”表示网络号,后面2个字节的16位“0”表示主机号。

    当配合IP地址172.20.0.4使用时,则表示该IP地址是B类地址,172.20是网络标识,0.4是主机标识。也即子网掩码AND IP地址的部分是网络标识,子网掩码取反后AND IP地址的部分即为主机标识。

    子网掩码有两个特殊地址,当子网掩码的主机地址全为0时,表示该网络地址,当子网掩码的主机地址全为1时,表示该网络的广播地址。

     

    例1 不同子网下的主机能否直接通信

    假设两个IP地址分别是172.20.0.18和172.20.1.16,子网掩码都是255.255.255.0。

    我们可以知道两者的网络标识分别是172.20.0和172.20.1,无法直接通信,也就无法PING通。要想能相互通信,需要将子网掩码改成255.255.0.0。

     

    例2 如何确定子网掩码

    1)将主机数目转化为二进制来表示,总位数是N;

    2)将掩码地址全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。

    如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:

    1)700=1010111100,该二进制为十位数,N = 10

    2)将子网掩码255.255.255.255从后向前的10位全部置0,即为: 11111111.11111111.11111100.00000000,也即255.255.252.0。

    255.255.252.0就是168.195.0.0的700台主机的子网掩码了。

     

    例3 如何理解172.20.1.0/26

    上文中的26代表主机ID的掩码地址长度,从前往后有26位,即子网掩码的地址是255.255.255.192。

     

     

     

    参考:

    链接:https://blog.csdn.net/kongguguren/article/details/79427465

    链接:https://www.zhihu.com/question/56895036/answer/150953183

    最新回复(0)