BGP的宣告
bgp路由宣告依赖路由表,无论本地路由表中的条目是何种方式获取的,均可以宣告到BGP协议中,但宣告时必须与本地路由表完全一致;
Router(config-router)#network 1.1.1.0 mask 255.255.255.0 //前缀掩码必须与路由表一致
- IBGP邻居建议使用环回建邻:
Router(config-router)#neighbor 2.2.2.2 remote-as 1 //指定对方的AS号
Router(config-router)#neighbor 2.2.2.2 update-source Lo0 //修改更新源为环回
- EGBP邻居默认直连物理接口建立:
neighbor 2.2.2.2 remote-as 1 //指定邻居的对端IP地址及AS号
当出现多条路径时,使用回环建邻,修改邻居间TTL值,否则,无法建邻,默认EBGP邻居间TTL值为1(如果不修改,使用非直连建邻,邻居将不能建立,因为最大跳数仅为1跳),IBGP邻居TTL值为255:
Router(config-router)#neighbor 2.2.2.2 ebgp-multihop //修改邻居间TTL值
BGP路由传递传送得是BGP的路由表的路由信息;
BGP的路由表在收到路由以后需要检验路由的下一跳是否可达,若该下一跳不可达,则路由不传递,需要修改下一跳:
Router(config-router)#neighbor 2.2.2.2 next-hop-self //传递路由给该邻居时,修改邻居为自己的更新源
- BGP路由黑洞:
由于BGP可以使用非直连建邻,可以非直连传递路由,所以运行了BGP的设备可以正常传递,但在传递到非BGP的设备时,将出现数据层面不可达,进入黑洞(控制层面可达,数据层面不可达)
解决办法:
1、邻居关系全连;
2、MPLS(推荐);
3、将BGP重发布进IGP(仅限于实验环境)
建邻模板(对等体组)
1)建立peer-group:
Router(config)#router bgp 1
Router(config-router)#neighbor ccie peer-group //创建模板名为ccie
Router(config-router)#neighbor ccie remote-as 1
Router(config-router)#neighbor ccie update-source lo0
2)调用:
Router(config-router)#neighbor 2.2.2.2 peer-group ccie
BGP的属性
BGP 的属性:weight 、origin ,as_path ,next_hop ,local_pref ,atomic_aggregate ,Aggregator ,community ,MED,originator_id ,cluster_list
属性分为 4 类:
1.公认必尊 --必须传递必须识别
所有 BGP 路由器必须识别遵守的原则有 origin,as_path、next_hop
2. 公认