IP与子网掩码
说实话,之前没有注意过,今天我打开自己的办公地电脑,看到我的网络配置如下:
我看到我的子网掩码是255.255.254.0,我就奇怪了,我经常见到的子网掩码都是255.255.255.0啊?难道公司配置错了?
我就想,如果是配置错了,那我应该无法上网啊,那配置肯定没错,只能是我对IP这理解有误,所以我仔细的计算了一下。
以公司网络为例:我的ip是:192.168.110.64,子网掩码是 255.255.254.0
首先,将IP地址和子网掩码转换为二进制:
IP地址:192.168.110.64
二进制:11000000.10101000.01101110.01000000
子网掩码:255.255.254.0
二进制:11111111.11111111.11111110.00000000
这时我们可以看到,子网掩码有连续的23个1,代表网络号是前23位,
然后,对这两个二进制数进行按位"与"运算:
11000000.10101000.01101110.01000000 & 11111111.11111111.11111110.00000000
得到
11000000.10101000.01101110.00000000
所以它第一个ip地址就是
11000000.10101000.01101110.00000001
转换成十进制
192.168.110.1
那么这个时候我们看ip:192.168.111.1 与 192.168.110.1在不在一个网段呢?
192.168.111.1 转换成二进制
11000000.10101000.01101111.00000001
而192.168.110.1的二进制
11000000.10101000.01101110.00000001
我们看它们前23位是一样的,都是
11000000.10101000.0110111
所以他们是一个网段。
到此为止,我也就理解了为什么子网掩码基本都是255.255 这样的开头,它就是为了控制这个网段的ip数量,其实从数学上来讲,就是控制可变位数
上面我的子网掩码是255.255.254.0,那23位的网络号,所以可变位数就变成9位,要比子网掩码是255.255.254.1的网段多了一倍的ip数量。
说白了,子网掩码来确定网段,来确定这个网段能有多少ip,就看可变的位数有多少个。