虽说是计算机专业出身,但是不得不说,自己的网络基础差到不行。
于是花了些时间研究了一下子网掩码,主要是研究了一下通过子网掩码判断主机数量
首先,我们需要把子网掩码转为二进制
以255.255.255.0为例,这个是我常见到的子网掩码(以.为分隔符,分为四段,每段为8个1)
其对应的二进制应该是11111111.11111111.11111111.00000000
至于255如何变成11111111,则是因为以2为底,对应位数上的值为1,所在的位置为n,则幂数为n-1,可得下式。以此类推
11111111->2^7+2^6+2^5+2^4+2^3+2^2+2^1+2^0=128+64+32+16+8+4+2+1=255
其次,我们可以发现,最后一段为00000000。8个零,也就是说,我们的主机位为8位(也就是从00000000-11111111),可得
2^8=256
最后,有一个全0(网段地址)和全1(广播地址)的地址不能用,所以,我们需要减去2个ip,则剩余可用主机数为
256-2=254
注:有一种说法是,还有一个网关地址需要减去,即254-1=253
以下这个图可以记一下。另外还有一个特殊的位数,即32位,对应的子网掩码为255.255.255.255,所有位全为1。32位即4*8=32,也就是有多少个1.如24位就是24个1,也就是3*8=24,也就是255.255.255.0