重拾BGP-1

BGP存储数据路由信息的数据库叫RIB(Routing Information Base)
这个数据库分三个部分

  • Adj-RIB-In ,保存BGP Speaker从邻居学到 路由信息,即初初始路由;
  • RIB,保存经过决策从Adj-RIB-In选取的路由信息,即最优路由;
  • Adj-RIBs-Out,保存BGP Speaker发给邻居的路由信息,即发布路由。

使用TCP作为承载协议,使用端口号179,采用手工静态方式配置发现邻居,只要指定路由可达,就可以建立邻居。好处如下:

  • 采用环回口建立邻居,主链路中断,路由不断,可以切换到备线路,保持邻居不断。
  • 可以跨越多台设备建立邻居。可减少AS域内全连接链路建设。

同一AS内,设备间邻居叫IBGP,不同AS间,叫EBGP,运行BGP的设备叫BGP Speaker,相互间称对等体BGP peer。

BGP四种消息报文的用途:OPEN用来 建立邻居,KEEPALIVE维持邻居,UPDATE发布路由信息, NOTIFICATION通知对端检测到错误。

BGP建立邻居采用有限状态机,共有6种状态:

Idle
BGP协议初始时是处于Idle状态。在这个状态时,系统不分配 任何资源,也拒绝所有进入的BGP连接。只有收到Start Event 时,才分配BGP资源,启动ConnectRetry计时器,启动对其它 BGP对等体的传输层连接,同时也侦听是否有来自其它对等体 的连接请求。

Connect
这个状态下,BGP等待TCP完成连接。若连接成功,本地清空 ConnectRetry计时器,并向对等体发送OPEN报文,然后状态改变 为OpenSent状态;否则,本地重置ConnectRetry计时器,侦听是 否有对等体启动连接,并移至Active状态。

Active
这个状态下,BGP初始化TCP连接来获得一个对等体。如果连接 成功,本地清空ConnectRetry计时器,并向对等体发送OPEN报 文,并转至OpenSent状态。

OpenSent
这个状态下,BGP等待对等体的OPEN报文。收到报文后对报文进 行检查,如果发现错误,本地发送NOTIFICATION报文给对等体, 并改变状态为IDLE。如果报文正确,BGP发送KEEPALIVE报文, 并转至OpenConfirm状态。

OpenConfirm
这个状态下,BGP等待KEEPALIVE或NOTIFICATION报文。如 果收到KEEPALIVE报文,则进入Established状态,如果收到 NOTIFICATION报文,则变为Idle状态。

Established
这个状态下, BGP可以和其他对等体交换UPDATE, NOTIFICATION,KEEPALIVE报文。如果收到了正确的UPDATE或 KEEPALIVE报文,就认为对端处于正常运行状态,本地重置Hold Timer。如果收到NOTIFICATION报文,本地转到Idle状态。如果收 到错误的UPDATE报文,本地发送NOTIFICATION报文通知对端, 并改变本地状态为Idle。如果收到了TCP拆链通知,本地关闭BGP 连接,并回到Idle状态。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 五、因特网的路由选择协议 1.有关路由选择协议的几个基本概念 Ⅰ、理想的路由算法 路由表中的路由是怎样得出的呢?核...
    dmmy大印阅读 6,303评论 0 4
  • 网络层提供的两种服务 在计算机网络领域,网络层应该向运输层提供怎样的服务(面向连接还是无连接)曾引起了长期的争论,...
    srtianxia阅读 9,548评论 0 12
  • 第二章 物理层 频分复用:频分复用的用户在同样的时间占用不同的带宽资源(频率带宽) 时分复用:时分复用的用户在不同...
    PramaWells阅读 9,320评论 1 3
  • 在处处可能会被人讹的时代,选择善良是一个需要勇气的决定,更是一种稀缺的价值观。 最勇敢的事情是认清了生活的真相之后...
    小男孩贝里阅读 1,130评论 0 0
  • 今天是叔叔的生日,国庆节第一天就是叔叔的生日。我跟妈妈还有弟弟一起吃了一顿大餐。肉类有海鱼,扇贝,大虾,鸡翅,还有...
    翟泽源阅读 3,526评论 0 0

友情链接更多精彩内容