前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【网工案例库】记一次BGP 更新机制导致路由环路

【网工案例库】记一次BGP 更新机制导致路由环路

作者头像
Ponnie
发布2023-09-04 17:44:47
2890
发布2023-09-04 17:44:47
举报
文章被收录于专栏:玉龙小栈玉龙小栈

原文链接:https://www.yuque.com/erik.zhao/trouble/tbf5htq1kd9zodfr?singleDoc

问题描述

某局点外部路由产生环路,最终排查因为BGP的问题,做一下BGP路由更新的一个小问题,在复杂组网情况下,bgp的update会产生update更新的时间差异,导致路由的收敛存在延迟,短暂的环路等问题:

处理过程

通过对业务流量的抓包(科莱的探针),发现数据包的丢包点;

根因分析

  • PE 撤销subnent1,PE发送撤销路由的update,即撤销1
  • C-CE接收到撤销1,上行路由消失,本地无路由,向D-CE发送撤销2,向FP发送撤销2
  • FP接收到撤销2,更新路由到D-CE,同时对直连FP以及下联C1-4发更新1,更新1之后进入15s抑制
  • 抑制期间D-CE接收到撤销2,本地无路由,对FP发送撤销3
  • FP接收到D-CE的撤销3,更新路由到横联FP,但此时FP还处于更新1之后的ibgp 15s抑制,等待抑制结束, 向直连FP发送撤销4
  • FP接收到撤销4,本地路由消失,对下C1-4发送撤销5
  • 默认向ibgp peer发布同一条路由的周期15s,FP上同一条路由经过2次更新,引入15s抑制延迟

解决方案

由于ibgp peer之间的update存在默认的更新延迟15s, 在某些特定条件下, 触发路由更新的异步,导致ibgp peer之间路由互锁。

需要修改缺省的update interval 15s 为0,即 peer route-update-interval 设置为0,加快路由收敛

建议与总结

在大型数据中心,采用bgp作为underlay路由协议,应该对bgp的缺省参数进行调整,使其适配作为underlay协议的要求;

BGP作为互联网上唯一的广域跨域路由协议已经使用了几十年,在这漫长的使用发展过程中,积累了很多使用中出现的问题,简单将BGP直接引入数据中心内部将面临很多调整,有在互联网上面应用而累积的BGP的自身问题,也有数据中心和互联网场景不同导致的适配问题,我们需要应对这些问题才能确保设计落地。汇总业内的一些研究论文以及面临的问题可以总结成三个BGP的问题:1)BGP的收敛问题;2)BGP路由稳定性;3)错误配置带来的风险;

互联网上面使用BGP来宣告路由网段会传播到全球网络中去,由于通常网络具备多个出口,所以BGP路由在这种情况下更多的考量是路由的稳定,避免更多的不必要的宣告而造成的持续不断的路由震荡。在这种情况下,BGP协议通常会有一个MRAI (Min-Route-Advertisement-Interval)计时器,路由器收到路由以后等待计时器(例如:有的厂家定义eBGP为5秒)规定的时间以后再发送出去,这样的好处是:如果在计时器内有新的变化可以少一些路由更新发送出去。但这个特性显然不适配数据中心内的应用场景,

数据中心内部使用eBGP来替代IGP需要更快的路由收敛,所以MRAI的设置在这里选择为0,对于一个典型的7-Stage数据中心的架构可以节省很大路由收敛延迟。收敛性和路由传播的范围也直接相关,因此能减少全网传播的路由有利于收敛、同时增加路由稳定性。

另外需要按区域进行路由汇聚的优化设计原则,这样可以控制路由的传播范围,详细路由只会在小区域内传递,不会影响其他区域

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玉龙网络新知社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题描述
  • 处理过程
  • 根因分析
  • 解决方案
  • 建议与总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档