【问题标题】:subneting in cidr notationcidr 表示法的子网划分
【发布时间】:2011-07-24 23:32:16
【问题描述】:

我只是在 CIDR notaion 中对子网网络地址有问题,谁能为我解释一下? 例如我该如何解决这个问题:

如果网络地址为 197.23.37.128/25,请以 CIDR 表示法给出子网地址 分为4个子网(第一个子网和最后一个子网都可以使用)

任何帮助将不胜感激

【问题讨论】:

  • 这是作业题吗?如果有,请添加标签homework
  • 不,我有答案,但我不知道如何计算!!!!!

标签: networking ipv4 cidr


【解决方案1】:

有一个很棒的perl script available 可以帮助您想象它是如何工作的。示例输出:

$ ./ipcalc 197.23.37.128/25
Address:   197.23.37.128        11000101.00010111.00100101.1 0000000
Netmask:   255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Wildcard:  0.0.0.127            00000000.00000000.00000000.0 1111111
=>
Network:   197.23.37.128/25     11000101.00010111.00100101.1 0000000
HostMin:   197.23.37.129        11000101.00010111.00100101.1 0000001
HostMax:   197.23.37.254        11000101.00010111.00100101.1 1111110
Broadcast: 197.23.37.255        11000101.00010111.00100101.1 1111111
Hosts/Net: 126                   Class C

您的问题中掩码的网络部分是 25 位长。如果要将其分成 4 个以上的子网,则需要多 2 个位。 (因为math.pow(2,2) == 4)所以你得把它扩展成/27,如下:

$ ./ipcalc 197.23.37.128/27
Address:   197.23.37.128        11000101.00010111.00100101.100 00000
Netmask:   255.255.255.224 = 27 11111111.11111111.11111111.111 00000
Wildcard:  0.0.0.31             00000000.00000000.00000000.000 11111
=>
Network:   197.23.37.128/27     11000101.00010111.00100101.100 00000
HostMin:   197.23.37.129        11000101.00010111.00100101.100 00001
HostMax:   197.23.37.158        11000101.00010111.00100101.100 11110
Broadcast: 197.23.37.159        11000101.00010111.00100101.100 11111
Hosts/Net: 30                    Class C

要获得下一组 5 位,请将网络掩码添加一个:

$ python
>>> 128 + 0b100000
160

所以你的下一个子网是197.23.37.160/27,以此类推。

【讨论】:

    【解决方案2】:

    您可以查看有关 CIDR 的 Wikipedia 文章。 /25 表示地址的前 25 位用于标识网络。这留下 7 位来标识单个主机,或 128 个主机地址。如果对剩余的地址进行分区 (4),则会得到 32 个主机的块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-21
      • 2021-05-14
      • 2020-08-05
      • 2021-09-25
      • 1970-01-01
      • 2018-10-29
      • 2017-10-29
      • 1970-01-01
      相关资源
      最近更新 更多