本文为转载后稍加变动后作为笔记存在于此,附原文链接:https://blog.csdn.net/yyyljw/article/details/100031478
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.0.0.0 255.255.0.0 255.255.255.0
子网掩码通常有十进制和二级制两种表现形式,255.255.0.0用二进制表示则为1111111.11111111.00000000.00000000,其中,前面2个字节的16位“1”表示网络号,后面2个字节的16位“0”表示主机号。
IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。 全0和全1的都保留不用。
A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。
B类:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。
C类:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。
D类:是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户 。
E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。
当配合IP地址191.168.0.4使用时,则表示该IP地址是B类地址,191.168是网络标识,0.4是主机标识。也即子网掩码AND IP地址的部分是网络标识,子网掩码取反后AND IP地址的部分即为主机标识。
在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0~172.31.255.255
C类地址:192.168.0.0~192.168.255.255
回送地址:127.0.0.1。 也是本机地址,等效于localhost或本机IP。一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。
子网掩码有两个特殊地址,当子网掩码的主机地址全为0时,表示该网络地址,当子网掩码的主机地址全为1时,表示该网络的广播地址。
例1 不同子网下的主机能否直接通信
假设两个IP地址分别是192.168.31.2和192.168.32.2,子网掩码都是255.255.255.0。
我们可以知道两者的网络标识分别是192.168.31和192.168.32,无法直接通信,也就无法PING通。要想能相互通信,需要将子网掩码改成255.255.0.0。
例2 如何确定子网掩码
1)将主机数目转化为二进制来表示,总位数是N;
2)将掩码地址全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
如欲将B类IP地址191.168.0.0划分成若干子网,每个子网内有主机300台:
1)300=100101100,该二进制为九位数,N = 9
2)将子网掩码255.255.255.255从后向前的9位全部置0,即为: 11111111.11111111.11111110.00000000,也即255.255.254.0。
255.255.254.0就是191.168.0.0的300台主机的子网掩码了。
例3 如何理解192.168.1.0/24或者192.168.1.0/16
上文中的24代表主机ID的掩码地址长度,从前往后有24位,即子网掩码的地址是11111111.11111111.11111111.00000000,即255.255.255.0。
后者则从前往后有16位,即11111111.11111111.00000000.00000000,即255.255.0.0。