【推荐收藏】最全BGP选路实验分析

2022-01-13 17:40:20 浏览数 (1)

选路规则13- 比较对等体的IP Address,优选从具有较小IP Address的对等体学来的路由

  • 在AR1上将环回口10.10.10.10地址宣告到BGP进程下,使AS 300内的AR7能学习到该路由
  • 将AR5和AR6的Router-ID都设置为6.6.6.6
  • 在AR7上查看BGP路由表
  • 关于10.10.10.10这条BGP路由没有优选10.1.6.6为下一跳的原因是邻居地址

选路规则12- 优选Originator_ID 或者Router ID最小的路由器发布的路由

  • 延续上面实验,将AR5的Router ID恢复5.5.5.5,AR6的Router ID为6.6.6.6
  • 在AR7上查看关于10.10.10.10的BGP路由状态
  • 关于10.10.10.10这条BGP路由没有优选10.1.6.6作为下一跳的原因是Router ID

选路规则10- 当以上全部相同,则为等价路由,可以负载分担

  • 延续上面实验,在AR7的BGP进程下开启针对IBGP路由的负载分担,形成负载分担的等价路由的最大条数为2
  • 在AR7上分别查看IP路由表和BGP路由表
  • 可以看到在BGP路由表中关于10.10.10.10这条路由仍然是优选了10.1.5.5作为下一跳,但是在IP路由表中已经是等价路由了

选路规则9- 优选到BGP下一跳IGP Metric较小的路由

  • 延续上面实验,关闭负载分担后AR7去往10.10.10.10这条BGP路由优选10.1.5.5作为下一跳
  • ISIS缺省的接口Cost值为10,在这里在AR7上将连接AR6的GE0/0/1接口Cost改为5,查看该路由状态
  • 关于10.10.10.10这条BGP路由没有优选10.1.5.5作为下一跳的原因是IGP cost,通过比较关于10.10.10.10这条BGP路由下一跳地址所在IGP的开销,AR7去往10.1.5.5的开销为10,去往10.1.6.6的开销为5,所以优选下一跳为10.1.6.6

选路规则8- 优选从EBGP邻居学来的路由

  • 在AR1和AR4都宣告10.10.10.10/32路由到BGP中
  • 由于从AR1传来的BGP路由到AR2上,这条BGP路由AS_PATH列表中已经有了AS 100,而由于AR4和AR2属于同一区域,来自AR4的BGP路由AS_Path列表中没有AS号,在这里为了实验,AR2上忽略AS_Path检查
  • 查看AR2的BGP路由表
  • 关于10.10.10.10这条BGP路由没有优选10.1.4.4作为下一跳的原因是邻居类型,因为优选从EBGP邻居学来的路由

选路规则7- 优选MED值最低的路由

  • 在AR1上将10.10.10.10/32和20.20.20.20/32宣告到BGP中,AR7上通过BGP就可以学习到关于10.10.10.10和20.20.20.20的BGP路由
  • 在AR7上可以看到BGP路由都是不携带MED值的
  • 在AR4上配置,将传递给AR5和AR6的BGP路由通过策略添加上MED值
  • 该路由策略的意思是,关于AR4传递给AR5的10.10.10.10路由标记MED 500,20.20.20.20路由标记MED 1000;关于AR4传递给AR6的10.10.10.10路由标记MED 1000,20.20.20.20路由标记MED 500
  • 在AR7上查看BGP路由表
  • 按照配置的策略,AR7选路时去往10.10.10.10路由的下一跳为AR5,去往20.20.20.20路由的下一跳为AR6
  • 选路原则是根据MED值

选路规则6- 比较Origin属性,依次优选Origin类型为IGP、EGP、Incomplete的路由

  • 查看当前AR7的BGP路由表,关于10.10.10.10路由选择AR6作为下一跳
  • 在AR7上配置路由策略,针对AR6传递的10.10.10.10路由Origan属性修改为EGP
  • 再次查看AR7的BGP路由表
  • 关于10.10.10.10这条BGP路由没有优选10.1.6.6作为下一跳的原因是Origan,通过IGP学习的路由的优先级高于通过EGP学习的路由

选路规则5- 优选AS路径(AS_Path)最短的路由

  • 查看当前AR7的BGP路由表
  • 当前关于10.10.10.10路由优选了AR5作为下一跳,通过路由策略增加来自AR5路由AS_Path列表
  • 再次查看AR7的BGP路由表
  • 关于10.10.10.10这条BGP路由没有优选10.1.5.5作为下一跳的原因是AS_Path,因为以AR6作为下一跳的10.10.10.10路由的AS_path列表中数值少

选路规则4- 优选本地生成的路由

  • 在AR1上将10.10.10.10路由宣告到了BGP中,AR2作为AR1的EBGP邻居也学习到了该路由,在AR2上查看BGP路由表
  • AR2上配置环回口地址也为10.10.10.10/32,并宣告到BGP中
  • 查看AR2的BGP路由表
  • 关于10.10.10.10这条BGP路由没有优选10.1.1.1作为下一跳的原因是自己产生的路由优先

选路规则3- 优选本地优先级(Local_Pref)最高的路由

  • 实验一:通过配置缺省本地优先级(主备)
  • 查看当前AR7的BGP路由表
  • 通过在AR6上配置缺省LP值为500,使得AR7在选路的时候以AR6作为下一跳

default local-preference 配置该命令之后,由该路由器传递出去的路由,Local-Preference都会被调整为设置后的数值,但是仅限在AS范围内传递

  • 再次查看AR7的BGP路由表
  • 关于10.10.10.10这条BGP路由没有优选10.1.5.5作为下一跳的原因是LP值,因为LP值越大越优先,通过AR6学习的BGP路由LP值比AR5学习的BGP路由LP值大
  • 实验二:通过路由策略设置LP
  • 查看当前AR7的BGP路由表
  • 在AR7上通过策略分别为AR6和AR5传递的路由配置不同的LP值
  • 该路由策略的意思是,关于AR5传递给AR7的10.10.10.10路由标记LP 500,20.20.20.20路由标记LP 250;关于AR6传递给AR7的10.10.10.10路由标记LP 250,20.20.20.20路由标记LP 500
  • 查看AR7的BGP路由表
  • 这样就形成了针对不同的路由形成负载分担,当AR7访问10.10.10.10时流量走AR5,AR7访问20.20.20.20时流量走AR6

选路规则2- 优选协议首选值(PrefVal)最高的路由

  • 查看AR7当前的BGP路由表
  • 在AR7上配置首选值,针对来自AR5的路由首选值设置为500,针对;来自AR6的路由首选值设置为250
  • 重新查看AR7的路由表
  • 此时在AR7上学习到的BGP路由下一跳都变为了AR5,原因是针对AR5的首选值数值较大

0 人点赞