【发布时间】:2019-11-09 18:02:52
【问题描述】:
我在几篇论文中发现了“BGP 中毒”和“中毒 AS”的说法,有时它似乎指的是为了实现某件事而完成的某些事情,有时它被认为是坏事,但从未解释过究竟是什么“BGP 中毒” “其实是。
由于我自己无法找到这个问题的答案,如果您能提供您对这个概念的理解,我将不胜感激。
【问题讨论】:
我在几篇论文中发现了“BGP 中毒”和“中毒 AS”的说法,有时它似乎指的是为了实现某件事而完成的某些事情,有时它被认为是坏事,但从未解释过究竟是什么“BGP 中毒” “其实是。
由于我自己无法找到这个问题的答案,如果您能提供您对这个概念的理解,我将不胜感激。
【问题讨论】:
https://arxiv.org/pdf/1811.03716.pdf 有描述
总结:
假设路由器 Rdst 想要影响入站流量所采用的路径,例如从路由器 Rsrc 到路由器 Rdst 的流量。
假设从 Rsrc 到 Rdst 的最短路径经过某个中间路由器 Rint。
假设路由器Rdst在自治系统ASdst,路由器Rsrc是自治系统ASsrc,路由器Rint在自治系统ASint等(见下图)
为了实现这一点,路由器 Rdst 在为自己的目标前缀发送 BGP 通告时“毒化”其路由:
它不是通告正常的 AS 路径 (ASdst),而是通告 (ASdst、ASint、ASdst)。
请注意,Rdst 是在“撒谎”:它声称路径已经通过 ASint,而实际上它没有。
它还添加了一个额外的 ASdst 以确保 AS 路径中的第一个 AS 看起来仍然正常(= 广告路由器的 AS)。
当 Rint 收到 Rdst 通告的 BGP UPDATE 时,它会看到 AS-path 中有一个循环,并将 UPDATE 视为撤回。特别是,不要将广告传播到 Rsrc。
另一方面,BGP 通告会从 Rdst 正常传播到 Ralt1,再到 Ralt2 到 Rsrc。
因此,从Rsrc的角度来看,唯一剩下的可行路径是Rsrc -> Ralt2 -> Ralt1 -> Rdst。
Ergo:Rdst 已实现强制交通避开 Rint 的目标。
【讨论】: