• 联邦
  • BGP选路原则


联邦

  联邦的思想就是将同一个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.6.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值修改才能正常建邻

BGP选路原则

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

bgp会环路么 bgp避免环路_属性值

属性名称

传播范围

默认值

评判标准

PV

不传播

0(0-65535)

越大越优

LP

IBGP对等体之间

100

越大越优

AS_PATH

bgp对等体之间

记录数量越少越优

OGN

bgp对等体之间

根据起源类型决定

I>e>?

MED

bgp对等体之间

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

越小越优

bgp会环路么 bgp避免环路_bgp会环路么_02


1,优选PV值最大的路由

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

修改PV影响选路的配置:

  1. 全局修改
    [r4-bgp]peer 3.3.3.3 preferred-value ?
    INTEGER 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
    负载分担:即让不同的流量走不同的线路,分担单一线路的压力。
  2. 精细化控制
    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 Pv permit node 20----注意,必须要配置空表放通剩余所有流量
    Info: New Sequence of this List.
    3,在BGP中调用路由策略
    [r4-bgp]peer 3.3.3.3 route-policy PV import

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

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

通过修改LP值来影响选路

  1. 全局修改
    [r3-bgp]default local-preference 200 ---- R3之后发给IBGP对等体的路由的LP属性都将被改为200
  2. 精细化控制
    在R3的出方向做
    1,抓取流量
    [r3]ip ip-prefix lp permit 10.0.0.0 24
    2,做路由策略
    [r3]route-policy lp permit node 10
    lnfo: New Sequence of this List.
    [r3-route-policy]if-match ip-prefix lp
    [r3-route-policy]apply local-preference 300
    [r3]route-policy lp permit node 20
    lnfo: New Sequence of this List.
  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)
    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 as permit node 20
    lnfo: 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 1i
    [r2-route-policy]apply as-path 1 1 1 additive

5、优选起源码属性最优的路由。起源码的优先级----l > E> ?
OGN ----起源码----l, e,? ----用来标识路由条目的起源

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

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

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

控制选路的方法:

  1. 抓流量
    [r2]ip ip-prefix ogn permit 10.0.0.0 24
  2. 配置路由策略
    [r2]route-policy ogn permit node 10
    lnfo: New Sequence of this List.
    [r2-route-policy]if-match ip-prefix ogn
    [r2-route-policy]apply origin ?
    egp  Remote EGP
    igp  Local lGP
    incomplete Unknown heritage
    [r2-route-policy]apply origin incomplete
    [r2-route-policy]q
    [r2]route-policy ogn permit node 20
    lnfo: 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
    lnfo: New Sequence of this List.
    [r2-route-policy]if-match ip-prefix med
    [r2-route-policy]apply cost 10
    [r2]route-policy med permit node 20
    lnfo: New Sequence of this List.
    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.41.1.1.1 ----可以记录流量流过的全过程