我在几篇论文中发现“ BGP中毒”和“中毒的AS”的陈述,有时似乎是指为实现某件事而完成的工作,有时被认为是不好的事情,但从未确切解释“ BGP中毒” ”实际上是。
由于我本人无法找到此问题的答案,因此,如果您能提供我对该概念的理解,将不胜感激。
答案 0 :(得分:2)
https://arxiv.org/pdf/1811.03716.pdf有描述
摘要:
说路由器Rdst希望影响入站流量所经过的路径,例如从路由器Rsrc到路由器Rdst的流量。
说从Rsrc到Rdst的最短路径经过某个中间路由器Rint。
假设自治系统ASdst中的路由器Rdst,自治系统ASsrc中的路由器Rsrc,自治系统ASint中的路由器Rint等(请参见下图)
特别是,路由器Rdst希望强制流量不通过路由器Rint,而是采用更长的路由,例如通过某些备用路由器Ralt1和Ralt2(再次,参见下图。)
为实现此目的,路由器Rdst在发送其自己的目的地前缀的BGP公告时会“毒化”其路由:
它没有广播常规的AS路径(ASdst),而是广播了(ASdst,ASint,ASdst)。
请注意,Rdst在“说谎”:它声称路径已经通过ASint,而实际上并未通过。
它还添加了一个额外的ASdst,以确保AS路径中的第一个AS仍然看起来正常(=广告路由器的AS)。
当Rint收到Rdst通告的BGP UPDATE时,它将看到AS路径中存在一个循环并将UPDATE视为撤回。特别是,请勿将广告传播到Rsrc。
另一方面,BGP通告将正常地从Rdst传播到Ralt1到Ralt2传播到Rsrc。
因此,从Rsrc的角度来看,唯一剩余的可行路径是Rsrc-> Ralt2-> Ralt1-> Rdst。
Ergo:Rdst已实现了强制流量避免Rint的目标。
Rdst (ASdst) ____/ \_____ / \ Ralt1 (ASalt1) Rint (ASint) | | Ralr2 (ASalt2) | \____ ____/ \ / Rsrc (ASsrc)