0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

BGP的第四个版本BGP-4

程序员cxuan 来源:程序员cxuan 作者:程序员cxuan 2022-07-04 09:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

之前我们聊 RIP 、OSPF 协议都是基于 AS 即自治系统内的协议,可以把它们认为是域内路由协议;而下面我们要聊的就是 AS 之间的协议了,这也叫做域间路由协议,或者叫做外部网关协议,其最著名的一个协议就是BGP协议,目前使用最多的协议版本就是 BGP 的第四个版本 BGP - 4,简称为 BGP ( Border Gateway Protocol )。

在 RIP 和 OSPF 这些协议中,是由 IP 的网络地址进行路由控制,而 BGP 协议则需要通过整个互联网进行路由控制,范围要大很多。

BGP 的环境与 RIP、OSPF 的环境不一样,主要在于互联网的规模过于庞大, 使得自治系统之间的路由选择比较困难。互联网上的路由器对任何 IP 地址都能通过路由表找到它的目的网络。这是一个非常庞大的集合,如果使用链路状态协议 RIP 和 OSPF 的话,必须要维护一个非常大的了路由集合,一方面路由表检索起来效率很低,而且如此庞大的数据项也不方便维护。还有一点是每个路由器的 metric 不一样,有可能这个 metric 是经过了 100 个路由,而那个链路到达 100 个路由可能就直接报错了。

而且自治系统间的路由选择必须考虑策略问题,这些策略需要把政治、地缘、安全或者经济方面考虑在内。

由于上面这些特殊情况的存在,BGP 协议只是满足选择一条到达目的网络比较好的路由,而非选择一条最佳路由,BGP 采用了路径向量路由选择协议,它与 RIP 和 OSPF 有很大的差别。

在 BGP 协议中,每个 AS 自治系统内部都有许多BGP 边界路由器,这个 BGP 边界路由器就相当是自治系统内部的发言人。不同 AS 之间的 BGP 边界路由器如果要交换路由信息的话,就需要先建立 TCP 连接,然后在此连接上交换 BGP 报文以建立 BGP 会话,通过 TCP 能够提供可靠的服务。两个交换报文的 BGP 边界路由器都被称为彼此的临站(天使)或者对等站。

下图是一个使用了 BGP 边界路由器和 AS 的关系示意图:

b57c943c-fb2c-11ec-ba43-dac502259ad0.jpg

BGP 所交换的网络可达性信息就是要到达某个网络所要经过的一系列的路由。当各个 BGP 边界路由器一旦交换了可达性信息之后,就会选择出来一条到达各个 AS 比较好的路由路径。

BGP 支持无分类域间路由选择 CIDR,因此 BGP 的路由表也就应当包括当前目的网络前缀、下一跳路由器,以及到达目的网络所经过的 AS 。

在 BGP 刚刚运行时,BGP 的临站是交换整个 BGP 路由表,以后只要在发生变化时更新有新变化的部分即可。这样对节省网络带宽和减少路由器开销有很大好处,这个特性和 OSPF 非常相似。

BGP - 4 主要有下面几类报文类型:

OPEN ( 打开 )报文,用来和相邻的 BGP 区域边界路由器建立关系,进行通信初始化。

UPDATE ( 更新 ) 报文,用来通告路由信息,以及列出需要更新的多条路由。

KEEPALIVE ( 保活 ) 报文,用来周期性的证实临站的连通性。

NOTIFICATION ( 通知 ) 报文,用来发送检测到的差错。

如果两个临站属于两个不同的自治系统,而且其中一个临站打算和其他临站进行路由交换的时候,这时候应当有一个路由商量的过程。商量的过程包括临站路由器是否还能够接受额外的路由信息。因此一开始进行商谈的时候应该要先发送 OPEN 报文,如果临站可以接受这种关系,就用 KEEPALIVE 报文响应。响应完成后,两个临站就算是建立关系了。

关系建立之后,是需要相互维持的,这就和情侣之间确定关系之后,你作为老爷们总不能三天两头不搭理人家吧?俗话说的好,感情是需要维持的,那么这个路由关系也是需要维持的。通信双方中的每一方都需要确信对方是否已经存在,因此两个 BGP 边界路由器需要定期交换 KEEPALIVE 报文,一般这个定期的时间就是 30 s。

BGP 边界路由器可以使用 UPDATE 报文来更新路由:包括撤掉以前通知过的路由和增加新的路由。撤销路由时一次可以撤销多条,但是新增路由一个 UPDATE 报文只能增加一条。

当然在 BGP 中不存在 "好消息传播快坏消息传播慢" 的问题( 感觉 RIP 的这个问题被玩出梗了 )。因为 BGP 边界路由器不只有一个,而且当某个路由器或者链路出现故障时,由于 BGP 边界路由器可以不止从一个临站获得路由信息,因此很容易选出新的路由。

下面是 BGP 的报文格式:

b58f785e-fb2c-11ec-ba43-dac502259ad0.jpg

上面介绍的四种报文类型它们具有通用的报文首部,首部为 19 字节,通用首部主要分为三个字段。

标记 marker 字段为 16 字节长,用来鉴别收到的 BGP 报文,如果不使用鉴别,标记字段要置为全 1。

长度字段指出包括通用首部在内的整个 BGP 报文的长度,以字节为单位,最小值是 19,最大值是 4096.

类型字段的值为 1 到 4,分别对应上面报文的介绍顺序。

OPEN 报文共有 6 个字段,如下图抓包所示

b5b0c716-fb2c-11ec-ba43-dac502259ad0.png

前三个字段是 BGP 通用报文首部,下面的几个字段依次是 Version 版本 ( 1 字节,值为 4 ), My AS 本自治系统号( 2 字节,使用的是全球唯一的 16 位系统号 ) , Hold Time 保持时间 ( 2 字节,以秒计算的保持为临站关系的时间 ),BGP Identifier BGP 标识符 ( 4 字节,路由器的 IP 地址 ),下面是可选长度和可选参数。

KEEPALIVE报文只有 BGP 19 字节的通用首部。

b5d3ab96-fb2c-11ec-ba43-dac502259ad0.png

UPDATE报文有五个字段,如下图所示

b5e919d6-fb2c-11ec-ba43-dac502259ad0.png

报文中的 Unfeasible routes length 表示不可行路由长度,后面有个字段报文没有列出来,就是 Withdrawn Routes ,要撤销的路由列表,后面的 Total Path Attribute Length 表示路径属性总长度,后面的 Path attributes 就表示路径属性,最后的 NLRI 标识发出这个报文的网络。

NOTIFICATION报文有三个字段,如下图所示

b6165306-fb2c-11ec-ba43-dac502259ad0.png

主要包括差错代码 ( 1 字节 ),差错子代码 ( 1 字节 ) ,后面还有差错数据。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 协议
    +关注

    关注

    2

    文章

    620

    浏览量

    41202
  • 路由器
    +关注

    关注

    22

    文章

    3934

    浏览量

    120226

原文标题:6 分钟看完 BGP 协议。

文章出处:【微信号:cxuangoodjob,微信公众号:程序员cxuan】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    USB RFID读写器的四个常见应用

    任何需要小型、低成本读卡器的应用,都值得考虑USB RFID读写器。USB读写器具备大部分大型同类的基本功能,只是功率稍低一些。如果你有一款非常适合RFID的应用,但又想控制预算,可以看看斯科的USB桌面读写器。为了让你了解USB读写器的功能,我在下面列出了四个常见应用。
    的头像 发表于 04-13 14:51 660次阅读

    VRF路由不能形成多路径负载分担问题的故障分析

    vrf one的路由导入到vrf two中,两VRF都配置BGP的负载分担,但是只有vrf one形成了等价路由,vrf two无法形成等价路由。
    的头像 发表于 03-11 15:05 197次阅读
    VRF路由不能形成多路径负载分担问题的故障分析

    PCBA生产过程的四个主要环节?

    PCBA生产过程的四个主要环节 PCBA(Printed Circuit Board Assembly)生产过程是将电子元器件组装到印刷电路板(PCB)上,形成完整电子产品的过程。虽然直接参考资料
    的头像 发表于 03-05 11:13 450次阅读

    合科泰MOSFET选型的四个核心步骤

    面对数据手册中繁杂的参数,如何快速锁定适合应用的 MOSFET?遵循以下四个核心步骤,您能系统化地完成选型,避免因关键参数遗漏导致的设计风险。
    的头像 发表于 12-19 10:33 943次阅读

    AFE7988 4 发射、4 接收、1 反馈的射频采样收发器技术手册

    AFE79xx 是高性能、宽带宽多通道收发器系列,集成了四个射频采样发射器链、四个射频采样接收器链和多达两射频采样数字化辅助链(反馈路径)。发射器和接收器链的高动态范围使该器件能够从无线基站生成
    的头像 发表于 11-03 14:21 808次阅读
    AFE7988 <b class='flag-5'>4</b> <b class='flag-5'>个</b>发射、<b class='flag-5'>4</b> <b class='flag-5'>个</b>接收、1 <b class='flag-5'>个</b>反馈的射频采样收发器技术手册

    AFE7921 4 发射、4 接收、2 反馈的射频采样收发器技术手册

    AFE79xx 是高性能、宽带宽多通道收发器系列,集成了四个射频采样发射器链、四个射频采样接收器链和多达两射频采样数字化辅助链(反馈路径)。发射器和接收器链的高动态范围使该器件能够从无线基站生成
    的头像 发表于 11-03 10:26 720次阅读
    AFE7921 <b class='flag-5'>4</b> <b class='flag-5'>个</b>发射、<b class='flag-5'>4</b> <b class='flag-5'>个</b>接收、2 <b class='flag-5'>个</b>反馈的射频采样收发器技术手册

    ‌OPT4060 RGBW高分辨率颜色传感器的技术解析与应用

    上具有峰值频谱响应,第四个通道具有宽带光谱响应。通过这些通道进行测量,可以提取照明环境的重要特征,例如(i)光强度(勒克斯)和(ii)颜色。OPT4060采用小型SOT-5X3封装。
    的头像 发表于 09-06 14:22 1341次阅读
    ‌OPT4060 RGBW高分辨率颜色传感器的技术解析与应用

    OPT4048三色XYZ颜色传感器技术解析与应用指南

    第四个通道具有宽带光谱响应。通过从这些通道进行测量,可以提取照明环境的重要特性,例如 (i) 光强度 (lux)、(ii) CIE XY中的颜色、LUV坐标以及 (iii) 相关色温。OPT4048采用小型SOT-5X3封装。
    的头像 发表于 08-28 10:05 1512次阅读
    OPT4048三色XYZ颜色传感器技术解析与应用指南

    Path Bandwidth Extended Community:藏在BGP属性里的智能路由革命

    传统BGP协议虽能实现路由可达性,但缺乏对路径质量的动态感知能力,导致流量分配不均、高延迟链路未被规避等问题。为提升网络资源利用率,动态智能选路技术应运而生。该技术基于BGP扩展机制,通过实时收集路径质量指标,实现数据流的智能调度,显著优化高吞吐场景(如分布式存储、AI训
    的头像 发表于 06-24 14:00 873次阅读
    Path Bandwidth Extended Community:藏在<b class='flag-5'>BGP</b>属性里的智能路由革命

    动态BGP与静态BGP的区别?

    的 IP,只要远端发起 BGP 握手,且来自 AS 65002,即自动建立对等关系。、实战应用场景分析场景一:传统运营商边界路由器 使用静态 BGP BGP 对等关系固定,变化极少
    发表于 06-24 06:57

    Analog Devices Inc. PMD-ARD-INT-LCZ评估板数据手册

    、EVAL-AD5770R-PMDZ评估板或兼容的Arduino MCU板。Analog Devices Inc. PMD-ARD-INT-LCZ包含一连接矩阵,用于将外部微控制器信号连接到四个Pmod端口。其中两端口配置为
    的头像 发表于 05-29 11:23 929次阅读

    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口 skyworksinc

    电子发烧友网为你提供()用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口相关产品参数、数据手册,更有
    发表于 05-28 18:33
    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>频前端模块,带<b class='flag-5'>四个</b>线性 TRx 开关端口 skyworksinc

    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口 skyworksinc

    电子发烧友网为你提供()用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口相关产品参数、数据手册,更有
    发表于 05-28 18:33
    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>频前端模块,带<b class='flag-5'>四个</b>线性 TRx 开关端口 skyworksinc

    用于频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四个线性 TRx 开关端口和双频 TD-SCDMA skyworksinc

    电子发烧友网为你提供()用于频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四个线性 TRx 开关端口和双频 TD-SCDMA相关产品参数、数据手册,更有用于频 GSM
    发表于 05-28 18:31
    用于<b class='flag-5'>四</b>频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有<b class='flag-5'>四个</b>线性 TRx 开关端口和双频 TD-SCDMA skyworksinc

    IC放大器用户指南

    事实并非如此。如果放大器有一输出电压,则必须以某个点为参考进行测量:即放大器的参考点。由于理想的运算放大器拥有无限的共模抑制性能,就排除了输入引脚作为参考点的可能,因此,肯定存在第四个放大器引脚。换个
    发表于 05-21 14:37