ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HCIP课程笔记-13-BGP选路原则

2022-01-21 19:30:00  阅读:171  来源: 互联网

标签:bgp 13 ---- route BGP 选路 policy 路由 属性


HCIP课程笔记-13

IBGP水平分割

  • 即当路由器从一个IBGP对等体处学习到一条路由信息,他将不再把这条路由通告给其他的IBGP对等体。

路由反射器

  • Router Reflector — RR
    我们可以将一台IBGP设备配置成为路由反射器(RR),被配置为路由反射器的设备在一定条件下将反射学习到的路由信息。

请添加图片描述

  • 在我们指定一台设备成为路由反射器RR的同时,必须指定一个或者多个邻居成为他的客户,RR和客户之间构成的系统我们称为反射簇,每一个簇设定一个簇ID — 这个反射簇中RR的RID。其他没定义为客户的邻居被称为非客户。

反射规则:

  1. 如果路由反射器从自己客户处学来一条IBGP路由,则他将反射给自己所有的客户和非客户。

  2. 如果路由反射器从自己非客户处学来一条IBGP路由,则他将反射给自己所有的客户,但是不反射给非客户。 ----- 非非不传

  3. 当路由器在进行路由反射时,只反射自己BGP路由中最优的路由。 — 和BGP路由的传递规则相同。

  • 因为IBGP水平分割主要时为了防止路由环路产生,而路由反射器反射后相当于打破了IBGP水平分割的规则,则将有可能出现路由环路。所以,为了避免路由环路从产生,路由反射器在设计的时候,专门引入了两个属性,来避免环路从产生。 ----- Originator_ID(起源者ID),Cluster_list(簇列表)

起源者ID

  • 放射这条路由信息始发者的RID ---- 当这条路由经过RR反射之后,反射出来的路由信息中将增加这个属性。如果RR收到一条路由信息中已经存在起源者ID属性,则不去修改这个属性。当一台设备收到一条路由信息后,发现里面的起源者ID是自己本地的RID,则将不去接受这条路由信息,避免路由回传。

请添加图片描述

请添加图片描述

  • 如果,一个AS内部存在多次反射的话,那么,一定存在多个反射簇,则每个RR在放射路由信息的时候,会在路由信息中的簇列表属性中加入本地的簇ID。

  • 注意:这两个属性,只是用来在IBGP内部进行防环的,所以,当这些路由被传递到EBGP对等体时,将不携带这两属性。
    RR在进行路由反射时,除了会在路由信息中添加以上两个属性外,其他属性不变。

RR的配置

[r3-bgp]peer 2.2.2.2 reflect-client ---- 指定R2作为反射器客户,同时R3自己成为RR。

联邦

  • 联邦EBGP关系之间仅继承EBGP之间路由传递的规则,但是不能像EBGP对等体一样修改路由属性,还需要遵守AS-BY-AS规则,是一种特殊的存在。

  • 联邦EBGP之间防环可以直接采用EBGP水平分割的机制来进行防环,直接在AS_PATH属性中增加成员AS号来进行防环,只不过,联邦的AS号会使用括号括起来,来进行区分。 ---- 这个属性主要是用来进行AS内部防环使用,所以,也不会传递给EBGP对等体。

联邦配置

[r2]bgp 64512 ---- 联邦成员启动BGP进程时需要使用小号(联邦成员的AS号)启动
[r2-bgp]router-id 2.2.2.2
[r2-bgp]confederation id 2 ---- 联邦成员进程中一定要声明自己的大号(真实所在的AS号)
[r2-bgp]peer 12.0.0.1 as-number 1
[r2-bgp]peer 3.3.3.3 as-number 64512 --- 和联邦成员建立IBGP邻居关系时使用小号
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[r3]bgp 64512
[r3-bgp]router-id 3.3.3.3
[r3-bgp]confederation id 2
[r3-bgp]peer 2.2.2.2 as-number 64512 
[r3-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[r3-bgp]confederation peer-as 64513 ---- 需要建立联邦的EBGP对等体关系时,
需要先声明对方的小号
[r3-bgp]peer 4.4.4.4 as-number 64513
[r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[r3-bgp]peer 4.4.4.4 ebgp-max-hop 2 --- 
因为联邦EBGP之间是按照EBGP对等体的传输规则来完成的,所以,默认的TTL值1,
并且存在直连检测,所以,需要通过修改TTL值的方式,让其关闭直连检测。
  • 联邦解决IBGP水平分割的缺陷是一个联邦内部只能存在一对IBGP对等体关系,因为IBGP之间路由只能传递一次,所以,实际工程中,往往可以将联邦和路由反射器结合来使用。

BGP的选路原则

  • BGP选路的前提条件 — 丢弃所有不可用的路由信息
属性名称传播范围默认值评判标准(大优还是小优)
PV不传播0(0 - 65535)越大越优
LPIBGP对等体之间100越大越优
AS_PATHBGP对等体之间记录的数量越少越优
OGNBGP对等体之间根据起源类型决定I > e > ?
MEDBGP对等体之间默认取值为全局路由表中的开销值越小越优

请添加图片描述

  1. 优选Preferred-value属性值最大的路由

    • 这个属性是华为设备的私有属性,可以理解为权重。

    • PV属性是本设备上选路优先级最高的属性,这个属性越大越优。 —这个属性是不会进行传递的,只能在本设备上进行修改,也只能在本设备上生效,传递出去的路由条目中将不携带这个属性,所以,对方收到路由后,这个属性依然会依据默认值进行加表。

    • 所以,这个属性是本设备上干涉选路最方便的属性。

    第一种修改方法:
    [r4-bgp]peer 3.3.3.3 preferred-value 100 — 通过这个命令可以修改对应邻居发送的路由信息的PV值

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

    第二种修改方法:通过流量抓取进行属性修改

    1. 前缀列表抓取流量

      [r4]ip ip-prefix pv permit 10.0.0.0 24
      
    2. 路由策略修改属性

      [r4]route-policy pv permit node 10
      Info: New Sequence of this List.
      [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. 优选Local-Preference属性最大的路由
    LP — 本地优先级属性,默认值为100,越大约优。LP属性可以进行传递,但是只能在IBGP邻居之间传递,传递到EBGP邻居时将不携带该属性,所以,这个属性是在IBGP内部选路最常用的属性

    修改方法一:
    [r3-bgp]default local-preference 200 --- 将R3发送的路由信息中的LP值修改为200
    修改方法二:
    [r3]ip ip-prefix lp permit 10.0.0.0 24
    [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 200
    [r3-route-policy]q
    [r3]route-policy lp permit node 20
    Info: New Sequence of this List.
    [r3-bgp]peer 4.4.4.4 route-policy lp export ---- 针对4.4.4.4执行出方向的路由策略
    
  3. 自己始发的大于从别人那学的,自己发布的路由的多种方法的优先级为:手工聚合>自动聚合>network>重发布

  4. 优选AS_PATH属性最短的路由
    AS_PATH选路的基本原则 — 记录AS号越少越优

    1. 我们在聚合路由时开启AS_SET功能后,将不同的AS明细路由的AS号用大括号括起来放入AS_PATHS属性中。但注意,在比较选路时,不管大括号中包含多少个AS号,我们都当作是一个来看待。

    2. 联邦时,我们联邦内部也需要使用AS来进行防环,我们用小括号括起来表示。这种情况下,我们在进行AS_PATH长度比较时,将不考虑小括号中的内容。

      R1的出方向
      [r1]ip ip-prefix as permit 10.0.0.0 24
      [r1]route-policy as permit node 10
      Info: New Sequence of this List.
      [r1-route-policy]apply as-path 11 22 33 ?
       additive Append to original As Number ----指在原有的AS号基础上增加AS号
       overwrite Overwrite original As Number ----清楚原有的AS号,之后添加AS号
      [r1-route-policy]apply as-path 11 22 33 additive ---- 处于防环的考虑,建议使用additive
      [r1]route-policy as permit node 20 --- 空表放通所有
      [r1-bgp]peer 12.0.0.2 route-policy as export --- 出方向调用影响AR2
      ------------------------------------------------------------------
      [r2-route-policy]apply as-path 1 1 1 additive 
      我们随便添加的AS号,可能在真实网络中存在。因为AS_PATH属性还可以进行防环,所以,这样写可能导致这几个AS无法接受该路由信息。所以,为了避免这种情况发生,我们可以将添加的AS号全改为真实离开的AS号,毕竟,选路只跟长度有关,和内容无关。
      
  5. 优选起源码属性最优的
    OGN — 起源码

    1. 通过Network发布的路由 ---- I ---- I代表该路由起源于IGP协议(包括静态路由和直连路由)。

    2. 通过EGP协议发布的路由 ---- e ---- 指的是BGP协议之前的外部网关协议 – EGP协议,因为目前该协议基本上不用了,所以,e标记很少见。

    3. 通过除了以上两种方式发布的路由 ---- ? ---- 重发布路由的起源码标记就是?

      这三种起源码的优先级关系为:I > e > ?

[r1]route-policy ogn permit node 10
Info: New Sequence of this List.
[r1-route-policy]if-match ip-prefix ogn
[r1-route-policy]apply origin ?
 egp 		Remote EGP
 igp 		Local IGP
 incomplete Unknown heritage
[r1-route-policy]apply origin incomplete 
  1. 优选MED值最小的路由

    • MED — 多出口鉴别属性 — MED属性的初始值,是继承了IGP协议或者是静态路由或直连路由在路由表中的开销值。

      • 该属性可以影响其他AS的流量如何流入自己AS中

      • BGP协议在进行宣告时,可以宣告路由表中任意的路由条目,默认将这些路由的开销值继承到BGP路由的MED属性中。若本地宣告的BGP路由传递给EBGP邻居,将携带MED值,便于EBGP邻居所在的AS内部的设备进行选路。若本地通过IBGP邻居学到的BGP路由,也会传递给自己的EBGP邻居,但是将会将MED值归0传递。因为这些度量并不是本地产生的。

    • 总结:存在EBGP邻居关系的所有设备都建议宣告内部AS的路由。

    • 注意:我们在进行MED值比较时,多条相同的路由信息必须来自同一个AS才可以,即AS_PATH属性中最左边的AS号必须相同,否则没有可比性,将直接跳过这一条的比较。

    [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 100
    --------------------------------------------
    [r4]ping -r -a 4.4.4.4 1.1.1.1 --- 记录命令,可以记录数据传递的路径信息
    

标签:bgp,13,----,route,BGP,选路,policy,路由,属性
来源: https://blog.csdn.net/z99533/article/details/122627916

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有