已知两个IP地址段,如何用更大的一个地址段包含

新手上路,请多包涵

如果已知两个IP地址段:128.17.0.0/14和161.32.128.0/17,怎么用唯一一个更大的网段把他们划在一起?
希望知道是否可以实现,如果可以实现那么希望了解实现的过程。
非常感谢!

阅读 1.5k
2 个回答

128.0.0.0/2

理解一下 变长子网 ,换成二进制再看。

新手上路,请多包涵

128.17.0.0/14转换为二进制表示
网络号: 10000000.00010001.00000000.00000000
子网掩码:11111111.11111100.00000000.00000000 掩码14表示前14位为1,后面都为0

161.32.128.0/17转换为二进制表示
网络号: 10100001.00100000.10000000.00000000
子网掩码:11111111.11111111.10000000.00000000 掩码17表示前17位为1,后面都为0

两个网络号先使用较小的子网掩码(14)长度进行截取,前14位不变,后面的置0.
10000000.00010000.00000000.00000000
10100001.00100000.00000000.00000000

从最高位开始检查同位是否相等,从第一个不相等开始后续全部标斜粗体。
10000000.00010000.00000000.00000000
10100001.00100000.00000000.00000000

所以合并网络号为最高两位不变(10),后面全部置0。子网掩码为最高两位为1(11),后面全部置零。
网络号: 10000000.00010000.00000000.00000000 128.0.0.0
子网掩码: 11000000.00000000.00000000.00000000 192.0.0.0或者2

当然经验丰富的话,一眼也能瞪出来。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进