BGP路径属性(三)

BGP路径属性

作用:用于选路和防环,任何一条BGP路由都拥有多个路径属性

分类

  1. 公认:所有BGP路由器必须识别
    1. 公认必遵:必须包括在每个Update消息中,如:Origin、AS_Path、Next_hop
    2. 公认任意:可能包含在某些Update消息中,如:Local_preference、Atomic_aggregate
  2. 可选:厂商实现自己私有特性或满足其客户特定需求而开发的私有属性,便于BGP属性扩展
    1. 可选过渡:BGP设备不识别但依然接受该类属性并通告给其他对等,如:Aggregator、Community
    2. 可选非过渡:BGP设备不识别且会忽略该属性,不通告给其他对等体,如:MED、Cluster_List、Originator-ID

位置: 路径属性在Open报文中的位置


 路由信息处理

  1. 当从对等体接收到更新数据包时,路由器会把这些更新数据包(防环等检查通过的)存储到路由信息库RIB中,并指明来自哪个对等体的Adj-RIB-In
  2. 这些更新数据包被输入策略引擎过滤后,路由器会执行路径选择算法,为每一条前缀确定最佳路由
  3. 得出的最佳路径存储到Loc-RIB(本地BGP RIB)中,然后提交给IP-RIB(本地IP路由选择表)
  4. Loc-RIB将从对等体接收的最佳路由和当前路由器始发的最佳路径的BGP前缀经过输出策略引擎检查,检查通过的路由安装到输出RIB(Adj-RIB-Out)中,然后通告给其他对等体


Preferred-value

协议首选值:华为私有属性。

当BGP路由表中存在到相同目的地的路由时,将优先选择Preferred-Value值高的路由。

只影响本设备的路由优选,不会传递给任何BGP对等体。

取值0~65535,值越大越优先。

只能在import方向设置。



AS_Path

 AS_Path:前往目标网络的路由经过的AS号列表

1.作用

1. 确保路由在EBGP对等体之间传递无环路;

2. 作为路由优选的衡量标准之一

2.格式:…,{ AS1,AS2 },经过AS1,起始AS号

3.特性

1.当BGP路由传递给EBGP邻居时,将自身AS号添加到AS_PAth属性的最前面,传给IBGP邻居时不会添加

2.当从EBGP邻居收到BGP路由时,如果AS_Path中携带了自身AS号,丢弃该路由

3.AS_path经过的AS数量越少,路径越优

4.类型

1.AS_SEQENCE(有序的AS_path属性):反应路径传递的AS路径信息

2.AS-SET(AS集合):通常在BGP汇总路由时存在,用于继承BGP明细路由的AS集合信息。整个AS-SET算1个AS长度。

5.修改

1.Additive:原有AS_Path左侧追加AS号

2.Overwrite:将已有AS_Path值替换成新值

3.None overwrite:将已有AS_Path值清空

4.示例:

[AR2]ip ip-prefix 1 permit 192.168.5.0 24	
[AR2]route-policy AS_Path permit node 10
Info: New Sequence of this List.
[AR2-route-policy]if-match ip-prefix 1
[AR2-route-policy]apply as-path 985 211 additive 

# route-policy默认禁止所有,此处需放行其他路由
# 无if-match代表匹配所有路由
[AR2]route-policy AS_Path permit node 999
Info: New Sequence of this List.
[AR2]bgp 100

# 向对等体发送BGP路由时执行该策略
[AR2-bgp]peer 12.0.0.1 route-policy AS_Path export 

6.思考

1.若通过策略匹配Additive的方式添加AS号 985、211,BGP路由器自身所在AS号100,在向EBGP对等体发送路由时,对等体接收到的是AS = 100 985 211还是AS = 985 211 100?

        答:AS = 100 985 211。因为路由是先经过输出策略引擎检查安装到Adj-RIB-Out中,再向对等体发送

2.若EBGP对等体发送过来的路由中已经有本AS的AS号,因防环路由会被丢弃,但本AS仍要接收该路由该怎么办?

        答:peer 12.0.0.2 allow-as-loop 2

                接收从指定EBGP邻居发送过来的路由,该路由中的AS号可与本AS号相同但仅允许出现次数上限为2



Origin

origin:标识BGP路由的起源

分类:

  1. IGP,用i标记,标识使用network命令注入到BGP的路由
  2. EGP,用e标记,标识通过EGP学习到的路由
  3. Incomplete,用?标记,标识import-route引入到BGP的路由

        当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下顺序优选路由:IGP > EGP > Incomplete

修改:

  1. 在本地发布BGP路由时通过route-policy来修改默认origin属性
  2. 在所有邻居之间通告或者接收时修改


Next_Hop

 next_hop:用于指定到达目标网络的下一跳地址

下一跳规则:

  1. 默认自身发布的BGP路由的下一跳设置为向邻居发送BGP报文的地址
  2. 从EBGP邻居得到的路由传递给IBGP邻居时下一跳保持不变
    1. 问题:可能导致下一跳不可达
    2. 解决:
      1. 命令:peer IBGP邻居地址 next-hop-local
      2. 解决:将从EBGP得到的路由传递给IBGP邻居时,下一跳修改为自身向IBGP邻居发送BGP报文的源地址
  3. 当BGP路由传递给EBGP路由时,下一跳设置为向EBGP邻居发送BGP报文的源地址
  4. 如果路由器收到某条BGP路由,该路由的Next_Hop属性值与EBGP对等体(更新对象)同属一个网段,那么该条路由的Next_Hop地址将保持不变并传递给它的BGP对等体


Local_preference

本AS中的路由器拥有多个访问其他AS网络的出口路由时,控制路由器选择一个最优的出口路由。

控制本区域流量访问其他区域路径的手段。

值越大,BGP路由越优,缺省为100,只能传递给IBGP对等体,不能传递给EBGP对等体。

缺省情况:

1.缺省情况下,所有EBGP邻居收到的路径属性不包含local_preference,值默认为100,但在BGP表中显示为空

2.缺省情况下,本地起源的路由local_preference也是100,BGP路由表中不显示

 default local_preference命令:

1. 对本地起源路由、从EBGP传递来的路由、手动汇总的路由生效

2. Route-policy优于default local_preference

3. 默认情况下local_pre属性不会传给EBGP,此命令对从EBGP接收的路由设置一个local_pre值,且本地BGP表中显示为空,但在将路由传递给其他的IBGP邻居将local_pre值携带

4. 修改本地起源的BGP路由默认值,但BGP表中显示为空,再将此路由传递给IBGP邻居时,local_pre的值根据此命令设置



community

团体属性用于标识BGP路由,BGP路由可拥有多个团体属性

分类:

  1. 用于限制BGP路由传递范围(公认团体属性)
    1. Internet:默认所有路由属于internet团体,传递范围不受限制
    2. NO_export:不想AS外发送该路由
    3. No_export_Subconfed:不向AS外发送也不向AS内其他子AS发布该路由(联盟成员内传递)
    4. No_Advertise:不向任何BGP对等体发送该路由
  2. 用于标识BGP路由,BGP路由可拥有多个团体属性(自定义团体属性)

优先级:公认团体属性传递范围越小,优先级越高。 

传递方式:

        团体属性不会自动传递给邻居,需手动配置传递,在任何邻居之间import/export方向都可修改:peer 邻居地址 advertise-community

生成方式:

  1. 始发路由时添加团体属性
  2. 发送和接收BGP路由时添加团体属性
  3. 自定义团体属性采用RFC格式:AA:NN(AS号:自定义编号)


MED

MED:多出口鉴别器,是bgp的开销

控制外部流量如何进入本区域的手段

MED值越小越优先

MED默认值:

  1. 若自身直连或静态路由通过network、import-route注入bgp,其MED默认为0
  2. 若将IGP协议通过network或import-route注入bgp,MED值继承IGP路由的metric(cost)
  3. 华为default med命令对所有import的路由以及汇总路由生效,发送此路由给EBGP邻居时生效,发送给IBGP不生效。Local-RIB显示原始MED值

MED通告原则:

  1. 本地始发的路由MED值传递给所有邻居
  2. 从EBGP邻居得到的路由的MED不会传递给EBGP
  3. 从EBGP邻居得到的MED可以传递给IBGP
  4. 从IBGP得到的路由传递给EBGP时不携带MED
  5. 从联盟EBGP邻居或联盟内始发的路由的MED值在整个联盟保持传递

修改:

1.MED在IBGP和EBGP邻居in、out方向都可以修改

2.MED默认情况下只有在来自同一个AS的路由才比较MED属性,即AS-Path下一跳AS号相同的路由。若要修改,可通过:compare-different-as-med:始终比较MED属性值,且需AS内所有路由器均开启此命令

  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值