BGP ORIGIN 属性操纵及其对互联网的影响
边界网关协议(BGP)是互联网的事实上的路由协议。它提供了内置机制,允许以自治系统(AS)为代表的实体表达他们如何在互联网上发送和接收流量。这样的一种机制是路径属性,它携带与其关联路由的基本路由信息和元数据。路径选择算法以确定的顺序处理这些路径属性中的某些,以计算出该特定前缀的最佳路径。借助我们在互联网的独特位置,我们在BGP中的一个众所周知的强制性属性,即ORIGIN属性上进行了调查。ORIGIN属性必须出现在每个BGP前缀公告中,并且在由发起者设置后,任何路由器都不应修改它。通过我们自己的实验,我们发现,在多个观察点中约70%的观察路径的ORIGIN值与发起自治系统设置的值不同。此ORIGIN属性的操纵对互联网流量转发的方式产生了重大影响,这将在本帖中探讨。BGP ORIGIN及其运营历史ORIGIN属性表明了路由是如何注入到BGP中的——这与原始AS指示哪个AS公告了路由不同。它有三个可能的值:(0)IGP:表明该路由位于发起AS内部 (1) EGP:一个历史值,表明该路由是通过旧的外部网关协议(EGP)学习的,该协议已被废弃,不打算在现代Internet中使用 (2) INCOMPLETE:表示该路由是通过未知或外部源学习的根据RIPE RIS和RouteViews的所有公共BGP收集器的总可观察路由中,89.8% 的ORIGIN设置为IGP,3.5% 为EGP,6.7% 为INCOMPLETE。如上所述,EGP旨在完全弃用,INCOMPLETE在总路由中占少数份额。这些数字表明,虽然IGP是ORIGIN最常见的值,但超过10%的路由具有EGP或INCOMPLETE值,可能会影响路由决策。作为BGP路径选择过程的一部分,路由器在两个路由具有相等的本地优先级和AS_PATH长度时会评估ORIGIN,选择并安装具有较低ORIGIN值的路径。除了路径选择决策外,值得注意的是,RFC4271对ORIGIN的以下说明:ORIGIN属性由发起关联路由信息的发言者生成。其值不应被任何其他发言者更改。尽管不应修改ORIGIN属性,但由于其在路由选择过程中的早期评估,此属性已成为自治系统在改变路由优先级并引导流量通过或离开其网络时的一个有吸引力的选项。例如,在下面的图中,AS64501宣布一个ORIGIN设置为INCOMPLETE的前缀,并将此公告传播给其两个客户,AS64502和AS64503。通常,它们都应该在AS_PATH中前插自己的AS,并将公告转发给它们的共同客户AS64504,从而保持INCOMPLETE值。然而,为了提高其路由在竞争对手中被选择的可能性,AS64503将ORIGIN修改为IGP。因此,AS64504接收到两个具有相等AS_PATH长度的前缀路由,但来自AS64503的路由携带更受欢迎的IGP值。因此,AS64504将选择通过AS64503的路由,将流量发送到AS64501,为该提供商带来更多的流量和收入。这个简单的改变,将一个不准确但更可取的ORIGIN值,允许中转提供商吸引流量和利润。网络运营商社区默默接受了中转提供商已经将ORIGIN属性重写为IGP的现实,以吸引更多的流量到其链路。然而,James Bensley在RIPE 91会议上首次揭示了这一操纵技术被主要网络广泛采用的事实。Celsa Sánchez在LACNIC 45会议上的后续演讲调查了这一行为在LACNIC(拉丁美洲和加勒比地区)的影响。虽然公开披露应该会阻止这一做法,但它突显了路由选择是由收入驱动的军备竞赛的现实。网络运营商更有可能快速求助于重写ORIGIN,只为打平竞争的局面,而不是等待竞争对手恢复RFC遵循。这种在互联网各处对ORIGIN处理的不一致性促使创建了一份现已过期的互联网草案,建议对其进行弃用。为了揭示该现象的程度并追踪其参与者及其意图,我们进行了自己的实验,并在下一部分分享结果。ORIGIN属性操纵分析在我们的实验中,我们宣布了三个IPv4和三个IPv6前缀,每个前缀都有不同的ORIGIN值。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡