【计算机网络】第五章:[网络层]IP地址和子网划分(Part2.子网划分)

子网划分

子网划分的原因:现在的IP地址比较紧张,32位二进制做IP地址在全球范围内是远远不够用的。既然公网地址不够用就需要子网划分来避免公网地址的浪费。
对于企业的Web,邮件服务器等,都需要用公网地址来供给网络用户访问。一般而言ISP分配公网地址时,会给一个稍有富余的区间,但是不会给一个足够用的子网区间。
在这里插入图片描述
200台计算对应212.2.3.0(子网掩码255.255.255.0)也就说可以使用1-254总共254个地址,200台电脑充分够用且有一定的富余,不算浪费。
但是如果400台设备分配一个C类网络不够用,分配一个B类网络(256x256-2)则浪费了56000余个地址,就是极大浪费。
为了能够划分一个比较匹配我需要的地址数的子网,则我们就需要子网划分的技术了。

等长子网划分

把一个大的子网划分成等间距的小子网。子网划分就是将现有网段的主机位做子网位,可以和前面的网络位结合起来当做新的网络位。从而分成多个小的子网。

子网划分需要缺:子网掩码的长度和子网中第一个以及最后一个可用地址。

C类网络子网划分

在这里插入图片描述
上图中我们想把192.168.0.1中的200台设备中的100台设备接入另一个交换机,然后将这两部分用路由器相连。那么如果不用子网划分,则需要再申请一个新的公网C类地址,实际上会有抵制浪费的情况发生(100/254=不足50%的使用率不高)。
所以我们希望通过等长子网划分来节省地址空间。划分方法如下:
在这里插入图片描述
将192.168.0.1的1用二进制展开。然后把展开的八位二进制的第一位划出去,和网络部分一起当做一个新的网络部分。从而将一个C类地址分成了两部分。这两个等分的子网将他们视为不在同一网段,因为网络地址不同。为了让计算机交换机路由器等设备区分出划分后的子网,则需要对子网掩码也进行修改——255.255.255.128。这样修改后计算机就能够判断接收端是否和自己一个网段时,就能区分出来。子网掩码往后移了一位就是子网掩码多了一位。
那么子网掩码划分后,我们要确认第一个和最后一个可用地址,那么我们知道主机位全0和全1地址不可用,分别对应网段和广播。所以127的二进制是0】111 1111是全1地址,对应A网段的广播包不可用,所以实际A网段可用的地址是(1-126)而B网段同理可用的是(129-254)
等长子网划分:
A子网:192.168.0.0 / 255.255.255.128 (网段/子网掩码)
B子网:192.168.0.128 / 255.255.255.128

Ps)关于子网掩码,对半等分后,不要认为就有两个子网掩码(分别是255.255.255.0和255.255.255.128),这两部分的子网掩码都是255.255.255.128.为什么呢?类比之前的255.255.255.0时,对应192.168.1.x。其中x可以取(1~254)中的任一数值,并没有因为x变化而引起子网掩码的变化。子网掩码的0表示的是对应某一位是属于网络位还是主机位,因为我们将255.255.255.0展开写就是11111111 11111111 11111111 00000000.其中0的二进制是八位0而255的二进制是8位1,也就是说子网掩码通过用1表示网络位,0表示主机位的方式被定义。换言之,当子网掩码后移一位,也就说最后一部分的第一个0变成了1,此时反应到十进制数就是128,所以此时的子网掩码就是255.255.255.128。

在这里插入图片描述
那么我们可以总结一个规律,那就是如果等分为原来的一半,也就说对半分的情况下,子网掩码后移一位。换言之如果说要分成四等分,则子网掩码后移两位。等分 2 n 2^n 份,子网掩码就要后移n位。

下面我们来看把这个C类地址分为四部分。
在这里插入图片描述
同理,子网掩码后移两位,变为192。子网的长度四等分是64.然后我们确认每一个网段不可用的两个端值。分别是(0/63,64/127,128/191,192/255)。换言之他们的取值区间分别是[1,62],[65,126],[129,190],[193,254]
ABCD的网段分别是192.168.0.(0,64,128,192)子网掩码都是255.255.255.192

然后是八等分,道理相同,子网掩码最后一部分变成224
在这里插入图片描述
我们可以发现,每当增加数轴上一个端点作为网段划分端点的点,每个端点就会出现2个数不再可被选用为IP地址。对于四等分的64而言,它本身是全0的网段,-1则是上一个网段的广播地址。同理对于八等分的32而言,它本身是一个网段而前一个数值则是上一个网段的广播地址。所以我们不必再去一个个思考计算哪些端值不可用,直接就可以写出他们的取值区间
[1,30],[33,62],[65,94],[97,126],[129,158],[161,190],[193,222],[225,254]
也就说
= { [ + 1 , 2 ] 255 [ + 1 , 254 ] = 255 最后一部分取值区间=\left\{ \begin{aligned} [初端值+1,末端值-2],& 末端值≠255 \\ [初端值+1,254],& 末端值=255 \end{aligned} \right.


B类网络子网划分

首先是B类网络
在这里插入图片描述
道理相同,只不过B类网络地址范围更大了。
在这里插入图片描述
A子网的两个端值是(131.107.0,0)和(131.107.127,255);B子网的端值是(131.107.128,0)和(131.107.255,255)去除之后,得到的取值范围就是[(131.107.0,1),(131.107.127,254)]和[(131.107.128,1),(131.107.255,254)]。

由上图我们可以发现,首先这些子网的最后一部分的取值范围都是(1~254),这一部分是不变的(只要等长子网划分数小于 2 8 2^8 个)。如果子网划分大于128个时,则对于每个子网其实又回到了C类子网划分的方式。在划分数量小于128个时,第三部分可以初端点值可以取,末端点值仍然需要-1
= { λ 1 . λ 2 . [ , 1 ] . ( 1 , 254 ) , 255 λ 1 . λ 2 . [ , 255 ] . ( 1 , 254 ) , = 255 取值区间=\left\{ \begin{aligned} λ_1.λ_2.[初端值,末端值-1].(1,254),& 末端值≠255 \\ λ_1.λ_2.[初端值,255].(1,254),& 末端值=255 \end{aligned} \right.
上图中λ1和λ2分别是131和107,
A子网初端值0,末端值128-1=127
B子网初端值128,末端值是255
按照公式,则他们可以取的最大值和最小值分别是对应上述端值中取同时取最大或最小时的值。
网段A:131.107.0.1~131.107.127.254

网段B:131.107.128.1~131.107.255.254

A类网络子网划分

在这里插入图片描述
首先得出子网掩码是255.192.0.0。其次确定子网长度是256x256x64-2
然后确定端点值。
在这里插入图片描述
当子网划分数小于64时,满足:
= { λ . [ , 1 ] . ( 0 , 255 ) . ( 1 , 254 ) , 255 λ . [ , 255 ] . ( 0 , 255 ) . ( 1 , 254 ) , = 255 取值区间=\left\{ \begin{aligned} λ.[初端值,末端值-1].(0,255).(1,254),& 末端值≠255 \\ λ.[初端值,255].(0,255).(1,254),& 末端值=255 \end{aligned} \right.
可能这么写不太清楚,那么我举个例子说明一下。
比如就上面这个A类地址的子网,假设我要求划分后C子网的两个端值,那么首先明确C子网是四部分中的第三部分,那么他对应数轴上的端点应该是二分之一和四分之三点,对应数值分别就是128和192.接下来按照式子分析
第一位λ是定值42,
第二位的最小值是初端值128,最大值是末端值192-1=191
第三位的最小值是0,最大值是255
第四位的最小值是1,最大值是254
那么上述四部分所有部分全取最小值,就是整体的最小值,也就是可以取的第一个数,那么他的IP就是42.128.0.1;对应的,全取最大值,就是这个子网里可以取的最后一个数,是42.191.255.254。然后我们比对一下图片的C子网划分的答案。正确。

变长子网划分

在这里插入图片描述
如图,上图中计算机总数小于254台,一个C类网络充分够分。但是区别在于每个网段的设备数不同,这时再用等长子网划分会出现资源浪费的情况,那么就要使用变长子网划分。方法还是类似的,可以直接理解成多次进行等长子网划分并选取合适的区间来选择使用。不等长子网,每个子网的子网掩码也不同。

20台电脑,那么区间长度为32的子网去掉端值也充分够用;同理50对于64,100对于128都是充足且不过多浪费的。这种情况下,我们将100台设备放入二等分的子网区间,50台放入4等分,20台放入8等分。从而让他们能够使用较合理的空间且不浪费资源。此时他们的子网掩码是不同的,分别对应C类网址的N等分子网掩码。
在这个例子里他们的子网掩码分别是
A:192.168.255.224
B:192.168.255.192
C:192.168.255.128
他们可以使用的区间也同C类等长子网划分。
A:λ123,[1,30]
B:λ123,[33,94]
C:λ123,[97,222]
当然,子网划分的并没有固定的顺序要求,上面的区间划分是默认从数轴左顶点开始的,按图中划分那么范围应该分别是[33,62],[65,126],[129,254]

下面我们来看点到点网络的子网掩码,也就是图中的路由器之间的子网,网段D和E。经过上述说明,会发现还有32个长度的子网地址没有被划分
在这里插入图片描述
因为点对点链路中,就两个地址,所以他们使用的区间非常小,划分到如图所示的程度。因为对于每一个网段保留广播和网段地址都是必须的,所以长度为4的区间刚好满足去除两个端值后还有2个有效地址的要求。所以这已经是最小最合适的划分方法。

C类子网掩码的长度是他们的 2 8 2 2 = 2 6 \frac{2^8}{2^2}=2^6 倍。也就说子网掩码要向后移动6位,1111 1100即252。所以他们的子网掩码是255.255.255.252。

这样经过上面的一系列划分,我们可以看到这一个C类地址中仍然有24位未被分配,其他的都已被分配且满足需求,这样能够在满足需求的情况下留有一定富余的子网划分方式就是合理的子网划分方式。


练习题※:对于下图C类地址
在这里插入图片描述
下面四个设备分别应该对应左边哪一个IP地址?

子网划分注意事项

在这里插入图片描述
子网划分成两个,一定是对半分,不能一个分成四分之三一个分成四分之一。那么假设200台设备,想要按照130/70的比例分,那么除非再安排一个C类网络,否则是无法满足这个要求进行子网划分的,因为子网划分的最大C类长度就是126个。同理如果分三个子网,不能均分为三等分,而是均分为二等分然后再将其中一半分为一半,即四分之一。如果需要五个子网,就需要把4个子网中的一个子网再对半分,以此类推。

划分子网,IP不能重叠,顾名思义,同一个IP不能表示两台设备。哪怕子网A内设备很少,有充足的空间也不能再A子网内配置一个新的子网。

VLAN 和 子网划分

这是个看似比较相近的概念,需要一定程度的推敲和理解。一个L2一个L3其实差别蛮大的。

VLAN是作用在数据链路层 而网段(ip)是作用在网络层。 VLAN分离可以理解成把若干人分到不同的房间,基本可以理解成物理上隔离 ;而子网划分可以理解成把若干人放在相同的房间 但是分了不同的组, 他们的声音没有隔离(广播),也可以通过一些手段让他们相互通信(静态路由)。

VLAN在第二层给不同的端口打上了不同的标记,标记着这个端口出去的数据是属于VLAN几,因为广播包也是作用在网络的第二层,只有带着相同标记的广播包才会在网络上传播。换言之网络层在数据链路层之上,那么数据链路层封装的数据帧是已经由网络层处理过的数据,而这些数据与广播是没有任何关系的。

一个子网可以包含多个VLAN ,如一公司的某个部门划分一个子网后给一部分人规划一个VLAN,另外一部分人再规划一个VLAN,不同VLAN间工作性质和安全需求不同,处理财务的敏感数据肯定是不能被搞开发的人员看到的。而一个VLAN也可以包含多个子网,开发部门的设备数资源过剩,则划分子网来节省资源。

子网划分的目的是减少地址浪费而VLAN解决的是广播风暴等安全性问题。

超网

CIDR

在这里插入图片描述
子网掩码的缩写是Subnet Masking,可变长子网掩码VLSM

CIDR的子网掩码表示方法就是用1的个数来表示子网掩码。来举个例子,
192.168.1.113 255.255.255.0就可以写成192.168.1.113/24。这里的/后面加的数字是二进制数1的个数,被称为CIDR的值。
如果子网掩码是255.255.0.0则可以写成192.168.1.113/16
如果子网掩码是255.0.0.0则可以写成192.168.1.113/8
如果子网掩码是255.255.255.192则可以写成192.168.1.113/26
255.255.255.252就是192.168.1.113/30
这就是CIDR表示方法。

判断IP的网段

IP地址主机位归0就是地址所在的网段。IP地址的网段判断一遍没有划分的子网是非常直观的,就是x.x.x.0就是网段,但是划分后的就需要做一个简单运算了。用IP地址和子网掩码做与运算,然后得到的结果就是它的网段。这里主要的问题是不要想当然去判断,运算还是很简单的。
在这里插入图片描述
在这里插入图片描述

超网合并

超网和子网相反,超网是把多个网段合并成一个网段。

超网的背景:
当200台设备组建的局域网与另一个200台设备组建的局域网用集线器或交换机相连时,他们在物理上是一个网段,因为他们直接相连。但是他们在逻辑上却是不同网段,因为一个C类网络最多可容纳254台计算机,而这两个网络是一个C类网络容纳不下的,只能用两个C类网络。
在这里插入图片描述
如图,这两个网络如果想要相互访问,则需要通过路由器上的两个端口来转发。但是他们明明在物理上直接相连,用路由转发有些多此一举。所以就用到了超网——直接通信。让他们判断彼此是一个网段,此时需要让他们的子网掩码向前移,从而令地址的网络部分一致。
在这里插入图片描述
子网掩码往前移动一位,以后这两个网段之间的互相访问就不会被判定为处于不同网段,因为他们的网路部分相同是相同网段。超网可以合并连续的两个网段,但不是任何连续网段都可以合并。(比如192.168.1.0 和192.168.2.0就是连续的网段,但是不可用合并,因为他们的二进制不连续)
合并之后,192.168.0.255/23就可以给计算机使用了,因为他的主机部分不是全1的,是0 11111111。那么不可用的分别是192.168.0.0和192.168.1.255。
在这里插入图片描述
我们可以通过向前移动两位来合并4个网段。CIDR=22。那么如何判断网段之间能否合并呢?
首先,明确网段想要合并必须是连续的,那么就会存在23或34的两种情况,其中,如果想要合并,我们要求二进制数前移一位后,网络部分全部一致,也就说网络部分只有一位不同,那么若要连续必须满足先0后1。因为23是10和11,而34是11和100,可以明显看到哪一组是只有一位二进制不同的。总结一下就是二进制数0在前,二进制数1在后的连续数可以合并如(用一个数除以2,可以整除说明最后一位是0,否则是1)
也就说112和113是满足先0后1的,可以合并;31和32是先1后0,不能合并。(奇数在前,偶数在后不能合并;偶数在前,奇数在后可以合并)
在这里插入图片描述
那么判断4位合并呢?同理从主机部分开始两位是从00开始的连续 4位的数,满足这一条件的数是除以4可以整除的。只要第一个网络号可以整除4,则其末尾一定是00,则以它为首的四个连续数字一定可以合并。

同理,我们就可以推出N个连续数合并,我们要求的条件是:第一个首部连续输可以被N整除。然后左移动 l o g 2 N log_2N 位就可以得到新的子网掩码。

判断超网和子网

子网掩码往前移,是超网;子网掩码后移是子网。

192.168.0.0/16  这是B类网络吗?(子网掩码255.255.0.0)
不是。B类网络不通过子网掩码判断,而是通过第一部分的地址来划分的。

我们对地址的归类为:
A:1~126
B:128~191
C:192~223

所以,这是一个C类地址,然而它的子网掩码的CIDR是16。
也就说明他是一个超网,前移了8位,合并了256个网段。
92.168.0.0/16  是A类地址,是一个子网。向后移了8位,划分了256个子网。
130.168.0.0/16 是B类地址,不是子网也不是超网。

所以我们判断一个网络是超网还是子网,需要确认它的地址类型。确认后根据他默认的子网掩码来判断是前移还是后移了,是合并了还是划分了,然后就能确认出是超网还是子网。

习题答案

变长子网掩码
在这里插入图片描述
L F0/0:12台设备,那么应该放入一个子网范围能够容纳12的合理空间,我们立刻想到16。然后 256 16 = 2 4 \frac{256}{16}=2^4 ,也就说后移4位,CIDR应该是28。
S F0/0:40台设备,32容纳不下,64可以,同理后移两位,子网掩码CIDR是 26。
In F0/0:24台设备,32足以,后移三位,CIDR27。

这三个都好说,因为只有一个子网掩码符合条件。但是对于这点到点的链路In S0/1而言,点到点链路我们说了需要4位,也就说子网掩码是30。但是这里选项有2个30,怎么选择呢?
为什么我们需要留4位而不是两位二进制,因为全0和全1对应网段和广播地址是计算机不可用的地址,那么我们在算一下这两个选项的最后一部分,分别是168和169,用他们除以4,一个是00一个是01,而00又不能做地址,所以应该选择169。

猜你喜欢

转载自blog.csdn.net/Chahot/article/details/106907313
今日推荐