计算机网络:路由聚合的注意事项有哪些?
首先,子网的连续性是关键。如果子网不连续,聚合后可能包含无效子网,导致流量被错误转发。比如,假设存在 192.168.1.0/24、192.168.2.0/24、192.168.4.0/24,这几个子网不连续(中间缺了 192.168.3.0/24),如果聚合为 192.168.0.0/22,这个聚合路由会包含 192.168.0.0-192.168.3.0,其中 192.168.3.0 可能不存在,导致流量发到这里丢失,形成黑洞。所以需要确保聚合的子网是连续的,属于同一超级网。
然后是聚合掩码的计算。需要正确计算能够覆盖所有目标子网的最小掩码,也就是最长的共同前缀。比如,子网 192.168.1.0/24、192.168.2.0/24、192.168.3.0/24,转换为二进制,前 22 位是共同的(192.168.00000000.00000000,192.168.00000001.00000000,192.168.00000010.00000000,前 22 位是 11000000.10101000.000000),所以聚合掩码是 / 22,聚合路由是 192.168.0.0/22。如果掩码太长,可能覆盖不了所有子网;太短,可能包含无关子网,导致路由不准确。
接下来是路由黑洞的问题,除了子网不连续导致的,还有可能是聚合路由发布后,聚合设备本身无法到达某些被聚合的子网。比如,路由器 A 聚合了子网 1-4,但路由器 A 本身到子网 3 没有路由,当其他设备通过聚合路由把到子网 3 的流量发给 A 时,A 无法转发,形成黑洞。所以需要确保聚合设备有到达所有被聚合子网的精确路由。
然后是次优路径。比如,存在两个聚合点,路由器 B 聚合了子网 1-4 为 192.168.0.0/22,路由器 C 聚合了子网 3-6 为 192.168.2.0/22。如果路由器 D 同时收到这两个聚合路由,当要访问子网 3 时,可能会选择到 B 的路径,但实际上到 C 的路径更近,导致次优路径。这时候需要合理规划聚合点,或者通过路由度量(如跳数、带宽)调整。
不同路由协议的特殊处理。比如 RIP 协议,版本 1 不支持 CIDR,只能聚合到主类网络(A、B、C 类),所以手动聚合时需要注意 RIP v1 的限制;RIP v2 支持 CIDR,可以手动配置聚合。OSPF 中,在 ABR(区域边界路由器)上会自动产生区域间的聚合路由,但手动聚合需要在 ASBR(自治系统边界路由器)上配置,并且要注意聚合路由的度量值,以及是否抑制明细路由。BGP 协议中,聚合时可以配置 summary-only 抑制明细路由,避免明细和聚合路由同时存在导致的冲突,同时 BGP 的聚合还需要考虑 AS_PATH、MED 等属性的处理,确保聚合路由的属性正确。
还有抑制明细路由