在Quagga中连接eBGP和iBGP路由器

时间:2019-02-21 19:30:49

标签: loopback bgp ospf quagga

我正在尝试从AS7宣布前缀,我希望AS6接收它并将其发送给AS2(如所附拓扑enter image description here中所示)。我在AS6的所有路由器上运行OSPF。我为AS6中路由器的每个环回接口分配了10.x.x.x。例如r6的10.6.6.6。对于r4等,是10.4.4.4。我在AS6的所有路由器之间建立了对等连接。例如,r3与r6,r4,r9和r5事件有联系,尽管我们之间没有物理联系。

我的问题是我应该为r6使用的IP地址应该是一个公共ip,因为如果我为r6使用10.6.6.6,那么AS7的r7将无法与其通信。与r5和r9相同的原因应该与它们的公共地址一起运行。如果我使用r6的公共ip,然后将r6连接到r5和r9,则不需要OSPF,并且没有OSPF,r6也可以与r9和r5通话。

我很困惑如何使用r6的公共IP地址将r6包含在我的全网状拓扑中。我应该将r6的公共IP地址分配给它的环回吗?

1 个答案:

答案 0 :(得分:1)

1)在AS6中,您需要一个完整的IBGP会话:R3-R4,R3-R5,R3-R6,R3-R9,R4-R5,R4-R6,R4-R9,R5-R6,R6- R9。您需要完整的网格物体有两个原因。一:每个路由器在其转发表中都需要IBGP路由,因此每个路由器都需要使用IGBP。二:IBGP路由通常不会从一个IBGP会话传播到另一个IBGP会话,因此IBGP会话必须形成完整的网状网络。

注意:或者,作为替代完整IBGP会话的网络,您可以使用一个或多个路由器反射器:RR-R3,RR-R4,RR-R5,RR-R6,RR-R9。

注意:通用设计是所谓的无BGP核心。在这种设计中,您仅在AS的边缘路由器上运行IBGP(在示例R5,R9和R6中)。核心中的其他路由器(在您的示例中为R3和R4)仅运行IGP(在您的示例中为OSPF)。这意味着BGP路由不在核心路由器R3和R4中。为了使转发工作正常进行,从边缘路由器到边缘路由器(通常是MPLS,有时是GRE或VXLAN)使用某种(自动)隧道技术。

2)建议将环回地址用作IBGP会话的源和目标地址。这是为了避免将多跳IBGP会话绑定到物理接口。例如,假设您也有R5-R9链接,并考虑了R6-R9 IBGP会话。 R6-R9 IBGP会话的物理路径通常为R6-R4-R9。但是,如果R6-R4接口出现故障,我们希望IBGP会话保持畅通并移至R6-R3-R5-R9路径。

3)由于IBGP会话通常是环回至环回,有时甚至是多跳,因此您需要为每个BGP发言者(R3,R4,R5,R6,R9)找到某种机制来发现到达环回的路由。这就是为什么AS中的每个路由器也必须运行OSPF(R3,R4,R5,R6,R9)的原因。

4)环回地址通常是公共IP地址,但从理论上讲它们也可以是私有IP地址。真正重要的是,AS6中的每个路由器都具有OSPF可达性,可以环回同一域中的其他路由器。

5)EBGP会话R2-R5,R2-R9和R6-R7应该绑定到接口。换句话说,这些BGP会话的源IP地址和目标IP地址应该是AS间接口的IP地址。