一、路由引入造成的环路


场景描述:
如图所示,R1将100.1.1.0 通告进BGP,且传递给AS 200,R2 与R4建立iBGP邻居,R4从iBGP学习到该路由,R4将iBGP引入进IGP,此时,R3访问100.1.1.0 时将会出现环路。。

具体原因:
由于R3没有运行BGP,只能通过IGP学习到该路由,R4 将BGP引入到IGP,R3将会从R4学习到该路由,如果R3访问100.1.1.0,下一跳数据包将会交给R4。而R4从iBGP中学到该路由,下一跳为R2,但是R4需要通过R3才能到达R2,因此数据包会再次经过R3,故而形成环路。

解决方式1:
改变AS 200的物理拓扑,将R2和R4直接相连,形成AS内三角形的组网,如下图所示,R4到达100.1.1.0 将会直接经过R2到达,不会造成环路。

解决方法2:
如图所示,在R2上引入路由,R3访问100.1.1.0 时则会直接经过R2访问,不会造成环路。

二、聚合路由引起的环路问题


场景描述:
如上图所示,AS 100 中通告了三条网段分别为172.16. 1.0/24、172.16.2.0/24、172.16.3.0/24, 为了减少AS 200的路由数量,在R2上进行了手动聚合,但没有携带AS-SET关键字。假设聚合时不生成指向NULL 0的路由条目,将会带来环路问题,具体过程如下所述。

问题分析:
由于没有携带AS-SET 关键字,该聚合路由被重新通告进R1,对于R1来说,明细路由来自于本地IGP (通告进OSPF),聚合路由来自于R2、R1,BGP聚合路由和明细路由都出现在IP路由表中。IGP收敛速度比BGP快,如果R1上OSPF中的明细路由消失了,R1没有了明细路由,此时,如果R1要访问一个明细地址,将会匹配到聚合路由,会将数据包发送给R2,而R2是通过BGP从R1学到的这些明细路由,但是由于BGP的收敛速度慢,R2 的BGP表无变化。数据包将再次指向R1,至此,将会出现短暂环路。

解决方法:
实际上BGP生成聚合路由时,将会在IP路由表中自动形成一条指向NULL 0接口的路由聚合条目。如果R1有了这条指向NULL 0的聚合路由,那么R1匹配到该路由条目时将会直接丢弃掉,从而避免环路。

三、默认路由注入造成的次优路径

BGP中的默认路由下放:
当对等体的BGP路由表中的多条路由都只是由本端发送时,可以在本端配置向对等体发送缺省路由功能。配置向对等体发送缺省路由功能后,无论本端的路由表中是否存在缺省路由,都向对等体发布一条下一跳地址为本地地址的缺省路由,从而很大程度地减少网络路由数量,节省对等体的内存资源与网络资源。

实验:

场景描述:
如图所示,AS 100中的路由器R1与R2和R3是eBGP邻居,R1分别向R2和R3发布默认路由,R2和R3为OSPF域中的ASBR路由器,分别向该域中有条件地发布默认路由(当ASBR的路由表中存在默认路由才向OSPF发布)。

问题分析:
假设R1与R2之间的链路出现故障,R2则收不到eBGP发布进来的默认路由,而R3从OSPF发布的默认路由被R2接收到,此时R2将会把该默认路由放进路由表,下一跳指向R4。但是如果R1与R2的链路恢复以后,R1通过eBGP向R2发布的默认路由也是不会注入到R2的路由表的,原因在于eBGP的路由优先级为255,而OSPF默认路由优先级为150(LSA5),因此R2也不会将eBGP的默认路由放进路由表,这样会造成R2选择一条次优路径,如果匹配到默认路由时将会沿着R4-R3-R1。

解决方法:
修改R2的路由优先级,将BGP的优先级改得更小(要小于OSPF的150),让BGP的默认路由出现在路由表中。

整理资料来源:《HCIE路由交换学习指南》

BGP中的环路和次优路径问题相关推荐

  1. 双向多点路由重分布--如何防止路由环路以及次优路径

    拓扑图 实验要求: R1上有一个环回口,1.1.1.0/24,通告在ISIS中. R5上有一条引入的外部路由5.5.5.0/24. 在R2和R3上进行双向重分布 要求采用防环和防次优路径的措施,以保障 ...

  2. 利用路由策略解决路由引入中产生的路由环路和次优路径问题

    利用路由策略来解决路由引入过程中产生的次优路径和环路问题: 如左边拓扑图所示:在一个运行ospf的区域和rip区域,在AR2上进入ospf进程引入直连路由,ospf引入的外部路由优先级默认为 150, ...

  3. 华为数通笔记-BGP环路、次优问题、黑洞路由

    一.路由引入造成的环路  场景描述: 如图所示,R1将10.10.10.10 通告进BGP,且传递给AS 200,R2 与R4建立iBGP邻居,R4从iBGP学习到该路由,R4将iBGP引入进IGP, ...

  4. 演示:引发的次优路径故障分析与排除

    演示:引发的次优路径故障分析与排除 故障背景:如图14.1所示的网络环境,在所包含的区域启动了OSPF路由,当然路由器R1的E1/0和R2的E1/0这段10MB的以太网链路没有被包含到OSPF的路由域 ...

  5. 思科ccie和华为hcie中交换机环路的产生原因和解决方法

    思科ccie和华为hcie中交换机环路的产生原因和解决方法,互联网时代对于我们的生活产生了非常巨大的影响,给我们带来了很多的便利,但是同时给我们带来的还有许许多多的问题,如网络安全. 有人说过在当今的 ...

  6. 查看python安装路径-在cmd中查看python的安装路径方法

    我相信一定有很多的人跟我一样,经常忘记Python安装的路径,每当用到的时候,最笨的办法就是在全局电脑里,直接查找Python,这样是肯定能查到的,但是如果你的电脑文件超级多,这将是一个工厂量很大的事 ...

  7. [VS2010]在C#工程中设置Reference的相对路径

    在C#工程中设置Reference的相对路径 罗朝辉 (http://kesalin.cnblogs.com/) 本文遵循"署名-非商业用途-保持一致"创作公用协议 要在C#工程中 ...

  8. 图中长度为k的路径的计数

    Problem Description 题目给出一个有n个节点的有向图,求该有向图中长度为k的路径条数.方便起见,节点编号为1,2,-,n,用邻接矩阵表示该有向图.该有向图的节点数不少于2并且不超过5 ...

  9. python获取绝对路径_python3中获取文件当前绝对路径的两种方法

    方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworki ...

  10. 【错误记录】Visual Studio 中配置 NDK 头文件路径 ( NDK 的三个头文件路径 | 与 CPU 架构相关 asm 头文件路径选择 )

    文章目录 一.报错信息 二.解决方案 1.NDK 的三个头文件路径 2.与 CPU 架构相关 asm 头文件路径选择 一.报错信息 参考 [Android 逆向]Android 进程注入工具开发 ( ...

最新文章

  1. c语言gsl,从GSL库获取C gsl_fit_linear()函数中的线性回归的p值
  2. 从DDD DSL DCI 说起
  3. 【练习】树(Tree, UVa 548)给一棵点带权(权值各不相同)的二叉树的中序和后序遍历,找一个叶子使得它到根的路径上的权和最小。
  4. ios 刷新遮罩遮罩_在Adobe XD中进行遮罩的3种方法
  5. 异形3×3魔方还原教程_【初级篇】(四)最简单的三阶魔方入门教程——中层还原...
  6. RabbitMQ笔记-使用rabbitmq-c让生产者发送数据
  7. 【JEECG技术文档】JEECG 接口权限开发及配置使用说明
  8. Linuxqt制作文本编辑器_Python实操!速收藏!学习使用Python创建文本编辑器应用程序
  9. 数字信号处理实验(六)—— 心电信号处理 IIR FIR滤波综合题(下篇)
  10. ad如何设置pcb板子形状_板子的造型_ad09在做PCB时如何设计板子的形状啊_彩妆阁...
  11. acer软件保护卡怎么解除_Acer软件保护卡使用说明资料
  12. cefsharp 添加html,winform+cefSharp实现窗体加载浏览器
  13. 大数据分析案例:财政收入预测分析
  14. 推荐10款最好的免费项目管理工具
  15. 2019全国大学生电子设计大赛-F题纸张计数
  16. 四级词汇4000快速记忆
  17. linux 安装nodejs
  18. 计算机网络时间同步(时钟同步)的重要性
  19. STM32开发环境(工具)之Keil MDK 介绍
  20. 微积分(三)-- 一阶常微分方程解法

热门文章

  1. 金融评分卡项目—7.申请评分卡中的数据预处理和特征衍生
  2. python——extend用新序列扩展其他列表
  3. 从零实现深度学习框架——神经网络入门
  4. Node后端数据渲染
  5. 揭秘Spark应用性能调优
  6. 电子工业出版社博文视点在2010年系统架构师大会上集锦
  7. 异常检测算法:孤立森林(Isolation Forest)
  8. 神奇的反爬措施--大众点评
  9. 使用fiddler抓取安卓模拟器包
  10. python玩跳一跳_python玩跳一跳