项目场景:
核心实验21_BGP基础_ENSP
通过bgp实现省市互通。
实搭拓扑图:
具体操作:
其他基础配置略(接口地址,ospf)
1.BGP邻居建立:
R1:
[R1]bgp 200
[R1-bgp]peer 10.2.2.2 as-number 200 /指定邻居R2
[R1-bgp]peer 10.2.2.2 connect-interface LoopBack 0 /更新源为loo0口
[R1-bgp]peer 10.2.2.2 next-hop-local /将R2的下一跳改为R1自己,使得与EBGP通信时,R2不会丢包
[R1-bgp]peer 200.1.13.3 as-number 100 /建立EBGP邻居
R2:
[R2]bgp 200
[R2-bgp]peer 10.2.1.1 as 200
[R2-bgp]peer 10.2.1.1 connect-interface LoopBack 0
[R2-bgp]peer 10.2.1.1 next-hop-local /将R1的下一跳改为R2自己,使得与EBGP通信时,R1不会丢包
[R2-bgp]peer 200.1.25.5 as-number 100 /建立EBGP邻居
R3:
[R3]bgp 100
[R3-bgp]peer 10.1.4.4 as 100
[R3-bgp]peer 10.1.5.5 as 100
[R3-bgp]peer 10.1.4.4 connect-interface loo 0
[R3-bgp]peer 10.1.5.5 connect-interface loo 0
[R3-bgp]peer 10.1.4.4 next-hop-local /将R4的下一跳改为R3自己,使得与EBGP通信时,R4不会丢包
[R3-bgp]peer 10.1.5.5 next-hop-local /将R5的下一跳改为R3自己,使得与EBGP通信时,R5不会丢包
[R3-bgp]peer 200.1.13.1 as 200
R4:
[R4]bgp 100
[R4-bgp]peer 10.1.3.3 as 100
[R4-bgp]peer 10.1.3.3 con lo 0
[R4-bgp]peer 10.1.5.5 as 100
[R4-bgp]peer 10.1.5.5 con lo 0
R5:
[R5]bgp 100
[R5-bgp]peer 10.1.3.3 as 100
[R5-bgp]peer 10.1.3.3 connect-interface LoopBack 0
[R5-bgp]peer 10.1.4.4 as 100
[R5-bgp]peer 10.1.4.4 connect-interface LoopBack 0
[R5-bgp]peer 10.1.4.4 next-hop-local
[R5-bgp]peer 10.1.3.3 next-hop-local
[R5-bgp]peer 200.1.25.2 as 200
2.路由引入:
R3:
[R3]bgp 100
[R3-bgp]network 10.1.4.0 24
[R3-bgp]network 10.1.7.0 24t
[R3-bgp]network 10.1.0.0 16
[R3]ip route-static 10.1.0.0 16 NULL 0
R5:
[R5]ip route-static 10.1.0.0 16 NULL 0
[R5]bgp 100
[R5-bgp]network 10.1.4.0 24
[R5-bgp]network 10.1.7.0 24
[R5-bgp]network 10.1.0.0 24
[R5-bgp]network 10.1.0.0 16
补充:
BGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况:
- 该路由是到达目的地的唯一路由,直接优选。
- 对到达同一目的地的多条路由,优选优先级最高的。
- 对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的
一般来说,BGP计算路由优先级的规则如下:
- 丢弃下一跳不可达的路由。
- 优选Preference_Value值最高的路由(私有属性,仅本地有效)。
- 优选本地优先级(Local_Preference)最高的路由。
- 优选手动聚合>自动聚谰鞍昂匙癌 笔靶宝啊豹鞍皑傲谤班宾版笆岸舱etwork>import>从对等体 学到的0优选ASPath短的路由。
- 起源类型IGP>EGP>Incomplete。
- 对于来自同一AS的路由,优选MED值小的。0优选从EBGP学来的路由(EBGP>IBGP)。0
- 优选AS内部IGP的Metric最小的路由。
- 优选Cluster List最短的路由。
- 优选Orginator_ID最小的路由。
- 优选Router_ID最小的路由器发布的路由
- 优选具有较小IP地址的邻居学来的路由。
BGP 通告原则:
① 仅将自己最优的路由发布给邻居 (> 优化)
② 通过EBGP邻居获得的最优路由可以发布给所有的BGP邻居
③ 通过IBGP邻居获得的路由不会发布给IBGP邻居(防止IBGP路由环路)
④ BGP和IGP同步(华为默认关闭该特性)
⑤ 默认从EBGP邻居学到的BGP路由的下一跳是EBGP对等体的IP地址,当该路由向AS内部传递至时,路由传递给IBGP邻居时下一跳地址(next-hop)不变(还是上一个AS的接口地),此时有可能会引发下一跳不可达
解决下一跳不可达:
a 将EBGP互联地址(next-hop地址)宣告进IGP(注意配置静默接口,防止IGP路由传至其他AS)
b 使用next-hop-local
防止环路:
a 防止IBGP环路(AS内部环路):IBGP水平分割
b 防止EBGP环路(不同AS之间的环路):AS-Path 属性
解决IBGP水平分割带来的路由不传递问题:
a 在AS内部IBGP邻居建立全互联结构(full-mesh)
b 配置路由反射器RR
c BGP联邦 (联盟)
公认必遵:origin(起源) 、AS-path、next-hop
公认任意:Local_Pref (本地优先级)、Atomic Aggregate 原子聚合
可选过渡:Aggregater 、community
可选非过渡:MED CLUSTER_LIST Originator_ID
公认:必须识别
必遵:必须携带
任意:可以不携带
可选:可以不识别
过渡:需要传递给邻居
Preference_Value值(首选值):本地有效(不传给邻居),默认值0,越
大越优先
MED:Multi-Exit-Discriminator 默认值是0 越小越优先 类似IGP度量值 该属性仅在相邻两个AS直间传递 用于判断流量进入AS时的最佳路由
注意:将igp引入bgp时 igp路由的开销会自动移植到MED。
local_pre为空原因:(公认任意属性),由于Local_Pre属性仅在IBGP邻居之间有效,因此从EBGP邻居收到的update报文不携带local_pre 值。因此从ebgp邻居收到的路由的local_pre 值是空。
MED值为空原因:(可选 非过渡属性),在向EBGP邻居发送update更新时默认不携带MED属性,除非手动配置路由策略(route-policy)才会携带
注意:当属性为空时可以看成该属性所对应的默认值。
原子聚合属性:atomic-aggregate ,在聚合路由时 携带details-suppress 参数(没有携带suppress-policy),聚合后的路由会携带该属性,用于警告下游路由器出现信息丢失(防
环)。
Aggregator 属性:在聚合路由时,聚合后的路由会携带aggregator属性表明聚合发生的位置(防环),该属性包含发起聚合路由器的AS号和router id。
聚合路由时携带AS-path(as-set)的优缺点:
优点:避免环路风险
缺点:明细路由震荡,有可能会导致聚合路由的频繁刷新(例如as-path频繁刷新),影响网络的稳定性
团体属性:community (辅助选路、过滤路由)
作用:标识具有相同特征的bgp路由 类似tag功能(和前缀列表功能相似)
① 自定义团体属性 (私有)例如:100:1
② 公共团体属性 (公有)
NO_advertise 不传递给任何邻居
NO_export 不传递给EBGP邻居