子网的含义以及子网划分
概述
网络标识相同的计算机必须属于同一个网络,一个B类的IP网络,在理论上是允许六万多台计算机连接的但在实际网络结构中这种一般是不存在的,这样就浪费了资源,套句时髦的话,为解决日益增长的网络设备IP需求与日益减少的网络IP的矛盾和日益增加的网络号与有限空间存储路由的矛盾,因此子网划分应运而生。
子网
在一个有许多物理网络的单位,可以将所属的物理网络划分为N个子网。至于划分几个,这要看单位自己内部需求了,除了本单位外,在外部网络看来,你还是只有一个网络,也就是说这个子网对网络来说是不可见的。而它的划分方法是从网络的主机号借用几位作为子网号,所以主机号也要相应减小同样的位数,在IP和网络分层提过,分类的IP是两级的地址(网络号,主机号),但如今对本单位来说,这个IP地址已经变成三级IP地址了(网络号,子网号,主机号)。现在,有个数据包从外部网络要发给本单位C号子网的某个主机,它会先根据数据报文中目的IP的网络号(划分子网,只是把IP的地址的主机号在划分)找到连接在单位网络上的路由器,然后这个路由器在收到数据包后,按目的网络号和子网号找到这个C号子网,在找到目标主机,然后把数据包交给目的主机。
但现在出现了一个问题,根据数据包里的目的IP地址并不包含子网划分的信息,就是这个路由器怎么会知道是C号子网,而不会是A,B号子网哪。如果有网络的基础知识的话,一定听过一个词,子网掩码。
子网掩码
现在因特网规定,所有的网络都必须使用子网掩码,路由器的路由表也必须有子网掩码这一栏。即使你不划分子网,那也必须有子网掩码(默认子网掩码)。子网掩码用二进制标识,也是一个32位的数字,对应IP地址网络标识部分的位(网络号 + 子网号)全部为1,对应IP地址主机标识的部分都为0,现在,一个IP地址就可以不受自己类别限制,而可以用这样的子网掩码,自由的定位自己的网络标识长度。子网掩码不能单独使用,必须结合IP地址,它屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是局域网还是远程网。141.14.72.24/18(CIDR斜线记法) 这个18 就告诉我们网络号有18位,即18个1
11111111 11111111 01001000 00000000 IP:141.14.72.24
11111111 11111111 11000000 00000000 掩码为 255.255.292.0
11111111 11111111 01000000 00000000 网络地址:141.14.64.0
注意:用相同的IP地址和不同的子网掩码可以得出相同的网络地址,但是不同的掩码的效果是不同的,因为它们子网号和主机号位数是不一样的,所以可划分的子网数和每个子网最大主机数也都是不一样的。
CIDR
给某个网络分配3个C类地址,ISP(地址网络提供商)的路由表就会有三条路由条目,路由表的不断变大,寻址效率不断下降。而且虽然划分子网在一定程序上缓解了IP地址紧张的问题,但最终也将很快全部耗尽,为了解决这些问题和缓解IP地址紧张。于是出现一个折中的办法,那就是无类域间路由,简称CIDR。就以把这三个网段 198.168.1.0 198.168.2.0 198.168.3.0 汇聚成一条路由 198.168.0.0/16(路由聚合),这样ISP的路由表就只记录了一条198.168.0.0/16这一条路由,减少了路由表的条目,但若是ISP连接了一个172.168.96.0的网段,这些网络路由就没办法汇聚。CIRD节省了存储空间加快了查询速度。所以,现在都是用CIDR表示,就是说网络位的个数可以任意指定,同时也兼容早期IP划分的方法。它消除了以前A,B,C,D类地址的和划分子网的概念,使IP地址又从三级(网络号,子网号,主机号)又变回两级编址,不同的是,现在的两级编址是无分类的两级,这样就可以更有效分配IP地址了。
对应位数的子网掩码
255.0.0.0 /8
255.128.0.0 /9
255.192.0.0 /10
255.224.0.0 /11
255.240.0.0 /12
255.248.0.0 /13
255.252.0.0 /14
255.254.0.0 /15
255.255.0.0 /16
255.255.128.0 /17
255.255.192.0 /18
255.255.224.0 /19
255.255.240.0 /20
255.255.248.0 /21
255.255.252.0 /22
255.255.254.0 /23
255.255.255.0 /24
255.255.255.128 /25
255.255.255.192 /26
255.255.255.224 /27
255.255.255.240 /28
255.255.255.248 /29
255.255.255.252 /30
CIDR表示法给出任何的一个IP地址,就可以从这个IP地址中得知一个CIDR地址块,我们随意给出一个代码块 128.101.74.7/20
10000000 01100101 01001010 00000111 IP地址
11111111 11111111 11110000 00000000 子网掩码 255.255.240.0
10000000 01100101 01000000 00000000 最小地址 128.101.64.0
10000000 01100101 01001111 11111111 最大地址 128.101.79.255
因此,这个CIDR地址块可以指派(79-64+1)* 256 – 2 = 4094个地址(去除广播地址和网络号),也就大大缓解了IP地址的压力。
子网划分
在进行子网划分前,要首先明确一个问题,要划分几个子网。
随机对一个网络地址块156.36.23.154/18,进行划分,假设要划分4个子网。
第一步:默认的子网掩码是 11111111 11111111 11000000 00000000
现在要划分两个子网,2的平方刚好是4,说明子网的网络位是2位,14 – 2 = 12 就是子网的主机位
第二步:现在的子网掩码变为 11111111 11111111 11110000 00000000
换成子网掩码则为 255.255.240.0,可用地址有16382个
第一个子网地址 156.36.0.0
第二个子网地址 156.36.16.0
第三个子网地址 156.36.32.0
第四个子网地址 156.36.48.0