1.7 BGP 的连接建立
一:TCP面向连接,基于TCP的协议必然有一个先建立连接的过程。要先建立连
接,两端的设备就必须先互相知道对方的IP地址,并且路由可达。那么是采用静
态配置的方式,还是动态建立连接的方式呢?BGP采用的是静态配置的方式,只
要双方指定的地址路由可达,就可以建立连接。这样做有以下好处:
1:可以与对端设备用任何IP地址建立邻居,而不限于某个固定接口的IP。这样,
我们就可以采用环回地址而非直连接口地址建立BGP邻居,两台设备之间如果主
链路中断了,只要有备份链路存在,就可以把流量切换到备份链路上,保持邻居
不断,增加了BGP连接的稳定性。
2:可以跨越多台设备建立邻居。由于是静态配置的方式,不一定只有直连设备
才能建立BGP邻居,只要双方指定的地址路由可达(通过IGP或者静态路由),
就可以建立邻居,这在AS内部建立IBGP连接时,就不用所有设备之间都建立IBGP
连接。IBGP会在本期后面内容中提及。
二:知道对方IP地址后,BGP会通过发送open报文来进行邻居的建立。如果连接
不能建立,说明对端设备状态不正常,于是会等待一段时间再进行连接的建立,
这个过程一直重复,直到建立连接 。
185
特性攻略
186
三:连接建立后,就可以进行路由表的同步了,BGP通过发送update报文进行路
由表的同步。
四:路由表同步完成后,并不是马上拆除这个连接,因为随时有可能会有路由的
更新或者删除,建立TCP连接是一个非常耗费资源的过程,所以BGP通过定期发
送keepalive报文进行TCP连接的维持,这样就可以不用重新建立连接,立刻就可
以进行路由更新。
五:如果经过一段时间(一般是3个keepalive报文发送周期)还没有收到对方的
keepalive报文时,我们就认为对方出现了问题,于是可以拆除该TCP连接,并且
把从对方收到的路由全部删除。