BGP发布路由和选择路由的机制
BGP初次启动时,路由器发送整个BGP路由表与对等体交换路由信息,之后只交换更新消息。运行过程中,通过接收和发送keep alive消息检测相互之间的连接是否正常。
发送BGP消息的路由器称为BGP发言人(speaker),它接收或产生新的路由信息,并发布(advertise)给其它BGP发言人。当BGP发言人收到来自其它自治系统的新路由时,如果该路由比当前已知路由更优、或者当前还没有该路由,它就把这条路由发布给自治系统内所有其它BGP发言人。
相互交换消息的BGP发言人之间互称对等体(peer),若干相关的对等体可以构成对等体组(group)。
1、BGP发布路由的机制
BGP发布路由时采用如下策略:
1)有多条可选路径时,BGP发言人只选择最优的使用。
2)BGP发言人只把自己使用的路由通告给对等体。
3)BGP发言人从EBGP获得的路由会向它所有BGP对等体通告,包括EBGP对等体和IBGP对等体。
4)BGP发言人从IBGP获得的路由不向它的IBGP对等体通告。
5)BGP发言人从IBGP获得的路由通告给它的EBGP对等体(VRP中,BGP与IGP不同步)。
6)连接一旦建立,BGP发言者将把自己所有BGP路由通告给新对等体。
2、BGP选择路由的机制
BGP选择路由时采取如下策略:
1)首先丢弃下一跳不可达的路由。
2)优选最高本地优先级(Local-preference)的路由。
3)优选本路由器始发的路由。
4)优选经过AS(AS-Path)最少的路由。
5)优选起点类型(Origin)最低的路由。
6)优选MED值最低的路由。
7)优选从EBGP学来的路由。
8)如果配置了负载分担,并且有多条到达同一AS或AS联盟的外部路由,则根据配置的路由条数选择多条路由进行负载分担。
9)优选BGP ID最低的路由器发布的路由。