"BGP poisoning" 到底是什么?

What exactly is "BGP poisoning"?

我在几篇论文中发现了语句 "BGP poisoning" 和 "poisoned AS" 有时它似乎指的是完成某件事以实现某件事有时它被认为是坏事但从未解释过是什么"BGP poisoning" 实际上是。

由于我自己找不到这个问题的答案,如果您能告诉我您对这个概念的理解,我将不胜感激。

https://arxiv.org/pdf/1811.03716.pdf 有描述

总结:

  • 假设路由器 Rdst 想要影响入站流量所采用的路径,例如从路由器 Rsrc 到路由器 Rdst 的流量。

  • 假设从 Rsrc 到 Rdst 的最短路径通过某个中间路由器 Rint。

  • 假设自治系统ASdst中的路由器Rdst,自治系统ASsrc中的路由器Rsrc,自治系统ASint中的路由器Rint等(见下图)

  • 特别是,路由器 Rdst 希望强制流量通过路由器 Rint,而是采用一些更长的路由,例如通过一些替代路由器Ralt1 和 Ralt2(再次参见下图)。

  • 为实现这一点,路由器 Rdst "poisons" 在为自己的目标前缀发送 BGP 通告时路由:

    • 它不是通告正常的 AS 路径 (ASdst),而是通告 (ASdst, ASint, ASdst)。

    • 注意 Rdst 是 "lying":它声称路径已经通过 ASint,但实际上并没有。

    • 它还添加了一个额外的 ASdst 以确保 AS 路径中的第一个 AS 仍然看起来正常(= 广告路由器的 AS)。

    • 当Rint收到Rdst通告的BGP UPDATE时,会发现AS-path中存在环路,将UPDATE视为撤回。特别是,不要将广告传播到 Rsrc。

    • 另一方面,BGP 通告将从 Rdst 正常传播到 Ralt1,再到 Ralt2,再到 Rsrc。

    • 因此,从Rsrc的角度来看,剩下唯一可行的路径是Rsrc -> Ralt2 -> Ralt1 -> Rdst。

  • 因此:Rdst 已经实现了强制流量避开 Rint 的目标。


          Rdst (ASdst)
     ____/    \_____
    /               \
Ralt1 (ASalt1)      Rint (ASint)
   |                 |
Ralr2 (ASalt2)       |
    \____       ____/
         \     /
          Rsrc (ASsrc)