BGP扩展知识总结

一、BGP的宣告问题

  1. 在BGP协议中每台运行BGP的设备上,宣告本地直连路由
  2. 在BGP协议中运行BGP协议的设备,来宣告通过IGP学习到的未运行BGP协议设备产生的路由;(常见)

d9d03ad551eb4bb0aeec815445efc842.png

在BGP协议中宣告本地路由表中路由条目时,将携带本地到达这些目标的IGP度量值;传递到BGP邻居处;其他AS设备便于选择离目标最近的EBGP邻居;

若一台BGP设备,通过IBGP邻居学习到一条路由,存在度量值;同时本地需要将这些路由传输给本地其他的EBGP邻居时,只能将度量取消,按0进行传输;导致选路参考值不优;故,建议在一个AS中若需要BGP设备宣告某条路由,那么该AS内所有运行BGP协议的设备均宣告;--便于其他AS的BGP设备判断自己的EBGP邻居,哪台离目标更近;

(一台设备宣告,会将自己的度量带着,其他没有宣告的设备会通过BGP学到第一台设备宣告的路由,并且将度量洗为0,会导致选路不佳)

二、BGP的自动汇总问题

当代的路由器设备,默认就关闭了BGP的自动汇总功能;

自动汇总规则与正常BGP协议邻居共享的路由,或在BGP协议通过network宣告命令产生的路由条目无关;

仅针对从IGP重发布到BGP的路由条目;

BGP中的宣告可以理解为是逐条的重发布IGP路由到BGP;

BGP中中将IGP重发布到BGP,可以理解为是批量的将IGP路由宣告到BGP 协议;

但两种操作产生的路由条目其起源属性不同,宣告优于重发布

在开启了自动汇总的前提下,重发布进入的路由将不携带子网掩码,按主类掩码进入;不携带本地到达目标的度量值,度量为0;若关闭自动汇总,进入路由将正常携带掩码,且携带度量;此时和宣告路由仅起源属性不同;故建议不要开启自动汇总;

既然在一个AS中建议所有运行BGP协议的设备均宣告相同路由,那么若进行重发布配置,也建议所有运行BGP协议的设备均进行重发布;

三、BGP的认证 ---邻居间进行身份核实的方法;

[r1-bgp]peer  12.1.1.2 password cipher cisco123 

  邻居间需要秘钥一致,传递出去的秘钥必然被加密

四、BGP的聚合(汇总)

1.不是BGP的标准汇总思路,而是利用了BGP的宣告的特征来简化了汇总配置量;

宣告特征—本地路由表中任何方式产生的路由均可被BGP宣告;

不逐条宣告明细路由,仅在更新源BGP设备上配置一条到达聚合地址的空接口防环路由,然后将其宣告到BGP协议中;

在实际工程中,由于AS之间一定存在大量的EBGP邻居关系;因此仅汇总不一定能做到优选路径,必须在传递聚合条目的同时,再传递部分的明细路由来进行选路控制;

以上的汇总配置完成后,若还需要同时传输部分明细路由,再逐一宣告需要传递的明细路由即可;

2.标准的BGP聚合配置

  1. 先逐条宣告所有的明细路由
  2. 再在更新源路由上进行聚合配置,自动产生空接口防环路由
[r5-bgp]aggregate 100.100.0.0 22   此时聚合与所有明细条目均传递[r5-bgp]aggregate 100.100.0.0 22 detail-suppressed 仅传递聚合条目,所有明细路由被抑制

若需要在传递聚合条目的同时,再传递部分的明细路由;需要进行路径传递干涉策略;

五、路由传递干涉策略

1.抑制列表 – 先让设备将所有路由传递出去,再调用抑制策略(只能在汇总的时候才能用)

[r5]ip ip-prefix a permit 100.100.1.0 24  抓流量[r5]route-policy a permit node 10[r5-route-policy]if-match ip-prefix a    匹配[r5-route-policy]q[r5]bgp 3[r5-bgp]aggregate 100.100.0.0 22 suppress-policy a被抑制调用时,表中允许的流量最终反而被抑制传输

2.Route-map  在BGP中将route-map当分发列表用

[r5]ip ip-prefix b permit 100.100.1.0 24     [r5]route-policy b deny node 10[r5-route-policy]if-match ip-prefix b[r5-route-policy]q[r5]route-policy b permit node 20    空表允许所有[r5-route-policy]q[r5]bgp 3[r5-bgp]peer 4.4.4.4 route-policy b ?   在邻居间直接调用export  Specify export policy  控制层面的出项import  Specify import policy  控制层面的入向[r5-bgp]peer 4.4.4.4 route-policy b export

3.分发列表

[r5]ip ip-prefix c deny 100.100.1.0 24[r5]ip ip-prefix c permit 0.0.0.0 0 less-equal 32  允许所有[r5]bgp 3[r5-bgp]filter-policy ip-prefix c export(控制层面方向)  所有接口都会执行这个策略,不能精确

4.前缀列表 – BGP协议中可以直接将前缀列表作为分发列表调用(常用)

[r5]ip ip-prefix d deny 100.100.1.0 24[r5]ip ip-prefix d permit 0.0.0.0 0 less-equal 32[r5]bgp 3[r5-bgp]peer  4.4.4.4 ip-prefix d export

六、有条件的打破IBGP水平分割

IBGP水平分割----AS-BY-AS,一个条目在一个AS中传递属性不变

在一个AS中一台设备运行了BGP协议,那么正常应该都连接了其他的AS,存在EBGP邻居关系;又由于IBGP的水平分割规则,导致从外部学习到的路由传递给本地AS时,需要和本AS中所有运行BGP协议的设备逐一建立IBGP邻居关系;----两两间均为IBGP邻居关系,建立数量成指数上升

所谓有条件的打破,是指在保障无环的前提下消除IBGP水平分割机制;--AS-BY-AY

1.路由反射器    

角色:RR反射器   客户端  非客户端  只有RR才能决定该不该反射

无论客户端还是非客户端都必须是RR的IBGP邻居; 由RR作为中心点与多个客户端、非客户端构成一个簇(组);在一个簇内存在一台RR和至少一台客户端;也可以一台RR和多个客户端、多个非客户端;或者一个RR与多个客户端,没有非客户端;

4e75b80fec104c8382bad8c12c33af9c.png

反射规则:不优路由不能被传递,自然也不能被反射;

  1. RR从一个EBGP邻居处学习到的路由,可以传输给客户端、非客户端,已经本地的其他EBGP邻居;
  2. RR从一个客户端学习到的路由,可以传递给本地其他的客户端、非客户端、其他的EBGP邻居;
  3. RR从一个非客户端学习到的路由,可以传递给本地的其他客户端、EBGP邻居;不能传递给其他的非客户端;(非非不传)

[r3-bgp]peer 2.2.2.2 reflect-client     邻居2.2.2.2成为本地的客户端,同时本地成为RR

2.联邦

将一个大AS,逻辑的分为多个小AS(联邦);对外依然遵循大AS号传递规则;

但小AS间为联邦内的EBGP邻居关系,可以像EBGP关系一样传递路由,但默认不对属性进行修改;

联邦内的EBGP关系,传递的路由其属性遵循IGBP关系;传递性遵循EBGP关系;

  7f91f26c6ca04d0ebe4b3c5c36f4d79b.png

  1. 所有操作基于小AS号进行;
  2. AS内所有设备需要定义自己所在的大AS号
  3. 小AS间的BGP设备需要告知对端的小AS号
[r3]bgp 64512[r3-bgp]router-id 3.3.3.3[r3-bgp]confederation id 2   申明本地的大AS号[r3-bgp]confederation peer-as 64513  告知本地直连的其他小AS号,若没有直连到其他小AS不用配置[r3-bgp]peer  2.2.2.2 as-number 64512[r3-bgp]peer  2.2.2.2 connect-interface LoopBack 0[r3-bgp]peer  4.4.4.4 as-number 64513[r3-bgp]peer  4.4.4.4 connect-interface LoopBack 0[r3-bgp]peer  4.4.4.4 ebgp-max-hop 2

注:在实际工程中,反射器与联邦技术协同工作在一个网络拓扑中;

[r2]bgp 64512

[r2-bgp]peer  172.16.1.3 next-hop-local  该命令表面上意思为本地将路由传递给邻居172.16.1.3时,修改BGP条目中下一跳地址为本地R2的ip地址;

但实际仅针对R2从本地的EBGP邻居学习到的路由传递给172.16.1.3才修改;本地从其他IBGP邻居处学习到的所有路由再传递给172.16.1.3这个IBGP邻居时不修改下一跳地址;

意义在于,IBGP邻居间传递路由在一个AS内部,若贸然修改属性,极易出现环回--维持AS-BY-AS特性

七、BGP在MA网络中下一跳问题:

1b2493835f3d40ada873335cc9d97ae1.png

  1. 图中1、2、3在一个MA网段,但不在同一AS;R2和R3通过物理接口建立邻居关系

正常R1从R2学习到的R4的路由,下一跳自动显示为R3(最佳路径),若用环回建邻,下一条为正常R2

原理:

  1. R1/2/3必须使用MA网段的物理接口建立邻居关系
  2. ICMP重定向开启(默认开启)  --- 一台路由器在转发一个流量时,发现流量在本地的入口和查询完路由表的出口为同一接口时,将告知上一跳设备本地的下一跳地址;帮助上一跳设备找到最佳的下一跳地址;

在BGP中仅查看某个邻居发送或接收到BGP路由

[r1]display  bgp routing-table peer 10.1.1.2 received-routes  

仅查看本地从邻居10.1.1.2接收到BGP路由

[r1]display  bgp routing-table peer 10.1.1.2 advertised-routes

仅查看本地发送给邻居10.1.1.2的BGP路由

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity构建详解(8)——SBP的Bundle生成

【WriteSerializedFiles】 这里将实际的写操作执行单独拎了出来共用,放在了IRunCachedCallbacks,但数据的传入和处理还是在Task中执行。 这一步会生成实际的SerializedFile文件,文件名就是之前的InternalName,但这还不是最终的B…

DNF手游攻略:2024新手攻略大全

在《DNF手游》的世界中,前期阶段对于新手玩家来说至关重要。以下是一份综合整理的新手攻略,帮助玩家快速适应游戏并取得进展。 1. 角色建立策略: 在前期,建议玩家建立3个角色,包括1个大号和2个小号。大号可以根据个人喜…

Vue3常见核心面试题(之二)

Q1:Vue3如何实现全局状态管理? A1: Vue3中使用provide()和 inject()函数来实现全局状态管理 Q2:Vue3中的ref指令有哪些用途? A2:Vue3中的ref指令可以用来在组件内获取子组件的实例&#xff0c…

谷歌google浏览器无法更新Chrome至最新版本怎么办?浏览器Chrome无法更新至最新版本

打开谷歌google浏览器提示:无法更新Chrome,Chrome无法更新至最新版本,因此您未能获得最新的功能和安全修复程序。点击「重新安装Chrome」后无法访问此网站,造成谷歌浏览器每天提示却无法更新Chrome至最新版本。 谷歌google浏览器无…

SaaS知识库哪些比较好用?中小企业也能适用

在快节奏的商业世界中,拥有一个高效、易于使用的知识管理工具是提升工作效率的关键。对于中小企业来说,选择合适的SaaS(软件即服务)知识库平台尤为重要,因为它不仅能帮助员工快速找到信息,而且还能优化客户…

C语言运行时隐藏控制台

#include <windows.h> int main() {// 获取控制台窗口句柄HWND hwnd GetConsoleWindow();// 隐藏控制台窗口ShowWindow(hwnd, SW_HIDE);while (1){/* code */}return 0; }编译后运行&#xff0c;什么都没看到&#xff0c;打开任务管理器&#xff0c;在进程里能找到它。

数据结构进阶之堆

今天我们学习的是数据结构里面的堆&#xff0c;大家先看看我们今天要学习的内容 一、堆概念及认识 在学习堆之前我们得先明白完全二叉树是什么样子&#xff0c;因为堆是依据完全二叉树的结构来实现的&#xff0c;所以在这里我先告诉大家完全二叉树的是什么&#xff0c;如下图…

Excel中输入数字会改变怎么办?

一、数字显示不全&#xff0c;以“#”号代替 随着列宽的缩小&#xff0c;数字逐渐被“#”号代替&#xff08;首先数字的格式是“数值型&#xff0c;且只有整数”&#xff09; 原因分析&#xff1a;单元格中的数字无法完全显示&#xff0c;Excel会自动用“#”号填充剩余的空间 解…

00_如何使用国内镜像源下载QT

如何使用国内镜像源下载QT 如何使用国内镜像源下载QT 如何使用国内镜像源下载QT 第一步&#xff1a;下载下载qt online installer 网站&#xff1a;https://download.qt.io/official_releases/online_installers/ 添加链接描述 下载windows版本 第二步&#xff1a; 剪切放…

【LeetCode热题100】【链表】两数相加

题目链接&#xff1a;2. 两数相加 - 力扣&#xff08;LeetCode&#xff09; 基本思路同&#xff1a;【leetcode】大数相加-CSDN博客 数值的位置已经倒过来了&#xff0c;用一个进位记录进位&#xff0c;用一个数记录和&#xff0c;链表到空了就当成0 class Solution { publi…

搭建个人智能家居 4 -WS2812B-RGB灯

搭建个人智能家居 4 - WS2812B-RGB灯 前言说明ESPHomeHomeAssistant 前言 上一篇文章我们已经完成了第一个外设的添加&#xff08;一个LED灯&#xff09;&#xff0c;今天接着来“壮大”这个系统&#xff0c;添加第二个外设“RGB灯”。 环境搭建可以回顾前面的文章。前文回顾&…

Vue 的父组件和子组件生命周期钩子函数执行顺序

Vue 的父组件和子组件生命周期钩子函数执行顺序 1. 加载渲染过程 父 beforeCreate -> 父 created -> 父 beforeMount -> 子 beforeCreate -> 子 created -> 子 beforeMount -> 子 mounted -> 父 mounted 2. 子组件更新过程 父 beforeUpdate -> 子 bef…

AutoCAD 2024 安装注册教程

前言 大家好&#xff0c;我是梁国庆。 本篇分享的安装包是 AutoCAD 的全新版本——AutoCAD 2024&#xff0c;下文安装教程中简称 AutoCAD。 时间&#xff1a;2024年4月8日。 获取 AutoCAD 安装包 我已将本篇所使用的安装包打包上传至百度云&#xff0c;扫描下方二维码关注…

【通过虚拟现实:让我们对危险更敏感】

在科技日新月异的今天&#xff0c;虚拟现实&#xff08;VR&#xff09;技术已经逐渐从科幻走向现实&#xff0c;成为推动各行业发展的重要动力。除了应用在游戏、影视以及终端交互等娱乐文化行业中&#xff0c;VR技术在高危行业中更是开辟了一片新天地。从虚拟现实数据中得出的…

Linux 内核学习(1) --- 时钟子系统

标题 时钟系统说明时钟树Clock Provider时钟通用数据结构clock_device 的注册clock_provider DTS配置和注册clock consumer时钟系统总结 时钟系统说明 时钟就是 SoC 中的脉搏&#xff0c;由它来控制各个部件按各自的节奏跳动。比如&#xff0c;CPU主频设置&#xff0c;串口的波…

windows本地运行dreamtalk踩坑总结

dreamtalk是一个语音图片转视频的一个工具&#xff0c;就是给一段语音加一个头像图片&#xff0c;然后生成一段头像跟语音对口型的视频&#xff0c;其实还是很有意思的&#xff0c;最近阿里发布了一个类似的模型&#xff0c;但是还没开源&#xff0c;从展示视频看&#xff0c;阿…

itext7 pdf转图片

https://github.com/thombrink/itext7.pdfimage 新建asp.net core8项目&#xff0c;安装itext7和system.drawing.common 引入itext.pdfimage核心代码 imageListener下有一段不安全的代码 unsafe{for (int y 0; y < image.Height; y){byte* ptrMask (byte*)bitsMask.Scan…

Centos 7.9.2009 下 Gitlab 完全卸载

一、linux版本&#xff1a;lsb_release -a 二、GtiLab 版本 # 查看gitlab的版本号 cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 三、开始卸载 3.1&#xff0c;停止Gitlab 相关服务 # 停止所有GitLab相关服务&#xff1a; sudo gitlab-ctl stop# 移除GitLab包…

【2024年MathorCup数模竞赛】C题完整解析(代码与技术文档)

C题第一问 1 数据预处理2 问题一2.1基于混合ARIMA-LSTM预测模型的未来30天货量预测2.1.1 自适应混合ARIMA-LSTM混合预测模型的建立2.1.2 自适应混合ARIMA-LSTM混合预测模型的求解 2.2 基于混合ARIMA-LSTM预测模型与模糊修正的未来30天每小时货量预测 代码分享 目前已经完成C题数…

如何利用python机器学习解决空间模拟与时间预测问题

徐老师&#xff1a;副教授&#xff1a;长期从事定量遥感、遥感数据同化、地表水热通量转化等相关领域的研究&#xff0c;发表多篇相关领域核心期刊论文&#xff0c;具有丰富的实践技术经验。 专题一、机器学习原理与概述 了解机器学习的发展历史、计算原理、基本定义&#xf…