BGP邻居建立过程概述:
1、初始状态IDLE,收到Start事件后转变成Connect状态并尝试和其它设备建立TCP连接
2、Connect状态下启动TCP重传计时器,发送TCP连接请求及响应,成功进入OpenSent,失败进入Active
3、Active反复重连直到计时器超时回到connect状态
4、OpenSent状态下等待或发送Open报文,如果报文中相关信息(AS,版本,认证,码等)正确则发送KeepAlive报文进入OpenConfirm,否则发送Notification报文并进入IDLE
5、OpenConfirm状态等待对等体的keepAlive报文或者Notification报文正确则Establish错误则IDLE
6、Establish状态交互Update、Route-Refresh、KeepAlive、Notification:KeepAlive用于BGP邻居关系的维持,RouteRefresh报文不改变BGP状态
BGP与IGP:
BGP和IGP可以互相引入路由尤其是在MPLS-VPN场景下,BGP支持的路由引入import,宣告路由NetWork
BGP的安全性:通过GTSM(通用TTL安全保护机制)以及认证保障通信的安全性
BGP路由属性和选路:
BGP属性:
公认必遵:所有BGP设备必须识别的且包含的属性如AS_PATH、Origin、NEXT_HOP
AS_PATH:用于EBGP防环,在不同的AS上传递BGP路由时需要在出口出打上本地AS,相当于一个队列;
Origin:标识路由来源,BGP将其分为:
1、IGP:通过NetWork命令引入的本地路由,具有最高优先级
2、EGP:通过EGP学习到的路由,优先级次之
3、Incomplete:通过import引入的路由,优先级最低
NEXT_HOP:BGP路由的下一跳属性,在EBGP之间传递的路由下一跳为本端与对端建立EBGP邻居的接口地址,对于IBGP邻居之间的本地路由传递时对应的下一跳地址为已建立邻居的接口地址;对于从EBGP学习的路由发布到本地IBGP邻居时不改变