地址规划中出错的三件事
随着地址规划的增长,三个问题会悄悄出现:两个重叠的前缀、一个包含另一个的前缀,以及无人分配的地址空间中的空隙。前两个涉及声明相同地址的前缀;第三个涉及没有任何前缀声明的地址。一次好的审计会把这三者都找出来。
重叠与包含
当两个前缀至少共享一个地址时,它们就重叠。有几种不同的形式:
- 完全相同:同一个块被列出两次,通常是复制粘贴错误。
- 包含:一个块完全位于另一个块之内。
10.0.0.0/24包含10.0.0.128/25,因为该 /25 是该 /24 的上半部分。 - 部分:两个范围共享一些地址,但都不包含对方。两个正确的 块绝不会这样重叠。任意两个对齐的二的幂块要么互不相交,要么完全嵌套,一个完全位于另一个之内,这正是 CIDR 寻址形成干净层级结构的原因。只有当某个输入不是对齐的块时,才会出现部分重叠。
包含并不总是错误。路由器使用最长前缀匹配进行转发:与目的地匹配的最具体路由获胜。在一个汇总的 /24 内通告一个具体的 /25,是一种刻意且常见的模式,用于以不同方式引导一部分流量。危险在于无意的重叠,即你网络的两个部分都认为自己拥有相同的地址,而流量落到了错误的地方。
空隙
空隙是父块中没有任何子网覆盖的一段。假设你从 10.0.0.0/24 中切出了 10.0.0.0/26 和 10.0.0.128/26。在它们之间以及之后,10.0.0.64/26 和 10.0.0.192/26 保持未分配。这两个块就是你的空隙:你仍然可以分配、声明或仅仅记账的地址空间。
找出空隙有两个原因很重要。它显示在不重新编号的情况下哪里有增长空间,并确认你打算汇总的块确实被完全使用,因为在空隙之上通告的汇总会声明你尚未分配的地址。
审计一份规划
要审查一份规划,列出你分配的每个前缀,并将父块作为范围给出。重叠报告告诉你哪些前缀冲突以及如何冲突;空隙报告精确告诉你父块内哪些 CIDR 块仍然空闲。CIDR 计算器 在重叠 / 空隙模式下完成这两者,把每个重叠标记为完全相同、被包含或部分,并把每个空隙表示为填充它的最大对齐块。
这两半都连回 超网划分:一份没有无意重叠、且块内没有空隙的地址规划,正是能干净汇总的那份规划。