BGP的基本概念和工作原理

AS的由来

l Autonomous System 自治系统,为了便于管理规模不断扩大的网络,将网络划分为不同的AS

l 不同AS通过AS号区分,AS号取值范围1-65535,其中64512-65535是私有AS号

l IANA机构负责AS号的分发

AS之间传递路由

l AS之间的连接需要使用直连链路,或者是通过运营商建立VPN进行逻辑连接

l AS之间可能是不同的组织机构,使用IGP协议(例如:OSPF协议)传递路由信息将会有安全风险

AS之间传递路由使用BGP

l 因此我们在AS之间传递路由时使用BGP协议(边界网关路由协议 Border Gateway Protocol)

l 相较IGP协议,BGP协议有以下优势:

Ø BGP基于TCP工作(端口号179),因此只要能够建立TCP连接就可以建立BGP邻居关系;

Ø BGP能够承载上万条路由条目,而IGP仅能上千条;

Ø BGP路由器只传递路由条目,不会暴露AS内的拓扑信息,更加安全;

Ø 支持MPLS/VPN协议,用于传递客户VPN路由

BGP的特征

l BGP是距离矢量路由协议,邻居之间直接传递路由,每条BGP路由都携带多种属性

l 可以使用这些属性配置路由策略,实现灵活的路由选路,这是IGP协议无法做到的

BGP协议的应用场景

l BGP协议在企业中的应用主要有以下两个场景

Ø 大型企业的内部,存在多个分支,每个分支属于一个AS,通过BGP协议在不同分支之间传递路由

Ø 企业可以与运营商之间运行BGP协议,企业与运营商之间互相传递路由

BGP的工作原理

l BGP协议报文以单播的形式发送,BGP共有5种,其中路由是承载在Update报文中

BGP的有限状态机

状态之间的转换规则

BGP对等体

l 运行BGP的路由器被称为BGP Speaker或者BGP路由器

l 两台BGP路由器之间建立的关系叫BGP对等体(Peer)也叫BGP邻居,对等体之间交换BGP路由表

l BGP的Peer分为两种:EBGP和IBGP

l EBGP Peer:位于不同AS的路由器之间的BGP邻居关系

Ø 互为EBGP Peer的路由器彼此所属的AS号不同

Ø EBGP Peer一般基于直连接口建立

Ø Neighbor命令所指定的邻居IP地址要可达,TCP连接要能够正确建立

Ø EBGP的路由管理距离为20,因为AS之间BGP比IGP更优

l IBGP Peer:同属一个AS的路由器之间建立的BGP邻居关系

Ø 互为IBGP Peer的BGP路由器属于同一个AS

Ø IBGP Peer一般基于Loopback接口建立,Peer之间可以跨越路由器,只要TCP连接要能够正确建立

Ø IBGP的路由管理距离为200,因此AS内部IGP更优

BGP的邻居表

l BGP邻居表:包含了此台BGP路由器所有的邻居,以及他们之间的状态;

l BGP默认每隔60秒发送一次BGP/TCP存活消息,保持时间为180秒

l 每台BGP路由器独立维护一张BGP路由表,包含了本地导入以及从BGP peer学习所有BGP路由;

l BGP路由表中可用、最优的路由(标记为 *>)将会加载到全局IP路由表中;

BGP路由的生成

l BGP本身不会自动产生路由,必须要将IGP的路由引入到BGP路由表中。引入的方式有2种

BGP路由的传递

· BGP使用update报文将路由条目发送给BGP peer

· BGP传递路由遵循以下规则:

Ø 仅把BGP路由表中可用且最优(*>)的路由传递给BGP peer

Ø 从EBGP peer获得的路由,会发送给所有BGP peer(包括EBGP和IBGP)

Ø 从IBGP获得的路由默认会通告给它的EBGP peer(如果BGP同步开启则需要再判定)

BGP在AS内部的环路避免机制

l BGP作为一种D-V距离矢量路由协议,通过水平分割防止AS内部的环路

Ø 从IBGP获得的路由不向它的IBGP peer通告,以此来防止循环的发生

Ø IBGP在路由通告时也不会改变路由的下一跳,进一步防止循环的发生

l BGP同时还采用AS-Path属性来防止AS之间的环路

Ø EBGP向对等体通告路由时附加上自己的AS号存放在AS-path属性字段中,收到EBGP对等体Update报文时检查AS-path,如果发现自己的AS号则丢弃该路由,EBGP是依靠路由经过的AS路径来发现循环的

BGP的路由黑洞

l 由于在AS内部可以跨越设备建立IBGP对等体,因此会出现一些路径上的设备未运行BGP

l 这些设备由于未运行BGP,因此自然不会收到BGP传递来的路由信息

l 当有数据包经过这些设备时,因为没有相关路由信息,数据包将会被丢弃

避免路由黑洞问题的方法 —— BGP同步

l BGP协议为了防止路由黑洞问题,引入了同步机制

l 从IBGP对等体学习到的路由在成为最佳路由并向EBGP对等体通告之前必须被IGP学习到

l BGP同步默认关闭,如果开启则不会产生路由黑洞问题,但同时这些路由将无法正常使用

解决路由黑洞问题的方法

l 要想既不产生路由黑洞问题,又要使得这些路由可用,可采用以下方式:

Ø 路由重分布:把BGP的路由重发布到AS内的IGP

Ø IBGP全互联:在穿越路径上IBGP启用全连接,确保所有BGP路由过路设备都知道

Ø 使用MPLS:使用MPLS的转发机制解决穿越AS问题

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

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

相关文章

【Vue】通过Axios实现异步通信(简单案例)

一、Axios介绍 1、是什么 Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get、post请求。当然这些请求ajax和jquery也能做,但是由于Vue、React等框架的出现,促使了Axios轻量级库的出现,因为Vue等,不需要操…

LabVIEW专栏九、类的应用

一、类的应用 接上一章"类" 类在项目中,一般会在类的私有成员簇内,包含一个数据类型为参数类的队列。 例如网口类,里面实际会包含很多信息,有IP地址和端口等等参数。这些参数如果不放在队列引用中缓存下来,…

HarmonyOS开发实战(黑马健康系列一:欢迎页)

系列文章目录 (零)鸿蒙HarmonyOS入门:如何配置环境,输出“Hello World“ (一)鸿蒙HarmonyOS开发基础 (二)鸿蒙HarmonyOS主力开发语言ArkTS-基本语法 (三)鸿蒙…

【Qt QML】TabBar的用法

Qt Quick中的TabBar提供了一个基于选项卡的导航模型。TabBar由TabButton控件填充,并且可以与任何提供currentIndex属性的布局或容器控件一起使用,例如StackLayout或SwipeView。 import QtQuick import QtQuick.Controls import QtQuick.LayoutsWindow …

AWS SES发送邮件如何正确配置?操作指南?

AWS SES发送邮件有哪些限制?AWS SES发信的注意事项? AWS SES作为亚马逊云服务提供的一项高效、可靠的电子邮件发送服务,受到了众多企业的青睐。然而,如何正确配置AWS SES发送邮件。AokSend将详细解析AWS SES发送邮件的配置过程&a…

MIS微调SAM模型实时交互UI界面

前言 SAM模型的基本介绍可见SAM(Segment Anything Model)大模型使用--point prompt_sam大模型-CSDN博客 针对Meta团队去年发布的SAM大模型在医学图像分割领域表现性能较差的情况,笔者收集了一些MIS领域的数据集对SAM的架构进行fine tune&am…

vue快速入门(四十三)axios模块的安装与引入

步骤很详细,直接上教程 上一篇 在项目目录打开终端 输入以下命令安装axios npm i axios重新打开项目即可完成按照 测试 源码 main.js import Vue from vue import App from ./App.vue//全局引入axios // 引入axios import axios from axios; // 挂载到vue原型…

BGP配置和应用案例

策略路由的配置步骤 l 策略路由的配置步骤如下: 创建route-map 通过ACL匹配感兴趣的数据,定义策略动作 在指定接口下通过ip policy 命令应用route-map l 最终实现对通过该接口进入设备的数据进行检查,对匹配的数据执行规定的策略…

【A-034】基于SSH的电影订票系统(含论文)

【A-034】基于SSH的电影订票系统(含论文) 开发环境: Jdk7(8)Tomcat7(8)MySQLIntelliJ IDEA(Eclipse) 数据库: MySQL 技术: SpringStruts2HiberanteJSPJquery 适用于: 课程设计,毕业设计&…

7.MyBatis 操作数据库(初阶)

文章目录 1.什么是MyBatis2.为什么要学习 MyBatis?3.通过spring框架创建MyBatis项目3.1使用MyBatis查询数据库3.2 mysql连接不上报错解决方法 4.MyBatis的基础操作4.1企业建表规范:4.2MyBatis基本实现4.3单元测试4.4使用MyBatis可能遇到的问题4.5配置MyB…

Jsoncpp搭建交叉编译环境(移植到arm)

1. 官网下载源码 github地址:GitHub - open-source-parsers/jsoncpp at update 2. 交叉编译环境 当前平台/开发平台-编译环境: [rootlocalroot ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootlocalroot ~]# uname -a Lin…

4.7 海思SS928开发 - uboot开发 - 自定义分区以及启动方案

4.7 uboot开发 - 自定义分区以及启动方案 ss928 出厂默认的启动方式以及 emmc 默认的分区,不符合需求,考虑自己做一个分区方案以及启动方案。 分区方案 分区表如下: 分区文件系统分区说明fastboot-存放 bootloaderubootenv-存储 uboot 环境…

【预测】小米汽车电子电气架构的猜想

文章目录 前言 整车EEA 硬件平台 软件平台 总结 参考资料 前言 见《【Review】小米汽车发布会》 整车EEA 小米汽车整车电子电气架构方面的信息,小米官方并没有对外介绍,但是从近日流出的整车BOM和供应商列表中看到,车上各种控制器一个都…

蓝牙低能耗安全连接 – 数值比较

除了 LE Legacy 配对之外,LE Secure Connections 是另一种配对选项。 LE 安全连接是蓝牙 v4.2 中引入的增强安全功能。它使用符合联邦信息处理标准 (FIPS) 的算法(称为椭圆曲线 Diffie Hellman (ECDH))来生成密钥。对于 LE 安全连接&#xff…

图像处理技术与应用(二)

图像处理技术与应用入门 椒盐噪声 椒盐噪声,也称为脉冲噪声,是一种常见的数字图像噪声。它通常表现为图像中随机出现的白色(椒)或黑色(盐)像素点,这些像素点在图像上呈现为黑白杂点。椒盐噪声…

算法项目(9)—— 大模型实现PDF检索加QA

本文包含什么? 使用大语言模型进行多个PDF问答检索加QA.gradio实现的网页界面操作,全套代码以及代码介绍运行有问题? csdn上后台随时售后.项目说明 本项目实现使用大语言模型为核心,gradio框架,调用vicuna实现多个pdf QA 代码运行 python3 main.pyimport gradio as gr fr…

云计算革新:以太网 Scale-UP 网络为 GPU 加速赋能

谈谈基于以太网的GPU Scale-UP网络 Intel Gaudi-3 采用 RoCE 互联技术,促进了 Scale-UP 解决方案。业界专家 Jim Keller 倡导以太网替代 NVLink。Tenstorrent 成功应用以太网实现片上网络互联。RoCE 和以太网已成为互联解决方案的新兴趋势,为高性能计算提…

视频中为什么需要这么多的颜色空间?

在视频处理中,经常会用到不同色彩空间:非线性RGB,线性 RGB,YUV,XYZ……为什么需要这么多的色彩空间呢? 1、视频采集时的线性RGB颜色空间 由数码相机中的 CMOS 传感器产生并写入原始文件(Raw Fil…

艾瑞泽5汽车电子控制单元CAN通信数据读写车辆网络系统交互接口

艾瑞泽5的网关接口数据交换通常涉及车辆内部电子设备之间的信息传输,包括车身系统、娱乐系统、远程控制、车辆状态监控、CAN数据采集分析、整车DBC控制策略等信息。 艾瑞泽5作为一款采用CAN协议的汽车,其CAN通信的开发可以提高车辆的安全性、可靠性和实…