路由衰减:


路由衰减(Route Dampening)用来解决路由不稳定的问题。多数情况下,BGP协议都应用于复杂的网络环境中,路由变化十分频繁。为了防止持续的路由振荡带来的不利影响,BGP使用路由衰减来抑制不稳定的路由。

BGP衰减使用惩罚值(Penalty Value)来衡量一条路由的稳定性,惩罚值越高则说明路由越不稳定。路由每发生一次振荡(路由从激活状态变为未激活状态,称为一次路由振荡),BGP便会给此路由增加一定的惩罚值(1000)。当惩罚值超过抑制阈值(Suppress Value)时,此路由被抑制,不加入到路由表中,也不再向其他BGP对等体发布更新报文。

被抑制的路由每经过一段时间,惩罚值便会减少一半,这个时间称为半衰期(Half-life)。当惩罚值降到再使用阈值(Reuse Value)时,此路由变为可用并被加入到路由表中,同时向其他BGP对等体发布更新报文。上文提到的惩罚值、抑制阈值和半衰期都可以手动配置。

路由衰减只适用于EBGP路由。对于从IBGP收来的路由不能进行衰减,因为IBGP路由经常含有本AS的路由,内部网络路由要求转发表尽可能一致,IGP快速收敛就是为了达到信息同步,转发一致。如果衰减对IBGP路由起作用,不同设备的衰减参数不一致时,会导致转发表不一致。
1.执行命令bgp as-number,进入BGP视图。

2.执行命令ipv4-family unicast,进入IPv4单播地址族视图。

3.配置BGP路由衰减参数。

配置EBGP路由衰减参数。
• 执行命令ipv4-family unicast,进入IPv4单播地址族视图。
• 执行命令dampening [ half-life-reach reuse suppress ceiling | route-policy route-policy-name ] * [ update-standard ],配置EBGP路由衰减参数。

配置IBGP路由衰减参数。
• 执行命令ipv4-family vpnv4,进入BGP-VPNv4地址族视图。
• 执行命令dampening ibgp [ half-life-reach reuse suppress ceiling | route-policy route-policy-name ] * [ update-standard ],配置IBGP路由衰减参数。

配置BGP路由衰减时,所指定的reuse、suppress、ceiling三个阈值是依次增大的,即必须满足:reuse<suppress<ceiling。
通过按策略区分路由,当dampening命令引用路由策略时,BGP可以对不同的路由采用不同的Dampening参数进行抑制处理。

例如:[R1-bgp]dampening 1 1000 2000 3000 //表示的是半衰期1分钟,使用阀值为1000,超过了2000就开始进行条目的抑制,惩罚值最多可以到3000不会继续增加,默认惩罚值一次动荡增加1000。 当条目因为震荡被抑制后,条目的标记会变成H:

BGP ORF特性:


BGP基于前缀的ORF能力,能将本端设备配置的基于前缀的入口策略通过路由刷新报文发送给BGP邻居。BGP邻居根据这些策略构造出口策略,在路由发送时对路由条目进行过滤(发送时过滤是最好的方式,减少带宽的浪费)。这样不仅避免了本端设备接收大量无用的路由,降低了本端设备的CPU使用率,还有效减少了BGP邻居的配置工作,降低了链路带宽的占用率。(只能通过前缀列表进行匹配)

拓扑描述:

  1. 直连EBGP邻居中,Client1、R1协商基于前缀的ORF 能力后,Client1将本地配置的基于前缀的入口策略打包到Route-refresh报文中发送给R1。R1根据接收到的路由刷新报文构造出口策略,通过Route-refresh报文发送路由给Client1。Client1只收到它需要的路由,而R1不必维护路由策略,减少了配置工作。
  2. Client1、Client2为RR的客户端,Client1与RR、Client2与RR,分别协商基于前缀的ORF 能力,Client1、Client2将本地配置的基于前缀的入口策略打包到Route-refresh 报文中发送给RR。RR 根据接收到的前缀信息构造出口策略,通过Route-refresh 报文将路由反射给Client1、Client2。Client1和Client2只收到需要的路由,RR不必维护路由策略,减少了配置工作。

配置:

  1. 执行命令bgp as-number,进入BGP视图。
  2. 执行命令ipv4-family unicast,进入IPv4单播地址族视图。
  3. 执行命令peer { group-name | ipv4-address } ip-prefix ip-prefix-name import,配置对等体/对等体组基于IP前缀列表的入口路由过滤策略。
  4. 执行命令peer { group-name | ipv4-address } capability-advertise orf [ non-standard-compatible ] ip-prefix { both | receive | send },配置BGP对等体(组)使能基于地址前缀的ORF功能。

实验:

目的:在R2配置,让R1值发送1.1.1.0/24和2.2.2.0/24的条目。

在R1上配置:
bgp 1
peer 10.1.1.2 as-number 2

ipv4-family unicast
undo synchronization
network 1.1.1.0 255.255.255.0
network 2.2.2.0 255.255.255.0
network 3.3.3.0 255.255.255.0
network 4.4.4.0 255.255.255.0
peer 10.1.1.2 enable
peer 10.1.1.2 capability-advertise orf ip-prefix receive //作为接收端

在R2上配置:
ip ip-prefix huawei index 10 deny 3.3.3.0 24 //拒绝对应条目
ip ip-prefix huawei index 20 deny 4.4.4.0 24
ip ip-prefix huawei index 30 permit 0.0.0.0 0 less-equal 32 //允许其他所有条目

bgp 2
peer 10.1.1.1 as-number 1

ipv4-family unicast
undo synchronization
peer 10.1.1.1 enable
peer 10.1.1.1 ip-prefix huawei import //首先需要在入方向调用前缀列表
peer 10.1.1.1 capability-advertise orf ip-prefix send //作为refresh报文的发送端

检测结果:


抓包中可以看到,R1发送报文中只有1.1.1.0/24和2.2.2.0/24了,并且R2的BGP路由中也只有对应的路由条目:

注意:配置了ORF后会重新建立邻居,不用refresh。

BGP同步:


目的:
为了保证IGP环境中依然能够传递BGP条目的流量,避免路由黑洞。

拓扑说明(在同步开启情况下):
R4通过BGP学习到R1宣告的10.0.0.0/24网络(从IBGP对等体学习到对应路由的时候)。R4在将该网络通告给R5之前,会首先检查自己的IGP路由表是否已经存在10.0.0.0/24网络。如果R4本地IGP路由表项存在10.0.0.0/24网络,则将该网络通告给R5;如果R4本地IGP路由表项不存在10.0.0.0/24网络,则不能将该网络通告给R5。如果想让R4的IGP表项由中存在10.0.0.0/24的路由条目,就需要将BGP重分发进入IGP这样让大量的条目进入IGP明显是不可取的。

当然,在华为VRP平台中,BGP的同步是默认关闭的,且不能够手动开启。那么常见解决BGP的路由黑洞问题有两种方法:

  1. 建立iBGP全互联连接,使每台路由器都能收到路由,保证AS内部的可达性。
  2. 使用MPLS VPN技术来解决,具体细节将在MPLS笔记进行讨论。

Active-Route-Advertise特性:

  1. 默认情况下路由只需在BGP中优选即可向邻居发布。配置了此特性之后,路由必须同时满足在BGP协议层面优选与在路由管理层面活跃两个条件,才能向邻居发布。
  2. 与命令bgp-rib-only(用来禁止BGP路由下发到IP路由表)互斥,因为一起配置的时候,所有条目不允许加表了,肯定都不会发送给对端了,就没有了意义。

配置:
[R1-bgp]active-route-advertise //进入进程中配置

BGP按组打包:

  1. 缺省情况下,BGP会针对不同邻居(即使出口策略相同)单独打包路由。
  2. 应用按组打包功能后,每条待发送路由只被打包一次然后发给组内的所有邻居,使打包效率成倍提升。(前提是发送给邻居的信息是相同的,就不用给每个邻居生成一个out方向的包了,统一生成一个即可)。

拓扑描述:
一个反射器有3个客户机,有10万条路由需要反射。如果按照每个邻居分别打包的方式,反射器RR在向3个客户机发送路由的时候,所有路由被打包的总次数是10万×3。而按组打包技术将这个过程变为10 万×1,性能相当于提升了3倍。

常见场景:

多个客户机的反射器典型组网图:

PE与多个IBGP邻居连接典型组网图:

实验:

R1和R2,R3建立IBGP邻居关系,R2,R3上正常配置,R1用打包的方式进行配置:

bgp 1
group huawei internal //创建内部组,适用于IBGP邻居
peer huawei connect-interface LoopBack0 //通过L0接口与huawei组的邻居建立关系
peer 10.1.1.2 as-number 1 //这条命令自动生成,IBGP邻居不要配置这条命令,因为和自己的AS号相同,如果是EBGP邻居就需要配置对方的AS号
peer 10.1.1.2 group huawei //将10.1.1.2这个邻居配置为huawei组中打包建立的邻居
peer 10.1.1.3 as-number 1
peer 10.1.1.3 group huawei //将10.1.1.3这个邻居配置为huawei组中打包建立的邻居

ipv4-family unicast
undo synchronization
peer huawei enable
peer huawei next-hop-local //huawei组中发送给所有成员的时候,下一跳为自己
peer 10.1.1.2 enable
peer 10.1.1.2 group huawei
peer 10.1.1.3 enable
peer 10.1.1.3 group huawei

4字节AS:


拓扑描述

  1. R2收到R1的一条四字节AS的路由,AS号码为10.1。
  2. R2与R3建立邻居,需要令R3认为R2的AS号为AS_TRANS。
  3. R2发送路由给R3的时候把AS_TRANS记录在AS_Path里面,把10.1与自己的AS号码20.1按照BGP要求的顺序记录在AS4_Path。
  4. R3对于不识别的属性AS4_Path不作处理依然保留,它只按照BGP的规则来发送路由给RD。当然它认为R4的AS号码也AS_TRANS。
  5. 这样当R4收到从R3来的路由会把AS_PATH中的AS_TRANS按照顺序替换为AS4_Path里所记录的相应的地址,在R4上把AS_PATH属性还原为30 20.1 10.1。

4字节AS号定义的角色:

  1. New Speaker:支持4字节AS号扩展能力的对等体。
  2. Old Speaker:不支持4字节AS号扩展能力的对等体。
  3. New Session:New Speaker之间建立的BGP连接。
  4. Old Session:New Speaker和Old Speaker之间或者Old Speaker之间建立的BGP连接。

协议扩展:

  1. 定义了2种新的可选过渡属性AS4_Path(属性码为0x11)和AS4_Aggregator属性(属性码为0x12)用于在Old Session上传递4字节AS信息。
  2. 如果New Speaker和Old Speaker建立连接,定义AS_TRANS(保留值为23456)用于衔接2字节AS和4字节AS。并且23456以后无法变回来。

新的AS号有三种写法:(华为支持asdot写法)

  1. splain:就是一个十进制的数字。
  2. asdot+:写成(2字节).(2字节)的形式,所以旧的2字节ASN123可以写成0.123,ASN65536是1.0;最大为65535.65535。
  3. asdot:旧的2字节写法照旧,新的4字节写成asdot+的形式。(1-65535;1.0-65535.65535)

按策略进行下一跳迭代:


BGP需要对非直连的下一跳进行路由迭代,但是如果不对迭代到的路由进行过滤的话,可能会迭代到一个错误的转发路径上。按策略进行下一跳迭代就是通过配置路由策略来限制迭代到的路由。如果路由不能通过路由策略,则该路由迭代失败。

拓扑描述:

  1. R1和R2、R3之间通过Loopback口建立IBGP邻居。R1从R2、R3分别收到了前缀为10.0.0.0/24的BGP路由。其中从R2收到的BGP路由的原始下一跳为2.2.2.2。另外,R1上Ethernet0/0/0的接口地址为2.2.2.100/24。
  2. 当R2正常运行时,R1收到从R2发来的前缀为10.0.0.0/24的路由会迭代到IGP路由2.2.2.2/32。但是当R2的IGP发生故障时,IGP路由2.2.2.2/32被撤销,这样就导致下一跳重新迭代。在R1上会用原始下一跳2.2.2.2在IP路由表中进行最长匹配迭代,结果会迭代到2.2.2.0/24的路由上。但此时用户期望的是,当到2.2.2.2的路由不可达时,可以重新选路优选到3.3.3.3的路由。实际上该故障主要是由于BGP收敛引起的,从而产生了路由的瞬时黑洞。
  3. 配置下一跳迭代策略,可以通过到BGP路由原始下一跳所依赖路由的掩码长度来过滤迭代路由。可以通过配置下一跳迭代策略,使到原始下一跳2.2.2.2只能依赖于2.2.2.2/32的IGP路由。

参考资料:华为hedex文档

BGP增强特性(华为设备)相关推荐

  1. BGP知识手册-华为-华三-思科

    备注:以下资料整理自以下三个网站,有华为,华三,思科三个厂商官网的BGP相关资料.放这里是为了自己查看方便.同时,有需要的可以参考参考. 官方文档BGP相关资料: 华为:https://support ...

  2. BGP项目实验案例(基于华为设备)

    一:BGP概述 1:自治系统 自治系统是由同一个技术管理机构管理.使用同一选录策略的一组路由器的集合. 2:动态路由的分类 (1)按自治系统分类 IGP:自治系统内部路由协议,包括RIP.OSPF.I ...

  3. 华为ebgp_华为设备BGP详细配置

    关于BGP的理论这篇博文就不多说了,直接上图开始配置了.关于理论可以参考上篇博文,华为设备的BGP路由技术是什么? 拓扑图如下: 需求如下: 要使AS100网络(R1:1.1.1.1)和AS200(R ...

  4. BGP选路实验(华为设备)

    文章目录 BGP选路大杂烩 一.实验拓扑 二.分析 三.部署 1.对不同AS的路由进行团体值的设定 2.传递团体值 3.抓取团体值 4.选路 4.1 AS1去AS2走R2 4.2 AS2去AS1走R4 ...

  5. 华为设备,使用mpls 解决bgp路由黑洞问题

    华为设备,使用mpls 解决bgp路由黑洞问题, [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bRC2zk2I-1617343115560)(C:\Users\Adm ...

  6. LDP机制补充与配置(华为设备)

    空标签: 一.隐式空标签 在 MPLS网络的出站LER处,首先需要对接收的报文进行标签移除(通过查找标签转发表),然后再进行FIB表的查找并转发,由于进行了两次查表操作,所以过程比较耗时.如果到达出站 ...

  7. 一文了解GaussDB 200的产品架构、数据流程、组网方案、服务部署原则、企业级增强特性......

    导读:本文是对GaussDB 200产品的整体描述,包含产品架构.数据流程.组网方案.服务部署原则.企业级增强特性等. 产品描述 GaussDB 200是企业级的大规模并行处理关系型数据库.Gauss ...

  8. 华为交换机默认vlan都是通的吗_华为设备二层交换技术——Hybrid接口详解

    Hybrid接口的特点 按照VLAN接口封装类型,华为交换机的接口主要有三种模式:Access.Trunk和Hybrid.其中Access.Trunk接口和Cisco技术并无差异,Hybrid接口是华 ...

  9. 华为设备接口视图_华为设备的交换机接口类型介绍及配置

    博文大纲: vlan是什么? 华为交换机的三种接口模式: 1.access模式. 2.trunk模式. 3.hybrid模式. hybrid接口的工作原理. 华为设备的各种接口模式应用场景及配置. 一 ...

  10. 极域电子教室增强特性介绍,它到底好用在哪呢?

    极域电子教室最近又更新了.这次试用的是极域电子教室4.2专业版,这次更新添加了很多实用功能,许多极域电子教室的客户也反馈屏幕广播时比之前流畅度提升了很多.今天给大家介绍下极域电子教室增强特性有哪些更新 ...

最新文章

  1. Python 数据类型:列表
  2. zabbix自动发现规则实现批量监控主机的TCP监听端口
  3. day27-python并发编程之多进程
  4. MySQL双主如何解决主键冲突问题
  5. mysql创建表shop_ShopXO商城-支付方式 - 数据库设计 - 数据库表结构 - 果创云
  6. 关于Android Studio使用高德地图地位
  7. 小组级Windows下架设git服务器
  8. 老男孩大趴会笔记分享
  9. Django之kindeditor
  10. [数据库】sql 查询语句 汇总
  11. Android——适配器Adapter与AdapterView
  12. 普林斯顿陈丹琦团队最新论文:受GPT-3启发,用小样本学习给语言模型做微调,性能最高提升30% | AI 日报...
  13. vue等单页面应用及其优缺点
  14. onkeyup事件只能输入数字,字母,下划线等
  15. vue相关--自己看看的
  16. centOS7 防火墙关闭 远程端口无法访问问题
  17. python 获取硬盘信息失败请谨慎操作_老毛桃pe装机工具出现获取硬盘信息失败,请谨慎操作...
  18. MMDetection 快速开始,训练自定义数据集
  19. 前端对接身份证阅读器/标签打印机/扫码枪记录
  20. 【区块链实战】什么是 P2P 网络,区块链和 P2P 网络有什么关系

热门文章

  1. 百面机器学习—3.逻辑回归与决策树要点总结
  2. 内置函数——hasattr() 函数
  3. Python机器学习:通过scikit-learn实现集成算法
  4. 32线性空间06——行空间和左零空间
  5. 两台windows笔记本创建家庭组实现文件共享
  6. kindle刷机ttl_求助大神!现在KPW2只能在TTL下进入uboot
  7. python线性拟合numpypolyfit_python – 具有适配参数的numpy.polyfit
  8. android用单元测试的多,AndroidStudio中对Android应用进行单元测试InstrumentationTestCase...
  9. java restful文件传输_Spring Boot 2.0实现基于Restful风格的文件上传与下载APIs
  10. JZ6-旋转数组的最小数字