1、建立连接:

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

2、BGP邻居状态机:

Idle:BGP连接的第一个状态。在空闲状态,BGP在等待一个启动事件。启动事件出现以后,BGP初始化资源,复位连接重试计时器(Connect-Retry),发起一     条TCP连接,同时转入Connect(连接)状态。
Connect:在此状态,BGP发起第一个TCP连接,如果连接重试计时器超时,就重新发起TCP连接,并继续保持在Connect状态,如果TCP连接成功,就转入OpenSent状态,如果TCP连接失败,就转入Active状态。
Active:在此状态,BGP总是在试图建立TCP连接,如果连接重试计时器(Connect-Retry)超时,就退回到Connect状态,如果TCP连接成功,就转入OpenSent状态,如果TCP连接失败,就继续保持在Active状态,并继续发起TCP连接。
OpenSent:在此状态,TCP连接已经建立,BGP也已经发送了第一个Open报文,剩下的工作,BGP就在等待其对等体发送Open报文。并对收到的Open报文进行正确性检查,如果有错误,系统就会发送一条出错通知消息并退回到Idle状态,如果没有错误,BGP就开始发送Keepalive报文,并复位Keepalive计时      器,开始计时。同时转入OpenConfirm状态。
OpenConfirm:在OpenConfirm状态,BGP等待一个Keepalive报文,同时复位保持计时器,如果收到了一个Keepalive报文,就转入Established阶段,BGP邻居关系就建立起来了。
Established:在Established状态,BGP邻居关系已经建立,这时,BGP将和它的邻居们交换Update报文,同时复位保持计时器。
      另外,在除Idle状态以外的其它五个状态出现任何Error的时候,BGP状态机就会退回到Idle状态。

3、在BGP对等体建立的过程中,通常可见的三个状态是:Idle、Active、Established。

Idle状态下,BGP拒绝任何进入的连接请求,是BGP初始状态。
Active状态下,BGP将尝试进行TCP连接的建立,是BGP的中间状态。
Established状态下,BGP对等体间可以交换Update报文、Route-refresh报文、Keepalive报文和Notification报文。

4、BGP两种邻居关系 

Ibgp  (如果AS号一样,是IBGP邻居)
Ebgp   (如果AS号不一样,是EBGP邻居)

5、BGP对等体双方的状态必须都为Established,BGP邻居关系才能成立,双方通过Update报文交换路由信息。

6、BGP配置

bgp 65002
 peer 3.3.3.3 as-number 65002 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 4.4.4.4 as-number 65002 
 peer 4.4.4.4 connect-interface LoopBack0
 peer 5.5.5.5 as-number 65002 
 peer 5.5.5.5 connect-interface LoopBack0
 peer 12.1.1.1 as-number 65001 

  peer 3.3.3.3 next-hop-local //IBGP中需要配置更新下一跳

  peer 5.5.5.5 next-hop-local