计算机网络-BGP路由通告原则

前面一章我们学习了BGP的路由产生方式以及查看路由表信息。BGP自身并不会发现并计算产生路由。BGP通过network、import-route、aggregate聚合方式生成BGP路由后,通过Update报文将BGP路由传递给对等体。那BGP向邻居通告路由时遵循哪些原则呢?

BGP通告遵循以下原则:

  • 只发布最优且有效路由。
  • 从EBGP对等体获取的路由,会发布给所有对等体。
  • 从IBGP对等体获取的路由,不会发送给IBGP对等体。
  • BGP同步原则

一、只发布最优且有效(即下一跳地址可达)路由

BGP路由通告原则一
BGP路由通告原则一

在BGP路由表中同时存在以下两个标志的路由为最优、有效:

  1. * : 代表有效
  2. > : 代表最优
有效最优路由(即下一跳地址可达)
有效最优路由(即下一跳地址可达)

因为BGP是将IGP路由导入BGP,就有可能在AS内部通过OSPF等多个路径学习到通一条路由,但是只会将最优路由通告

二、从EBGP对等体获取的路由,会发布给所有对等体

BGP路由通告原则二
BGP路由通告原则二

从EBGP对等体获取的BGP路由,会发布给所有EBGP、IBGP对等体。

三、从IBGP对等体获取的BGP路由,不会再发送给其他IBGP对等体。

BGP路由通告原则三 第三条原则:从IBGP对等体获取的BGP路由,不会再发送给其他IBGP对等体。该条原则也被称为IBGP水平分割。这条是为了防止IBGP邻居互相通告导致产生环路。

由于IBGP只能传递一跳路由,因此可以通过IBGP全互联,AS内都通过IGP建立IBGP邻居,可以非直连,一跳到达即可。还需要配置IBGP本地出口指定到达目标路由通过自身转发。

四、BGP同步原则

当一台路由器从自己的IBGP对等体学习到一条BGP路由时(这类路由被称为IBGP路由),它将不能使用该条路由或把这条路由通告给自己的EBGP对等体,除非它又从IGP协议(例如OSPF等,此处也包含静态路由)学习到这条路由,该条规则也被称为BGP同步原则。

BGP同步原则
BGP同步原则
BGP同步原则
BGP同步原则

BGP路由黑洞,在AS内部通过IBGP建立邻居可以非直连,中间路由无法学习到目标网段,虽然基于TCP可以建立邻居但是数据包需要从物理链路传输,而且路由器基于路由表转发,没有路由条目则会丢弃,因此产生路由黑洞。

解决方法:

  • IGP与BGP同步(已经淘汰)
  • AS内部建立IBGP全互联都学习到BGP路由。
  • 使用MPLS标签隧道转发。

综合来说如果是AS内部有多出口可以建立IBGP全互联来实现。

总结:BGP路由只通告有效最优路由给邻居。EBGP邻居会发送路由给所有邻居,因为可能产生环路而不会再发送给IBGP邻居,如果AS内部有多出口这种可以建立IBGP全互联。

如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子 不喜欢热闹的孩子

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/666520.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

521源码-源码论坛-宝塔面板操作日志是存放在哪里的? 如何删除部分日志记录

我们帮别人搭建或者登录了(不是自己权属的宝塔面板),会留下登录及操作的日志,我们不想留下这些操作日志,可以通过下面的方法处理掉,以达到无痕迹访问操作的目的: 如图所示的面板操作日志&#…

计算机网络——如何保证 TCP 传输的可靠性

TCP 是传输层上的协议,它是可靠的,面向连接的。 概括 1. 设置传输格式,包括分为 TCP 段、使用校验和、使用序列号 2. 数据丢失之后的重传,超时重传、快速重传、SACK 选择确认、D-SACK 重复选择确认 3. 流量控制,控…

【学习笔记】数据结构(一)

基本概念和术语 👉数据:所有能被输入到计算机中,且被计算机处理的符号的集合; 是计算机操作对象的总称;是计算机处理信息的载体;是信息的某一种特定的符号表示形式包括数值型数据、非数值型数据 &#x1…

变种水仙花

变种水仙花 题干要求: 变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于…

干Java的有4年的工作经验;想转行做labview能行吗?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「 Java的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!bVIEW和Java都是软件工具&a…

Golang | Leetcode Golang题解之第120题三角形最小路径和

题目&#xff1a; 题解&#xff1a; func minimumTotal(triangle [][]int) int {n : len(triangle)f : make([]int, n)f[0] triangle[0][0]for i : 1; i < n; i {f[i] f[i - 1] triangle[i][i]for j : i - 1; j > 0; j-- {f[j] min(f[j - 1], f[j]) triangle[i][j]…

【新能源大巴BMS结构与乘用车的区别】

新能源大巴BMS结构与乘用车的区别 这篇文章主要介绍新能源大巴的电池和BMS的结构与乘用车的区别。 主要有&#xff0c;新能源大巴行业、新能源电池系统结构和新能源大巴的BMS系统。 第一部分 新能源大巴行业 其实数数全球的商用车(大巴卡车)&#xff0c;大致的方向还是沿着就…

机器视觉halcon学习——检测斜面两边之间距离的数据稳定性

一个样品的斜面&#xff0c;因为有景深&#xff0c;所以无法同时聚焦到两条边。想办法聚焦到其中一条不太有特征的边&#xff0c;另一条边通过白色的特征来检测。 dev_open_window(0, 0, 800, 800, black, WindowHandle) dev_set_color(red) * Image Acquisition 01: Code gen…

leetcode及牛客网二叉树相关题、单值二叉树、相同的树、二叉树的前序、中序、后序遍历、另一棵树的子树、二叉树的遍历等的介绍

文章目录 前言一、单值二叉树二、相同的树三、二叉树的前序遍历四、二叉树的中序遍历五、二叉树的后序遍历六、另一棵树的子树七、二叉树的遍历总结 前言 leetcode及牛客网二叉树相关题、单值二叉树、相同的树、二叉树的前序、中序、后序遍历、另一棵树的子树、二叉树的遍历等…

交换机堆叠技术

堆叠 一、园区网络以及数据中心技术发展演进 1、xSTP&#xff08;STP&#xff0c;RSTP&#xff0c;MSTP&#xff09; 问题&#xff1a; 收敛慢链路利用率不高次优路径------mstp不持支负载vlan数量限制&#xff08;4k&#xff09;&#xff0c;网络规模瓶颈 二、堆叠基本概念…

vue实现左侧拖拽拉伸,展开收起

需求&#xff1a;1.左侧是个树形结构&#xff0c;有的文字过长展示不全&#xff0c;想通过拖拽显示全部的数据 2.展开收起 实现图中效果 <div class"catalog-drag"><svg t"1687228434888" class"icon" viewBox"0 0 1…

【主动均衡和被动均衡】

文章目录 1.被动均衡2.主动均衡1.被动均衡 被动均衡一般通过电阻放电的方式,对电压较高的电池进行放电,以热量形式释放电量,为其他电池争取更多充电时间。这样整个系统的电量受制于容量最少的电池。充电过程中,锂电池一般有一个充电上限保护电压值,当某一串电池达到此电压…

将点作为C++ map容器key值时的踩坑记录

1.背景 空间点具有X,Y,Z坐标等数据&#xff0c;一些情况下我们需要将点作为map容器的key值&#xff0c;比如识别重复点或处理轮廓等情况。 2.问题 将点作为map的key值&#xff0c;需要自定义比较器或者重载实现点类的小于<操作运算符&#xff0c;判断规则是a < b 和 b…

使用Python发送企业微信消息

大家好&#xff0c;在本文中&#xff0c;我们将探讨如何使用 Python 发送企业微信消息。将详细说明如何通过 Python 脚本实现消息的发送。无论是希望自动化某些任务&#xff0c;还是想要快速地向团队发送实时通知&#xff0c;本文都将为您提供一站式的解决方案。 企业微信提供了…

二叉树—堆(C语言实现)

一、树的概念及结构 1.树的概念 树是一种非线性的数据结构&#xff0c;它是有n&#xff08;n > 0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一颗倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下。 ● 有一个特殊的结点…

【SQL学习进阶】从入门到高级应用(六)

文章目录 ✨数据处理函数✨数字相关✨rand()和rand(x)✨round(x)和round(x,y)四舍五入✨truncate(x, y)舍去✨ceil与floor ✨空处理✨日期和时间相关函数✨获取当前日期和时间✨获取当前日期✨获取当前时间✨获取单独的年、月、日、时、分、秒✨date_add函数✨date_format日期格…

Netty SSL双向验证

Netty SSL双向验证 1. 环境说明2. 生成证书2.1. 创建根证书 密钥证书2.2. 生成请求证书密钥2.3. 生成csr请求证书2.4. ca证书对server.csr、client.csr签发生成x509证书2.5. 请求证书PKCS#8编码2.6. 输出文件 3. Java代码3.1. Server端3.2. Client端3.3. 证书存放 4. 运行效果4…

C++ 多重继承的内存布局和指针偏移

在 C 程序里&#xff0c;在有多重继承的类里面。指向派生类对象的基类指针&#xff0c;其实是指向了派生类对象里面&#xff0c;该基类对象的起始位置&#xff0c;该位置相对于派生类对象可能有偏移。偏移的大小&#xff0c;等于派生类的继承顺序表里面&#xff0c;排在该类前面…

Python中Web开发-Django框架

大家好&#xff0c;本文将带领大家进入 Django 的世界&#xff0c;探索其强大的功能和灵活的开发模式。我们将从基础概念开始&#xff0c;逐步深入&#xff0c;了解 Django 如何帮助开发人员快速构建现代化的 Web 应用&#xff0c;并探讨一些最佳实践和高级技术。无论是初学者还…

SM2259XT2、SM2259XT3量产工具开启“调整不对称CH/CE组态”功能

自己摸索的SM2259XT2、SM2259XT3量产工具开启“调整不对称CH/CE组态”功能。在量产部落下载SM2259XT2量产工具后&#xff0c;解压量产工具压缩包&#xff0c;找到并打开量产工具文件夹中的“UFD_MP”文件夹&#xff0c;用记事本或者Notepad打开“Setting.set”文件&#xff0c;…