在城域以太网上部署OSPF是否有意义?


26

当我需要为客户将多个分支站点相互连接时,我通常建议通过受信任的运营商进行MPLS VPN。每个站点的CE与其上游PE进行BGP对话,并且每个站点都有自己的专用ASN编号。这对我们来说非常方便,因为BGP提供了无数的流量工程工具,并且对n个站点的邻接限制为n + 1(+1是我们的colo环境)。

但是,最近,我注意到客户对城域以太网解决方案的兴趣与日俱增。我们的许多客户在同一都会区内都设有分支站点,对于相同速度的电路,MetroE的报价要比MPLS服务的价格低数百美元。尽管这很吸引人,但我不确定如何最好地跨第二层主干建立路由,同时避免将网状拓扑转变为中心辐射型。

BGP将需要在分支站点之间建立完整的邻接关系网格,以维持网格连接性,从可伸缩性的角度来看,这显然是不可取的。另一种选择是部署一个IGP,即OSPF,并使所有站点在WAN上形成邻接关系。我想将每个站点都视为自己的区域,这似乎有些过分,但是我想保留汇总从每个站点发布的路由的功能,并且只能在区域边界上进行。

这有意义吗?以这种方式部署OSPF时是否需要注意一些警告(例如,我应该考虑禁用LSA泛洪)吗?还是我忽略了另一种解决方案?

Answers:


14

这是一个复杂的问题,因为两种不同的产品非常不同。MPLS L3VPN电路本质上是参与的所有位置之间的完整网格,而MetroE连接通常是两个特定站点之间的点对点链接。

以我的经验,MetroE电路是直接设置的路径,没有保护服务,除非与保护路径签约。这意味着沿着特定路径的接口或路由器的故障将是由MetroE服务直接链接的两个站点之间的流量中断。MPLS L3VPN可以解决接口/路由故障,使您在站点之间拥有完整的网格。这通常解释了两者之间的价格差异。

在MetroE平台上构建自己的服务没有错-您只需要根据客户需求确定适合的路由类型。如果使用小型办公网络,则OSPF / IS-IS / EIGRP可能是在已建立的直接连接站点之间交换路由信息的绝佳方法。如果您更喜欢NSP / ISP / * SP,则在进行扩展时,将IGP和EGP之间的基础结构和客户路由分开非常重要。

作为ISP工程师,我们广泛使用MetroE和EWAN链接来构建我们的骨干网,并利用我们对物理链接的了解来设计iBGP / eBGP环境。在许多情况下,我们使用路由反射器和双路由反射器(对等体两侧的route-reflector-client)来减少我们的iBGP对等体数量。但是,除非您要处理POP中的6个以上的路由器,否则iBGP的扩展性非常好。

简而言之-如果是针对单个客户端的,则不能为自己的客户端提供网络服务-坚持使用IGP。如果需要使用故障转移/冗余/等在站点之间共享外部连接,请仔细检查您拥有的物理路径,并设计eBGP / iBGP来反映这一点。将路由器放置在远程位置,而站点外部仅1条链路与AS中的所有其他路由器的iBGP对等点毫无关系,请使用双路由反射器。


10

从托管的L3VPN(我假设您所说的“ MPLS VPN”)切换到L2VPN是一个不错的进步,因为您可以运行非IP协议,并且可以完全控制定义路由的路由协议和路由平台拓扑。

假设您在每个站点的CPE端仅放置一个以太网MAC地址,那么提供商设备在每个站点学习和转发1个MAC地址要比在每个站点学习并路由可能的多个子网简单得多。

从协议的角度来看,这是一个棘手的问题,需要大量信息才能回答,因为最佳选择取决于您的流量和增长计划。

这只是一个需要内部和Internet连接的大客户,还是它也出售连接?假设它们都是内部的,那么您将只部署一个IGP并可能运行一些eBGP来宣布路径。

如果您没有太多的站点或内部前缀,那么像OSPF或IS-IS这样的链接状态协议最有意义,因为只要有几个前缀,它将快速收敛并可以快速从RIB构建FIB。 。

如果您将拥有许多站点或前缀,这将开始给您的路由平台增加负担,因为它们每个都需要处理每个路由平台。这是开始需要n 2次的事情。如果您的站点经常出现故障,则链接状态的混乱也可能开始增加路由器池的负担。

如果您要拥有许多站点,许多短线站点(一个路径为“上游”,没有其他下游路由器)或许多路由搅动,则需要研究其他协议或拓扑。

在这种情况下,我建议将BGP与某些路由反射器一起使用。这样,您可以配置2个以上重型辐条,这些辐条会向其广播,其他辐条可以从中获取路由表。这样,您可以在许多刚刚连接的分支站点中部署轻量级CPE,宣布它们的空间并获得内部表或通往该路由器的默认路由。

大概,我会建议一些规模和装备(并假设达到亚千兆位吞吐量):

  • 1至20个分支-所有站点之间的OSPFv3。适用于所有站点的Juniper SRX240或类似产品。
  • 20到100根辐条-带路由反射器的iBGP。辐条上的Juniper SRX240,用于路由反射的Juniper MX5 / 10/40/80(或Debian Linux / BIRD)。
  • 100至500根辐条-开始将它们分成不同的L2网络,ASes或区域

7

只需在BGP讨论中添加两个通常被忽略的位:

  • 如果运行iBGP,通常需要其他路由协议才能在BGP下一跳之间建立连接。从设计的角度来看,iBGP比路由协议更像是可扩展性工具。
  • 如果运行eBGP,则不需要完整的BGP会话即可实现最佳的端到端流量。BGP下一跳处理很好地解决了这些问题。

有关更多详细信息,请参见http://blog.ioshints.info/2011/08/bgp-next-hop-processing.html


4

您可以在多点城域以太网服务上很好地运行OSPF(或其他IGP),它应该工作得很好。

可能有继续运行BGP的原因,但是...尽管它们与为什么您也想在自己的网络中运行BGP的观点基本相同。

您不必将所有BGP扬声器都放在这样的“广播”网络上的同一AS中。可以将其视为电信运营的一种内部IXP,您的专用AS可以通过第2层网格相互互连。您甚至不必维护完整的BGP对等网络,因为BGP更新可以在其更新消息中携带下一跳,而下一跳与对等会话的来源不同。

因此,例如,如果您在第2层网状网络上与路由器A,B和C相连,并且在A和B之间以及B和C之间具有BGP对等体,则当C获取源自A的路由更新时,它将即使它们是通过与B的对等会话了解到的,也将A作为下一跳。显然,您将需要更多的路由对等,而不只是单个中心辐射,因此您不依赖于单个中心,但是您不需要任何方式的完整网格。

如果以此方式运行BGP,您仍然可以获得运行BGP的所有路由策略优势……而且,正如另一位受访者所述,它可以使用相同的专用AS编号空间,甚至可以与现有L3VPN互连,因此您的模型和支持机制无需更改。

话虽这么说,我有几个Metro-E链接(在我的情况下是点对点),它们跨OSPF和iBGP运行,并且运行良好。


3

带有中心服务器/主路由器的“分支” beeing rs-client的路由服务器配置如何?

即使bgp对等体像是中心辐射状拓扑,所有分支也应该能够直接将流量发送给所有其他分支。

您甚至可以重复使用与MPLS提供商使用的私有AS编号相同的私有AS编号,以促进从服务到另一服务的迁移。


1

我强烈建议您阅读有关其他OSPF拓扑的知识并做出决定,例如以NBMA而非标准开始。您很快就会意识到,OSPF无法在通往同一城域以太网的同一路由器/站点的两条路径之间正确选择,这是由于通过出站接口计算成本的方式,主WAN和备用WAN链接都将显示为相同标准OSPF中的成本。但是,例如,如果您选择使用NBMA,则可以手动定义邻居成本-但现在您必须手动定义网格/邻接。

无论您做什么,都不能在ROUTE上重复,也不要加入第二层,如果稍后需要第二层互连,请使用OTV或其他第二层到第三层功能,只是在稍后提出问题。

与将WAN核心隐藏起来的简单提供商MPLS-VPN相比,您会很快发现您将学到更多关于OSPF的知识(并且需要了解更多信息)。


1

基于MetroE的OSPF可以正常工作,但是您需要确保它符合您的需求,并据此进行架构。我未曾提及的一个警告是,确保您知道提供商所支持的MTU。我已经看到在提供商维护期间MetroE链路上的MTU下降导致OSPF邻居无法启动。可能只是一个问题,因为它们并不真正支持巨型帧,但它们只是为我们提供了:)有时候变得好起来并没有回报。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.