BGP边界网关协议(Border Gateway Protocol)选路、属性(一)

发布于:2025-02-10 ⋅ 阅读:(161) ⋅ 点赞:(0)

一、简介

        当BGP收到到达同一目的地的多条路由时,会根据选路规则选择出最优路由,然后将最优路由下发到IP路由表,指导数据流量转发。在交换机的实现中,当到达同一目的地存在多条路由时,BGP选路的概要过程

注:私网路由选路规则

        在交换机的实现中,私网BGP路由选路规则与公网BGP路由选路规则相同。唯一的不同是,相对于公网BGP路由,私网BGP路由需要根据VPN-Target进行路由交叉。

二、环境介绍

在AR1上引入10.1.111.0 /24 的路由信息

AR2:

AR3:

注:AR5做了RR所以此时能看到三条路径

AR5:

1、遗留问题: 

此时AR5无法ping通10.1.111.0/24的地址(环路)

解决方案:

        通过前缀列表的方式抓住该路由信息,利用路由策略修改下一跳的地址信息实现

[AR5]ip ip-prefix 10.1.111.0 permit 10.1.111.0 24


[AR5-bgp]dis route-policy r5-r4-ex
Route-policy : r5-r4-ex
  permit : 10 (matched counts: 1)
    Match clauses :
      if-match ip-prefix 10.1.111.0
    Apply clauses :
      apply ip-address next-hop 10.1.2.2
  permit : 20 (matched counts: 1)
[AR5-bgp]


[AR5-bgp]dis th
#
bgp 235
 ipv4-family unicast
  peer 10.1.4.4 route-policy r5-r4-ex export
#

现象:
[AR5-bgp]ping 10.1.111.1
  PING 10.1.111.1: 56  data bytes, press CTRL_C to break
    Reply from 10.1.111.1: bytes=56 Sequence=1 ttl=253 time=90 ms
    Reply from 10.1.111.1: bytes=56 Sequence=2 ttl=253 time=50 ms
    Reply from 10.1.111.1: bytes=56 Sequence=3 ttl=253 time=60 ms
    Reply from 10.1.111.1: bytes=56 Sequence=4 ttl=253 time=80 ms

  --- 10.1.111.1 ping statistics ---
    4 packet(s) transmitted
    4 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 50/70/90 ms


[AR5-bgp]tracert 10.1.111.1
 traceroute to  10.1.111.1(10.1.111.1), max hops: 30 ,packet length: 40,press CTRL_C to break
 1 10.1.45.4 20 ms  20 ms  10 ms
 2 10.1.234.2 50 ms  40 ms  40 ms
 3 10.1.123.1 60 ms  70 ms  70 ms
[AR5-bgp]

三、BGP的路由属性

1、分类

        (1)公认必循(Well-known mandatory)

        AS-PATH、next-hop、Origin

        所有BGP设备都可以识别此类属性,且必须存在于Update报文中。如果缺少这类属性,路由信息就会出错。

        (2)公认任意(Well-known discretionary)

        local-preference、atomic-aggregate

        所有BGP设备都可以识别此类属性,但不要求必须存在于Update报文中,即就算缺少这类属性,路由信息也不会出错。

        (3)可选过渡(Optional transitive)

        团体属性(community)、aggregator

        在AS之间具有可传递性的属性。BGP设备可以不支持此属性,但它仍然会接收这类属性,并传递给其他对等体。

        (4)可选非过渡(Optional non-transitive)

        MED、Orignator ID、Cluster-list

        BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,则会被忽略该属性,且不会通告给其他对等体。

2、选路的优先级

(1)协议首选值

        协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效,不会传递给BGP邻居。

        当到达同一地址前缀有多条路由时,优先选择首选值大的路由。缺省情况下,从邻居学来的路由的初始首选值为0。

缺省条件下

修改方式:

[AR2]bgp 235
[AR2-bgp]pe
[AR2-bgp]peer 10.1.3.3 preferred-value ?
  INTEGER<0-65535>  Preference value
[AR2-bgp]peer 10.1.3.3 preferred-value 100

修改后,与上图相比较选路发生了变化,数据的路径也发生的变化。

优点:

        通过合理配置协议首选值,可以对数据流量转发路径进行合理规划,立即生效。

缺点:

        影响所有来自peer的路由信息,范围较大。

注:协议首选值在使用时只能做入向(import)策略来影响自身的选路,不能做出向(export)

(2)本地优先级

        Local_Pref属性用于判断流量离开AS时的最佳路由。本地优先级(Local_Pref)属性仅在IBGP对等体之间交换,不通告给其他AS。

修改本地优先级:

1)配置默认本地优先级

[AR3-bgp]default local-preference ?
  INTEGER<0-4294967295>  Specify a local preference
[AR3-bgp]default local-preference 200

默认向本设备所有的Ibgp邻居关系发送该属性 

AR3发给AR2、AR5所以导致AR2上来自2.2.2.2 和5.5.5.5 路由本地优先级均被修改

AR1和AR3之间建立的EBGP邻居关系,不受本地本地优先级的影响 

(3)本地始发

        BGP路由有两个来源:本地引入和从邻居学来的路由,其中本地引入路由优先级高于从邻居学来的路由。

  • 优选聚合路由(聚合路由优先级高于非聚合路由)。

  • 通过aggregate命令生成的手动聚合路由的优先级高于通过summary automatic命令生成的自动聚合路由。

  • 通过network命令引入的路由的优先级高于通过import-route命令引入的路由。

总结:手动聚合>自动聚合>network>import


网站公告

今日签到

点亮在社区的每一天
去签到