BGP 对等互连需要哪种连接?

网络工程 路由 bgp 广告
2021-07-30 14:36:49

如果我想与某人建立 BGP 对等互连,我是否需要与他直接连接?这意味着我们在同一个细分市场?

如果没有,即使我使用标准 DSL 连接(使用静态 IP 地址),我是否能够与某人进行对等互连。

我在这里不明白的是,当我向某人宣布我的 AS 时,例如我的 DSL 链接上的 ip 为 20.100.100.1。如果我现在向某人宣布 30.100.100.0/24,他将开始向我的 DSL ip 地址发送发往该子网的包。但是,我的 DSL 提供商是否不会将这些包扔给其他人,或者如果它们是发给我的,我怎么知道它们最初的地址是哪里?

4个回答

您可以启动 BGP 会话(尽管您可能必须覆盖默认的 TTL 限制),但问题实际上是发送数据。

“next hop IP address”是一个本地概念,用于查找接口和MAC地址(或等效于其他接口类型),有时用于查找其他路由协议中的路由(对于ibgp与igp一起使用)它从不实际上出现在电线上。

因此,要实现有意义的对等互连,您确实需要在您和对等方之间建立连接,这样您就可以相互发送 IP 数据包,而无需任何中间路由器查看其 IP 标头并进行路由决策。该连接可以是专用的点对点链接。它可以是交换点提供的对等局域网。它可能是某种隧道。

请注意,对等隧道有其缺点,特别是如果您有任何下游,它很容易导致循环。

您必须具有到 BGP 对等体的 IP 连接。BGP对等体不必相邻;它可能有几个跃点。

您需要与您的 ISP 进行对等连接,或者您需要创建一条通向您要与之对等连接的网络的隧道。AS(自治系统)根据定义是自治的,因此您无法控制其他 AS 将发送或不发送给您的内容。您所能做的就是将您的部分或全部前缀通告给另一个 AS,并使用其他 AS 通告给您的任何前缀。

请记住,BGP 是一个应用程序,它仅在对等方之间通告前缀并在 IP/TCP 端口 179 上运行。已经需要通过连接的路由或其他动态/静态路由协议在对等方之间建立“底层”可达性。

eBGP需要直接连接的对等方作为这些 hello 的 TTL=1。这可以用“ebgp-multihop #”覆盖以设置不同的 TTL。eBGP 根据定义位于两个不同的自治系统 (AS) 之间。这是典型的 ISP 连接

iBGP的 TTL 为 255,因此可以在同一 AS 内跨企业对等互连。这是典型的企业远程站点连接或内部 BGP 作为企业的主要路由协议。

使用 BGP,您直接通过 IP 地址对等,而不是通过多播 hello,因此首选静态 IP 地址,因为对等互连的双方都需要匹配,因为它需要 TCP 握手才能建立对等互连。

您是正确的,当您向 ISP 通告前缀时,更新包括您的 IP 下一跳以指向您的边缘 IP 地址。这就是互联网路由器将路由回给您的方式。

如果互联网上的其他人通过 BGP 广告相同的前缀,希望这不会发生,因为除了依赖主干 ISP 过滤将忽略来自其他企业的广告外,别无他法。只要您首先公布了路由,从 ISP 的角度来看,最早的路由将在多条路径之间获胜。