BGP ORIGIN属性操纵及其对互联网的影响
内容提要
Cloudflare研究发现,约70%的BGP路径中ORIGIN属性被修改,主要被改写为IGP以吸引流量。约10%的直接对等方及26%的顶级AS参与此操作,影响路径选择并转移流量。该行为违反RFC规范,建议弃用ORIGIN属性或强制设为IGP,以促进更公平的路由。
延伸解读
ORIGIN属性操纵的动机与影响
文章指出,约10%的直接对等方和26%的顶级AS会修改ORIGIN属性,通常改为IGP以吸引流量。这种行为源于BGP路径选择中ORIGIN的优先级较高,修改后可使自身路径更优,从而转移流量并增加收入。这反映了路由选择中的商业竞争,而非技术需求。
操纵行为的普遍性与隐蔽性
研究发现,约70%的IPv4路径和67%的IPv6路径中ORIGIN被重置为IGP,且操纵者多为大型AS,如Tier-1网络。部分AS仅对IPv4或IPv6修改,或仅对从对等方学习的路由修改,而保留客户路由的原始值,显示出策略性配置。这种隐蔽性增加了检测和治理的难度。
对路由公平性的挑战与改进建议
ORIGIN操纵破坏了路由选择的公平性,使遵守RFC的网络处于劣势。文章建议弃用ORIGIN属性或强制将其设为IGP,以消除其影响。虽然立即弃用不可行,但要求所有路由器将ORIGIN设为IGP是可行的起点,有助于减少操纵空间,促进更公平的路由。
Q&A
BGP ORIGIN属性是什么?它有哪些可能的值?
BGP ORIGIN属性是BGP路径属性之一,用于指示路由是如何注入BGP的。它有三个可能的值:IGP(表示路由源自AS内部)、EGP(历史遗留值,表示通过旧的EGP协议学习,已过时)、INCOMPLETE(表示路由来源未知或外部)。
Cloudflare的研究发现BGP ORIGIN属性被操纵的比例是多少?
Cloudflare的研究发现,在多个观察点中,约70%的BGP路径中ORIGIN属性被修改,与源AS设置的值不同。
为什么网络运营商会修改BGP ORIGIN属性?
网络运营商修改ORIGIN属性主要是为了影响BGP路径选择,从而吸引更多流量到自己的网络,增加收入。例如,将ORIGIN改为IGP可以使路由更优选,从而引导流量经过自己的链路。
BGP ORIGIN属性在路径选择中起什么作用?
在BGP路径选择中,当两条路由具有相同的Local Preference和AS_PATH长度时,路由器会比较ORIGIN属性,选择值较低的路由(IGP=0,EGP=1,INCOMPLETE=2)。因此,ORIGIN属性可以影响路由的优先级。
Cloudflare的实验是如何检测ORIGIN属性被修改的?
Cloudflare宣布了多个带有不同ORIGIN值(IGP、EGP、INCOMPLETE)的IPv4和IPv6前缀,然后通过分析公共BGP收集器(如RIPE RIS和RouteViews)的MRT转储以及本地BMP数据,观察这些前缀在传播过程中ORIGIN值是否被改变。通过比较观察到的ORIGIN值与原始值,识别出修改ORIGIN的AS。
哪些类型的AS更倾向于修改ORIGIN属性?
研究发现,大型AS(如Tier-1网络)更倾向于修改ORIGIN属性。在顶级50个AS中,有26%的AS修改了ORIGIN;在顶级100个AS中,有20%修改。这些AS在互联网中具有高度中心性和影响力。
修改ORIGIN属性对互联网流量有什么影响?
修改ORIGIN属性可以改变BGP路径选择,从而将流量引导至修改者的网络,导致流量重新分配。例如,Cloudflare的实验显示,将ORIGIN重置为IGP使得修改者获得了额外的路径,增加了流量,尤其是在IPv6中效果更明显。
Cloudflare对BGP ORIGIN属性的未来有什么建议?
Cloudflare认为ORIGIN属性在现代互联网中已无意义,建议弃用或使其在路径选择中不再重要。他们建议要求BGP实现将所有接收和通告的路由的ORIGIN设置为IGP,并希望社区和IETF重新讨论ORIGIN属性的未来。