划分子网和超网
-
前提:
如果我们清楚A,B,C类网络比较好理解,简单说一下。
IPV4:IP为网络号加主机号总共为
32位
。A类: 网络号(8位) 【0开头】+ 主机号(24位)
B类: 网络号(16位)【10 开头】 + 主机号(16位)
C类: 网络号(24位)【110开头】 + 主机号(8位)
A类网络可以支持的主机数量:224 =
16_777_216
个主机,较多,一般企业或公司用不到这么多。B类网络可以支持的主机数量:216 =
65536
个主机,还好,一般企业可以采用这个。C类网络可以支持的主机数量:28 =
256
个主机,较少。实际上,由于IP的主机号全为0和IP主机号全为1有特殊含义,为0代表改网段,为1代表所有主机(所以可以用主机号全为1来发本地的广播,不经过路由器),这么说的话,每一类地址可用的主机数都要再减去2。
-
原因
问题引入:此时,分析发现,如果当前企业A需要有1000台主机,网络分配局该给企业A分配什么种类的网络呢?
刚开始解决方案:C类太少不够用,肯定不可以;B类太多,不过能用。所以就选择B类分配给当前企业A。
久而久之,网络局就发现不能这样分啊,企业都觉得C类地址少,A类地址太大,都要B类地址,B类很快就分完了。
-
解决:
-
划分子网:
将一部分主机号划分给网络号,这样就可以减少可以支持的主机数量了,从而减少浪费。
多说无益,来实例分析:
128 64 32 16 / 8 4 2 1
(2n8位对照表)题目由于个人实验中采用的是C类地址,比较容易分析,所以我们以一个C类地址为例子来进行分析吧。
当前有网络:
192.168.18.0
(C类)我们需要将其划分给四个小型零售商,由于零售商的主机数量不多,所以我们需要将C类地址进行划分子网,以防止浪费。
IP:
192.168.18.0
=>1100_0000.1010_1000.0001_0010.0000_0000
子网掩码:
255.255.255.0
=>1111_1111.1111_1111.1111_1111.0000_0000
(子网掩码使用1来表示IP地址的网络位,0来表示IP地址主机位)(业界极力推荐子网掩码的1位连续,可以减少出错的可能)
(化为2进制,个人以加点方式分割,便于观察和理解)
解法由于前面24位都是网络号,后面8位为主机号。此时,要将主机号分几位给网络号,观察形式,(由于上面提到的业界推荐)我们只能将主机号前几位划分给网络号。
因为我们需要划分为4个子网,log2(4) = 2。(因为是2进制,所以使用log2)。
所以将主机号的前两位用来划给主机,这样的话:由于变动只涉及IP最后一位。所以我们只分析最后一位
IP:
0000_0000
子网掩码:
0000_0000
划分的四个子网根据划分的主机前两位进行枚举所有情况,所以IP的最后一位如下表,同时所对应的子网掩码,由于1代表网络位,0代表主机位,主机位少了两位,少的两位高位变为网络位,所以应为为:
255.255.255.192
。IP最后一位 最终对应IP网段 0000_0000
192.168.18.0 0100_0000
192.168.18.64 1000_0000
192.168.18.128 1100_0000
192.168.18.192 -
合并超网:
同样,由于C类地址所支持的主机数量不够,假设B类分完了,此时我们采用合并几个C类地址为1个大的IP地址,以支持更多的主机。所以我们就需要把网络位划分给主机位。而且这样,我们可以减少路由表所需要映射的路由数量。(下文分析如何减少)
同样,上实例:
还是四个零售商(为啥跟零售商过不去呢?手动黑人问号。其实我不会告诉你们是因为四个零售商发现他们血脉相连是一家,所以要合并啦)。
那我就可以随便合并IP网段吗?
不不不。因为我们要保证业界的规定,所以我们尽量保证子网掩码的1位是连续的,这样就造成了,我们必须这样做,要合并的IP要划给主机号的部分必须是全部情况枚举的,网络号也要相等,什么意思呢?
例如:合并这样的四个IP:
IP IP第三位的二进制 192.168.1.0 0000_0001 192.168.2.0 0000_0010 192.168.3.0 0000_0011 192.168.4.0 0000_0100 我们发现,其要分配给主机的最后两位确实是符合了两位二进制的全部情况,但是最后一个IP第三位的二进制的
0000_0100
的倒数第三位和其他的IP不同,所以不可以合并。但是我们如果把最后一个IP改为
192.168.0.0
这样就可以了哦。IP IP第三位的二进制 192.168.0.0 0000_0000 192.168.1.0 0000_0001 192.168.2.0 0000_0010 192.168.3.0 0000_0011
发现要分配的后两位符合两位二进制的所有枚举情况,网络位也都相等。
所以合并之后的对外IP为
192.168.0.0
网段,而对应的子网掩码,由于网络位分给主机位两位,所以:子网掩码第三位 对外的子网掩码 1111_1100 255.255.252.0 好了,喜大普奔了,合并完成。这样,我们的网关路由器所可以接受的网段对外就是
192.168.0.0
,子网掩码255.255.252.0
了。对外,由于我们需要不精确的匹配,也就是只要符合
255.255.252.0
=>(第三位是)1111_1100
即可,那就相当于后两位网络位无论是什么都可以匹配上,所以,对外部非直接交付的路由,我们统一按照IP为192.168.0.0,子网掩码为255.255.252.0即可(选0.0是因为这样代表网段,当然别的也可以1.0;2.0;3.0。因为和子网掩码&
完之后结果都一样,但是选网段显得更加规范一些)。相当于.0;.1;.2;.3
都可以匹配上,本地可以直接交付的网关,根据转发进来的路由,开始进行精确匹配,所以我们内部的PC机IP的子网掩码为255.255.255.0
。思想为:本来其他路由器可能需要在他们的路由映射表中加上这四个IP对应的下一跳地址,此时我们合并后,对外就只需要一个IP即可,对内部还是四个IP,路由器根据接口对应的网段,转发给不同的内部所对应的主机。
-
个人如有描述有误的地方,请斧正。