第十二天

8,路由反射器

Router Reflector---路由反射器---RR----我们可以通过配置,将某些设备在一定的条件下设置称为路由反射器,之后,该设备将可以反射所学习到的IBGP路由信息。

BGP路由协议如何防环 bgp路由选路规则_List

我们在指定一台路由器称为路由反射器(RR)的同时,必须在他的IBGP对等体关系中选择一个或者多个设备称为他的客户(client),RR和客户之间所构成的系统我们称为反射簇(Cluster)。每一个反射簇都将使用RR的RID作为簇ID。其余没有称为RR客户的IBGP对等体关系,我们将称其为非客户。

路由反射器的反射规则:

1,当路由反射器从自己客户处学习到一条路由,则他将会把这条路由信息反射给自己所有的客户以及非客户

2,如果路由反射器从自己的非客户处学习到一跳路由,则他将把这条路由信息反射给自己所有的客户但是不能反射给非客户。

“非非不传”

3,当路由器执行路由反射时,他只将自己使用的最优的BGP路由进行反射。

因为IBGP水平分割是为了防止环路的产生,而路由反射器将路由反射之后就破了IBGP的水平分割,就可能造成环路出现。----所以反射器引入了两个属性-----originator---ID(起源)   cluster_list(簇列表)

3,当路由器执行路由反射时,他只将自己使用的最优的BGP路由进行反射。

因为IBGP水平分割是为了防止环路的产生,而路由反射器将路由反射之后就破了IBGP的水平分割,就可能造成环路出现。----所以反射器引入了两个属性-----Originator---ID(起源)   Cluster_list(簇列表)

起源者ID----o_id---当一条路由信息来到路由反射器时,反射器需要将这条路由信息发射,反射前将在该路由添加这个属性,这个属性的值为该反射器收到这条路由信息的通告者rid,之后,别的路由反射器收到一条路由信息如果其中包含O_ID,则他将不会改变这个属性。如果一台设备收到一条路由信息其中起源者ID为自己的本地rid,则将不再学习这条路由,起到防环效果。

BGP路由协议如何防环 bgp路由选路规则_属性值_02

BGP路由协议如何防环 bgp路由选路规则_属性值_03

如果在一个AS当中存在多次反射,则一定存在多个反射簇,则每个RR在反射器路由信息时都会在其中簇列表属性中添加本地的簇ID。当一个设备收到一条反射的路由信息后,其中的簇列表属性包含本地簇ID,则将不再学习告路由,防止环路产生。

  9.联邦

联邦的思想就是将同一个AS当中的IBGP对等体关系改变为EBGP对等体关系,通过这种方法来打破IBGP的水平分割。这就需要将不同的IBGP 对等体划分到不同成员AS当中,成员AS之间建立的EBGP对等体关系是一种特殊的EBGP对等体关系,他们之间仅遵循EBGP对等体的传递性,而从传递的内容角度看,依然需要遵循AS-BY-AS规则,因为从宏观上看,他们依然处于同一个AS当中。

联邦的做法也相当于打破了IBGP的水平分割,则也将可能出现环路问题,则需要考虑防环。防环方法可以直接借鉴EBGP水平分割,在 AS_PATH属性当中添加成员AS号来防止回传。注意,为了区分成员AS和正常的AS,成员AS号将使用小括号括起来。

联邦的配置:

[r2]bgp 64512 --- 联邦成员设备启动BGP进程时需要使用小号来启动

[r2-bgp]confederation id  2 --- 声明联邦成员的大号

[r2-bgp]peer 3.3.3.3 as-number 64512 --- 联邦成员之间建立IBGP对等体关系需要使用小号来建立

[r3-bgp]confederation peer-as 64513 --- 在需要建立联邦的EBGP对等体关系的设备上需要声明建邻的成员AS号

[r3-bgp]peer 4.4.4.4 as-number 64513 --- 联邦的EBGP对等体关系使用小号建邻

[r3-bgp]peer 4.4.4.4 ebgp-max-hop --- 因为联邦的EBGP对等体关系之

间需要遵循EBGP对等体的传递性,所以,其TTL值默认为1,在非直连建邻时需要将TTL值修改才能正常建邻

10,BGP的选路原则

BGP选路的前提条件 --- 丢弃所有不可用的路由信息

BGP路由协议如何防环 bgp路由选路规则_服务器_04

属性名称

传播范围

默认值

评判标准

PV

不传播

0(0 - 65535)

越大越优

LP

IBGP对等体之间

100

越大越优

AS_PATH

bgp对等体之间


记录数量越少越优

OGN

bgp对等体之间

根据起源类型决定

I > e > ?

MED

bgp对等体之

默认继承全局路由表中的开

越小越优

BGP路由协议如何防环 bgp路由选路规则_优先级_05

1,优选PV值最大的路由

PV值是华为的私有属性,可以理解为是权重,数值越大,其优先级越高,又因为他是所有选路原则中的第一条原则,所以,该属性是本设备上选路最方便的一个属性。 --- 这个属性只能在本设备上生效,他无法传递给任何BGP对等体。

修改PV影响选路的配置:方法一:全局修改

[r4-bgp]peer 3.3.3.3 preferred-value ?

INTEGER<0-65535>  Preference value

[r4-bgp]peer 3.3.3.3 preferred-value 100

AS-path 1, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre 2

55, IGP cost 1, not preferred for PreVal

负载分担 --- 即让不同的流量走不同的线路,分担单一线路的压力。

方法二:精细化控制

1,抓取流量

[r4]ip ip-prefix PV permit 10.0.0.0 24

2,做路由策略

[r4]route-policy PV permit node 10

[r4-route-policy]if-match ip-prefix pv

[r4-route-policy]apply preferred-value 100

[r4-route-policy]q

[r4]route-policy PV permit node 20 --- 注意,必须要配置空表放通剩余所有流量

Info: New Sequence of this List. [r4-route-policy]q

3,在BGP中调用路由策略

[r4-bgp]peer 3.3.3.3 route-policy PV import

2,优选LP属性值最大的路由

LP --- 本地优先级 --- 默认值为100,越大越优。这个属性可以在IBGP 对等体之间进行传递,所以,他是AS内部选路最常用的属性。路由信息在传递给EBGP对等体时将不携带这个属性。

通过修改LP值来影响选路

方法一:全局修改

[r3-bgp]default local-preference 200 --- R3之后发给IBGP对等体的路由的LP属性都将被改为200

方法二:精细化控制在R3的出方向做

1,抓取流量

[r3]ip ip-prefix lp permit 10.0.0.0 24

2,做路由策略

[r3]route-policy lp permit node 10 Info: New Sequence of this List.

[r3-route-policy]if-match ip-prefix lp

[r3-route-policy]apply local-preference 300

[r3-route-policy]q

[r3]route-policy lp permit node 20 Info: New Sequence of this List. [r3-route-policy]q

3,在BGP进程中调用

[r3-bgp]peer 4.4.4.4 route-policy lp export

3,自己始发的路由优先级高于从对等体处学来的,自己始发的方法也存在多种,他们的优先级关系为手工聚合 > 自动聚合 > network > import

4,优选AS_PATH属性最短的路由

AS_PATH属性进行选路时,需要注意一下两点: 1,我们在进行路由聚合时,如果激活AS_SET关键字之后,将不同AS 的明细路由进行聚合,则我们将在AS_PATH属性中携带所有明细AS的 AS号,并用大括号括起来。在进行选路比较时,大括号的内容当作一个AS号来看待。2,在联邦时,我们联邦内部也需要使用AS_path来进行防环,我们将使用小括号将AS号括起来,在进行选路比较时,将不计算小阔号里的内容。

方法一:在R1的出方向修改AS_PATH属性。

1,抓取流量

[r1]ip ip-prefix as permit 10.0.0.0 24

2,配置路由策略

[r1]route-policy as permit node 10 Info: New Sequence of this List.

[r1-route-policy]if-match ip-prefix as

[r1-route-policy]apply as-path 11 22 33 ?

INTEGER<1-4294967295>  AS number in asplain format

(number<1-4294967295>)

STRING<3-11>           AS number in asdot format                             

(number<1-65535>.number<0-65535>) additive               Append to original As Number ---- 在原有AS_PATH属性的基础上添加配置的AS号

overwrite              Overwrite original As Number ---- 直接覆盖原有的AS_PATH属性值

[r1-route-policy]apply as-path 11 22 33 additive --- 建议使用添加,因为AS_path属性主要任务用来防止环路,将原有属性覆盖可能导致路由回传,造成环路产生。

[r1-route-policy]q

[r1]route-policy as permit node 20 Info: New Sequence of this List.

3,在BGP中调用策略

[r1-bgp]peer 12.0.0.2 route-policy as export

*>i 10.0.0.0/24  3.3.3.3      0         100      0      1i

* i                       2.2.2.2     0         100      0      1 11 22 33

*>  10.0.0.0/24  12.0.0.1    0                    0      11 22 33 1

i

[r2-route-policy]apply as-path 1 1 1 additive ---- 建议在AS_PATH 属性中添加真实离开的AS的AS号,因为AS_PATH属性本身具有防环作用,添加AS号后可能导致路由无法发送到对应的AS当中,影响路由的传递。AS_PATH属性在进行选路时,仅关注AS 号的长短,不关注内容。

5,优选起源码属性最优的路由。

起源码的优先级 --- I > E > ?

OGN --- 起源码 --- I,e,? --- 用来标识路由条目的起源 I --- 代表该路由信息起源于IGP协议(不局限于IGP协议,包括静态,直连),代表该路由条目起源于AS内部 --- 通过network发布出来的路由信息其起源码为I

E --- 代表该路由信息起源于EGP协议 --- EGP指的是BGP之前使用的外部网关协议

? --- 通过除了以上两种方式学习到的路由 --- 重发布导入的路由起源码都是?

控制选路的方法:

1,抓流量

[r2]ip ip-prefix ogn permit 10.0.0.0 24

2,配置路由策略

[r2]route-policy ogn permit node 10 Info: New Sequence of this List.

[r2-route-policy]if-match ip-prefix ogn

[r2-route-policy]apply origin ?

egp         Remote EGP

igp         Local IGP

incomplete  Unknown heritage

[r2-route-policy]apply origin incomplete

[r2-route-policy]q

[r2]route-policy ogn permit node 20 Info: New Sequence of this List. [r2-route-policy]q

3,在BGP中进行调用

[r2-bgp]peer 12.0.0.1 route-policy ogn import

6,优选MED属性值较小的路由

MED --- 多出口鉴别属性 --- MED值默认初始值并不是0,而是继承了路由表中该路由条目的开销值,所以,它可以反应到达目标网段在本 AS内部的开销大小,通过这个参数,别的AS的流量在进入本AS时将可以选择开销较小的入口进入。通过修改这个属性值,我们也可以影响其他AS的流量流入本AS的路径。若本地通过IBGP对等体学习到一条BGP路由,其中存在MED值,之后需要将这条路由再传递给本地的 EBGP对等体,则他将不再携带这个MED值。这种设置将有可能造成选路不佳的情况。所以,建议,如果存在多组边界设备需要将路由发送给EBGP对等体关系时,需要将所有的路由信息都发布。(每台设备都需要发布)

干涉选路的方法:在R2上配置,影响R1的选路 1,抓取流量

[r2]ip ip-prefix med permit 4.4.4.0 24

2,配置路由策略

[r2]route-policy med permit node 10 Info: New Sequence of this List.

[r2-route-policy]if-match ip-prefix med

[r2-route-policy]apply cost 10

[r2-route-policy]q

[r2]route-policy med permit node 20 Info: New Sequence of this List. [r2-route-policy]q

3,在BGP进程中调用

[r2-bgp]peer 12.0.0.1 route-policy med export

注意:MED值影响的是别的AS的流量通过多个出口进入到本AS内部,如果流入的不是同一个AS,即收到的路由条目中AS_PATH属性最左边的AS号不同,则将不比较第六条,直接比较第7条。

[r4]ping -r -a 4.4.4.4 1.1.1.1 --- 可以记录流量流过的全过程

7,EBGP对等体路由优于IBGP对等体