今天跟大家聊聊BGP与OSPF。
BGP和OSPF是两种最常见的路由协议,BGP在大型网络中具有动态路由优势,而OSPF具有更高效的路径选择和收敛速度。
边界网关协议(Border Gateway Protocol,简称BGP)和开放最短路径优先协议(Open Shortest Path First,简称OSPF)是世界上最流行的两种基于标准的动态路由协议。
虽然BGP和OSPF都是动态路由协议,执行类似的任务,但它们计算路由策略和发布路由的方式不同。
因此,有些情况下选择BGP协议,有些情况下选择OSPF协议。
让我们进一步了解每个路由协议的工作原理,以及何时应该使用一个路由协议。
动态路由
使用动态路由,路由器创建并维护一个数据库,其中包含所有路由器知道的路由。
如果存在到外部网络的两条或多条路径,路由器会计算到外部网络的最优路径。
运行动态路由协议的路由器与被配置为参与的相邻路由器共享路由表信息,这些路由器使用相同的动态路由协议和路由协议实例进行通信。
BGP是如何工作的?
BGP是一种外部网关协议,它被设计用于在完全不同的网络(被称为自治系统(ASes))之间共享路由信息。
当存在多条bgp选择路径时,协议会根据以下几种条件选择一条路径发送流量:
- 选择weight值最高的路由
- 选择local-pref较大的路由
- AS=PATH属性越短越优先
- 到达目的网络的AS最短路径
- MED较小路由为优选
- 来自as内(如内部BGP)或as外(如外部BGP)的首选路径。
本地管理员可以操纵许多这些标准,将流量强制到首选路径。
但是,当路由器连接到不同AS的邻居时,本地AS路由器无法控制邻居路由器对入方向流量的路径选择。
因此,BGP在与外部网络通信时,对流量路径的控制能力较弱。
与大多数路由协议相比,BGP具有较高的效率,对计算和内存资源的要求较低。
因此,它可以处理最大网络的动态路由。
例如,internet通过BGP协议将拥有一个公共AS的isp和组织连接起来,并使用多条动态路径到internet。这在主ISP链路故障时非常有用,因为BGP会动态地将去往internet的流量转移到备用ISP链路。
下图展示了一个使用AS 1010的公司的互联网架构,该公司使用AS 101和AS 201连接到isp。as1010中的路由器运行BGP协议,并与这两个isp建立了邻居关系。根据到internet上外部网络的路径选择,BGP会选择将流量发送到ISP 1或ISP 2。另外,如果这两条ISP链路中的一条发生故障,BGP会将这条断开的路径从路由表中删除,并将所有流量转发到其他可用路径上。
边界网关协议用例
BGP协议通常部署在企业互联网边缘,也可以部署在其他网络边缘位置,如企业网络与IaaS云之间的广域网或链路。这是因为BGP的扩展性很好,使用了一个确定的路径选择过程,并且是在由独立组织拥有和操作的网络之间动态路由的事实上的标准。
OSPF如何工作?
与BGP不同,OSPF是一种内部网关协议,在公司的私有局域网中最常使用。OSPF通常被认为比BGP更易于部署和管理,在大多数企业环境中,运行OSPF几乎不需要手动调整。
OSPF维护一个本地派生和学习网络的数据库。如果到远端网络有多条OSPF路径,OSPF会根据计算出的成本或度量值选择一条路径。到远端网络的路径开销是根据计算的参考带宽除以接口带宽得出的。参考带宽是OSPF中用来量化链路速度的一个指标。
如何计算路径成本
路径开销=参考总带宽/接口带宽
数字越低,连接速度越快。例如,100mbps链路的OSPF参考带宽为10,1gbps链路的OSPF参考带宽为1,网络管理员可以根据需要调整这个计算。
OSPF使用路径带宽作为决定路径选择的主要因素,因此,与BGP相比,它更有可能根据网络性能选择最优路径。
OSPF的使用场景
与BGP不同的是,运行OSPF需要大量的CPU和内存,因此,它并不适合超大型网络。
虽然OSPF可以扩展到处理具有数百条路由的大型网络,但管理员必须注意使用手动调整来减少处理和内存开销,这一点比BGP更重要。
OSPF的收敛速度比BGP快。
网络收敛是指当网络中断时,路由器调整到目标网络的路径的速度。
由于其收敛速度和基于网络性能选择路径的能力,OSPF在企业局域网和私有数据中心中是一个更好的选择。
在某些情况下,OSPF还可以用于动态学习WAN路由和连接到IaaS云。然而,以下问题让人认为 OSPF 最好在单独管理的企业 LAN 范围内使用:
- 组播通信缺乏;
- 更高的内存和CPU需求;
- 公司内缺乏动态路由能力。
BGP和OSPF在企业中的哪些地方使用?
尽管存在一些例外情况,但 BGP 最常用于互联网冗余、WAN 和 IaaS 环境。OSPF 主要用于 LAN 和数据中心,但偶尔也可用于 WAN 和 IaaS 环境。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/212345.html