BGP按照运行方式分为eBGP和iBGP两种邻居关系:
eBGP(External BGP):运行在不同AS之间的BGP,可以通过AS_Path防环;
iBGP(Internal BGP):运行在相同AS内的BGP,可以通过IBGP水平分割防环;
如果配置了路由反射器RR,Originator-ID属性用于集群内防环,Cluster-List属性用于集群间防环;
如果配置了联盟,as-confederation-sequence和as-confederation-set两种类型的AS-Path实现防环;
BGP路由器标识(RouterID)
在BGP会话建立时,Open报文中携带;
用于BGP网络中唯一标识一台BGP设备,4字节长度,IPv4地址形式;
BGP RouterID和OSPF RouterID一样,可以手工指定,也可以自动选取;
优选loopback地址大的,其次优选物理接口地址大的;
一、BGP状态机和邻居建立过程
1、Idle 初始状态,发起TCP连接,转至Connect状态;
2、Connect
(1)如果完成TCP连接,发送Open报文,转至OpenSent状态;
(2)如果连接重传定时器(32s)超时,都没有收到对等体响应,停留在Connect状态,继续尝试连接;
(3)如果TCP连接失败,转至Active状态;
3、Active
(1)继续尝试连接,如果TCP连接成功,发送Open报文,转至OpenSent状态;
(2)如果TCP连接失败,停留在Active状态;
(3)如果连接重传定时器超时,都没有收到对等体响应,转至Connect状态;
4、OpenSent 收到对等体的Open报文,协商成功,发送KeepAlive报文并转至OpenConfirm状态;
5、OpenConfirm 收到对等体KeepAlive报文,转至Established状态;
6、Established
BGP依靠TCP来传输,底层的TCP会话建立成功后,才能够建立BGP邻居关系;
任何错误事件都将导致邻居状态回到Idle,重新尝试建立TCP会话;
二、影响BGP邻居建立的因素
1、对等体地址不可达;
2、更新源问题;
3、eBGP跳数问题;
4、BGP版本不一致;
5、AS号不一致;
6、RouterID冲突;
7、BGP认证错误;
8、TCP 179端口被封堵;
三、BGP对等体交互原则
BGP对等体通告原则:
(1)BGP只把自己使用的最优路由通告给对等体;
(2)从EBGP对等体学来的路由,可以发布给EBGP对等体和IBGP对等体;
(3)从IBGP对等体学来的路由,只发布给EBGP对等体;
(4)从IBGP对等体学来的路由,不会通告给其他IBGP对等体;
网友评论