BGP边界网关路由协议(下)

**

BGP边界网关路由协议: 无类别的路径矢量EGP协议

**
一、建邻居配置—单播建立邻居关系
【1】直连的EBGP邻居关系建立
r1(config)#router bgp 1 启动时需要配置真实AS号,无多进程概念;
r1(config-router)#bgp router-id 1.1.1.1 手工配置RID,生成方式与OSPF一致;
r1(config-router)#neighbor 12.1.1.2 remote-as 2
在这里插入图片描述

当建邻配置完成后,邻居间将进行TCP三次握手,建立TCP会话:
在这里插入图片描述

会话建立后,邻居间使用open报文来建立邻居关系,生成邻居表:
r1#show ip bgp neighbors 查看邻居间详细信息
r1#show ip bgp summary 查看邻居综合信息

【2】IBGP邻居关系建立—因为在一个AS内部,存在大量的备份路径;故建议使用环回接口来建立邻居关系,保障稳定性;
r2(config)#router bgp 2
r2(config-router)#neighbor 3.3.3.3 remote-as 2
r2(config-router)#neighbor 3.3.3.3 update-source loopback 0
注:使用环回做为目标地址的同时,也需要将源修改为本地的环回地址

【3】EBGP邻居间存在多条直连路径时,也建议使用环回建
1)IP可达
r4(config)#ip route 5.5.5.0 255.255.255.0 45.1.1.2
r4(config)#ip route 5.5.5.0 255.255.255.0 54.1.1.2
2)建立邻居关系
r4(config)#router bgp 2
r4(config-router)#neighbor 5.5.5.5 remote-as 3
r4(config-router)#neighbor 5.5.5.5 update-source loopback 0

3)EBGP邻居关系间的数据包TTL值,默认为1;IBGP间为255;
故一旦使用环回建立EBGP邻居关系,就必须修改默认的TTL值

二、BGP的宣告配置
BGP协议可以宣告本地路由表中任意路由;这些路由条目的产生方式不关注
r1(config)#router bgp 1
r1(config-router)#network 1.1.1.0 mask 255.255.255.0
注:宣告时,必须逐条宣告;且所宣告信息必须和本地路由表中完全一致
宣告完成后,生成BGP表;该表存储所有本地发出及接收到的路由信息;
r1#show ip bgp 查看BGP表
BGP边界网关路由协议(下)_第1张图片

BGP条目状态:
"*"标示可用---- 可以加表–路由表
“>”标示优秀---- 可以加表–路由表 可以传递–传输给邻居
故必须可用同时优秀才能加表;仅优即可传递;
字母i标示条目通过IBGP邻居学习;

不可用的情况:
*号被r取代 —不装载–本地路由表中已经拥有更好的路由
*号被s取代 —抑制—管理员策略限制条目的传输

优秀的条件:
1、同步问题—IOS版本12.2(8)T以上,默认关闭该规则;也可手工关闭
同步要求—本地路由表必须先通过IGP学习到该路由,BGP才能同步生成;

2、下一跳可达问题
基于AS-BY-AS规则,条目在一个AS内部传递时属性不变;导致IBGP邻居间路由的下一跳地址可能为其他AS设备,最终出现不可达;
r2(config)#router bgp 2
r2(config-router)#neighbor 3.3.3.3 next-hop-self
将路由传递给IBGP邻居3.3.3.3时,将条目中的下一跳地址修改为本地;
路由条目在传递给EBGP邻居时,会自动修改下一跳地址为本地;

三、BGP宣告问题
在BGP协议中,若宣告的路由非本地直连路由,那么将携带本地到达这些目标的度量值和下一跳地址;
度量:本地将携带本地到底目标的度量值,传输给本地的EBGP邻居;方便本地直连的AS内部设备挑选最佳的EBGP邻居;但这些若通过本地的IGBP邻居传递给它们的EBGP邻居时,度量值将归0;故建议所有存在EBGP邻居的BGP路由器均宣告内网路由;
下一跳:本地将路由传递给本地的EBGP邻居时,下一跳地址自动修改为本地;
若从IBGP邻居处学习到的路由条目中,下一跳地址为本地将拒绝接收;迫使所有存在EBGP设备的路由器均需要宣告内网路由;但next-hop-self会使得路由传递给邻居时下一跳地址修改为本地;故需要管理员自己为网络最佳在所有存在EBGP邻居的BGP设备上宣告内网路由;

四、BGP的no auto-summary
自动汇总行为在BGP协议中,对普通的BGP路由没意义;
针对的是从IGP重发布到BGP的路由条目;
auto-summary 重发布时不携带掩码、度量、下一跳
no auto-summary 携带掩码、度量、下一跳
故建议no auto-summary,且所有存在EBGP邻居的BGP路由器均进行重发布,便于选路;

BGP协议中,宣告就是逐条的重发布路由;重发布就是一次性的宣告;所产生的路由仅起源属性不同;

五、认证
r1(config)#router bgp 1
r1(config-router)#neighbor 12.1.1.2 password cisco123
实际密码是以MD5值传输;
可以开启密码密文服务,来在running-config中密文显示
r1(config)#service password-encryption

六、聚合
1)利用BGP的宣告特征—本地路由表中任何路由,无论产生方式均可宣告;先在汇总路由器上配置一条到达汇总目标的空接口防环路由,然后再BGP中宣告条目;不需要逐条宣告明细路由,在这种汇总的配置下,若还需要传递明细路由,只需要在汇总后,逐一去宣告各个明细路由即可;
2)普通的BGP聚合—自动产生空接口防环路由,先逐一宣告所有的明细路由,然后再在源设备上聚合配置即可;
3)聚合地址非本地AS;
若聚合配置设备,聚合了其他AS的路由,那么为防止路由回传,可以将明细路由中的as-pash属性附加于聚合条目上,来避免回传。

七、特殊情况下打破IBGP的水平分割
IBGP水平分割----从一个IBGP邻居处学习到的路由条目,不得给下一个IBGP邻居;
若不打破该规则,将导致所有存在EBGP邻居的BGP路由器间均需建邻;配置量成指数上升;有条件的打破是指在保障无环的情况下,来处理;
RR 路由反射器
客户端、非客户端均必须为RR的IBGP邻居; 强制至少一台RR和一台客户端;
三种角色构建一个簇(组)
1)若RR从一台EBGP邻居处学习到的路由信息,传递给本地的客户端、非客户端、其他EBGP邻居
2)若RR从一台客户端学习到了路由信息,可以传递给其他的客户端、非客户端、EBGP邻居;
3)若RR从一台非客户端学习到了路由信息,可以传递该其他的客户端、EBGP邻居;不能传递给其他的非客户端;
注:若路径不优,也不能被反射;

联邦
将一个大AS逻辑区分多个小AS;小AS间可以像EBGP邻居一样传递路由,但不能修改属性;
1)所有的配置均使用小as号完成
2)联邦内所有BGP设备需声明自己所在的大AS号
3)小AS间的ebgp路由器护指peer;
注:实际应用中两种技术将被结合;

八、BGP选路规则
比较前提–同步被关闭、下一跳可达;均可优
1)首先比较weight 大优–不传递 ,Cisco私有 EBGP/IBGP
2)比较本地优先级,默认100;仅IBGP邻居传递,大优 IBGP
3)优选本地下一跳
4)比较as-pash,经过的AS数量少优,EBGP邻居可增添 EBGP/IBGP
5)起源码最小 i-igp=0 e-egp=1 ?-incomplete=2 EBGP/IBGP
6)MED值最小 EBGP/IBGP
7)普通的EBGP邻居优于联邦内EBGP邻居优于IBGP邻居
8)优选最近的IGP邻居(IGP度量小)
9)优选最先建立EBGP邻居
10)最小BGP邻居的RID
11)优选最小的RR list 列表
12)若收到到达同一目的地两条均可优的EBGP路由,可以人为实现负载均衡

九、BGP的peer-group
九、BGP的社团属性–BGP的扩展属性;这些扩散属性数量庞大,默认大多数厂商不会传递这些属性的;故一旦使用社团属性,就必须开启传递性;
例:关于传播范围的社团属性
r1(config)#route-map com permit 10
r1(config-route-map)#set community no-advertise
r1(config-route-map)#exit
r1(config)#router bgp 2
r1(config-router)#neighbor 23.1.1.3 route-map com out
r1(config-router)#end
r1#clear ip bgp * soft
因为默认不传递,故配置属性后,必须开启传递性
r1(config)#router bgp 2
r1(config-router)#neighbor 23.1.1.3 send-community
r1#clear ip bgp * soft

no-advertise 条目中携带该属性,将不得传递给下一个邻居
no-export 条目中携带该属性,将不得传递给下一个大AS
local-AS 条目中携带该属性,将不得传递给下一个小AS;
若拓扑中没有小as,那么no-export和local-as作用一致;

十、BGP的团属性
r3(config)#router bgp 11
r3(config-router)#neighbor xxx peer-group 创建名为xxx的peer-group
r3(config-router)#neighbor xxx remote-as 11
r3(config-router)#neighbor xxx update-source loopback 0
r3(config-router)#neighbor xxx ebgp-multihop
r3(config-router)#neighbor 1.1.1.1 peer-group xxx
r3(config-router)#neighbor 2.2.2.2 peer-group xxx
r3(config-router)#neighbor 3.3.3.3 peer-group xxx
注:一旦和某个邻居间调用了peer-group,那么和该邻居间大多数的配置均需要在peer-group中定制;

你可能感兴趣的:(网络工程类个人总结笔记,BGP,CCNP)