用cidr符号表示

我只是在CIDR notaion中遇到网络地址的问题,有人可以帮我解释一下吗? 例如,我该如何解决这个问题: 如果网络地址为197.23.37.128/25,则以CIDR表示法给出子网地址 分为4个子网(可以同时使用第一个和最后一个子网) 任何帮助,将不胜感激     
已邀请:
有一个很棒的perl脚本可以帮助你想象它是如何工作的。示例输出:
$ ./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个以上的子网,则需要两个以上的位。 (因为
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
,依此类推。     
您可以查看有关CIDR的维基百科文章。 / 25表示地址的前25位用于识别网络。这留下7位来识别单个主机或128个主机地址。如果您对其余地址进行分区(4),则会获得32个主机的块。     

要回复问题请先登录注册