1.网络掩码的定义
在百度百科中,网络掩码(subnet mask)被定义为:一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。
简单来说,网络掩码就是一个32位地址,以连续的1开头,并以连续的0补全的位掩码。通过和IP地址进行按位与,以区别ip的网段号和主机号。
2.网络掩码的作用
怎么用网络掩码来计算网段号和主机号呢?举个例子,IP地址:192.168.100.2/24。这其中,24标记的就是网络掩码,掩码的前24位均为1,其余8位为0。通过掩码与IP地址的按位与,我们可以得出,网段号是:192.168.100.0,主机号是2。
因此,很容易算出192.168.100.2/24和192.168.100.254/24的网络号都是192.168.100.0,它们是同一个网段。
3.掩码与设备通连
互联网就是由一个一个这样的网段组合起来的。其中,相同网段的主机通过arp广播获取对方MAC地址就可以通信了。而不在一个网段就必须通过网关,否则就算直连也无法通讯。
我们已经介绍过,网段号正是通过网络掩码来计算的,那么有两个问题:
问题一:主机192.168.1.129/24可以ping通直连的192.168.1.130/25的主机吗?
问题二:主机192.168.1.1/24可以ping通直连的192.168.1.130/25的主机吗?
要解答这两个问题,需要记住下面这个重要原则 :
网络掩码本地有效原则,也就是说网络掩码只能由本设备自己使用。如果对方告诉网络掩码,一般直接忽略就可以了。
例如,两台主机直连