非常感谢各位小伙伴的支持,昨天头条号通过了优质领域创作者认证,这是对我十几天认真分享网络知识的认可。后续我会继续给大家分享高质量的网络知识,希望小伙伴还能一如既往的继续多持我,帮忙多点赞和转发。后面我还会分享路由、交换、MPLS、VPN、QoS等方面的内容。
同时各位小伙伴有什么需求,可以留言提出来,我会尽量的满足,今天的文章就是为了回报一位粉丝的支持而写的!
概述划分子网是任何一个网络工程师都必须掌握的基本技能,但由于在工作中经常使用24位掩码,在加上网络上有很多小工具可以自动计算,所以很多小伙伴都已经丧失了手工划分子网的能力。但我们作为一个高手,还是要具备手工划分子网能力的。
其实手工划分子网并不复杂,只需要记住3个部分、2个地址、1个公式,就可以轻松的划分子网。下面我们一起来看一下!
划分子网原因Classful地址
我们都知道IP地址分为A、B、C、D、E五类Classfull地址,但通常我们只使用A、B、C类地址来划分子网,因为D类地址用于组播,E类地址暂时保留不用。
如上图所示,classful地址只包含两部分:network和host。一个A类地址可以包含的主机有16,777,214 (2的24次方-2 )个,这要是分配给一个组织和公司,是极大的浪费,因为没有公司能用完这么多地址。即使一个C类地址也包含254个可用的IP,这对于公网地址短缺的现状,全部分配给一个公司仍然是太多了。
看到这里,有的小伙伴可能会说,在公司都是使用的是私有地址,随便分配一个8网段的A类地址,就足够整个公司使用,不存在地址不够一说。那么这么想的小伙伴一定没有注意另外2个问题:
问题1:网络中的无用流量对带宽的占用
我们知道,一台主机为了和其它主机进行通信,会发送一些的报文,最典型的就是ARP报文。平常可能我们感知不太明显,因为我们所在的网络规模一般都很小。
但是假设网络中有1万台主机,一台主机发送的ARP报文,交换机会转发给剩下的9999台主机,交换机每秒需要发送9999个ARP报文。在极端情况下,所有的主机之间都互相通信,那么网络带宽很快就会被这些无用的流量占用满的。
问题2:所有的PC都要处理其它PC发送的无用流量;
接上面的例子,一台主机发送的ARP请求报文,只对于目标主机是有用的,对于剩下的9998都是无用的,收到以后就会丢弃。但是这9998台主机收到ARP报文以后,都需要处理,它要判断这个ARP是否是请求自己的MAC地址,这也会消耗主机的资源。网络规模越大,这种消耗越明显,对电脑的运行速度影响也就会越大。
所以在工作中,在网络规模比较小,几台PC怎么连都可以,不需要考虑划分子网。但是在较大的网络中,我们都是要划分子网的,不会把所有的PC都分在同一个网段。
据我观察,越是大型的公司,对子网划分越严格要求,不浪费一个地址是他们追求的目标。这就要求我们也要掌握划分子网这项技能,后面咋们也是需要去大公司镀金的,不能老是在小公司,对我们的职业生涯没有好处。
划分子网的3个部分,2个地址3个部分
上面我们已经看到了,对于一个classful地址来说,它由二部分组成:network和host。
而划分子网本质是从host拿出一部分出来,作为network;拿出的这一部分network,我们称它为subnet(子网),所以IP地址就变成了三部分:network、subnet、host,如下图所示:
IP地址变成三部分
2个地址
对于任何一个IP地址来说,都有两个与它对应的特殊IP地址,一个是网络ID(network ID),一个是网络广播IP,这两个地址是天生存在的。
例如对于192.168.1.10 255.255.255.0 这个地址来说,它的网络ID是192.168.1.0,对应的广播地址是192.168.1.255。
对于上面这种24位的掩码的地址来说,比较简单,我们一眼就能看出,但是这个是怎么计算的呢?因为如果是稍微复杂的地址,我们就看不出来了,例如192.168.1.72 255.255.255.240,这个IP对应的网络ID和广播地址各是多少呢?
网络ID计算
我先来看一下网络ID的定义:用来唯一的标识一个网段,所有在同一个网段上的主机使用相同的网络。
计算网络ID有多种方式,我教大家一种比较常用的方式,其步骤如下:
步骤1:首先把IP地址和子网掩码的后8位都化为2进制,如下图所示:
后8位化为2进制
步骤2:我们知道子网掩码用来标识一个IP地址的网络ID长度的,使用1来表示,而使用0来表示主机;把掩码和IP进行“相与”操作,就可以得到网络ID了,如下图所示: