CIDR IP分配

时间:2014-11-19 07:43:40

标签: ip ip-address cidr

从198.16.0.0开始提供大量连续的IP地址。假设四个组织A,B,C和D分别按顺序请求4000,2000,4000和8000地址。对于其中的每一个,我需要分配第一个分配的IP地址,分配的最后一个IP地址,以及w.x.y.z / s表示法中的掩码。请为每个组织解释。

3 个答案:

答案 0 :(得分:6)

我要保持简短。您应该通过Google搜索了解子网划分的基础知识,我可以为思科提供优秀的学习资料。 您的网络198.16.0.0 / 16为您提供16位用作子网/主机位。整个网络提供超过65,000个主机。

步骤1 - 从需要最多主机数的子网开始对子网进行排序。 8000,4000,4000,2000

第2步 - 8000个可用主机需要多少个主机位? 13个主机位:2 ^ 13 = 8192个主机 - 2 = 8190个可用主机

第3步 - 我们知道我们需要3个子网位,因此我们可以向16添加3.我们对此子网的新子网掩码为/ 19。     现在我们需要使用二进制文件来找出完整的第一个子网。主机部分中的所有零都为您提供网络ID,主机部分中的所有零都为您提供广播ID。

198.16.000|00000.00000000 = 198.16.0.0
198.16.000|11111.11111111 = 198.16.31.255

步骤4 - 具有8000个可用主机的组织的子网为198.16.0.0/19。

Network ID: 198.16.0.0 
First usable host: 198.16.0.1 
Last usable host: 198.16.31.254 
Broadcast ID: 198.16.31.255

现在我们为其余3个组织重复这些步骤。

第1步 - 我们知道我们的下一个子网需要支持4000个可用主机。

第2步 - 4000个可用主机需要多少个主机位? 12个主机位:2 ^ 12 = 4096个主机 - 2 = 4094个可用主机

第3步 - 我们知道我们需要4个子网位,因此我们可以向16添加4个。这个子网的新子网掩码为/ 20。     现在我们需要使用二进制文件来找出完整的第一个子网。主机部分中的所有零都为您提供网络ID,主机部分中的所有零都为您提供广播ID。     因为我们已经划分了网络的子网,所以我们从结束的地方开始。

198.16.0010|0000.00000000 = 198.16.32.0
198.16.0010|1111.11111111 = 198.16.47.255

步骤4 - 具有4000个可用主机的组织的子网为198.16.32.0/20。

Network ID: 198.16.32.0
First usable host: 198.16.32.1
Last usable host: 198.16.47.254
Broadcast ID: 198.16.47.255

我已经向你展示了前两个方法。你可以自己做最后两个练习。请记住首先使用4000个主机执行子网,然后使用2000个主机执行子网。如果您有任何疑问,请不要犹豫。

答案 1 :(得分:3)

现在,问了这个问题几年后,我正在为同一任务而苦苦挣扎。 实际上,这是Andrew Tanenbaums Computer Networks Book的问题,您不能对它们进行排序:)

要解决此问题,您需要执行以下操作:

您将从198.16.0.0开始 现在,公司A请求4000个IP。您必须将此数字(以及以后的任何请求)四舍五入为2的幂-4096。

现在让我们考虑:IP地址由32位组成。其中有些是网络位,有些是主机位(如果这对您来说是新的,请阅读this)。您需要多少个主机位,以便公司A获得4096个主机?右:log²(4096)=12。因此,剩余的20位(32-12)保留用于网络。现在,我们已经有了公司A的起始IP地址和子网掩码:198.16.0.0/20(同样,如果您混淆了上面的链接,则可以理解)。 现在我们需要确定公司A的最后一个IP地址。 为此,我们以二进制形式查看IP和子网掩码(请考虑“ |” ip地址的网络部分和主机部分之间的边界):

Start-IP (A):
11000110.00010000.0000|0000.00000000
Subnet-Mask(/20):
11111111.11111111.1111|0000.00000000

如您所见,现在您的主机有12位,它们都可以自由更改,因此总共有2 ^ 12个可能性= 4096。 最后一个可用IP是所有主机都等于1的IP:

最终IP: 11000110.00010000.0000 | 1111.11111111 在十进制中,这看起来像: 198.16.15.255

现在让我们看一下B公司: 它要求2000-我们将其向上取整为2的幂:2048

log²(2048)= 11个主机位= 21个网络位= / 21

现在记住我们分配给A的最后一个IP是:

最终IP: 11000110.00010000.00001111.11111111

那么下一个可用的应该至少增加1个对吧?

11000110.00010000.00001111.11111111 +1 = 11000110.00010000.00010000.00000000 = 198.16.16.0 我们应该可以将其用作B公司的起始IP

让我们用/ 21的网络掩码来尝试一下吧!

Start-IP (B):
11000110.00010000.00010|000.00000000
Subnet-Mask(/21):
11111111.11111111.11111|000.00000000

似乎正在工作!我们有11个主机位,因此我们可以连接2 ^ 11个主机= 2048。 但是,最后一个可用的IP地址将是所有主机位都等于1的IP地址:

11000110.00010000.00010 | 111.11111111 = 198.16.23.255

现在使用C公司,事情开始变得复杂,请多多包涵: 这里的问题是,它们需要比其前身更多的IP。但是我们还是会处理它的:)

公司C需要4000个IP,我们将其向上舍入为4096,并像以前一样计算主机位数:hosts = 20。

现在,我们将尝试与以前相同的方法,以便您可以看到问题所在:

我们获取最后分配的IP地址,并将其增加一个:

11000110.00010000.00010111.11111111 +1 =

11000110.00010000.00011000.00000000

现在让我们在此IP上应用/ 20的网络掩码:

Start-IP (B):
11000110.00010000.0001|1000.00000000
Subnet-Mask(/21):
11111111.11111111.1111|0000.00000000

现在您应该看到问题了:

我们的主机位部分为1。因此,我们不能全部使用12位,而只能使用11位,这只会给我们2 ^ 11 = 2018个主机。

所以您可能想知道:如果只将主机部分中的1变成0,该怎么办?那么在这种情况下,您将与提供给公司B的IP地址完全冲突。因此,这不是一种选择。唯一的方法是通过仅将增量应用于网络部分来将1“推入”网络位部分,以便代替:

11000110.00010000.0001 | 1000.00000000

您得到(仅递增网络部分:11000110.00010000.0001 +1)

11000110.00010000.0010 | 0000.00000000

等于198.16.32.0

最后一个IP将再次出现,其中所有主机位都等于1,所以

198.16.47.255

现在您可以对D公司执行相同的操作:)

结果应为:

A: 198.16.0.0 – 198.16.15.255 written as 198.16.0.0/20
B: 198.16.16.0 – 198.16.23.255 written as 198.16.16.0/21
C: 198.16.32.0 – 198.16.47.255 written as 198.16.32.0/20
D: 198.16.64.0 – 198.16.95.255 written as 198.16.64.0/19

答案 2 :(得分:0)

首先,将所有请求四舍五入为2的幂。起始地址,结束地址和掩码如下1

A:198.16.0.0 – 198.16.15.255写为198.16.0.0/20

B:198.16.16.0 – 198.16.23.255写作198.16.16.0/21

C:198.16.32.0 – 198.16.47.255写作198.16.32.0/20

D:198.16.64.0 – 198.16.95.255,写为198.16.64.0/19