Due to the policy-rich BGP, multiple stable forwarding states might exist for the same network topology and configuration, rendering the network convergence non-deterministic. This paper proves that any network with multiple converged states possesses a specific set of critical links which, when flipped (disconnect then reconnect), shifts the network between different stable states. We establish this result under the Stable Path Problem (SPP) framework, and also examine a real-world corner case where SPP doesn't apply. Building on this theoretical foundation, we propose a tentative theoretical verification method for non-determinism with $O(n)$ complexity, where $n$ is the number of edges in a network. Specifically, we separately flip each link in the network and observe whether new converged states emerge. If no new states are discovered, the network is guaranteed to be free of non-determinism. This approach is proved correct when the set of critical links reduces to a single link -- usually the case in the real-world deployments.
翻译:由于策略丰富的BGP协议,同一网络拓扑与配置可能存在多种稳定的转发状态,导致网络收敛具有非确定性。本文证明:任何具有多种收敛状态的网络都存在一组特定的关键链路,当这些链路发生翻转(先断开后重连)时,网络会在不同稳定状态间切换。我们在稳定路径问题(SPP)框架下建立了该结论,并研究了SPP不适用的现实边界案例。基于此理论基础,我们提出了一种复杂度为$O(n)$的非确定性理论验证方法(其中$n$为网络边数)。具体而言,我们依次翻转网络中每条链路并观察是否出现新的收敛状态。若未发现新状态,则可确保网络不存在非确定性。当关键链路集缩减为单条链路时(实际部署中的常见情形),该方法的正确性已得到严格证明。