admin管理员组

文章数量:1530842

2024年7月18日发(作者:)

子网掩码快速算法及可变长掩码(VLSM)

如果你希望每个子网中只有5个ip地址可以给机器用,那么你就最少需要准备

给每个子网7个ip地址,因为需要加上两头的不可用的网络和广播ip,所以你

需要选比7多的最近的那位,也就是8,为什么比7多的是8,不是9,10或者其

它的呢?这是因为只能选择2的N次方,也就是0,2,4,8,16,32,64,128这几个

数,就是说选每个子网8个ip。好,到这一步,你就可以算掩码了,这个方法

就是:最后一位掩码就是256减去你每个子网所需要的ip地址的数量,那么这

个例子就是256-8=248,那么算出这个,你就可以知道那些ip是不能用的了,

看:0-7,8-15,16-23,24-31依此类推,写在上面的0、7、8、15、16、23、24、

31(依此类推)都是不能用的,你应该用某两个数字之间的IP,那个就是一个

子网可用的IP。

再拿200台机器分成4个子网来做例子吧。200台机器,4个子网,那么就是每

个子网50台机器,设定为192.168.10.0,C类的IP,大子网掩码应为

255.255.255.0,对巴,但是我们要分子网,所以按照上面的,我们用32个IP

一个子网内不够,应该每个子网用64个IP(其中62位可用,足够了吧),然

后用我的办法:子网掩码应该是256-64=192,那么总的子网掩码应该为:

255.255.255.192。不相信?算算:0-63,64-127,128-191,192-255,这样你

就可以把四个区域分别设定到四个子网的机器上了。

(256-掩码)就是分段后每段中的ip数,再计算已知IP在哪个段就可以了。其

中段里面的IP第一个IP是网络地址,最后一个是广播地址。

比如100.100.100.100 255.255.255.240(前四个是IP地址,后四个是子网掩

码)这个ip的网络号和广播地址,以及这个段中的其它地址的计算方法如下:

256-240=16,说明分成了几个段以后,每段中的IP地址数量是16个,其中第

一个是网络号,最后一个是广播地址

以下是判断方法:100/16=6.x

说明100在16x6和16x7之间

16x6=96,16x7=112

说明100所在的段中第一个地址是96,最后一个是111

那就是100.100.100.100 255.255.255.240这个ip所在的网段的网络地址是

100.100.100.96,广播地址是100.100.100.111

可用的IP是100.100.100.97到100.100.100.110

如果是一个无类地址172.38.3.40/25的话(前面40表示的ip地址,后面的25

表示的是子网掩码的1的个数)

25是255.255.255.128(其实25就是这子网掩码的1的个数。即CIDR)

256-128=128,每段128个,分别是0-127,128-255

40是属于第一段,所以网络位是172.38.3.0,广播是172.38.3.127,ip范围是

172.38.3.1-172.38.3.126。

172.38.3.40/25是一个ip地址,该地址的网络地址是172.38.3.0,广播地址是

172.38.3.127,该IP地址所在的段包含的地址范围是172.38.3.1-

172.38.3.126,它是B类的,默认是16位的掩码,这里是25位,说明变长子网掩

码,它被分为两段,172.138.3.0到172.38.3.127网络号为172.168.3.0,还有

一段是172.38.3.128到172.38.3.255网络号为172.168.3.128,你的IP为

172.38.3.40,属于172.38.3.0/127这一段的,所以网络号为172.168.3.0

155.46.16.88/27

子网掩码:255.255.255.224

256-224=32

所以分为这些段:0~32 33~65 66~98 99~131 132~164 165~197 198~230

每段的开头是网络地址

每段的结尾是广播地址

附:

A类 0-127 0 8位 24位

B类 128-191 10 16位 16位

C类 192-223 110 24位 8位

D类 224-239 1110 组播地址

E类 240-255 1111 保留试验使用

更详细的说明:

划分子网

为了提高IP地址的使用效率,可将一个网络划分为子网:采用借位的方式,

从主机位最高位开始借位变为新的子网位,所剩余的部分则仍为主机位。这使

得IP地址的结构分为三部分:网络位、子网位和主机位。

引入子网概念后,网络位加上子网位才能全局唯一地标识一个网络。把所有

的网络位用1来标识,主机位用0来标识,就得到了子网掩码。如下图所示的子

网掩码转换为十进制之后为:255.255.255.224

子网编址使得IP地址具有一定的内部层次结构,这种层次结构便于IP地址

分配和管理。

它的使用关键在于选择合适的层次结构--如何既能适应各种现实的物理网

络规模,又能充分地利用IP地址空间(即:从何处分隔子网号和主机号)。

在思科网络技术学院CCNA教学和考试当中,不少同学在进行IP地址规划时总是

很头疼子网和掩码的计算。现在给大家一个小窍门,可以顺利的解决这个问题。

首先,例子:我们看一个CCNA考试中常见的题型:一个主机的IP地址是

202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络

地址和广播地址。 (自己可以做出来)

常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与

运算后即可得到网络地址。其实大家只要仔细想想,可以得到另一个方法:

255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和

广播地址),那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子

网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略

小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128。

而广播地址就是下一个网络的网络地址减1。而下一个32的倍数是160,因此可

以得到广播地址为202.112.14.159。

CCNA考试中,还有一种题型,要你根据每个网络的主机数量进行子网地址

的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主

机,那么对于这个子网就需要10+1+1+1=13个IP地址。(注意加的第一个

1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播

地址。)13小于16(16等于2的4次方),所以主机位为4位。而256-16=

240,所以该子网掩码为255.255.255.240。

如果一个子网有14台主机,不少同学常犯的错误是:依然分配具有16个地

址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=

17 ,大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的

子网。这时子网掩码为:255.255.255.224。

无类的内部域路由(CIDR)

子网掩码 CIDR值

255.0.0.0 /8

255.127.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

C类地址的子网划分

在一个C类地址中,只有八位是可以用来定义主机的。记住,子网位必须是

由左到右进行定义的,这中间,不能跳过某些位。也就是说,C类子网掩码只能

是:

二进制 十进制 速记

10000000 128 /25

11000000 192 /26

11100000 224 /27

11110000 240 /28

11111000 248 /29

11111100 252 /30

11111110 254 /31(无效)

使用可变长掩码(Variable Length Subnet Mask,VLSM)就是指一个网络可以

用不同的掩码进行配置。这样做的目的是为了使把一个网络划分成多个子网更加

方便。在没有VLSM的情况下,一个网络只能使用一种子网掩码,这就限制了在

给定的子网数目条件下主机的数目。例如你被分配了一个C类地址,网络号为

192.168.10.0,而你现在需要将其划分为三个子网,其中一个子网有100台主机,

其余的两个子网有50台主机。我们知道一个C类地址有254个可用地址,那么

你如何选择子网掩码呢?从上表中我们发现,当我们在所有子网中都使用一个子

网掩码时这一问题是无法解决的。此时VLSM就派上了用场,我们可以在100个

主机的子网使用255.255.255.128这一掩码,它可以使用192.168.10.0到

192.168.10.127这128个IP地址,其中可用主机号为126个。我们再把剩下的

192.168.10.128到192.168.10.255这128个IP地址分成两个子网,子网掩码

为255.255.255.192。其中一个子网的地址从192.168.10.128到192.168.10.191,

另一子网的地址从192.168.10.192到192.168.10.255。子网掩码为

255.255.255.192每个子网的可用主机地址都为62个,这样就达到了要求。可

以看出合理使用子网掩码,可以使IP地址更加便于管理和控制。

例子:

某公司有两个主要部门:市场部和技术部。技术部又分为硬件部和软件部

两个部门。该公司申请到了一个完整的C类IP地址段:210.31.233.0,子网掩

码255.255.255.0。为了便于分级管理,该公司采用了VLSM技术,将原主网络

划分称为两级子网(未考虑全0和全1子网)。

市场部分得了一级子网中的第1个子网,即210.31.233.64(表示的是网络号),

子网掩码255.255.255.192,该一级子网共有62个IP地址可供分配。

技术部将所分得的一级子网中的第2个子网210.31.233.128,子网掩码

255.255.255.192又进一步划分成了两个二级子网。其中第1个二级子网

210.31.233.128,子网掩码255.255.255.224划分给技术部的下属分部-硬件部,

该二级子网共有30个IP地址可供分配。技术部的下属分部-软件部分得了第2

个二级子网210.31.233.160,子网掩码255.255.255.224,该二级子网共有30

个IP地址可供分配。

在实际工程实践中,可以进一步将网络划分成三级或者更多级子网。同时,可

以考虑使用全0和全1子网以节省网络地址空间。

简单的说,可变长无非就是借位。而借位的基础是在A,B,C三类的基础上而来

的。

打一个最简单的比方。172.16.0.0/16的网络公司要划分六个子网,首先算出要

借几位才能得到六个子网。借一位就是2的1次方,借2位就是2的2次方,依

次来推,借六个子网只有2的3次方=8能得到自己所需的六个子网在NA里面不

能同时为0或为1所以要减2就是2的3次方减2=6。

然后在写出子网掩码。因为/16是B类网络掩码是255.255.0.0/16借了3位就

应该是255.255.224.0/19

写二进制清楚点就是:11111111.11111111.00000000.00000000/16

11111111.11111111.11100000.00000000/19

要算多少个主机的话就看后面有多少个0这里是32-19=13这里的主机就是有2

的13次方-2得到有多少主机地址。

接着在来算有哪些合法的子网。用256减去借位得来的224就是256-224=32这

也叫分段的基数。32也就是第一个子网了。第二个子网就是32+32=64,第三个

就是64+32=96依次算六个出来就OK了。

那么172.16.32.0/19就是第一个网段了。172.16.64.0/19就是第二个了。

第一个网段内的第一个主机就是172.16.32.1;最后一个主机就是

172.16.63.254了广播是172.16.63.255.这样就可以得出来你所要的了。

CIDR(发音为“cider”)

从网络位借位给主机,和vlsm正好相反,允许一组ip网络对其他的路由器看来

好象为一个实体,只有 网络位 和 主机位 来区别不同的IP 不考虑 分类

(A,B,C,D,E),ISP常用这样的方法给客户分配地址,ISP提供给客户1个块,类似

192.168.10.32/28

无类域间路由(Classless Inter-Domain Routing,CIDR)在RFC 1517~RFC 1520

中都有描述。提出CIDR的初衷是为了解决IP地址空间即将耗尽(特别是B类地

址)的问题。CIDR并不使用传统的有类网络地址的概念,即不再区分A、B、C

类网络地址。在分配IP地址段时也不再按照有类网络地址的类别进行分配,而

是将IP网络地址空间看成是一个整体,并划分成连续的地址块。然后,采用分

块的方法进行分配。

在CIDR技术中,常使用子网掩码中表示网络号二进制位的长度来区分一个

网络地址块的大小,称为CIDR前缀。如IP地址210.31.233.1,子网掩码

255.255.255.0可表示成210.31.233.1/24;IP地址166.133.67.98,子网掩码

255.255.0.0可表示成166.133.67.98/16;IP地址192.168.0.1,子网掩码

255.255.255.240可表示成192.168.0.1/28等。(备注:这里前面是IP地址,

后面实际上是告诉自己子网掩码)

CIDR可以用来做IP地址汇总(或称超网,Super netting)。在未作地址

汇总之前,路由器需要对外声明所有的内部网络IP地址空间段。这将导致

Internet核心路由器中的路由条目非常庞大(接近10万条)。采用CIDR地址

汇总后,可以将连续的地址空间块总结成一条路由条目。路由器不再需要对外声

明内部网络的所有IP地址空间段。这样,就大大减小了路由表中路由条目的数

量。

例如,某公司申请到了1个网络地址块(共8个C类网络地址)注意网络地址不

同于IP地址:210.31.224.0/24-210.31.231.0/24,为了对这8个C类网络地址

块进行汇总,采用了新的子网掩码255.255.248.0,CIDR前缀为/21。如图2所

示。

可以看出,CIDR实际上是借用部分网络号充当主机号的方法。在图2中,因为8

个C类地址网络号的前21位完全相同,变化的只是最后3位网络号。因此,可

以将网络号的后3位看成是主机号,选择新的子网掩码为255.255.248.0

(1111,1000),将这8个C类网络地址汇总成为210.31.224.0/21。

利用CIDR实现地址汇总有两个基本条件:

待汇总地址的网络号拥有相同的高位。如图2-2-8中8个待汇总的网络地址的第

3个位域的前5位完全相等,均为11100。待汇总的网络地址数目必须是2n,如

2个、4个、8个、16个等等。否则,可能会导致路由黑洞(汇总后的网络可能

包含实际中并不存在的子网)。

CIDR作用用于帮助减缓IP地址耗尽和路由表增大问题的一项技术。CIDR的理念

是多个C类地址块可以被组合或聚合在一起以生成更大的无类别IP地址集。这

些多个C类地址可以在路由表中被归纳,从而减少了路由通告。

CIDR举例从192.168.8.0/24到192.168.15.0/24的C类网络地址被使用,并且

被通告到ISP的路由器。当ISP路由器向外界通告路由时,它能够将这些C类网

络的路由归纳为一条路由而不必分别通告这8个C类网络。通过通告路由

192.168.8.0/21,ISP路由器指明他能够到达与地址192.168.8.0的前21比特

相同的所有目的地址。

/bbs/?tid=350597772

这贴有CCNP的教材,头大头大

本文标签: 子网地址网络IP地址网络地址