什么是BGP
BGP是外部路由协议,是一种增强的距离矢量路由协议。

BGP作用
用来在AS之间传递路由信息。

什么是系统(AS)
AS是由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。

BGP特征

  • 可靠的路由更新机制
  • 丰富的Metric度量方法
  • 从设计上避免了环路的发生
  • 为路由附带属性信息
  • 支持CIDR(无类别域间选路)
  • 丰富的路由过滤和路由策略

可靠的路由更新机制

  • 传输协议:TCP,端口号179
  • 无需周期性更新
  • 路由更新:只发送增量路由
  • 周期性发送keepAlive报文检测TCP的连通性

BGP报文五种类型:

  • Open:负责和对等体建立邻居关系。
  • KeepAlive:该消息在对等体之间周期性地发送,用以维护连接。
  • Update:该消息被用来在BGP对等体之间传递路由信息。
  • Notification:当BGP Speaker检测到错误的时候,就发送该消息给对等体。
  • Route-refresh:用来通知对等体自己支持路由刷新能力。

BGP协议中消息的应用

  1. 通过TCP建立BGP连接时,发送OPEN消息
  2. 连接建立后,如果有路由需要发送或路由变化时,发送UPDATE消息通告对端
  3. 稳定后要定时发送KEEPALIVE消息以保持BGP连接的有效性
  4. 当本地BGP在运行中发现错误时,要发送NOTIFICATION消息通告BGP对等体
  5. ROUTE-REFRESH消息用来通知对等体自己支持路由刷新

BGP六种状态机
Idle、Connect、Active、OpenSent、OpenConfirm和Established。

BGP邻居关系
BGP邻居关系建立在TCP连接的基础之上
可以通过IGP或静态路由来提供TCP连接的IP可达性

BGP两种邻居
IBGP和EBGP

BGP通告原则

  • BGP Speaker只把自己使用的最优路由通告给对等体
  • BGP Speaker从EBGP获得的路由会向它所有BGP对等体通告(包括EBGP和IBGP)
  • BGP Speaker 从IBGP获得的路由不会通告给它的IBGP邻居。
  • BGP Speaker 从IBGP获得的路由是否通告给它的EBGP对等体要依IGP和BGP同步的情况来决定

AS内部的IBGP对等体为什么需要建立全互连?
为了保证IGP对等体之间的连通性

BGP如何解决对等体数量过多而导致的占用资源过多的问题?

  • 路由反射器
  • 路由联盟

BGP的路径属性
BGP路径属性是一组描述BGP前缀特性的参数
BGP路径属性可以被分为四大类:

  • 公认强制(Well-known mandatory)
  • 公认可选(Well-known discretionary)
  • 可选过渡 (Optional transitive)
  • 可选非过渡 (Optional non-transitive)

公认属性是所有BGP路由器都必须识别的属性

  • 公认必遵 (Well-known mandatory)
    • 所有BGP路由器都可以识别,且必须存在于Update消息中。如果缺少这种属性,路由信息就会出错
  • 公认任意 (Well-known discretionary)
    • 所有BGP路由器都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来决定是否添加到Update消息中

可选属性不需要都被BGP路由器所识别

  • 可选过渡 (Optional transitive)
    • BGP路由器可以选择是否在Update消息中携带这种属性。接收的路由器如果不识别这种属性,可以转发给邻居路由器,邻居路由器可能会识别并使用到这种属性
  • 可选非过渡 (Optional non-transitive)
    • BGP路由器可以选择是否在Update消息中携带这种属性。在整个路由发布的路径上,如果部分路由器不能识别这种属性,可能会导致该属性无法发挥效用。因此接收的路由器如果不识别这种属性,将丢弃这种属性,不必再转发给邻居路由器

常见BGP路由属性

属性 类别
1. Origin 公认强制
2. AS_PATH 公认强制
3. Next hop 公认强制
4. MED 可选非过渡
5. Local-Preference 公认可选
6. Atomic-Aggregate 公认可选
7. Aggregator 可选过渡
8. Community 可选过渡
9. Originator-ID 可选非过渡
10. Cluster-List 可选非过渡
11. MP_Reach_NLRI MPLS/VPN体系结构
12. MP_Unreach_NLRI MPLS/VPN体系结构
13. Extended_Communities MPLS/VPN体系结构

起源(Origin)属性
决定路由Origin属性的方式

  • 某条路由是直接而具体的注入到BGP路由表中的,则origin属性为IGP
  • 通过network命令注入BGP的路由
  • 通过EGP(RFC904)学到的路由,则origin属性为EGP
  • 其他情形下,Origin属性都为 Incomplete
  • 通过import命令注入BGP的路由
    Origin属性值默认情况下不被任何路由器修改

AS_PATH属性
AS_PATH如何避免形成路由环路?
BGP不会接受AS_PATH中已包含本地AS号的路由。如果BGP路由信息发布者从EBGP对等体收到一条路由,它的AS_PATH包含发布者自己的AS号,就说明这条路由曾经从本AS发出过,将其丢弃,同时不再进行转发。

MED (Multi-Exit-DISC) 属性
MED是可选非过渡属性
区别到达同一邻居AS的多条入口链路(MED值越小,链路越优先)
通过EBGP发送MED值给对等体

LOCAL-PREF与MED的区别。

  • MED通常通过外部链路宣告给对等体,区分本地AS到同一邻居AS之间的多入口链路,MED数值越小越优
  • LOCAL_PREF只能发布给IBGP邻居,数值越高越优先

其他属性后续再复习

BGP路径选择过程

  1. 如果此路由的下一跳不可达,忽略此路由
  2. Preferred-Value值数值高的优先
  3. Local-Preference值最高的路由优先
  4. 聚合路由优先于非聚合路由
  5. 本地手动聚合路由的优先级高于本地自动聚合的路由
  6. 本地通过network命令引入的路由的优先级高于本地通过
    import-route命令引入的路由
  7. AS路径的长度最短的路径优先
  8. 比较Origin属性,IGP优于EGP,EGP优于Incomplete
  9. 选择MED较小的路由
  10. EBGP路由优于IBGP路由
  11. BGP优先选择到BGP下一跳的IGP度量最低的路径
    当以上全部相同,则为等价路由,可以负载分担
    注:AS_PATH必须一致.当负载分担时,以下3条原则无效
  12. 比较Cluster-List长度,短者优先,
  13. 比较Originator_ID(如果没有Originator_ID,则用Router ID比较),选择数值较小的路径
  14. 比较对等体的IP地址,选择IP地址数值最小的路径

BGP路由协议(1)相关推荐

  1. 计算机网络:BGP路由协议

    BGP路由协议的概述 首先,再当前的互联网中,BGP是目前唯一支持的外部网关协议EGP的协议,用于自治系统AS之间传递路由信息,目前的版本为4. 从图中可以看出,BGP协议是连接自治系统AS的&quo ...

  2. 【网络安全】BGP线路是什么意思?最全BGP路由协议技术详解

    [网络安全]BGP线路是什么意思?最全BGP路由协议技术详解 一.BGP 的基本概念 自治系统AS(Autonomous System) AS 是指在一个实体管辖下的拥有相同选路策略的 IP 网络.B ...

  3. CCNP CISCO 路由器 BGP路由协议在GNS3player模拟器上的配置示例详解

    文章目录 BGP概述 BGP特征 BGP术语 通过示例来了解BGP路由协议的特征(IBGP和EBGP)基本配置 BGP概述 通常可以将路由协议分为IGP(内部网关协议)和EGP(外部网关协议),EGP ...

  4. BGP路由协议特性和三张表

    BGP的主旨是提供一种域间路由选择系统,确保自主系统只能够无环地交换路由选择信息,BGP路由器交换有关前往目标网络的路径信息. BGP是一种基于策略的路由选择协议,BGP在确定最佳路径时考虑的不是速度 ...

  5. BGP路由协议的那些事?(上)

    BGP是怎么来的?为什么要使用BGP? 路由协议的分类 分类 包含协议 说明 IGP:用于域(AS)内路由选择. RIP 距离矢量协议,多用于小型网络. ISIS 链路状态协议,多用于运营商网络. O ...

  6. BGP路由协议多线的优势

    BGP(Border Gateway Protocol)是一种在自治系统之间动态交换路由信息的路由协议.一个自治系统的经典定义是在一个管理机构控制之下的一组路由器,它使用IGP和普通度量值向其他自治系 ...

  7. 在internet网络的某自治系统内交换到达其他自治系统网络可达性信息的协议是_详解:BGP路由协议...

    BGP简介 介绍BGP的定义.目的和受益. 定义 边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择 ...

  8. BGP路由协议实验配置命令

    实验拓扑 拓扑中,配置BGP,CR1.CR2.AR属于AS65004,并且内部运行OSPF,BR属于AS65003,BR与CR1.CR2建立EBGP关系,其中AR所接用户网络使用loopback1,l ...

  9. BGP路由协议的那些事?(中)

    上一篇我们解决了路由黑洞的问题.本篇我们来聊聊BGP的防环机制 BGP的两种防环机制 EBGP的路由环路 首先我们来看一下EBGP的路由环路是怎么形成的,如上图所示:三个AS通过3台设备两两建立EBG ...

最新文章

  1. image_thumb1
  2. python怎么学最快-浅谈:从为什么学习python到如何学好python
  3. JdbcTemplate在Spring的ioc中使用
  4. 2.2.1 mini-batch
  5. Java多线程(5)--线程通信wait和notify
  6. VSCode打开多个项目文件夹的解决方法
  7. andriod之配置文件保存与读取
  8. Linux内核解读入门(转CSDN)
  9. python类库31[命令行解析]
  10. 计算机应用技术辅助设计方向课程,AutoCAD计算机辅助设计课程标准.doc
  11. ZEMAX | 探究 OpticStudio 偏振分析功能
  12. HTML导航如何加下划线,HTML怎么设置下划线?html文字加下划线方法
  13. linux新硬盘格式化,linux添加新硬盘并格式化
  14. xp怎么删除计算机用户,xp如何删除多余的用户帐户_IT /计算机_信息
  15. 为什么一般的眼科医院很难发现眼底疾病?这个是关键!
  16. 中职网络安全操作系统渗透
  17. win10彻底关闭休眠状态(1909以上版本)
  18. 认识V模型,W模型,H模型三类模型
  19. OneNav一为主题魔改教程(三):给底部加上当前页面的消耗时间--洞五洞洞幺
  20. 对scoped的理解

热门文章

  1. 【C++】用递归函数实现Hermite多项式求值
  2. JS和node.js的区别
  3. 逆置线性表(线性表)
  4. 网络摄像机-ISP基础一
  5. JavaDay16-P104-P142—二分法查找—String类—常量池—包装—装箱、拆箱—NumberFormatException
  6. JAVA练习97-网格照明
  7. Win获取本地SVN帐号密码
  8. 关于SMTP邮件无法发送到 SMTP服务器,传输错误代码为 0x80040217
  9. 生成了一个严重警告并将其发送到远程终结点。这会导致连接终止。TLS 协议所定义的严重错误代码是...
  10. 牛客网SQL大厂真题二刷小白白话总结(三)电商场景(某东商城)