OSPF与BGP两个路由协议的应用场景

OSPF的定义

OSPF(OpenShortestPathFirst打开最短路径)是内部网关协议。内部网关协议(IGP)工作组的成立是为了设计基于最短路径优先(SPF)算法的IGP,以便在Internet协议网络中使用,它使用链接状态路由。具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。

在网络中使用OSPF协议后,大部分路由将由OSPF协议自行计算和生成,无须网络管理员人工配置,当网络拓扑发生变化时,协议可以自动计算、更正路由,极大地方便了网络管理。OSPF是一种可以在层次结构中运行的链路状态路由。层次结构中最顶层和最大的实体是自治系统。OSPF调用分层区域内的路由器以链接状态通告。OSPF是由于RIP的限制而创建的。RIP协议服务大型异构Internetworks的能力有限。

BGP的定义

BGP(BorderGatewayProtocol边界网关协议),是用于交换Internet路由信息的外部网关协议。通过使用任意拓扑,BGP可以连接自治系统的任何互联网络。BGP是唯一的一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。BGP构建在EGP的经验之上。BGP系统的主要功能是和其他的BGP系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了AS互联的拓扑图并由此清除了路由环路,同时在AS级别上可实施策略决策。它仅需要在每个自治系统上至少具有一台具有运行BGP的能力的路由器,而该BGP必须连接到至少一个其他自治系统的BGP路由器。

BGP可以管理以任何配置(例如全网状,部分网状)连接的一组AS,并且还可以处理随着时间推移拓扑中发生的更改。BGP系统基本上与其他BGP系统交换网络可达性信息,并在BGP路由器上使用接收到的可达性信息创建自治系统图。路径向量路由机制之所以用于BGP系统中,是因为当操作范围变大时,距离向量路由和链接状态路由变得棘手。

联系和区别

OSPF和BGP都是用于互联网选路的协议。是目前世界上最流行的两种基于标准的动态路由协议。它们代表了一组规则或者算法,可以指导路由器之间相互通信,以便它们将流量定向到最佳路径。BGP在大型网络中具有动态路由优势,而OSPF具有更高效的路径选择和收敛速度。虽然BGP和OSPF都是动态路由协议,执行类似的任务,但它们计算路由策略和发布路由的方式不同。

如果要进行内部路由,即在站点,企业或某个独立网内进行路由,则需要使用OSPF。一般来说,在站点边缘需要BGP,您可以在其中路由到公共互联网上。在中小型网络中,到外部的静态路由通常比建立BGP更可取。如果您有一个复杂的多宿主站点,无论其大小如何,都可以考虑使用BGP。

OSPF和BGP路由协议之间最主要的区别是前者属于IGP(内部网关协议),而后者则属于EGP(外部网关协议)。OSPF是以链路状态为根据进行选路,一般运行在AS自治系统内部,而BGP协议是建立在IGP协议基础之上的高级路由选择协议,一般是由ISP服务提供商运用在各个AS自治系统之间。

下表总结了OSPF和BGP之间的区别:

对于大多数项目,我都不推荐使用IS-IS。IS-IS是一种类似于OSPF的链路状态协议,但很少使用,通常仅在ISP时代才使用。

场景使用

(一)OSPF区域场景

OSPF区域划分

随着网络规模日益扩大,当一个大型网络中的路由器都运行OSPF协议时,LSDB会占用大量的存储空间,并使得运行SPF(ShortestPathFirst,最短路径优先)算法的复杂度增加,导致CPU负担加重。在网络规模增大之后,拓扑结构发生变化的概率也增大,网络会经常处于“震荡”之中,造成网络中会有大量的OSPF协议报文在传递,降低了网络的带宽利用率。更为严重的是,每一次变化都会导致网络中所有的路由器重新进行路由计算。OSPF协议通过将自治系统划分成不同的区域来解决上述问题。区域是从逻辑上将路由器划分为不同的组,每个组用区域号来标识。如图所示。

OSPF区域划分

OSPF路由的计算过程

同一个区域内,OSPF路由的计算过程可简单描述如下:

每台OSPF路由器根据自己周围的网络拓扑结构生成LSA,并通过更新报文将LSA发送给网络中的其它OSPF路由器。

每台OSPF路由器都会收集其它路由器通告的LSA,所有的LSA放在一起便组成了LSDB。LSA是对路由器周围网络拓扑结构的描述,LSDB则是对整个自治系统的网络拓扑结构的描述。OSPF路由器将LSDB转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。各个路由器得到的有向图是完全相同的。

每台路由器根据有向图,使用SPF算法计算出一棵以自己为根的最短路径树,这棵树给出了到自治系统中各节点的路由。

区域的边界是路由器,而不是链路。一个路由器可以属于不同的区域,但是一个网段(链路)只能属于一个区域,或者说每个运行OSPF的接口必须指明属于哪一个区域。划分区域后,可以在区域边界路由器上进行路由聚合,以减少通告到其他区域的LSA数量,还可以将网络拓扑变化带来的影响最小化。

常见两种OSPF常见配置错误举例

03:59

(1)OSPF邻居无法建立

故障现象

OSPF邻居无法建立。

问题分析

如果物理连接和下层协议正常,则检查接口上配置的OSPF参数,必须保证与相邻路由器的参数一致,区域号相同,网段与掩码也必须一致(点到点与虚连接的网段与掩码可以不同)。

处理过程

1)使用displayospfpeer命令查看OSPF邻居状态。

2)使用displayospfinterface命令查看OSPF接口的信息。

3)检查物理连接及下层协议是否正常运行,可通过ping命令测试。若从本地路由器Ping对端路由器不通,则表明物理连接和下层协议有问题。

4)检查OSPF定时器,在同一接口上邻居失效时间应至少为Hello报文发送时间间隔的4倍。

5)如果是NBMA网络,则应该使用peerip-address命令手工指定邻居。

6)如果网络类型为广播网或NBMA,则至少有一个接口的路由器优先级大于零。

(2)OSPF路由信息不正确

故障现象

OSPF不能发现其他区域的路由。

问题分析

应保证骨干区域与所有的区域相连接。若一台路由器配置了两个以上的区域,则至少有一个区域应与骨干区域相连。骨干区域不能配置成Stub区域。在Stub区域内的路由器不能接收外部AS的路由。如果一个区域配置成Stub区域,则与这个区域相连的所有路由器都应将此区域配置成Stub区域。

处理过程

1)使用displayospfpeer命令查看OSPF邻居状态。

2)使用displayospfinterface命令查看OSPF接口的信息。

3)使用displayospflsdb查看LSDB的信息是否完整。

4)使用displaycurrent-configurationconfigurationospf命令查看区域是否配置正确。若配置了两个以上的区域,则至少有一个区域与骨干区域相连。

5)如果某区域是Stub区域,则该区域中的所有路由器都要配置stub命令;如果某区域是NSSA区域,则该区域中的所有路由器都要配置nssa命令。

6)如果配置了虚连接,使用displayospfvlink命令查看OSPF虚连接是否正常。

(二)BGP的使用场景

03:22

主要介绍一下选路规则,简要地说,BGP选择路由的过程为:

1)丢弃下一跳(NEXT_HOP)不可达的路由;

2)优选首选值(Preferred-value)最大的路由;

3)优选本地优先级(LOCAL_PREF)最高的路由;

4)依次选择network命令生成的路由、import-route命令引入的路由、聚合路由;

5)优选AS路径(AS_PATH)最短的路由;

6)依次选择ORIGIN类型为IGP、EGP、In


转载请注明:http://www.twoac.com/wyzz/12799.html


  • 上一篇文章:
  • 下一篇文章: 没有了
  • .