掩模扩展和逻辑最小化

网络工程 路由 转变
2022-02-21 01:59:22

我正在阅读一篇论文(三元 CAM 中的路由表压缩),内容如下:

“掩码扩展技术简化为逻辑最小化问题。在讨论中,我使用立方体来指代多个前缀的组合单个条目,而覆盖指代覆盖所有前缀的立方体集合。问题就变成了:给定一组具有相同长度和相同路径的前缀,找到一个最小覆盖。”

虽然我可以理解掩码扩展本身,并且上面的立方体和覆盖物更像是背包问题,这也是类似电路可满足性问题的 NP 完全问题。但是,我无法真正理解这种减少是如何工作的。换句话说,我想获得更正式的方法,以表明逻辑最小化问题与掩码扩展相同

任何帮助表示赞赏 - 谢谢。

https://www.semanticscholar.org/paper/Routing-Table-Compaction-in-Ternary-CAM-Liu/66fc85e9460bfe284a758bb5c4c8c070b0a9f86c

1个回答

在第一段中有解释:

第二种技术利用了 TCAM 硬件的灵活性。存储在 TCAM 中的路由前缀掩码由 1(与前缀长度相同数量的 1)后跟全零组成。但是,TCAM 允许使用任意掩码,因此 1 或 0 的位不必是连续的。我称这种技术为掩码扩展,因为它将掩码扩展为 1 和 0 的任意组合。

这允许将非相邻子网的路由聚合到相同的下一跳X,例如

  • 172.16.1.0/0.0.0.255 -> X
  • 172.16.17.0/0.0.0.255 -> X

变得

  • 172.16.1.0/0.0.16.255 -> X

(注意这里使用通配符;网络掩码是二进制补码)