李家宏|博客

零基础IP子网划分详解

发布时间:4年前热度: 525 ℃评论数:

本文转载于:http://www.023wg.com/jcpz/294.html

在学习IP子网划分前,首先的明白以下几个基础概念:

1234.png

IP地址组成示意图

     IP地址由32位二进制组成,32位二进制分成了4字节,每字节8位,字节之间用符.(点)分隔,为了方便人们记忆,经常需要转换成十进制数字显示,每字节最大为255(十进制)即二进制表示为11111111(8个1)。

如255.255.255.128转换成二进制结果如下(具体转换方法后面介绍,也可以用在线转换工具转换http://www.023wg.com/jinzhi/),

11111111.11111111.11111111.10000000

那么255对应11111111是怎么来的呢,方法就是255除以2取余数(余数只有1或0两种,小学我们就学过除法哦)直到除尽为止,取余数时最后一个剩余数放左边,余数从后往前依次排列。

如255/2=127余1

127/2=63余1

63/2=31余1

31/2=15余1

15/2=7余1

7/2=3余1

3/2=1余1

还剩1

依次最后一个剩余数放左边到→排列为11111111。

再举例128的二进制10000000如何得来的,按照前面的算法规则,

128/2=64余0

64/2=32余0

32/2=16余0

16/2=8余0

8/2=4余0

4/2=2余0

2/2=1余0

还剩1

依次最后一个余数放左边得出10000000,这里有个注意点不知大家发现没有,十进制转二进制时最后都是剩余数1哦。

提问,请大家算出64的二进制是多少?看到这里大家知道为什么每字节最大为255了吗?答案可进认证网络工程师QQ群474079428获取。

那么二进制转成十进制如何计算呢?我们后面再介绍。

 

2、默认子网掩码

A类网络的默认子网掩码为255.0.0.0,B类网络的默认子网掩码为255.255.0.0,C类网络的默认子网掩码为255.255.255.0,至于为什么是这样,答案可以说是RFC规定的,也可以是…..哦,解释起来好像有点长,大家可以进群聊聊或搞懂本文的主题后再去了解也行,暂时记住这三类就行了。

 

3、理解2的幂

2的幂也称为2的指数,还称为2的次方,如2的2次方、2的3次方等等,大家记住下面的2的幂的结果,不需要死记硬背,有记忆技巧,后面介绍。

1=2

22=4

23=8

24=16

25=32

26=64

27=128

28=256

记忆技巧,不知大家发现没,由于是2的幂,所有相邻的幂的前后都是相差2倍,所以只要知道其中一个幂值,就知道相邻的幂的值。

理解了2的幂,那么我们来回答前面的问题,二进制如何计算转换成十进制数。同样举例,11111111转成十进制如何计算呢?

从右往左开始依次以每位二进制数值×2的0次幂、2的1此幂、2的2此幂依次类推,算出结果相加得到的和就是十进制数。

1×20+1×21+1×22+1×23+1×24+1×25+1×26+1×27=1+2+4+8+16+32+64+128=255,这里0次方到7次方刚好8位,注意任何的0次方都是1哦。

再举例,11100000

0×20+0×21+0×22+0×23+0×24+1×25+1×26+1×27=0+0+0++0+0+32+64+128=224

 

4、CIDR

CIDR(无类别域间路由,Classless Inter-Domain Routing)。CIDR最大的特点是用斜杠(/)来表示子网掩码,指出了子网掩码中有多少位1。这种表示方法我们经常在运营商给我的IP地址中看到,我们经常需要根据这种表示方法算出我们的可用IP地址是哪些。

假如电信给了我们这段地址61.168.1.32/28,我们可用的IP地址是多少呢?这个问题我们先不回答,等后面详细讲解子网划分自后再回头来看。

A类网络默认子网掩码是255.0.0.0,用CIDR表示为/8

B类网络默认子网掩码为255.255.0.0.0,用CIDR表示为/16

C类网络默认子网掩码为255.255.255.0,用CIDR表示为/24

看到这里,大家知道了吧,/8表示占用8位1,即占用一个字节,/16表示占用16位1,即2字节,/24占用24位1,即占用3字节,大家记住这个默认规则,是后面学习子网划分以及以后心算子网划分的重要技巧。

举例,子网掩码255.255.255.128,用CIDR表示是多少呢?首先这是个C类网络地址,前面三个字节都是255,转换成二进制都为1,即11111111.11111111.11111111,即24位1。128转换成二进制位10000000,即1占用了一位。整个子网掩码占用了25位1,所以用CIDR表示为/25,即255.255.255.128(/25),假如IP段为192.168.1.0,用CIDR表示则为192.168.1.0/25。

再举例,192.168.1.0,255.255.255.192,用CIDR表示?首先判断出是C类网络,前面占用了3字节(24位)1,192换算成二进制位11000000,占用了2位1,总共是26位1.所以CIDR表示为192.168.1.0/26。

提问,192.168.1.0/28,大家能算出子网掩码是多少吗?提示,这里就是根据前面的计算方法一样反推回来算,拿不准正确答案的朋友可用进群讨论。

 

下面开始学习子网划分,在实际项目中划分之网之前,首先得搞懂以下几个需求:

1、需要划分成多少个网络(子网)?

假如要划分4个网络,则2X=4,X=2、要划分8个网络,则2X=8,X=3,现在知道为什么要先搞懂2的幂了吧,这里X就是=2的幂值。

那么X代表什么意思呢?X就是取值多少位1,如11000000,就是借2位,即X=2,反推知道一个字节(8位)如果为11000000,则表示可以划分4个网络(22=4);如果为11110000,则表示借4位,可以划分16个网络(24=16)。

 

2、每个网络需要多少个IP

计算公式:2y-2,y代表取值多少位0,如11111000,代表取值3位0,即y=3,得出23=8-2=6,即每个网络可用的IP数量是6个。

假如每个网络需要60台主机的IP,那么如何计算呢?即2y≥60,根据2的幂算法得出,26=64-2=62,所有y的值为6。

这里公式里为什么要减2呢?请大家先思考下,后面重庆网管博客将详细介绍。

 

3、有哪些子网网络(块大小)?

计算公式:256-子网掩码。假如子网掩码为255.255.255.192,则块大小为256-192=64,即块大小为64。从0开始以64为基数不断递增,直到达到子网掩码值,中间的结果即为子网,本例中子网即0、64、128、192。

再举例,加入子网掩码为255.255.255.128,则块大小为256-128=128,即块大小为128,子网0、128。

 

4、每个子网的子网号和广播地址是多少?

子网号很简单,即子网块值,如掩码为192,则子网块为256-192=64,得出子网为0、64、128、192,即子网号为0、64、128、192。再如掩码为128,则子网为128,则子网好0、128。

广播地址也很简单,总是下一个子网前面的数。如子网号为0、64、128、192、则广播地址为63、127、191。再如子网号为0、128,则广播地址为127.

看到这里大家知道为啥在计算每个网络可用的IP数时,公式里要-2吗?这是因为每个子网号(子网号也是一个IP地址)和广播地址是不能配给主机用的。至于为啥不能配给主机用?这个不在本主题讨论范围内,想了解的朋友可用进入认证网络工程师QQ群474079428讨论。

 

5、每个子网的可用(合法)的主机地址是哪些?

规则就是除去每个每个子网的子网号、广播地址,剩下的就是可用的主机地址,如子网号为0、64、128、192,则可用的主机地址为1-62、65-126、129-190,因为0是子网地址,63是广播地址,同样128、192是子网地址,127、191是广播地址。

 

6、C类网络子网划分

举例,192.168.10.0,255.255.255.224

1、可划分成多少个子网?

根据前面的知识,首先把224转换成二进制,得出为11100000,1占了3位,因此23=8,可用划分8个子网。

2、每个子网有多少个可用的IP?

这里看0占了5位,因此25-2=30,可用IP数为30.

3、有哪些子网网络?

256-224=32,即以32为基数不断递增,直到224,即0、32、64、96、128、160、192、224。即192.168.10.0、192.168.10.32、192.168.10.64、192.168.10.96、192.168.10.128、192.168.10.160、192.168.10.192、192.168.10.224。

4、每个子网网络的广播地址是多少?

每个子网网络的广播地址总是下一个子网前面的数,即31、63、95、127、159、191、223,即192.168.10.31、192.168.10.63、192.168.10.95、192.168.10.127、192.168.10.159、192.168.10.191、192.168.10.223。

5、每个子网的可用地址是哪些?

即减去每个子网的子网地址和广播地址,剩下的就是可用地址。本例中的可用地址为1-30、33-62、65-94、129-158、161-190、193-222。

 

再举例,192.168.10.0/30

1、可划分成多少个子网?

因为CIDR表示的子网掩码,首先得算出占用了多少位1,即30-24(因为是C类网络,前面三个字节都是255,即8位1,共24位1)=6,即6位1。所以26=64,即64个子网。

2、每个子网有多少个可用的IP?

因为1位占了6个,0位只有2个了,得出22-2=2,所以是2个可用IP地址。

3、有哪些子网网络?

因为1位占了6个,所以得出21+22+23+24+25+26=252,即256=252=4,得出块大小为4,子网网络为0、4、8、12、16、……、240、244、248、252,即192.168.10.0、192.168.10.4、192.168.10.8、……192.168.10.248、192.168.10.252.

4、每个子网网络的广播地址是多少?

下一个子网之前的数字,即192.168.10.3、192.168.10.7、192.168.10.11、……、192.168.10.247、192.168.10 .251,你算对了吗。

5、每个子网的可用地址是哪些?

除去子网地址和广播地址就是可用地址,本例中的可用地址为1,2、5,6、……、249,250。

无论是A类、B类、C类网络,在使用子网掩码/30时,每个子网只包含2个主机地址,这种子网掩码只适合用于点到点链路。

 

7、B类网络子网划分

通过前面的知识我们知道B类地址中,有16位可用的主机地址,这意味着我们可将其中的14位用于子网划分,因为至少要保留2位用于主机编址。

举例,172.17.0.0  255.255.128.0

1、可划分成多少个子网?

首先128转换成二进制位10000000,因为此例是属于B类网络,至少需要保留16位掩码位(16位1)所以此处x=1,得出21=2。答案是可以划分2个子网。

2、每个子网有多少个可用的IP?

这里0位总共占了15位,215-2=32766.

3、有哪些子网网络?

256-128=128,即0.0、128.0,得出172.17.0.0、172.17.128.0

4、每个子网网络的广播地址是多少?

下一个子网之前的数字,172.17.127.255、172.17.255.255.

5、每个子网的可用地址是哪些?

子网0.0第一个可用地址为172.17.0.1,最后一个可用地址为172.17.127.254;子网128.0第一个可用地址为172.17.128.1,最后一个可用地址为172.17.255.254.

 

再举例,172.17.0.0/20

1、可划分成多少个子网?

因为此例是属于B类网络,至少需要保留16位掩码位(16位1)所以此处x=4,得出24=16。答案是可以划分16个子网。

2、每个子网有多少个可用的IP?

这里1位占了4位,所以这里0位总共占了12位,212-2=4094.

3、有哪些子网网络?

因为1位占了4位,得出24+25+26+27=240。

256-240=16,即0.0、16.0、……、240.0,得出172.17.0.0、172.17.16.0、……、172.17.240.0。

4、每个子网网络的广播地址是多少?

下一个子网之前的数字,172.17.15.255、……、172.17.223.255.

5、每个子网的可用地址是哪些?

子网0.0第一个可用地址为172.17.0.1,最后一个可用地址为172.17.15.254;……。

请自己算出172.16.0.0/24可划分成多少个子网?每个子网可用地址数是多少?正确答案大家可搜索QQ认证网络工程师进群讨论。

 

A类子网划分与B类、C类子网划分类似。

如果大家第一遍没看懂本文,建议多看几遍,其实学习什么新知识,第一遍看不懂是正常的,多看几遍就明白了。

基础,详解

手机扫码访问