BGP is the protocol that keeps Internet connected. Operators use it by announcing Address Prefixes (APs), namely IP address blocks, that they own or that they agree to serve as transit for. BGP enables ISPs to devise complex policies to control what AP announcements to accept (import policy), the route selection, and what AP to announce and to whom (export policy). In addition, BGP is also used to coarse traffic engineering for incoming traffic via the prepend mechanism. However, there are no wide-spread good tools for managing BGP and much of the complex configuration is done by home-brewed scripts or simply by manually configuring router with bare-bone terminal interface. This process generates many configuration mistakes. In this study, we examine typos that propagates in BGP announcements and can be found in many of the public databases. We classify them and quantify their presence, and surprisingly found tens of ASNs and hundreds of APs affected by typos on any given time. In addition, we suggest a simple algorithm that can detect (and clean) most of them with almost no false positives.
翻译:BGP是维系互联网连接的协议。运营商通过宣告其拥有或同意提供中转服务的地址前缀(AP,即IP地址块)来使用该协议。BGP使互联网服务提供商能够制定复杂策略,控制接受哪些AP宣告(导入策略)、路由选择方案,以及向谁宣告哪些AP(导出策略)。此外,BGP还通过前坠附加机制对入站流量进行粗粒度流量工程。然而,目前缺乏广泛应用的BGP管理工具,大量复杂配置依赖于自建脚本,或仅通过裸终端接口手动配置路由器。这一过程导致众多配置错误。本研究考察了在BGP宣告中传播且大量存在于公共数据库的拼写错误。我们对其分类并量化其存在性,意外发现任何时候都有数十个ASN和数百个AP受到此类错误影响。此外,我们提出了一种简易算法,该算法能以近乎零误报率检测(并清除)大部分此类错误。