零基础IP子网划分详解
首页 > HuaWei > 基础配置   作者:杭州清默网络  2016年7月6日 12:10 星期三  字号:   评论:5 条
时间:2016-7-6 12:10   评论:5 条 

零基础IP子网划分详解

2016.8.22修正,感谢道友刘先生的提醒

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

1IP地址组成

IP地址组成示意图.png

                             IP地址组成示意图

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

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

11111111.11111111.11111111.10000000

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

255/2=1271

127/2=631

63/2=311

31/2=151

15/2=71

7/2=31

3/2=11

还剩1

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

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

128/2=640

64/2=320

32/2=160

16/2=80

8/2=40

4/2=20

2/2=10

还剩1

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

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

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

 

2、默认子网掩码

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

 

3、理解2的幂

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

2 1=2

22=4

23=8

24=16

25=32

26=64

27=128

28=256

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

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

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

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

 

4CIDR

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表示占用81,即占用一个字节,/16表示占用161,即2字节,/24占用241,即占用3字节,大家记住这个默认规则,是后面学习子网划分以及以后心算子网划分的重要技巧。

举例,子网掩码255.255.255.128,用CIDR表示是多少呢?首先这是个C类网络地址,前面三个字节都是255,转换成二进制都为1,即11111111.11111111.11111111,即24位1128转换成二进制位10000000,即1占用了一位。整个子网掩码占用了251,所以用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位)1192换算成二进制位11000000,占用了21,总共是261.所以CIDR表示为192.168.1.0/26

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

 

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

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

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

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

 

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

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

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

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

 

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

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

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

 

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

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

广播地址也很简单,总是下一个子网前面的数。如子网号为064128192、则广播地址为63127191。再如子网号为0128,则广播地址为127.

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

 

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

规则就是除去每个每个子网的子网号、广播地址,剩下的就是可用的主机地址,如子网号为064128192,则可用的主机地址为1-6265-126129-190,因为0是子网地址,63是广播地址,同样128192是子网地址,127191是广播地址。

 

6C类网络子网划分

举例,192.168.10.0,255.255.255.224

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

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

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

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

3、有哪些子网网络?

256-224=32,即以32为基数不断递增,直到224,即0326496128160192224。即192.168.10.0192.168.10.32192.168.10.64192.168.10.96192.168.10.128192.168.10.160192.168.10.192192.168.10.224

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

每个子网网络的广播地址总是下一个子网前面的数,即316395127159191223,即192.168.10.31192.168.10.63192.168.10.95192.168.10.127192.168.10.159192.168.10.191192.168.10.223

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

即减去每个子网的子网地址和广播地址,剩下的就是可用地址。本例中的可用地址为1-3033-6265-94129-158161-190193-222

 

再举例,192.168.10.0/30

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

因为CIDR表示的子网掩码,首先得算出占用了多少位1,即30-24(因为是C类网络,前面三个字节都是255,即81,共241=6,即61。所以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,子网网络为0481216……240244248252,即192.168.10.0192.168.10.4192.168.10.8……192.168.10.248192.168.10.252.

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

下一个子网之前的数字,即192.168.10.3192.168.10.7192.168.10.11……192.168.10.247192.168.10 .251,你算对了吗。

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

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

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

 

7B类网络子网划分

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

举例,172.17.0.0  255.255.128.0

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

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

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

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

3、有哪些子网网络?

256-128=128,即0.0128.0,得出172.17.0.0172.17.128.0

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

下一个子网之前的数字,172.17.127.255172.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位掩码位(161)所以此处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.016.0……240.0,得出172.17.0.0172.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类子网划分类似。

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

 您阅读这篇文章共花了: 
二维码加载中...
技术交流:欢迎在本文下方留言或加入QQ群:647682417 互相学习。     
本文地址:http://www.023wg.com/jcpz/294.html
版权声明:若无注明,本文皆为“杭州清默网络”原创,转载请保留文章出处。
北艾儿2017-07-06 10:42
一看就懂,开心
刘先生2016-08-17 09:44
4、每个子网网络的广播地址是多少?
下一个子网之前的数字,172.17.15.255、……、172.17.224.255.


上面的172.17.224.255应改为172.17.223.255
圈圈哥2016-08-22 13:16
@刘先生:谢谢指出
刘先生2016-08-17 09:37
倒数第12行文字中的

“1、可划分成多少个子网?
因为此例是属于B类网络,至少需要保留16位掩码位(16位1)所以此处x=4,得出24=16。答案是可以划分16个子网。
2、每个子网有多少个可用的IP?
这里1位占了4位,所以这里0位总共占了12位,2(十五次方)-2=4094.”

这里的2(十五次方)-2=4096应该改为2(十二次方)-2=4096
圈圈哥2016-08-22 13:16
@刘先生:谢谢指出
感谢

返回顶部    首页   
版权所有:杭州清默网络    杭州清默网络