有时为了表达方便,会将IP地址用掩码长度连接起来,以代替分隔开的IP地址(127.0.0.1)和网络掩码(255.255.255.255)。全球协议标准管理机构IETF规定,二进制掩码的长度只要其中有1。网段怎么算?只要把IP地址和掩码都转换成二进制,然后进行逐位and运算,就可以得到网段。
这是一道网络初学者非常经典的问题,万事开头难,咱们从最简单的开始讲起。24/27/32位掩码长度是怎么来的?32位掩码长度IP地址 = 127.0.0.1网络掩码 = 255.255.255.255网络掩码“255.255.255.255”,这是十进制的表达方式,之所以这样表达是为了人类的阅读、配置便利。
十进制的“255”= 二进制的“11111111”所以,十进制掩码的“255.255.255.255”= 二进制掩码的“11111111. 11111111. 11111111. 11111111”。这个二进制掩码一共多少个1呢?一共32位。全球协议标准管理机构IETF规定,二进制掩码有多少个1,掩码长度就为多少。
很显然,这个例子的掩码长度为32。有时为了表达的便利性,会将IP地址与掩码长度连接在一起,用于代替分离的IP地址(127.0.0.1)、网络掩码(255.255.255.255)。比如,127.0.0.1/32,中间的“/”为分隔符。27位掩码长度大家知道了掩码长度的由来,10.1.1.200/27代表什么意思?IP地址= 10.1.1.200网络掩码= 255.255.255.224上面的网络掩码怎么得到的?由于掩码长度为27,二进制的表达方式为:“11111111. 11111111. 11111111. 11100000”正好27个1,把这个二级制的掩码换算成十进制的即为“255.255.255.224”。
如果你掌握了这个换算公式,那么计算掩码长度是24还是16就非常容易了。最后一个问题,10.1.1.200/27和10.1.1.20/27可以不通过网关转发直接通信吗?不要!前者的网段是10.1.1.192,后者的网段是10.1.1.0。两者的网段不同,必须通过网关转发,才能互通。网段怎么算?只要把IP地址和掩码都转换成二进制,然后进行逐位and运算,就可以得到网段。