在网络路由机制中,自治系统路径前置(AS Path Prepending)是一种常见的流量调控手段,其核心原理是通过在自治系统(AS)的路径信息中重复添加本地 AS 号,人为增加路径长度,从而降低该路径在路由选择中的优先级,引导流量更倾向于选择其他更短的路径。然而,当这种操作超出合理范围,即出现过度路径前置时,就可能引发一系列复杂的网络问题。
从操作层面来看,过度路径前置通常表现为在路径信息中大量重复添加 AS 号,使得原本简洁的路径变得异常冗长。例如,正常情况下为了微调流量可能仅重复添加 1-2 次本地 AS 号,但过度操作时可能重复添加 10 次以上,导致路径长度远超网络实际拓扑所需。这种过度添加并非基于网络拓扑的合理优化,而是可能源于配置失误、对路由机制理解偏差,或是某些不当的流量控制意图。
更值得警惕的是,过度路径前置会给 “恶意自治系统” 提供可乘之机。恶意自治系统可以利用路径信息的冗余性,对前置的大量重复 AS 号进行本地剥离操作。由于这些被重复添加的 AS 号并非网络拓扑中的真实跳转节点,剥离过程不会影响数据传输的可达性,却能大幅缩短路径长度。例如,一条被过度前置至包含 20 个重复 AS 号的路径,经过恶意自治系统剥离后,可能被伪装成仅包含 3-5 个真实 AS 号的 “优质短路径”。
这种被篡改的路径会被恶意自治系统传播给其相邻的自治系统,而对于下游自治系统来说,很难察觉路径中前置 AS 号被剥离的痕迹。因为路由信息的传递主要依赖于路径长度和可达性等表面参数,下游系统通常无法验证路径中每个 AS 号的真实性和合理性。这就导致下游系统可能误判这条被缩短的路径为更优选择,从而将原本应流向其他正常路径的流量重新定向到该恶意路径上。
流量的异常重新定向会引发诸多连锁反应。一方面,可能导致正常路径的负载骤降而恶意路径所在的网络 segment 负载激增,造成网络拥堵、延迟增加,甚至出现数据包丢失等情况,严重影响网络服务质量。另一方面,流量被引导至恶意自治系统控制的路径后,可能面临数据被监听、篡改、劫持等安全风险,对网络安全构成严重威胁。例如,敏感信息可能被窃取,或者数据在传输过程中被恶意篡改,破坏数据的完整性和机密性。
此外,过度路径前置还会显著增加网络观测和故障排查的难度。冗长的原始路径和被篡改后的短路径混杂在一起,使得网络管理员难以通过常规的路由监测工具准确识别流量异常的根源。路径长度的剧烈波动和不确定性,也会干扰网络拓扑的正常分析和路由策略的制定,给网络的日常运维和优化带来极大挑战。
从网络整体生态来看,过度路径前置的泛滥还可能破坏路由选择的公平性和稳定性。当越来越多的自治系统出于不当目的进行过度前置,或恶意利用他人的过度前置进行路径篡改时,基于路径长度的路由选择机制会逐渐失效,导致网络路由变得混乱无序,影响整个互联网的高效协同运作。
如果我们观察一段时间内出现的最大自治系统路径长度,那么在1997年至2008年间,通过路径前置使路径长度超过100的情况仅出现过一次,但自2008年起就变得常见了。在此期间,路由视图(Route Views)观测到的最大自治系统路径长度(AS Path Length)历史记录如下图所示。