尊龙时凯

工厂研学 丨 尊龙时凯网络数字化智能工厂“黑科技”大揭秘
预约直播
拒绝业务“掉链子”:2025 尊龙时凯网络 “降故障・强防护” 行业运维实战交流会
预约直播
尊龙时凯睿易 尊龙时凯官方商城

中文

  • Global / English
  • France / Français
  • Germany / Deutsch
  • Indonesia / Indonesian
  • Italy / Italiano
  • Japan / 日本語
  • Kazakhstan / Pусский
  • Poland / Polski
  • Portugal / Português
  • Spain / Español (España)
  • Thailand / ภาษาไทย
  • Vietnam / Việt Nam
  • LATAM / Español
    (América Latina)
  • Türkiye / Türkçe
  • Brazil / Português(Brazil)
产品
< 返回主菜单
产品中心
产品

交换机

交换机所有产品
< 返回产品
交换机主页
交换机

无线

无线所有产品
< 返回产品
无线主页
无线

无线管理与应用

云桌面

云桌面产品方案中心
< 返回产品
云桌面主页
云桌面

安全

安全所有产品
< 返回产品
安全主页
安全
服务支持
< 返回主菜单
服务与支持中心
服务与支持
服务工具
服务平台
  • 云桌面服务平台
  • 睿易服务平台
  • 合作伙伴服务平台
教学服务
  • 尊龙时凯ICT人才教育中心
  • 校企合作
  • 认证体系
  • 培训计划
合作伙伴
< 返回主菜单
合作伙伴中心
合作伙伴
成为尊龙时凯伙伴
售前营销
  • 市场资料库(合作伙伴)
  • 尊龙时凯产品配置器
  • 营销资料平台
  • 售前认证
  • 售前工具包
  • 合作伙伴礼品库
  • e-Learning
  • 产品资质查询
  • 远程POC
销售与订单
售后及服务
  • 售后认证
  • 售后工具包
  • iSov 服务运营可视化平台
  • 售后服务认证
  • 售后知识平台
  • 渠道服务管理系统(CSM)
  • SMB渠道客户服务平台(CCSP)
用户中心
  • 系统指导大全
  • 账号管理
  • 下载电子授权牌
  • 签约信息查看
  • 资质查询
  • 签章管理
  • 返利管理
  • 睿易技术认证查询
返回主菜单
选择区域/语言
  • Global / English
  • Japan / 日本語
  • Türkiye / Türkçe
  • Vietnam / Việt Nam
  • Indonesia / Indonesian
  • Thailand / ภาษาไทย
  • Spain / Español (España)
  • Portugal / Português
  • France / Français
  • Poland / Polski
  • Kazakhstan / Pусский
  • Germany / Deutsch
  • Italy / Italiano
  • Brazil / Português(Brazil)
  • LATAM / Español (América Latina))

    你不知道的BGP新特性:“ADD-PATH” |运维实战家

    发布时间:2020-10-12

     

     

    “运维实战家”专栏,从技术到实践,

    和您聊聊运维的那些事儿,讲述运维人的“昨天、今天和明天”

     

     

    作者:大峰

    运营商服务中心

     

    BGP由于支持基于策略的路由选路,协议易扩展,且支持数量更多的路由条目,在骨干网实际生产环境中被广泛部署。通常在骨干网生产网络中,使用ISIS或者OSPF作用域内IGP协议,使域内所有业务汇聚设备、核心设备环回地址可达。在此基础上再部署BGP进行业务路由承载,但由于BGP自身选路原则原因,在骨干网存在冗余节点时可能会产生非预期的网络流量模型。使用传统的“虚拟下一跳”方式进行处理时即破坏了BGP的强大的路由控制能力,同时也增加了网络对虚拟下一跳的IP的规划、部署操作,大大增加了网络运维的复杂度。但在rfc7911出现后,通过BGP ADD-PATH特性可自动实现等价BGP路由,不再需要小伙伴们进行虚拟下一跳IP规划与部署。

     

     

    前不久,网工小锐在一次骨干网集成项目就遇到了这样的头疼问题,接下来,小锐现身说法,分享下如何利用ADD-PATH特性解决难题。

     

    BGP在骨干网中是如何部署的?

     

    某日,小锐接到个接到个令他兴奋的项目:某省级数据中心集成项目,从数据中心出口、汇聚、接入均由他负责设计、实施。这让他学习多年的BGP、ISIS终于迎来了实战,心里无比激动,开心......

     

     

    此时在他的脑海里想起了“它”的好,强大的路由控制能力,在骨干网中被广泛部署,协议易扩展,支持数量更多的路由条目。于是小锐在与客户沟通后,在数据中心的出口层面设计成以下图一的拓扑。

     

    图一

     

    如图一,除数据中心CR外,其他均为现有网络。接入网CR,省独立RR、省BR兼RR设备均运行在同一管理域内ISIS level 2中。接入网CR使用口字型拓扑与省BR互联。

     

    数据中心CR小锐设计为使用双V字型拓扑与省BR兼RR设备互联。由于网络处于演进阶段,现阶段数据中心CR只与省独立RR形成IBGP邻居关系,且数据中心CR为BGP RR client角色。接入网CR与省BR兼RR设备形成IBGP邻居关系,且接入网CR作为BGP RR client角色。省独立RR与省BR兼RR设备形成IBGP邻居关系,不存在BGP RR client角色。省BR作用出口角色向全省发布ISIS默认路由。

     

    此时小锐心中满是欢喜,并得意的联系客户进行测试。第一个测试项是模拟业务路由承载测试。

     

    在数据中心CR1、CR2同时发布相同业务网段路由,所有BGP选路属性均为默认值。在小锐脑海里这预期效果就是接入网两台CR的BGP路由表中存在两条分别指向数据中心CR1、CR2的业务网段路由,简直……

     

     

    客户通过接入网CR查看数据中心业务网段路由时,下一跳均为数据中心CR1的loopback地址。小锐听到这事实,简直不敢相信,这么完美的设计怎么还会出现幺蛾子!

     

    经过多次对方案推敲与现网验证,小锐始终没找到问题原因。于是小锐带着小忧伤向老师傅请教这“幺蛾子”的由来。

     

    老师傅看到图一拓扑,了解模拟业务路由承载测试结果后,嘴角微微上扬,道出其中的奥秘。

     

    由于业务路由在宣告时未对BGP选路属性进行修改,导致省独立RR1、RR2在BGP选路原则作用下只优选router-id较小的BGP邻居所宣告业务网段作为路由(数据中心CR-1的router-id比CR-2小)。从于会导致省BR01、BR02、接入网CR1、CR2访问数据中心业务流量均由数据中心CR1承载。这个“幺蛾子”浪费了数据中心CR2链路带宽,同时流量模型也不是客户所期望的。

     

    小伙伴会想到在省独立RR配置“maximum-paths”,使省独立RR形成等价的业务路由,从而省独立RR会先向省BR宣告两个不同下一跳数据中心业务路由。但“maximum-paths”只是影响BGP路由加载到路由表数量,并未能影响BGP路由选路原则。BGP向邻居宣告其BGP路由表中BGP路由,并非设备路由表中路由。

     

    小锐一副豁然开朗的样子,并继续向老师傅请教解决方案。

     

    很久以前的解决方案

     

    为解决BGP选路原则带来的“幺蛾子”,老师傅通过虚拟下一跳方式为小锐进行解答。

     

    如图1所示拓扑,数据中心CR1、CR2与省独立RR配置BGP邻居时,通过route-map将数据中心CR1、CR2所宣告业务网段路由下一跳修改为同一个“虚拟IP”。且这个“虚拟IP”同时在数据中心CR1、CR2上配置并通过IGP协议将其宣告到全网,从而使省BR1、BR2学习到数据中心业务路由时下一跳均为“虚拟IP”,“虚拟IP”通过路由表递归查找下一跳出接口为省BR与数据中心CR1、CR2互联端口。进而实现了访问数据中心流量可以在数据中心CR1、CR2间形成等价路径。以下为实现虚拟下一跳大致步骤与配置:

     

    ! 数据中心CR1、CR2配置虚拟下一跳IP

    ip route   172.16.1.1 255.255.255.255 null 0

    ! 数据中心CR1、CR2配置修改路由宣告下一跳策略

    route-map   set_vnh permit 10

    set next-hop 172.16.1.1

    ! 数据中心CR1、CR2通过IGP将虚拟IP宣告到全网

    ip   prefix-list s2i seq 5 permit 172.16.1.1/32

    !

    route-map   red_s2i permit 10

     match ip address prefix-list s2i

    !        

    router   isis

     ...

     redistribute static route-map red_s2i

    ! 数据中心CR1、CR2针对省独立RR配置修改业务路由下一跳route-map

    router bgp   100

    ...

     address-family ipv4

      network 9.9.9.9 mask 255.255.255.255

      neighbor 192.168.12.1 route-map set_vnh out

     

    看似通过虚拟下一跳“完美”的解决了此次的“幺蛾子”问题,但它破坏了BGP强大的路由控制能力。在此场景数据中心CR1、CR2无法再通过BGP选路属性进行路由控制,因为业务路由下一跳IP始终为“虚拟IP”。

     

    小锐寻思着还有没其他更优的解法。老师傅接着往下说......

     

    ADD-PATH特性解决方案

     

    直到rfc7911的出现,BGP同时宣告同一前缀的多条路径成为可能。rfc7911定义了BGP一种新的capability用于同时宣告多个下一跳的相同BGP路由。通过在BGP邻居间协商add-path capability,路由宣告时会将BGP路由表较优BGP路由同时发送到支持add-path capability的BGP邻居。以下为根据客户网络修改为add-path方式实现BGP等价路由关键配置:

     

    add-path实现机制只将BGP路由表中较优路由同时发送到BGP邻居,其并未破坏BGP路由选路原则。如果需要路由表中生成多条等价BGP路由,还需考虑BGP选路原则与增加“maximum-paths”配置。需要注意“add-path”为BGP一种capability。如果实际生产网络中BGP已形成稳定BGP邻居并承载业务路由,启用此特性将会导致BGP会话重建,BGP邻居间重新协商双方BGP capability。

     

    ! 省独立RR配置启用add-path特性

    router bgp 100

    ...

     !

     address-family ipv4

      bgp additional-paths select all best 2

      ...

      neighbor 7.7.7.7 additional-paths send 

      neighbor 7.7.7.7 advertise additional-paths best 2

      neighbor 8.8.8.8 additional-paths send 

      neighbor 8.8.8.8 advertise additional-paths best 2

    ! 省BR配置启用add-path特性,并配置IBGP多路径负载均衡功能

    router bgp 100

    ...

     !

     address-family ipv4

      ...

      neighbor 5.5.5.5 additional-paths receive

      neighbor 6.6.6.6 additional-paths receive

      maximum-paths ibgp 2

     

     
     

    技术总结

     

    BGP固有强大路由控制能力,在实现部署时可能会产生非预期网络流量模型。小伙伴们在实际部署时需多加留意控制平面与数据平面相关表项哦。同时BGP也是Internet一个重要的路由协议,相关RFC标准在不断更新,大家也要保持学习,更新自身专业知识。

     

    关注尊龙时凯
    关注尊龙时凯官网微信
    随时了解公司最新动态

    返回顶部

    收起
    请选择服务项目
    关闭咨询页
    售前咨询 售前咨询
    售前咨询
    售后服务 售后服务
    售后服务
    意见反馈 意见反馈
    意见反馈
    更多联系方式