1 full-mesh ibgp
EBGP---->EBGP/IBGP
IBGP----> 不能传递给 IBGP 邻居
full-mesh 扩展性
n(n-1)/2
解决办法: RR confederation
2 RR
1 RR 基础
1 打破从 IBGP 收到的路由不能发给 IBGP 邻居规则
前提:这个路由器是 RR
2 角色 RR RR-clientnon-client
3)RR 反射原则
只有一个是不能反射
RR 从非 client 收到的路由不能反射给非 client
4)RR 引进二个新的属性防止环路
originator id---> 路由是从哪台设备进入本 AS RR 添加
RR 在反射路由时 如果发现没有 OID, 会自动添加
cluster list---> 经过 RR 的一个列表
经过 RR 的一个列表 类似于添加 as-path
主要功能是在 RR 之间防环 默认 clusterID RR RID
5)RR 的问题
1 环路
2 次佳路径
2 )结构化 RR
1 )一台路由器可以是 RR ,同时还可以是 RR client
2 )理论上说反射层次是无限制,但实际环境一般 2-3
3 )一般 RR client 都应该有物理连接
3) 实施 RR
1 )划簇 ----> 每个簇中找出 RR----> 去掉多的 IBGP 邻居
2 )如果是结构化 RR :那么先边沿 ----> 再做核心
3 )建议在一个 AS 里面使用一个 IGP ,因为 RR 反射路由时 next-hop 不变
层次化 RR
旁挂 RR
4 RR 冗余
只有一个 RR 会有单点失效,所以一个客户端应该连接二个 RR
1 )一般 2-3 RR
2 )解决
1 )使用 loopback 建立 BGP 邻居
2 不同 cluster
neighbor 1.1.1.1 route-reflector-client
R4#sh ip bgp 2.2.2.0
BGP routing table entry for 2.2.2.0/24, version 4
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
2
1.1.1.1 (metric 129) from 3.3.3.3 (3.3.3.3)
Origin IGP, metric 0, localpref 100, valid, internal, best
Originator: 1.1.1.1, Cluster list: 3.3.3.3
R3(config-router)#bgp cluster-id 6.6.6.6
3 、联邦
1 )思路: AS 再次细分,通过创建 EBGP 邻居来减少 full-mesh 邻居关系
如果不同簇:那么有多少个 RR 就有会有多少份路由
如果相同簇:只有一份路由
2 )术语
联邦 AS
联邦 IBGP 邻居
联邦 EBGP 邻居
3 )联邦传递原则
传递的行为:类似 EBGP
传递的属性:类似 IBGP
4 )配置
1 router bgp AS 号码
2 )大 AS 边界
申明大 AS
3 )小 AS 边界
申明大 AS
指定联邦 EBGP 邻居
router bgp 13
no synchronization
bgp log-neighbor-changes
bgp confederation identifier 345
neighbor 3.3.3.3 remote-as 13
neighbor 3.3.3.3 update-source Loopback0
neighbor 3.3.3.3 next-hop-self
neighbor 12.1.1.2 remote-as 2
router bgp 13
no synchronization
bgp log-neighbor-changes
bgp confederation identifier 345
bgp confederation peers 4
neighbor 1.1.1.1 remote-as 13
neighbor 1.1.1.1 update-source Loopback0
neighbor 4.4.4.4 remote-as 4
neighbor 4.4.4.4 ebgp-multihop 255
neighbor 4.4.4.4 update-source Loopback0
router bgp 4
no synchronization
bgp log-neighbor-changes
bgp confederation identifier 345
bgp confederation peers 13
neighbor 3.3.3.3 remote-as 13
neighbor 3.3.3.3 ebgp-multihop 255
neighbor 3.3.3.3 update-source Loopback0
5) 实施联邦
1 )建议使用一种 IGP
2 )子 AS 间使用不同的 IGP ,联邦 EBGP 间使用 next-hop-self
3 )为保证 redundency ,建议一个子 AS 连接多个子 AS
4 RR 和联邦的比较
1 )防环
2 redundency
3 scalability
4 migration
5 )结构化
5 、团体 --- 打包技术
1) 基本理解
peer-group: 有相同路由策略一组路由器
community :有相同路由策略一组路由
2) 作用
1 )直接利用团体来做策略
2 )对路由进行打包
3) 配置
R2(config)#ip prefix-list comm per 2.2.2.0/24
R2(config)#ip prefix-list comm per 2.2.3.0/24
R2(config)#route-map comm per 10
R2(config-route-map)#match ip add pre comm
R2(config-route-map)#set community 2:1
R2(config)#route-map comm per 20
R2(config)#router bgp 2
R2(config-router)#nei 12.1.1.1 route-map comm out
R2(config-router)#nei 12.1.1.1 send-community
R1#sh ip bgp 2.2.2.0
12.1.1.2 from 12.1.1.2 (2.2.2.2)
Origin IGP, metric 0, localpref 100, valid, external, best
Community: 131073 ---> 老格式显示
R1(config)#ip bgp-community new-format
R1#sh ip bgp 2.2.2.0
Community: 2:1
对打了 2:1 标记的路由进行调整策略 ,metric 设置为 100
R1(config)#ip community-list 1 per 2:1
R1(config-route-map)#match community 1
R1(config-route-map)#set metric 100
R1(config)#route-map comm per 20
R1(config-route-map)#router bgp 64512
R1(config-router)#nei 12.1.1.2 route-map comm in
4) 利用 community 直接做策略
R2(config-route-map)#set community ?
local-AS 联邦中不输出本子 AS
no-advertise 不宣告给任何 peer
no-export 不输出本 AS
6 、路由 damping
前提:针对 EBGP 邻居的路由
R1(config-router)#bgp dampening
R1#sh ip bgp dampening parameters
dampening 15 750 2000 60 (DEFAULT)
Half-life time: 15 minsDecay Time: 2320 secs
Max suppress penalty: 12000 Max suppress time: 60 mins
Suppress penalty:2000Reuse penalty: 750
R1#debug ip bgp dampening
R1(config-router)#bgp dampening 15 750 2000 60
15 :半衰期
750 :重新使用路由
2000 :开始压制
60 :最大压时间
7 BGP 路由过滤
1) 直接调用 prefix-list
R2(config)#ip prefix-list pre per 2.2.2.0/24 --> 定义被通告的路由
R2(config)#router bgp 2
R2(config-router)#nei 12.1.1.1 prefix-list pre out