解决IBGP的水平分割问题

IBGP水平分割:防止环路的产生

方法1:路由反射器(RR)

路由反射器可以反射所学习到的IBGP路由信息。
指定一台路由器称为路由反射器(RR)的时,必须在他的IBGP对等体关系中选择一个或者多个设备称为他的客户(client),RR和客户之间所构成的系统我们称为反射簇 (Cluster)。每一个反射簇都将使用RR的RID作为簇ID。其余没有称为RR客户的IBGP对等体关系,我们将称其为非客户。
路由反射器的反射规则:
1,当路由反射器从自己客户处学习到一条路由,则他将会把这条路由信息反射给自己所有的客户以及非客户
2,如果路由反射器从自己的非客户处学习到一条路由,则他将把这条路由信息反射给自己所有的客户但是不能反射给非客户。
3,当路由器执行路由反射时,他只将自己使用的最优的BGP路由进行反射。
路由反射器将路由反射之后就打破IBGP的水平分割,就可能造成环路的出现。路由反射器为了防止环路的出现,引入了两个属性Originator_ID(起源者ID),Cluster_list(簇列表)

Originator_ID(起源者ID)当一条路由信息来到路由反射器时,反射器需要将这条路由信息反射,反射前将在该路由信息中添加这个属性,这个属性的值为该反射器收到这条路由信息的通告者的RID,之后,别的路由反射器收到一条路由信息如果其中包含O_ID,则他将不会改变这个属性。如果一台设备收到一条路由条目其中起源者ID为自己本地的RID,则将不再学习这条路由信息,起到防止环路的效果。

Cluster_list(簇列表)如果在一个AS当中,存在多次反射,则一定存在多个反射簇,则每个RR在反射路由信息时都会在其中簇列表属性中添加本地的簇ID。当一个设备收到一条反射的路由信息后,其中的簇列表属性中包含本地簇ID,则将不再学习该路由,防止环路的产生。

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

方法2:联邦

联邦:将同一个AS当中的IBGP对等体关系改变为EBGP对等体关系。这就需要将不同的IBGP对等体划分到不同成员AS当中,成员AS之间建立的EBGP对等体关系是一种特殊的EBGP对等体关系,他们之间仅遵循EBGP对等体的传递性,而从传递的内容角度看,依然需要遵循AS-BY-AS规则,因为从宏观上看,他们依然处于同一个AS当中。

联邦的做法也相当于打破了IBGP的水平分割,则也将可能出现环路问题,则需要考虑防环。防环方法可以直接借鉴EBGP水平分割,在AS_PATH属性当中添加成员AS号来防止回传。注意,为了区分成员AS和正常的AS,成员AS号将使用小括号括起来。

联邦的配置:

[r2]bgp 64512---联邦成员设备启动BGP进程时需要使用小号来启动
[r2-bgp]confederation id 2---声明联邦成员的大号
[r2-bgp]peer 3.3.3.3 as-number 64512---联邦成员之间建立IBGP对等体关系需要使用小号来建立
[r3-bgp]confederation peer-as 64513---在需要建立联邦的EBGP对等体关系的设备上需要声明建邻的成员AS号
[r3-bgp]peer 4.4.4.4 as-number 64513---联邦的EBGP对等体关系使用小号建邻
[r3-bgp]peer 4.4.4.4 ebgp-max-hop ---因为联邦的EBGP对等体关系之间需要遵循EBGP对等体的传递性,所以,其TTL值默认为1,在非直连建邻时需要将TTL值修改才能正常建邻

BGP选路原则

BGP选路的前提条件---丢弃所有不可用的路由信息

1.优选PV属性值大的路由

假设R1上发布两条路由条目 1.0.0.0 10.0.0.0 ,R4通过BGP对等体关系,可以从R2和R3上分别学习到两条去往1.0.0.0 10.0.0.0的路由条目。路由加表时只会选择最优的一条,所以可以通过配置影响选路。

方法一:全局修改

[r4-bgp]peer 3.3.3.3 preferred-value 100

这个100,就是修改的PV值。这条命令的意思:只要是3.3.3.3通告给R4的路由,这些路由PV字段全部修改为100.

方法二:精细化控制

1.抓取流量

[r4]ip ip-prefix PV permit 10.0.0.0 24

2.路由策略

[r4]route-policy PV permit node 10
[r4-route-policy]if-match ip-prefix pv
[r4-route-policy]apply preferred-value 100
[r4-route-policy]q
[r4]route-policy PV permit node 20---注意:必须要配置空表放通剩余所有流量

3.BGP中调用策略

[r4-bgp]peer 3.3.3.3 route-policy PV import  这块只能做入方向的,因为PV属性不能传递

2.优选LP属性值大的路由

LP ---本地优先级(本地:在当前AS中传递)---默认值为100,越大越优。这个属性可以在IBGP对等体之间进行传递。路由信息在传递给EBGP对等体时将不携带这个属性。
方法一:全局修改
[r3-bgp]default local-preference 200---R3之后发给IBGP对等体的路由的LP属性都将被改为200
方法二:精细化控制

3.按路由条目发布方式的优先级

自己始发的路由优先级高于从对等体处学来的,自己始发的路由优先级关系为手工聚合> 自动聚合> network > import

4.优选AS_PATH属性最短的路由

AS_PATH属性进行选路时,注意:1.进行路由聚合时,如果激活AS_SET关键字之后,将不同AS的明细路由进行聚合,则将在AS_PATH属性中携带所有明细AS的AS号,并用大括号括起来。进行选路比较时,大括号的内容当作一个AS号来看待。 2,在联邦时,我们联邦内部也需要使AS_path来进行防环,我们将使用小括号将AS号括起来,在进行选路比较时,不计算小括号里的内容。

5.优选起源码属性最优的路由。起源码的优先级---I > E > ?

OGN起源码:用来标识路由条目的起源

I ---代表该路由信息起源于IGP协议(不局限于IGP协议,包括静态,直连),代表该路由条目起源于AS内部---通过network发布出来的路由信息其起源码为I

E ---代表该路由信息起源于EGP协议---EGP指的是BGP之前使用的外部网关协议

?---通过除了以上两种方式学习到的路由---重发布导入的路由起源码都是?

6.优选MED属性值较小的路由

MED ---多出口鉴别属性---MED值是继承了路由表中该路由条目的开销值,它可以反应到达目标网段在本AS内部的开销大小。通过这个参数,别的AS的流量在进入本AS时将可以选择开销较小的入口进入。通过修改这个属性值,我们也可以影响其他AS的流量流入本AS的路径。若本地通过IBGP对等体学习到一条BGP路由,其中存在MED值,之后需要将这条路由再传递给本地的EBGP对等体,则他将不再携带这个MED值。这种设置将有可能造成选路不佳的情况。所以,建议,如果存在多组边界设备需要将路由发送给EBGP对等体关系时,需要将所有的路由信息都发布。(每台设
备都需要发布)
7,EBGP对等体路由优于IBGP对等体
8.优选到NEXT-HOP的IGP度量值小(cost)的路由:
9.选CLUSTER_LIST最短的路由信息
10.优选RID(O_ID)最小的设备通告的路由
先看O_ID,没有起源者看RID
11.优选具有最小IP地址的对等体通告的路由

解决IBGP的水平分割和BGP选路原则相关推荐

  1. 一个实验教你如何打破IBGP的水平分割

    题目: 我的拓扑图: 相关ip地址规划和配置参考拓扑图! 1.启动ospf协议 [R2]ospf 1 router-id 2.2.2.2 [R2-ospf-1]area 0 [R2-ospf-1-ar ...

  2. bgp选路原则【第二部】

    面向逻辑谈bgp选路原则(第二部) 终于到了BGP终极解析的第二部曲--BGP选路原则.与题目相呼应,我不会直接介绍选路原则的规则,而是从时间逻辑和空间逻辑上将所有的选路原则分层分类.因为只有从这种角 ...

  3. BGP选路原则和选路控制

    BGP选路原则 如果收到同一个目的地址的多条BGP路由,将按照以下顺序进行选择比较:         1.最高Weight值优先.Weight值为Cisco私有,并且只有本地有效,不会通过BGP ,传 ...

  4. 打破IBGP的水平分割2种方法

    ** 法一: 路由反射器 ** 3种角色,RR(反射器) 客户端 非客户端 3者构建一个簇:可以理解为RR为中心站点,客户端或非客户端是分支站点要求所有分支与中心必须是IBGP邻居关系:在一个簇中至少 ...

  5. Juniper BGP选路原则

    路由选路原则 1.查看inet.0路由表中是否存在去往该条BGP路由的下一跳,如果不存在去往BGP下一跳的路由,则这条BGP路由则会被隐藏. 2.优选Local Preference值最大的 3.优选 ...

  6. BGP选路原则和属性

    BGP 属性 公认必遵: origin( 起源属性标识: i > e > ? ) .AS-path . next-hop 公认任意: Local_Pref (本地优先级).Atomic A ...

  7. 常用的BGP选路原则,最快速的方法实现精准记忆

    一.BGP 13条选路原则 1.W ,即属性 Weight( 思科的私有属性,本地有意义,越大越优先,默认情况下从邻居学到的weight值为0,只能用在in方向) A.针对邻居修改来自该邻居的所有路由 ...

  8. 十三条BGP选路原则(附带实验环境)

    BGP选路属性集合,从1开始比较进行选路,若相同则进行下一项 1.不发布不可达的路由信息 2.Preferred-Value值 3.本地Local Preference值高的路由 4.优选本地生成的路 ...

  9. 5.2 BGP水平分割

    5.2.2实验2:BGP水平分割 1.    实验目的 熟悉BGP水平分割的应用场景 掌握BGP水平分割的配置方法 2.    实验拓扑 实验拓扑如图5-2所示: 图5-2:BGP水平分割 3.    ...

最新文章

  1. windows下安装pygtk报g_assertion_message无法定位libglib-2.0-0.dll错误解决
  2. 应用Mongoose开发MongoDB(2)模型(models)
  3. 标题 穿越雷区 java_【蓝桥杯】穿越雷区-java语言描述
  4. 4.羽翼sqlmap学习笔记之Post登录框注入
  5. Java黑皮书课后题第5章:*5.23(演示抵消错误)当处理一个很大的数字或很小的数字时候,会产生一个抵消错误。……编写程序对上面的数列从左到右和从右向左计算的结果进行比较,n=50000
  6. 机器人写诗项目——数据预处理
  7. oracle hwm的位置,Oracle 高水位(HWM)教程(2)
  8. CSS定位中“父相子绝”
  9. 阿里云端安装mysql
  10. poj 2833 The Average(堆)
  11. h5自我介绍作品_自我介绍h5模板
  12. win7自定义html为桌面,Win7系统如何自定义个性桌面?
  13. uni-app知识点整理(1)- uni-app简介、环境搭建、项目创建、项目目录文件
  14. SeaweedFS基本介绍
  15. 任正非:股权激励拯救了华为!
  16. 2021福建省地区高考成绩排名查询,福建省高考录取分数线2021
  17. C# WinForm开发系列之DataTimePicker控件显示月份的限制和关于DataTimePicker和monthCalendar的样式设置问题
  18. 【DVB】【Cert】DVD相关认证简介
  19. Hilt的使用(动态模块)四
  20. Android 8,Android开发经典实战

热门文章

  1. 搜书利器 -- 壹搜网
  2. 接入Swagger2(1) —— SwaggerUI
  3. STM32F1----EXTI
  4. 用手机对WIFI模块进行配置
  5. 5月10日、14日codeforce以及牛客竞赛总结
  6. xutils3的应用
  7. redis雪崩、穿透、击穿
  8. java ipmi关闭服务器_使用 IPMI 远程为服务器安装操作系统教程
  9. 企业移动内容管理(MCM)
  10. TypeSprict