粗糙地说,这其实就是“初代掩码”。
简而言之就是,通过掩码可以判断两个IP是不是同属一个子网,进而决定它们之间的通信是否需要跨网。
一般常见的IPv4由4个字节32比特组成。在这32个比特中有一部分是作为网络ID,即所谓前缀,用以说明当前主机所属网络。另外一部分则作为主机ID,即所谓后缀,用以表示主机在其所属网络中的唯一地址。
而当我们知道一个IP是属于哪个分类之后,就相当于知道了其掩码。而知道了掩码,即意味着知道了该IP前缀的长度,进而也就知道了该IP所属网络的地址。
比如当知道一个IP是C类地址,就相当于知道其子网掩码是255.255.255.0,前缀长度是3个字节,所属网络地址就是前3个字节的值。
另外,A类地址对应掩码是255.0.0.0,前缀长度就是1个字节,所属网络地址就是前1个字节的值。B类地址对应掩码是255.255.0.0,前缀长度是2个字节,所属网络地址则是前2个字节的值。
可是,怎么知道一个IP是属于哪个分类呢?
只用观察这个IP的第一个字节,将其转化为二进制,0开头就是A类,10开头就是B类,110开头就是C类。
觉得十进制转二进制后再判断分类太麻烦,则可以直接记忆首字节二进制对应的十进制区间。比如A类是0到127,B类是128到191,C类则是192到223。
也许有人会质疑,说他看到的B类私有IP掩码就只有12位,C类私有IP掩码只有16位。而本文却说的B类地址掩码是2字节16位,C类地址掩码是3字节24位,这如何解释?
其实这就像我说某人讲粤语的,他应该是广东人。然后你说这人是讲中文的,他是中国人。二者其实是不矛盾的,可以同时存在的。B类地址的16位掩码是包含12位掩码这种情况的,12掩码的子网是16掩码子网汇总后的“超网”。
但要强调一点的是,不能用上述逻辑继续推导认为A类地址是B类地址的超网。即使B类网络通过合并变成前缀为1个字节的超网,它仍旧是B类地址,而非是A类地址,因为分类的标准不是前缀的长度,而是首字节的比特位特征。
简单说就是,B类地址可以推导出IP前缀是2个字节,但IP前缀是两个字节却不能反向推出是B类地址,前者是后者的充分非必要条件。
版权声明:本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服并出示版权证明以便删除!
发表评论