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

一、简介

        当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

### 边界网关协议 (BGP) 的工作原理 边界网关协议Border Gateway Protocol, BGP)是种用于互联网自治系统(Autonomous System, AS)之间择的外部网关协议。它通过径向量算法来决定最佳径,并基于策略和网络可达性信息进行由决策[^1]。 #### 由传播机制 BGP 使用 TCP 协议作为传输层支持,端口号为 179。当两个 BGP 邻居建立连接时,它们会交换完整的由表信息并定期更新增量变化部分。这种设计减少了带宽消耗并提高了效率[^2]。 #### 属性规则 每条由都附带有多个属性,这些属性帮助由器做出更优的择。主要属性包括: - **下跳(Next Hop)**: 数据包转发的目标地址。 - **本地优先级(Local Preference)**: 影响流量离开本AS的方向。 - **权重(Weight)**: Cisco 特定参数,在同设备上影响取。 - **多出口鉴别器(MED, Multi Exit Discriminator)**: 告知邻居哪个入口更好用。 过程遵循系列预定义准则,通常按照最高局部偏好值、最短AS_PATH长度等因素依次判断最优径[^3]。 ### BGP 的基本配置方法 以下是标准 IPv4 环境下简单设置 BGP 的例子: ```python router bgp <your_AS_number> network <advertised_network> mask <subnet_mask> neighbor <neighbor_IP_address> remote-as <remote_AS_number> ! Optional configurations such as route maps or filters can be applied here. ``` 上述脚本中的 `<your_AS_number>` 是指运行此命令所在自治系统的编号;`<advertised_network>` 和其掩码表示要通告给其他AS的IP范围;而 `neighbor ...` 行则指定相邻节点及其所属AS号[^4]。 注意实际部署可能还需要考虑安全加固措施比如MD5认证以及复杂的过滤逻辑等高级特性应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值