标签:linux
划分子网,划分超网
目录
四、划分超网
这次我们以两个例子来分析怎样划分子网,划分超网,在例子前,先补充一些关于ip地址的知识。
A类 前8位网络ID,24位主机ID ,且网络的第一位固定为0
网络数:2^7-2=126
0 000 0000 - 0 111 1111: 1-126
00000000.0.0.0代表无地址,不能用
127.A.B.C(回环地址,就是自己ping自己)127字段都代表本机地址,不能用
每个网络中的主机数: 2^24-2
01000000.0.0.0 代表该网络
01000000.11111111.11111111.11111111代表该网络的广播
B类 前16位网络ID,16位主机ID,且网络的前两位固定为10
网络数: 2^14
10 00 0000 -10 11 1111: 128-191
每个网络中的主机数: 2^16-2=65534
C类 前24位网络ID,8位主机ID ,且网络的前两位固定为110
网络数: 2^21 =2097152
110 0 0000 - 1101 1111: 192-223
每个网络中的主机数: 2^8-2=254
D类:组播
1110 0000 - 1110 1111: 224-239
E类:保留
240-255
255.255.255.255 代表全网广播
但是这种划分方式有些不合理,我们知道路由器可以划分网络,可以看一下下图。
这个图中路由器R1和R2分成了三个网络,网络1,网络2,网络3,如果想要给网络2中接口1和接口2 分连个ip地址,假如申请一个最小主机数的网络—C类网络,而一个C类网络可以有254个主机,即254个ip地址,只用两个,剩下的252个就浪费掉了,所以有了新的网络ip划分,无类域间路由(CIDR)表示法:ip/网络ID位数
例如一个网络为192.100.0.200/8
这个代表的意思是,这个ip所在的网络ID有8位,所在网络为192.0.0.0
子网掩码为255.0.0.0
无类域间路由(CIDR)表示法需要配合子网掩码使用。
可以参考下图,对于二级制,十进制之间的转换会变得简单
子网掩码:共32位,对应网络ID位为1,对应主机ID为0
例如:A类网络的前8位为网络ID,即前8位为1,后面的主机位为0
网络所以子网掩码为11111111.00000000.00000000.00000000
换成十进制即255.0.0.0
B类网络的前16位为网络ID
子网掩码为:11111111.11111111.00000000.0000000
十进制:255.255.0.0
C类的前24位为网络ID
子网掩码为:11111111.11111111.1111111.00000000
十进制:255.255.255.0
主机数=2^主机ID位-2
网络数=2^可变的网络ID位
网络ID=IP和netmask(子网掩码) 相与
划分子网数=2^网络ID向主机ID借的位数
不是采用传统的A、B、C类网络,划分子网:将一个大网络(主机ID位多)划分多个小的网络(主机ID位少),网络ID向主机ID借位,网络ID变多,主机ID变少
例子1:一家公司申请到了一个网络172.0.0.0/8 ,该公司下有16个分公司,该公司想要每个分公司有不同的网络,怎样划分?
172.0.0.0/8 可以知道该网络的网络ID有8位,主机ID有24位,
如果想要划分16个分公司。根据,上面的公式2^4=16所以网络ID要向主机ID借4位
10100010.0000 0000.000000000.00000000
原来网络ID为8位,现在前12位变成了网络ID,后面20位是主机ID,所以
这16个网络如下,每8位中间的.分隔开仅仅是为了方便人类阅读,所以在借位时,可以忽略.只是在写法上以8位为间隔
10100010.0000 0000.0.0/12 172.0.0.0/12第1个子网ID
10100010.0001 0000.0.0/12 172.16.0.0/12第2个子网ID
10100010.0010 0000.0.0/12 172.32.0.0/12第3个子网ID
……
10100010.1110 0000.0.0/12 172.224.0.0/12 第12个子网ID
10100010.1111 0000.0.0/12 172.240.0.0/12第16个子网ID
(1)每个子网络的子网掩码
11111111.11110000.00000000.00000000
即网络ID位为1,主机ID位为0
十进制:255.240.0.0
(2)每个子网络的主机数
每个网络的主机数为20位,所以主机数为2^20-2= 1048574
(3)最小子网的netid
172.0.0.0/12
(4)最大子网的IP范围
第16个子网ID 172.240.0.0/12
ip范围最小 172.11110000.00000000.00000001 172.240.0.1
最大 172.11111 1111.11111111.11111110 172.255.255.254
该网络中172.240.0.0 代表该网络
172.255.255.255 代表该网络的广播
所以该网络的ip地址范围为 172.240.0.1—172.255.255.254
例子2:如果公司的第16个分公司下面有32个部门,想要不同的部门也有不同的网络,该怎样划 分。
从上面的分网络中,我们知道第十六个分公司的网络ID为172.240.0.0/12,即在这个网络上再划分32个子网。那么需要网络ID向主机ID借5位。即
172.11110000.0 000000.00000000
网络ID 17位 主机ID 15位
(1)所以每个子网的子网掩码为 11111111.11111111.10000000.0000000
即 255.255.128.0
(2)这32个网络为
172.11110000.0000000.00000000 172.240.0.0/17第1个子网ID
172.11110000.1000000.00000000 172.240.128.0/17第2个子网ID
……
172.11111111.0000000.00000000 172.255.0.0/17第2个子网ID
172.11111111.1000000.00000000 172.255.128.0/17第16个子网ID
(3)每个网络的主机数
主机ID为15位,即2^15-2=32766
划分超网:将多个小网合并一个大网,主机ID向网络ID借位
例如如果一个公司有以下多个网络,如果其他网络要访问这几个网络时,路由器要记住很多的网络,增加任务量,所以一般把这几个网络合成一个网络,找到大网络后,让大网络去找小网络,这样就只需要记住一个网络即可。
将这几个网络,转换成2进制,因为前16位一样,所以就只转换中间不同的8位了。
220.78.10101 000.0
220.78.10101 001.0
……
220.78.10101 111.0
可以看出,有下划线的这几位是相同的,主机ID向网络ID借3位,将后面不同的三位借走
所以划分超网后的网络为 220.78.10101 000.0/21
即220.78.178.0/21
划分超网后,被主机借走的位,即后面高亮部分应包含所有的可能结果。假如没有111这个,那么这个网络可能是别人的,不在这个网络。如果直接划分超网的话,会将别人的 网络也划分在该网络了。
标签:linux
原文地址:http://guanm.blog.51cto.com/13126952/1962333