BGP面试常见问题

2023-11-19

1、 IBGP 为什么采用全互联?不采用全互联怎么部署? 由

由于IBGP的水平分割导致一个路由器收到的一条BGP路由不能传递给其他IBGP的邻居。这样的话,如果要让一个iGp中所有路由器都要可以给别的路由器传递BGP路由的话,就需要建立全互连这样的邻居关系就是每个路由器两两之间都要建立邻居,这样才能解决那个数据层面路由黑洞的问题。
可以采用反射器和联邦

2、 Bgp 中团体的作用

标准团体属性:针对传递的路由信息进行标记
扩展团体属性:定义BGP路由的传播范围
扩展团体属性:
Internet—可以传递给所有邻居
no-advertise—不能传递给任何邻居
no-export—不能传递出大的AS
no-export-subconfed—不能传递出小的AS

3、 BGP 的选路原则

选路条件: BGP路由必须有效,无环的,不能被惩罚 。
当到达同一目的地存在多条路由时,BGP依次对比下列属性来选择路由:
1)优选协议首选值(PrefVal)最高的路由:
数值范围: 0-65535 , 越大越优,默认值为0
仅仅在本设备上生效,不能传递
协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效。
2)优选本地优先级(Local_Pref)最高的路由。
作用: 用于控制离开本AS的流量,离开本AS时使用
范围:0-2^32 , 默认值为100 , 数值越大越优;在AS内可以传递,传出AS后失效
部署位置: 一般建议在存在EBGP邻居的IBGP邻居之间

3)依次优选手动聚合路由、自动聚合路由、network命令引入的路由、import-route命令引入的路由、从对等体学习的路由。
(next-hop为 0.0.0.0 最优先)

在思科中,next-hop为0.0.0.0是通过network or import or 路由聚合产生的
0.0.0.0整体优于IBGP或EBGP学习的
4)优选AS路径(AS_Path)最短的路由。
作用:代表本路由信息经过了那些AS
默认值:无,越短越优
注意: 在EBGP联邦中出现的AS号不计入长度的大小, 若出现在大括号时,大括号内无论存在多个少AS号,都只当做一个;

5)依次优选Origin类型为IGP、EGP、Incomplete的路由。
作用:代表着BGP路由的来源
默认值: 无, i>e>? i(0) e(1)?(2)
部署位置:所有BGP路由器上
ibgp路由是来自自身的通告,or IBGP or ebgp邻居network通告的路由
?是重发布的

6)对于来自同一AS的路由,优选MED值最低的路由。
MED:多出口鉴别属性 做在EBGP邻居间
作用:用于影响进入某AS的流量控制时使用
默认值为空:med 可以当做metric值,med 属性也是只能在某一个AS之内使用,med的比较默认一定是来自于直连相同的AS中路由
设置时就是修改cost值 ,越小越优

4、 BGP 的 AS-PATH 属性有什么作用?

代表本路由信息经过了那些AS

5、 BGP 的 local-performance 属性有什么作用?如何使用?

作用: 用于控制离开本AS的流量,离开本AS时使用

6、 BGP 的反射原则?

反射规则: 非非不传(非客户端收到的路由不能传递给其他的非客户端)

7、 BGP 的反射如何防环?

在路由反射器中,由于破坏了IBGP水平分割机制,可能导致路由环路,所以引入了起源者属性和簇ID属性进行防环。
设置路由反射器: 设置对等体组中用户为路由反射器的客户端,同时宣告自身为路由反射器的服务器端。
起源者属性:当路由 器反射路由条目时,BGP边界路由器会将产生该路由的路由器的router-id(BGP边界路由器自己的router-id)以起源者属性的方式显示在该路由条目中
簇ID列表(就像AS-PATH记录AS号一样,路由反射器每反射一次会将自己的簇ID加入到簇ID列表中。默认簇ID为路由器的router-id,可以修改。当传递给自己的路由的簇ID与自己的router-id相同时不能学习路由。当RR将来自客户的路由反射给客户时,同时将其簇ID附加到cluster_list中。RR接受到update消息后,就会检查cluster_list,如果发现其簇ID位于簇列表中,则知道已经出现了路由环路,从而忽略该update消息)
设置路由反射器: 设置对等体组中用户为路由反射器的客户端,同时宣告自身为路由反射器的服务器端。

在路由反射器中,由于破坏了IBGP水平分割机制,可能导致路由环路,所以引入了起源者属性和簇ID属性进行防环
由于破坏了IBGP水平分割机制,可能导致的路由环路:

在这里插入图片描述
(1)簇ID列表(就像AS-PATH记录AS号一样,路由反射器每反射一次会将自己的簇ID加入到簇ID列表中。默认簇ID为路由器的router-id,可以修改。当传递给自己的路由的簇ID与自己的router-id相同时不能学习路由。当RR将来自客户的路由反射给客户时,同时将其簇ID附加到cluster_list中。RR接受到update消息后,就会检查cluster_list,如果发现其簇ID位于簇列表中,则知道已经出现了路由环路,从而忽略该update消息)

①. 产生环路的原因:
由于破坏了IBGP水平分割机制,可能导致的路由环路:
每个路由器都做路由反射器的话,100.1.1.0/24这条路由由R1反射给R2,R2反射给R3,R3反射给R4,R4反射给R5,R5反射给R2,而R2到达100.1.1.0/24优选R5的话,下一跳为23.1.1.2会走R3,而R3到达100.1.1.0/24走R2,那么R2和R3之间会出现由环路。
②. 簇id防环:图1 R1反射给R2,R2反射给R3,R3反射给R4,R4反射给R5,R5反射给R2,没经过一个路由反射器记录簇id,R5发给R2的簇id列表里有2-3-4-5,R2不学R5传来的路由,解决环路。

做路由反射器的目的是不需要跨EBGP反射路由的
在这里插入图片描述
(2)起源者属性(当路由 器反射路由条目时,BGP边界路由器会将产生该路由的路由器的router-id以起源者属性的方式显示在该路由条目中)
①. 产生环路的原因:R1将100.1.1.0反射给R2,R2反射给R3,R3反射给R4,R4反射给R5,R5反射给R1。当R1优选R5传递的这条路由的话,就去找R2,但是R2又去找R1,R1-R2出现环路。
②. 起源者属性破环(防环):图2 由EBGP邻居产生的100.1.10,传递给R1(ebgp特性),路由反射器把一条IBGP路由反射到另外一个IBGP邻居(把本AS的路由反射给本AS的其他路由器。)R2反射给R3,R3反射给R4, R4反射给R5, R5反射给R1, 在本AS内100.1.1.0这条路由是由R1引入本AS的,相当于100.1.1.0是由该AS内R1产生的。R1路由器的router-id (1.1.1.1)以起源者 属性的方式显示在该路由条目中,R5将100.1.1.0传递给R1,R1看到100.1.1.0这条路由的起源者属性是自己的router-id就不学习。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BGP面试常见问题 的相关文章

  • 在微服务项目中,Spring Security 比 Shiro 强在哪?

    Spring Security 和Shiro的区别
  • LDAP协议

    1 LDAP是Lightweight Directory Access Protocol的缩写 顾名思义 它是指轻量级目录访问协议 这个主要是相对另一目录访问协议X 500而言的 LDAP略去了x 500中许多不太常用的功能 且以TCP I
  • 程序的链接

    程序的链接是一个非常实际的问题 他建立在很实际的问题之上 不从程序员的角度去思考问题 则是从软件的角度去思考如何复用错综复杂的代码 因为 这个问题的本质是我们没有给底层的硬件一个完整的可按顺序执行的程序 我们在前几章虽然讨论了指令流的问题
  • 【Node.js实战】一文带你开发博客项目之Koa2重构(实现session、开发路由、联调、日志)

    个人简介 个人主页 前端杂货铺 学习方向 主攻前端方向 也会涉及到服务端 个人状态 在校大学生一枚 已拿多个前端 offer 秋招 未来打算 为中国的工业软件事业效力n年 推荐学习 前端面试宝典 Vue2 Vue3 Vue2 Vue3项目实
  • QT--SQLite

    QT数据库实例 QT Sqlite操作 转载于 http mobile 51cto com symbian 273444 htm 585532 tsina 1 51851 7e393678b940a4d55500bf3feae3d2e9 S
  • 时序分解

    时序分解 MATLAB实现基于LMD局部均值分解的信号分解分量可视化 目录 时序分解 MATLAB实现基于LMD局部均值分解的信号分解分量可视化 效果一览 基本介绍 程序设计 参考资料 效果一览 基本介绍 LMD局部均值分解 直接替换Exc
  • 思维模型:建立高品质思维的30种模型

    第一章 如何快速而全面地做出决策 思维模型1 关注 重要 任务 忽略 紧急 任务 用于区分真正的优先事项和冒牌货 重要任务和紧急任务区分开 把活动和需求分类 整理出最重要的任务 并找出为了实现这些重要任务需要采取哪些最关键的流程 重要任务
  • 游戏开发unity插件CRI ADX2系列:插件下载及教程

    推荐一个比较好的声音插件 可以在较大压缩音乐资源的同时维持较好的音质 教程 https blog criware cn category tutorials https www bilibili com video av56190616 C
  • 玩转Makefile

    1 前言 Makefile是一个神奇的东西 有了它只需一个make命令就可以让源文件按你的规则编译成你所想要的程序 非常简单 方便 对于Keil VS等IDE 一般只需点一下绿色的三角按钮 就可以完成编译 但具体内部是怎么实现编译的 改动文
  • 【Spark ML】第 1 章:机器学习简介

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 解决粒子特效被NGUI遮挡的问题。

    最近给UI添加粒子特效时 总是被UI遮挡 解决方法是 因为粒子系统的渲染顺序列默认为3000 而NGUI的渲染顺序默认也是从3000开始 当有嵌套的panel时或者Depth更高的panel时 GUI的渲染顺序会高于3000 解决办法是 1
  • ValueError: PyCapsule_GetPointer called with incorrect name

    ValueError PyCapsule GetPointer called with incorrect name解决问题的方式 增高pyqt5的版本 增高pyqt5的版本 我遇到了这个问题的时候在网上查的一直是说需要降低pyqt5的版本
  • 嵌入式开发linux控制鼠标,嵌入式系统/ARM技术中的linux中如何使用微软鼠标的第4、5键...

    虽说使用linux的人大都对微软没什么好感 但不能否认微软确实也出了不少好东西呀 比如微软鼠标 IE系列 icon smile gif IE 2 0和以上版本都有5个按钮 除了正常的左中右外 两侧还各有一个 在windows中可用来支持浏览
  • 面试题之你对redis的认识

    这里是我自己看书对redis的总结 这次我们目标的Redis在java互联网项目网中的作用 在传统的javaweb项目中 使用数据库进行存储数据 但是有一些致命的弊端 主要来自性能方面 由于数据库持久化数据主要是面向磁盘 而磁盘的读 写比较
  • yarn-container的理解

    不管是MR还是spark 分布式并行计算是肯定的 分布式计算意味着多节点 每个节点必须要并行跑很多task 任务 因为如果一个节点只有一个task 那么节点数量远远不够 让开发者直接操作 cpu和内存显然不合理 要用container抽象
  • 用户在输入不符合格式要求的内容或出现多个小数点时,无法继续输入新内容,但仍然可以使用后退键进行修正

  • 美国大学生数学建模竞赛赛题特点

    美国大学生数学建模竞赛赛题特点 赛题灵活度高 内容广泛 反恐 防灾 环境 健康医疗 交通 新能源等等 开放性大 评价类问题多且复杂 离散型优化问题多 除A题 如 2016B太空碎片的处理 2018D电动车充电桩的优化 2019D卢浮宫疏散路
  • 重要通知:9月1日起,微信小程序须完成备案后才可上架

    微信官方通知 近日 工信部发布了 工业和信息化部关于开展移动互联网应用程序备案工作的通知 8月9日 微信公众平台也发布了 关于开展微信小程序备案的通知 一 备案必要性 在中华人民共和国境内从事互联网信息服务的移动互联网应用程序主办者 应当依

随机推荐

  • ArduCopter调试

    1 ArduPilot main 我们知道 在 C语言中最经典的程序是 Hello World 这应该是我们在 C语言中最早接触的一个程序了 而在单片机中 最经典的一个程序当属 LED了 那么这里我们为什么不去分析 Hello World
  • 使用嵌入式linux完全手册光盘的arm-linux-gcc 遇到问题 自己编译

    Redhat9下重新生成交叉编译器gcc 3 4 5 glibc 2 3 6 看到论坛上有兄弟也遇到 arm linux gcc lib tls libc so 6 version GLIBC 2 4 not found required
  • 鸿蒙手机录音,录音应用的隐藏功能,90%的人不知道?

    录音应用的隐藏功能 90 的人不知道 2019 04 22 16 57 20 1点赞 0收藏 0评论 录音应用其实隐藏着可以自动开始和结束 脱离手用蓝牙耳机录音 只在说话时录音 你使用过吗 这款录音应用可是被苹果App Store推荐过的
  • 从零开始:在腾讯云轻量服务器上安装Docker,实现快速开发和部署!

    本文指导您如何在 零基础轻量应用服务器上安装 Docker 以及使用 Docker 镜像源加速镜像下载 好了 没有废话 让我们开始行动吧 第一步 购买服务器 小编买的是 腾讯的 1年446RMB 下载链接如下 学生云服务器 学生云主机 学生
  • 可靠数据传输的实现

    可靠数据传输协议 我们知道 TCP和UDP都是基于IP网际协议来传输数据的 但是IP网际协议是一种不可靠数据传输协议 它不负责数据丢失等情况 而TCP是一种可靠数据传输 因此我们需要来关注TCP是如何实现可靠数据传输的 经完全可靠信道的可靠
  • wxc-button使用

  • 怎么理解回流跟重绘?什么场景下会触发?

    目录 一 什么是回流 下面这些操作会导致回流 二 什么是重绘 下面这些操作会导致重绘 除此之外还有一些其他引起重绘行为 三 如何避免回流与重绘 减少回流与重绘的措施 一 什么是回流 当渲染树中部分或者全部元素的尺寸 结构或者属性发生变化时
  • 多编程语言代码生成神器 CodeGeeX,编码效率提升十倍!

    点击上方 芋道源码 选择 设为星标 管她前浪 还是后浪 能浪的浪 才是好浪 每天 10 33 更新文章 每天掉亿点点头发 源码精品专栏 原创 Java 2021 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网
  • 物理端口UP 协议DOWN 的排错步骤

    端口的物理层Up 但是协议Down 可能的原因有很多种 一般而言 链路层协议从 初始化到Up 起来 都会经过一个协议的 协商 过程 这里所说的协商是广义上的协商 既包括链路层协议本身规定的参数 能力协商 也包括协议所规定的定期性的链路通达性
  • Drupal YAML 反序列化代码执行漏洞(CVE-2017-6920)

    事件背景 框架漏洞收集 老外的CMS框架 比较复杂 数据流向太长 调试需要消耗较多的时间 漏洞说明 1 漏洞原理 2017年6月21日 Drupal官方发布了一个编号为CVE 2017 6920 的漏洞 影响为Critical 这是Drup
  • maven 仓库配置 pom中repositories属性

    什么是Maven仓库 在不用Maven的时候 比如说以前我们用Ant构建项目 在项目目录下 往往会看到一个名为 lib的子目录 那里存放着各类第三方依赖jar文件 如log4j jar junit jar等等 每建立一个项目 你都需要建立这
  • python实现二叉树遍历

    使用python实现二叉树的四种遍历 前序 中序 后序和层次遍历 以遍历下图二叉树为例 1 树的构造 代码如下 coding utf 8 class Node object 节点类 def init self elem 1 lchild N
  • 串的模式匹配算法之KMP与BF

    这几天做手机软件 都不怎么看一些算法小程序了 同学数据结构作业 急需交 帮其做 文件名 KMP BF cpp 描述 实验内容 比较BF算法和KMP算法的优劣 实验基本要求 1 采用定长顺序显示表示串长的结构来存储串 结构定义见课件第17张幻
  • 第一回:Matplotlib初相识

    文章目录 第一回 Matplotlib初相识 一 认识matplotlib 二 一个最简单的绘图例子 三 Figure的组成 四 两种绘图接口 五 通用绘图模板 思考题 第一回 Matplotlib初相识 一 认识matplotlib Ma
  • 完美解决maven项目配置文件不生效、更新问题

    0 前言 三种需求情况 场景 以及解决办法 1 不知道为什么配置文件 xmlymlproperties 不生效 可能是java路径也可能是resource路径 2 Maven项目配置文件 不实时更新 3 非resource路径下的配置文件不
  • 计算机辅助诊断应用,数据挖掘在计算机辅助诊断中的应用研究

    摘要 近年来 计算机辅助诊断 Computer Aided Diagnosis CAD 逐渐成为医学领域的研究热点之一 很多计算机辅助诊断技术不断出现并获得快速发展 对于提高临床医生诊断的准确率 减少漏诊起到了积极的作用 数据挖掘技术的兴起
  • 网络编程中的协议格式

    数据包封装 传输层及其以下的机制由内核提供 应用层由用户进程提供 后面将介绍如何使用socket API编写应用程序 应用程序对通讯数据的含义进行解释 而传输层及其以下处理通讯的细节 将数据从一台计算机通过一定的路径发送到另一台计算机 应用
  • 毕业设计-基于 MATLAB 的车牌识别系统设计

    目录 前言 课题背景和意义 实现技术思路 一 车牌识别系统总体方案设计 二 车牌识别系统硬件设计 三 车牌识别系统软件设计 四 实验结果与分析 部分源代码 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕
  • 计算至少需要多少个快递主站点javascript

    题目 题目描述 快递业务范围有N个站点 A站点与B站点可以中转快递 则认为A B站可达 如果A B可达 B C可达 则A C可达 现在给N个站点编号0 1 n 1 用s i j 表示i j是否可达 s i j 1表示i j可达 s i j
  • BGP面试常见问题

    1 IBGP 为什么采用全互联 不采用全互联怎么部署 由 由于IBGP的水平分割导致一个路由器收到的一条BGP路由不能传递给其他IBGP的邻居 这样的话 如果要让一个iGp中所有路由器都要可以给别的路由器传递BGP路由的话 就需要建立全互连