为什么BGP不能与其聚合路由所属网段的设备建立邻居?
答:如果BGP与其聚合路由所属网段的设备建立邻居,当目标网段的设备或者链路出现故障时,通过聚合路由是无法感知的,设备依然会不停的尝试与已配置的对等体建立邻居关系。
配置BGP对等体时,对等体的地址不能通过BGP的聚合路由或者缺省路由到达,否则,即使流量可以通,但BGP对等体的邻居关系仍无法建立。
为什么在IPv6网络中建立BGP邻居时需指定router-id?
答:在IPv4网络的配置中,一般都不会在BGP视图下指定router-id,BGP会自动选择一个接口IP作为router-id。然而,在IPv6网络中router-id还是32位,如果不指定router-id,又没有接口地址是IPv4地址,那么BGP就会因为没有router-id而无法协商成功。因此,在IPv6网络中建立BGP邻居时建议指定router-id。
BGP refresh特性对出方向和入方向路由处理的差异性?
答:BGP连接建立以后,只发送增量路由,但有些情况下,例如路由策略改变时,需要对方重新发送路由,以按照新的策略重新过滤路由。支持BGP refresh特性(RFC 2918)的路由器可以实现在不中断BGP邻居会话的前提下,使更改的BGP路由属性生效。
对出方向(export)的BGP路由属性更改,不用作任何配置,更改后自动生效。
对入方向(import)的BGP路由属性更改,要在用户模式下使用refresh bgp命令向对端路由器发出更新请求。在执行此操作后,所更改属性生效而不中断BGP邻居的会话。
BGP邻居建立不成功的原因有哪些?
答:BGP邻居的建立,需要能够使用179端口建立TCP会话,以及能够正确交换Open报文。可按照如下步骤进行检查。
1.检查邻居的AS号配置是否正确。
2.检查邻居的IP地址是否正确。
3.如果使用Loopback接口,检查是否配置了peer connect-interface命令。缺省情况下,路由器使用***本地接口建立TCP连接,而不会用Loopback接口。
4.如果是物理上非直连的EBGP邻居,检查是否配置了peer ebgp-max-hop。
5.使用ping命令检查TCP连接是否正常,由于一台路由器可能有多个接口能够到达对端,因而应使用扩展的ping -a ip-address命令来指定发送ping包的源IP地址。
如果ping不通,使用display ip routing-table命令检查路由表中是否存在到邻居的可用路由。
如果能ping通,检查是否配置了禁止TCP端口179的ACL列表。如果配置,则取消对179端口的禁止。
BGP路由聚合配置需要注意哪些事项?
答:在BGP路由聚合配置中需要注意如下事项。
一定要关闭BGP路由器自动聚合,因为自动聚合的内容是按类聚合的。例如,61.0.0.0/24自动聚合后的结果是61.0.0.0/8。如果路由表中已经存在IGP的聚合路由,可以通过network命令直接引入到BGP中以达到聚合目的。
配置手动汇总时必须先配置一条汇总网段的黑洞路由,再发布到BGP中。因为***,汇总后的路由下一跳不确定;第二路由器可以先通过最长匹配原则找到详细路由,如果找不到证明详细路由不可用,通过汇总黑洞路由可以把不可达路由信息丢弃。
通过network配置的聚合路由,详细路由也将出现在路由表中并且被发布,如不需要发布详细路由,则可使用路由策略在出方向上禁止。使用aggregate命令可以只发布聚合后的路由信息而不发布详细路由,同时生成一条指向Null口的黑洞路由。
BGP发布路由不生效的原因是什么?
答:用户在BGP进程中发布路由时,设备的路由表必须存在该路由,否则会导致发布路由的不生效。当然,如果路由表中没有,而又需要发布出去,可以配置需要发布网段的黑洞路由来解决。