0

我想通过一些重要的场景来学习和试验 BGP 协议:设置任播,查看断开某些链接后路由的变化速度和方式等。据我所知,我不能轻易也不应该在“真实互联网”,因为我需要注册/获得一个自治系统,获得一些 IP 地址池等,更不用说我的实验可能造成的混乱了。

因此,我正在考虑购买几(5-6)个便宜的、兼容 openWRT 的路由器(我在考虑MikroTik RB750Gr3),设置我自己的小型隔离“互联网克隆”并使用我将安装在这些上的 Quagga 玩 BGP路由器。所以现在我需要帮助来验证我的想法是否有意义:

  1. 我的理解(在开头描述)我不能/不应该在“真正的互联网”上这样做是否正确?或者也许有一些公开的“沙盒”可以让我进行实验?

  2. 是否有可能像我描述的那样创建一个如此小的孤立的互联网克隆,或者由于我遗漏的某些原因它可能无法工作?(例如,像 IANA 这样的中央注册机构也需要出现在我的克隆或其他我不知道的东西上?)

  3. 是否有比购买多个路由器更容易/更简单的方法来进行此类实验?也许我可以以某种方式在 Qemu-KVM/libvirt 上创建几个互连的虚拟网络并在那里玩?(我无法谷歌任何相关的东西)

  4. Quagga BGP 软件是否能够做我想做的事情,或者它有一些限制,不允许我尝试一些/许多典型的“真实互联网”场景?

  5. 假设到目前为止我或多或少都在正确的轨道上,MikroTik RB750Gr3是进行此类实验的好模型吗?或者我可以使用便宜得多的东西?或者相反:我需要一些“更有能力”的东西?

  6. 网络上是否有任何资源或多或少地描述了我打算做的事情?到目前为止,我发现的大多是 BGP 的高级概述或从单个 AS 的角度描述情况的文档。

我最初在网络工程stackexchange 上问过这个问题,但后来发现 openWRT 和 Quagga 是那里的禁止话题,所以立即关闭:希望这里是个好地方;)

4

1 回答 1

1

我很佩服这种雄心壮志,但我看不到由 5-6 台路由器组成的网络如何真正成为有效的“互联网克隆”。

您谈到“断开某个链接后路由更改的速度和方式”——但在真实的 Internet 中,对失败链接的响应首先取决于发生这种情况的网络,然后取决于由此产生的变化( s) 通过“BGP Mesh”传播,这又取决于所涉及的网络。一个由紧密连接的路由器组成的小型网络将难以模拟——即使您可以找到如何配置模拟以模拟真实网络。

您说您找到的资源用单个 AS 来描述 BGP。我想这主要是因为 BGP 所做的只是在一个 AS 和它所连接的邻居 AS 之间交换路由信息。在某种程度上,全局路由是互联网上所有单个 AS 到 AS BGP 连接的“紧急属性”——我称之为“BGP Mesh”。如果您使用您选择的搜索引擎查找“Route Flap Damping”或“BGP Route Convergence”或“BGP Route Stability”,您应该开始查找与 BGP Mesh 行为相关的内容。还有caida.orgRIPErenesys

使用 5-6 个路由器和从 RIPE 或 Caida 路由收集器中提取的数据,您可能可以将 Quagga 实例设置为连接到几个传输提供商和三个或四个对等点的某个 AS……但这听起来像一个很多工作都不会返回。

对不起,我是消极的。

自从我上次对 Quagga 做任何事情以来已经有一段时间了,但它是一个强大的 BGP 实现。还有鸟。

于 2020-04-11T16:37:53.587 回答