ospf关闭环路检测命令

ospf关闭环路检测命令,第1张

vpn-instance-capability simple命令用来禁止路由环路检测,直接进行路由计算。

应用场景

在MCE设备上部署OSPF VPN多实例时,如果有Type3、Type5或Type7 LSA中设置DN Bit,就会导致这些路由无法计算,因为OSPF进行路由计算会进行防环路检测。这种情况下,通过配置vpn-instance-capability simple命令可以取消OSPF路由环路检测,不检查DN Bit和Route-tag而直接计算出所有OSPF路由,Route-tag恢复为缺省值1。

①在MCE上配置vpn-instance-capability simple命令后,如果OSPF没有配置骨干区域0,则该MCE不会成为ABR。

②配置vpn-instance-capability simple命令后,BGP引入的OSPF路由中不会携带OSPF Domain ID、OSPF Route-tag和OSPF Router ID。

③缺省情况下,当BGP引入OSPF路由时,MED值(MED属性相当于IGP使用的度量值)为OSPF的Cost值加1。配置vpn-instance-capability simple命令后,Cost值不会加1,即MED值变为OSPF的Cost值。因此,会引起BGP引入OSPF路由的MED值变化,影响BGP选路。

一、BGP路由信息决策过程

1、Adj-RIB-In    存放从对等体接收到的更新

当从对等体接收到Update报文时,路由器会把Update报文存储到路由信息库RIB,并指明是来自哪个对等体的;

Update报文经过BGP输入策略引擎路由过滤或修改属性;

路由器执行路径选择算法,来为每一条前缀确定最佳路径;

2、Loc-RIB    存放经过输入策略引擎、路径选择处理过的路由

得出的最佳路径被存储到本地BGP RIB中,然后将loc-RIB的路由加载到IP-RIB中;

3、Adj-RIB-Out    存放经过输出策略引擎处理过的路由

Loc-RIB中的路由在被通告给其他对等体之前,必须通过输出策略引擎,只有那些成功通过输出策略引擎的路由,才会被安装到输出RIB中;

二、BGP选路规则

1、忽略下一跳不可达的路由;

2、优选prefer-value数值大的路由;                缺省值0

3、优选Local-preference数值大的路由;        缺省值100

----------------------------------------------------4、5、6三条规则用于比较自身产生的路由

4、聚合路由优于非聚合路由;                             

5、手工聚合路由优于自动聚合路由;

6、network发布的路由优于import发布的路由;

7、优选as-path长度短的路由;

8、IGP起源的路由优于EGP起源的路由优于未知起源的路由;

9、优选MED数值小的路由;     缺省值0,命令compare-different-as-med修改缺省比较行为

10、EBGP路由优于IBGP路由;

11、优选下一跳IGP开销小的路由;

============================满足以上条件可选实现负载分担;

12、优选cluster-list长度短的路由;            有的有,有的没有,没有的优先

13、优选Originator-ID或RouterID小的路由;        二选一,优先比较Originator-ID

14、优选对等体地址小的路由;

三、BGP的负载分担

1、BGP路由的负载分担

到达同一目的地通常会存在多条有效路由,但是BGP只将最优路由发布给对等体;

前11个属性完全相同的情况下,可通过命令maximum load-balancing ebgp|ibgp配置BGP负载分担的最大等价路由条数,实现下发多条不同下一跳的BGP路由到IP路由表中,缺省值为1,不进行BGP路由负载分担;

如果满足负载分担条件的BGP路由数大于定义的BGP负载分担规格,继续从第12条规则比较下去;

到达同一目的地的eBGP路由和iBGP路由不能形成负载分担,如果最优路由是ibgp路由,则只是ibgp路由形成负载分担;如果最优路由是ebgp路由,则只是ebgp路由形成负载分担;

缺省情况下,BGP只对AS-path属性完全相同的路由进行负载分担,也适用于联盟内部的自治系统之间,可通过命令load-balancing as-path-ignore配置路由在形成负载分担时不比较路由的as-path属性,但是该方式可能会引起路由环路;

2、下一跳路由的负载分担

BGP区别于IGP协议的一点是其下一跳地址可以是非直连路由的接口IP,非直连的下一跳在路由器上会执行迭代路由进行查找路由表,BGP依赖下一跳路由来转发数据,所以如果下一跳地址所对应路由在IP路由表中是负载分担的(IGP的ICMP),也就间接实现了BGP报文转发的负载分担;

BGP同步

在华为VRP平台中,BGP同步默认是关闭的,并且不能手动开启;

BGP同步指BGP路由器必须与IGP同步,AS内的路由器不仅要通过BGP学习到此路由,并且要从IGP协议学习到该路由,才会将该路由通告给eBGP邻居;

除了BGP同步外,避免路由黑洞问题的方法还有IBGP全互连、RR、联盟、MPLS VPN;

四、BGP路由及默认路由

1、生成BGP路由,BGP协议自身是不能发现路由的

(1)通过network方式生成来自IGP的路由

将IP路由表中存在的路由注入进BGP,注入的路由要和IP路由表中路由的前缀和掩码一致;

network方式注入的路由,origin属性为igp;

(2)通过import-route方式引入外部路由

import-route方式引入外部路由,origin属性为incomplete;

(3)通过aggregate进行聚合的路由

自动聚合

自动聚合只能对import引入的路由进行有类聚合,不能对network方式注入的路由进行自动聚合;

自动聚合通过命令summary automatic实现,只能在引入路由的设备上生效,缺省未启用;

手动聚合

手动聚合通过命令aggregate可以对BGP路由表中的路由进行聚合;

如果聚合路由中所包含的明细路由的origin属性各不相同,那么聚合路由的origin属性按照优先级incomplete>egp>igp

聚合路由会继承原明细路由中的所有团体属性;

聚合时可以携带关键字:

detail-suppressed    缺省手工聚合后通告所有明细路由,此参数抑制明细路由;

suppress-policy        用来实现部分抑制,部分不抑制,匹配route-policy的明细才抑制;

as-set        聚合路由as-path继承成员明细路由的AS号,缺省聚合路由会丢失明细的AS信息;

与普通as-path的segment类型as-sequence不同的是,as-set类型是一种AS号的无序集合;

对明细路由做聚合时,把所有明细路由AS-Path由前向后相同的部分放在()的前面,其余部分去重后放入();

origin-policy             有条件的聚合,只有满足route-policy匹配条件时,才生成聚合路由;

attribute-policy        用来修改聚合路由的属性;

2、默认路由

如果一台设备在网络中有多个EBGP邻居,或者存在多个路由反射器,那么该设备将会从邻居或者反射器接收全网的路由,该设备也会向本AS内的IBGP对等体发布路由,这样会极大地增加路由表的容量,通过向对等体发布缺省路由,减少对等体路由表的数量。

通过命令peer x.x.x.x default-route-advertise向对等体发布一条默认路由,可以通过route-policy来设置默认路由的属性;

参数conditional-route-match-any/all用来设置匹配条件,如果满足条件则发布默认路由;

(1)any指当匹配任一条件时,发布默认路由;

(2)all指当匹配所有条件时,发布默认路由;

6、BGP路由反射器配置

6.1、将本机作为路由反射器,并将对等体(组)作为路由反射器的客户。

[Huawei]bgp 1

[Huawei-bgp]ipv4-family unicast

[Huawei-bgp-af-ipv4]peer 1.1.1.1 reflect-client

6.2、设置路由反射器的集群ID

[Huawei-bgp-af-ipv4]reflector cluster-id ?

 INTEGER<1-4294967295>  Configure cluster-id as a decimal value

X.X.X.X                Configure cluster-id in IPv4 address format

6.3、禁止客户机之间的路由反射

[Huawei-bgp-af-ipv4]undo  reflect between-clients

6.4、禁止BGP将优选的路由下发到IP路由表

[Huawei-bgp-af-ipv4]bgp-rib-only

在AS内部,为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。当IBGP对等体数目很多时,建立全连接网络的开销很大。使用路由反射器RR(Route Reflector)可以解决这个问题。

集群ID用于防止集群内多个路由反射器和集群间的路由环路。当一个集群里有多个路由反射器时,必须为同一个集群内的所有路由反射器配置相同的集群ID。

如果路由反射器的客户机之间重新建立了IBGP全连接关系,那么客户机之间的路由反射就是没有必要的,而且还占用带宽资源。此时可以配置禁止客户机之间的路由反射,减轻网络负担。

在一个AS内,RR主要有路由传递和流量转发两个作用。当RR连接了很多客户机和非客户机时,同时进行路由传递和流量转发会使CPU资源消耗很大,影响路由传递的效率。

如果需要保证路由传递的效率,可以在该RR上禁止BGP将优选的路由下发到IP路由表,使RR主要用来传递路由。

7、BGP联盟配置

7.1、设置联盟ID。 [Huawei-bgp]confederation id ?

 INTEGER<1-65535>  2-byte AS Number

 STRING<3-11>      4-byte AS Number (number<1-65535>.number<0-65535>)

7.2、设置本地设备属于同一个联盟的子as号(子as号-由as-number指定)

[Huawei-bgp]confederation peer-as 65501 65502 65503

7.3、设置联盟中的标准设备可与非标准设备互通

[Huawei-bgp]confederation nonstandard

同一联盟内不能同时配置2字节AS号的Old Speaker和4字节AS号的New Speaker。因为AS4_Path不支持联盟,这种配置可能会引起环路。

联盟将一个自治系统划分为若干个子自治系统,每个子自治系统内部的IBGP对等体建立全连接关系或者配置反射器,子自治系统之间建立EBGP连接关系。

大型BGP网络中,配置联盟不但可以减少IBGP连接的数量,还可以简化路由策略的管理,提高路由的发布效率。

如果其他交换机的联盟实现机制不同于RFC3065标准,可以配置联盟的兼容性,以便和非标准的设备兼容。

8、BGP协议优先级配置

[Huawei]bgp 100

[Huawei-bgp]ipv4-family unicast

[Huawei-bgp-af-ipv4]preference ?

 INTEGER<1-255>  EBGP route preference  # 外部路由优先级,值越小优先级越高。

               route-policy    Specify a route policy  # 指定BGP协议优先级的路由策略名称。

[Huawei-bgp-af-ipv4]preference 2 ?

INTEGER<1-255>  IBGP route preference  # 内部协议优先级,值越小优先级越高。

[Huawei-bgp-af-ipv4]preference 2 4 ?

INTEGER<1-255>  Local created route preference  # 本地路由的协议优先级。

[Huawei-bgp-af-ipv4]preference 2 4 20 ?

               <cr>  Please press ENTER to execute command

[Huawei-bgp-af-ipv4]preference 2 4 20

目前不支持通过peer route-policy命令在对等体上应用路由策略来设置BGP协议的优先级。

由于交换机上可能同时运行多个动态路由协议,就存在各个路由协议之间路由信息共享和选择的问题。系统为每一种路由协议设置一个缺省优先级。在不同协议发现同一条路由时,优先级高的路由将被优选。

缺省外部优先级和内部优先级表

9、BGP Next_Hop属性配置

9.1、设置BGP设备向IBGP对等体(组)发布来自EBGP的对等体路由时,把下一跳设置为自身的IP地址。

[Huawei]bgp 65507

[Huawei-bgp]ipv4-family unicast

[Huawei-bgp-af-ipv4]peer 1.1.1.1 next-hop-local

9.2、配置BGP按路由策略进行下一跳迭代。

[Huawei-bgp-af-ipv4]nexthop recursive-lookup route-policy test

3、设置发布引入IGP路由时不改变IGP路由的下一跳地址

[Huawei-bgp-af-ipv4]peer 1.1.1.1 next-hop-invariable

对于从直连EBGP对等体收到的路由,nexthop recursive-lookup route-policy route-policy-name命令不生效。

当ASBR将从EBGP邻居学到的路由转发给IBGP邻居时,默认不修改下一跳。IBGP邻居收到该路由后,会发现下一跳不可达,于是将该路由设为非活跃路由,不通过该路由指导流量转发。

当希望IBGP邻居通过该路由指导流量转发时,可以在ASBR上配置向IBGP对等体(组)转发路由时,将自身地址作为下一跳。这时,IBGP邻居收到ASBR从EBGP邻居学习来的路由后,发现下一跳可达,于是将路由设为活跃路由。

当BGP路由发生变化时,BGP需要对非直连的下一跳重新进行迭代。如果不对迭代后的路由进行任何限制,则BGP可能会将下一跳迭代到一个错误的转发路径上,从而造成流量丢失。此时,可配置BGP按路由策略迭代下一跳,避免流量丢失。

10、BGP路由信息的首选值配置

[Huawei-bgp-af-ipv4]peer ?

 STRING<1-47>  Specify a peer-group

X.X.X.X       Specify an IPv4 peer address

[Huawei-bgp-af-ipv4]peer 1 preferred-value ?

INTEGER<0-65535>  Preference value # 为从指定对等体学来的所有路由配置首选值。

协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效。当BGP路由表中存在到相同目的地址的路由时,将优先选择协议首选值高的路由。

11、BGP本机缺省Local_Pref属性配置

[Huawei-bgp-af-ipv4]default local-preference ?

INTEGER<0-4294967295>  Specify a local preference

Local_Pref属性用于判断流量离开AS时的最佳路由。当BGP的设备通过不同的IBGP对等体得到到AS外的目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由。

12、BGP AS_Path属性配置

12.1、创建路由策略的节点,并进入路由策略视图。

[Huawei]route-policy ?

STRING<1-40>  Name of the route policy

[Huawei]route-policy 1 ?

deny    Specify a deny rule

 permit  Specify a permit rule

[Huawei]route-policy 1 permit ?

node  Node of the route policy

[Huawei]route-policy 1 permit node ?1

INTEGER<0-65535>  Index of the node

[Huawei-route-policy]

12.2、设置BGP路由的as_path属性

[Huawei-route-policy]apply as-path 65503 10.10 ?

INTEGER<1-65535>  AS Number to be appended or replaced

STRING<3-11>      <1-65535>.<0-65535>

additive          Append to original As Number #在原有路由的as路径列表中添加指定的AS编号

overwrite         Overwrite original As Number #覆盖原有的as-path列表路径。

12.3、向对等体(组)路由添加AS_Path属性。

[Huawei-bgp-af-ipv4]peer 1.1.1.1 route-policy 1 ?

export  Specify export policy  # 对向对等体(组)发布的路由添加AS_Path属性。

import  Specify import policy  #对从对等体(组)接收的路由添加AS_Path属性。

12.4、对BGP引入的路由添加AS_Path属性。

[Huawei-bgp-af-ipv4]import-route ospf 1 route-policy 1  # 对BGP以import方式引入的路由添加AS_Path属性

[Huawei-bgp-af-ipv4]network 1.1.1.1 24 route-policy 1  # 对BGP以network方式引入的路由添加AS_Path属性

12.5、不将AS_Path属性作为选路条件。

[Huawei-bgp-af-ipv4]bestroute as-path-ignore

12.6、允许本地AS编号重复出现

[Huawei-bgp-af-ipv4]peer 1.1.1.1 allow-as-loop ?

 INTEGER<1-10>  Number of repeating times of AS Path

 <cr>

12.7、配置发送EBGP更新报文时,AS_Path属性中仅携带公有AS编号。

[Huawei-bgp-af-ipv4]peer 1.1.1.1 public-as-only

12.8、配置AS_Path属性中AS号的最大个数

[Huawei-bgp]as-path-limit ?

 INTEGER<1-2000>  The maximum number of AS numbers, default is 255

 <cr>

12.9、配置EBGP对等体的伪AS编号。缺省EBGP对等体使用真实的AS号与本端建立连接。

[Huawei-bgp]peer 10.101.10.1 fake-as ?

INTEGER<1-65535>  2-byte autonomous system number

STRING<3-11>      4-byte autonomous system number

             (number<1-65535>.number<0-65535>)

配置undo check-first-as命令后产生环路的可能性增大,请慎重使用。

执行命令undo check-first-as,配置取消检查EBGP对等体发来的更新消息中AS_Path属性的第一个AS号。

缺省情况下,BGP检查EBGP对等体发来的更新消息中AS_Path列表的第一个AS号。

配置更改后,如果希望对已接收的路由重新进行检查,可在用户视图下配置refresh bgp命令。

AS_Path属性按矢量顺序记录了某条路由从本地到目的地址所要经过的所有AS编号。配置不同的AS_Path属性功能,可以实现灵活的路由选路。

通常情况下,AS_Path属性内AS_Path数量作为BGP选路条件。当不需要AS_Path属性作为选路条件时,可以配置不将AS_Path属性作为选路条件。

通常情况下,BGP通过AS号检测路由环路。但在Hub and Spoke组网方式下,为保证路由能够正确传递,从Hub-CE发布私网路由到Spoke-CE途中经过的相关BGP对等体需要配置允许AS_Path中AS号重复1次的路由通过。

公有AS号可以直接在Internet上使用,私有AS号直接发布到Internet上可能造成环路现象。为了解决上述情况,可以在把路由发布到Internet前,配置发送EBGP更新报文时,AS_Path属性中仅携带公有AS编号。

在重构AS_Path或聚合生成新路由时,可以对AS_Path中的AS号最大个数予以限制。配置AS_Path属性中AS号的最大个数后,接收路由时会检查AS_Path属性中的AS号是否超限,如果超限则丢弃路由。

通常情况下,一个设备只支持一个BGP进程,即只支持一个AS号。但是在某些特殊情况下,例如网络迁移更换AS号的时候来为了保证网络切换的顺利进行,可以为指定对等体设置一个伪AS号。

BGP会检查EBGP对等体发来的更新消息中AS_Path列表的第一个AS号,确认第一个AS号必须是该EBGP对等体所在的AS。否则,该更新信息被拒绝,EBGP连接中断。如果不需要BGP检查EBGP对等体发来的更新消息中AS_Path列表的第一个AS号,可以去使能此功能。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/258434.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存