2022-07-15 网工进阶(十九)BGP-状态机、对等体之间的交互原则、影响对等体关系建立的因素、对等体表、路由表、详细路由表、路由属性

BGP状态机

BGP对等体的交互过程中存在6种状态机:空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、Open报文已确认(OpenConfirm)和连接已建立(Established)。在BGP对等体建立的过程中,通常可见的3个状态是:Idle、Active和Established。

Peer状态名称

用途

Idle

开始准备TCP的连接并监视远程对等体,启用BGP时,要准备足够的资源,Idel状态下会拒绝所有TCP连接。

Connect

正在进行TCP连接,等待完成中,认证都是在TCP建立期间完成的。包含重传时间,需要32秒。如果TCP连接建立成功,进入OpenSent状态。如果TCP连接建立失败则进入Active状态,反复尝试连接。

Active

如果Connect中TCP连接没建立成功,反复尝试TCP连接

OpenSent

TCP连接已经建立成功,开始发送Open包,Open包携带参数协商对等体的建立。

OpenConfirm

参数、能力特性协商成功,自己发送Keepalive包,等待对方的Keepalive包

Established

已经收到对方的Keepalive包,双方能力特性经协商发现一致,开始使用Update通告路由信息

1.Idle状态

Idle状态是BGP初始状态。在Idle状态下,BGP拒绝邻居发送的连接请求。只有在收到本设备的

Start事件后,BGP才开始尝试和其它BGP对等体进行TCP连接,并转至Connect状态。

Start事件是由一个操作者配置一个BGP过程,或者重置一个已经存在的过程或者路由器软件重置

BGP过程引起的。

任何状态中收到Notification报文或TCP拆链通知等Error事件后,BGP都会转至Idle状态。

2.Connect状态

在Connect状态下,BGP启动连接重传定时器(Connect Retry 32秒),等待TCP完成连接。

如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态。

如果TCP连接失败(找到对等体),那么BGP转至Active状态。

如果连接重传定时器超时(未找到对等体),BGP仍没有收到BGP对等体的响应,那么BGP继续

尝试和其它BGP对等体进行TCP连接,停留在Connect状态,继续启动连接重传定时器(Connect Retry 32秒),直到找到对等体。


3.Active状态

在Active状态下,BGP总是在试图建立TCP连接。

如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态。

如果TCP连接失败,那么BGP停留在Active状态。

如果连接重传定时器超时(未找到对等体),BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态。


4.OpenSent状态

在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。

如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态。

如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态。

5.OpenConfirm状态

在OpenConfirm状态下,BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至

Established状态,如果收到Notification报文,则转至Idle状态。

6.Established状态

在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文。

如果收到正确的Update或Keepalive报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接。

如果收到错误的Update或Keepalive报文,那么BGP发送Notification报文通知对端,并转至Idle状态。

Route-refresh报文不会改变BGP状态。

如果收到Notification报文,那么BGP转至Idle状态。

如果收到TCP拆链通知,那么BGP断开连接,转至Idle状态。

BGP对等体之间的交互原则

BGP设备将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系,采取

以下交互原则

1 从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。


2 从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。


3 当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。


4 路由更新时,BGP设备只发送更新的BGP路由。


5 所有对等体发送的路由,BGP设备都会接收。

BGP影响对等体关系建立的因素

1 指定的对等体前缀地址对等体指定的更新源接口必须对应一致

2 对等体之间的前缀地址路由必须可达。

BGP对等体表

BGP对等体表的作用为列出本设备的BGP对等体,以及对等体的状态等信息。

<R1>display bgp peer

 BGP local router ID : 1.1.1.1
 Local AS number : 100
 Total number of peers : 3		  Peers in established state : 3

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  2.2.2.2         4         100     6167     6168     0 0102h44m Established    
   1
  3.3.3.3         4         100     6167     6169     0 0102h44m Established    
   1
  4.4.4.4         4         100     6135     6133     0 0102h08m Established    
   2

Peer:对等体地址

V:version,版本号

AS:对等体AS号

Up/Down:该对等体已经存在up或者down的时间

State:对等体状态,这里显示的为BGP状态机的状态

PrefRcv:prefix received,从该对等体收到的路由前缀数目

MsgRcvd 、MsgSent:从对等体收到的报文个数,向对等体发送的报文个数。

OutQ:out queue,对外发送报文队列中排队的个数,一般为0。

BGP路由表

列出本设备发现的所有BGP路由,如果到达同一个目的地存在多条路由,则将路由都进行罗列,但每个目的地只会优选一条路由。

<R1>display bgp routing-table 

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 5
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   11.11.11.11/32     0.0.0.0         0                     0      i
 *>i  22.22.22.22/32     2.2.2.2         0          100        0      i
 *>i  33.33.33.33/32     3.3.3.3         0          100        0      i
 *>i  44.44.44.44/32     4.4.4.4         0          100        0      i
 *>i  55.55.55.55/32     4.4.4.4         0          100        0      200i

* - valid:代表有效路由

> - best:代表最优路由

i - internal:代表从IBGP中学习到的路由

i - IGP :代表宣告方式为network

? - incomplete:代表宣告方式为import

BGP详细路由表

显示指定IP地址/掩码长度的路由信息,在其中有关于该BGP路由的详细信息,如:路由始发者、下一跳地址、路由的路径属性等。

<R1>display bgp routing-table 55.55.55.55

 BGP local router ID : 1.1.1.1
 Local AS number : 100
 Paths:   1 available, 1 best, 1 select
 BGP routing table entry information of 55.55.55.55/32:
 From: 4.4.4.4 (4.4.4.4)
 Route Duration: 4d04h53m53s 
 Relay IP Nexthop: 10.1.0.2
 Relay IP Out-Interface: GigabitEthernet0/0/1
 Original nexthop: 4.4.4.4
 Qos information : 0x0
 AS-path 200, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, bes
t, select, active, pre 255, IGP cost 3
 Not advertised to any peer yet

From:代表路由的产生者

Relay IP Nexthop: 代表物理接口(迭代)上的下一跳

Original nexthop:代表更新源下一跳

Qos information :qos信息

AS-path 200, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, best, select, active, pre 255, IGP cost 3:路径属性、是否被优选

路由属性

任何一条BGP路由都拥有多个路径属性(Path Attributes),当路由器通告BGP路由给它的对等体时,该路由将会携带多个路径属性,这些属性描述了BGP路由的各项特征,同时在某些场景下也会影响BGP路由优选的决策

属性分类

一 公认属性

公认属性是所有BGP路由器都必须能够识别的属性,所有厂商的共识。

1 公认必遵(Well-known Mandatory)必须包括在每个Update消息里。

2 公认任意(Well-known Discretionary)可能包括在某些Update消息里。

二 可选属性

可选属性不需要都被BGP路由器所识别,不是所有厂商都会有。

1 可选过渡(Optional Transitive):BGP设备不识别此类属性依然会接受该类属性并通告给其他对等体。

2 可选非过渡(Optional Non-transitive):BGP设备不识别此类属性会忽略该属性,且不会通告给其他对等体。

抓包观察

 

1 Optional:0代表公认属性,1代表可选属性

2 Transitive:0代表不通告属性,1代表通告属性

常见路由属性分类

公认必遵属性详解

一 Origin

它标识了BGP路由的起源。根据路由被引入BGP的方式不同,存在三种类型的Origin。

当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下顺序优选路由:IGP > EGP > Incomplete

起源名称

标记

描述

IGP

i

如果路由是由始发的BGP路由器使用network命令注入到BGP的,那么该BGP路由的Origin属性为IGP

EGP

e

如果路由是通过EGP学习到的,那么该BGP路由的Origin属性为EGP

Incomplete

?

如果路由是通过其他方式学习到的,则Origin属性为Incomplete(不完整的)。例如通过import-route命令引入到BGP的路由

修改Origin

使用路由策略修改

[R1-route-policy]apply origin igp

二 AS_Path

是前往目标网络的路由经过的AS号列表。

路由在被通告给EBGP对等体时,路由器会在该路由的AS_Path中追加上本地的AS号;路由被通告给IBGP对等体时AS_Path不会发生改变

在BGP中,当同一目的地存在多条路由时,路由器会优先选择AS_Path属性中AS列表最少的路由。

修改AS_Path

使用Route-Policy修改BGP路由的AS_Path属性时,可以使用以下三种方式

[R1-route-policy]apply as-path 100 additive 
[R2-route-policy]apply as-path 100 overwrite 
[R3-route-policy]apply as-path none overwrite 

三 Next_Hop

用于指定到达目标网络的下一跳地址。

当路由器学习到BGP路由后,需对BGP路由的Next_Hop属性值进行检查,该属性值(IP地址)必须在本地路由可达,如果不可达,则这条BGP路由不可用。

修改Next_hop

[R1-bgp]peer 1.1.1.1 next-hop-local

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹅一只

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值