文章目录
BGP:边界网关路由协议
- 可控性
- 可靠性
- AS-BY-AS
- 无类别路径矢量 -----距离的升级版—AS-BY–AS
- 使用单播更新来发送所有信息;基于TCP 179端口工作
- 触发、增量更新
- 具有丰富的属性来取代IGP中度量进行选路
- 可以在进项和出项对流量实施强大的策略
- 默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径
- BGP支持认证和聚合(汇总)
- BGP的数据包类型:所有的数据包均基于TCP会话传递
- open报文—用于建立邻居关系,默认仅发送一次,存在RID–规则同OSPF一样
- Keepalive–用于保活邻居关系,60s周期 180s hold time 实际保活TCP会话
- Update -----目标网络号+属性
- Notification—报错信息
- IP可达
- 建立TCP会话
- 使用open 报文建立邻居关系—生成邻居表
- 使用update传递路由信息,生成BGP表;之后将BGP中最优路径加载于路由表中
- 之后收敛完全,仅keeplive周期保活
- 若出现结构变化,进行触发更新,就变化信息发送update即可
- 名词注解:
EBGP:不同AS间的邻居关系,通过该种邻居学习到的条目管理距离为20
IBGP:同一AS内的邻居关系,通过该种邻居学习到的条目管理距离为200
BGP的防环机制----水平分割
- EBGP水平分割----条目在传递过程中将记录所有经过的AS号,若接收到条目中,存在本地AS号,将拒绝接收
- IBGP水平分割-----从一个IBGP邻居处学习到的条目不能传递给下一个IBGP邻居;
解决方法:全连邻居关系 或者使用 联邦和路由反射器来解决;
BGP的路由黑洞问题
- 由于BGP协议可以非直连建邻,故可能出现控制层面可达,数据层面不可达的情况;
解决方法:
1、物理全连
2、邻居关系全连
3、将BGP路由重发布IGP(LAB)
4、MPLS (推荐)
配置
r1(config)#router bgp 1 启动协议时,使用真实AS号,不存在多进程概念
r1(config-router)#bgp router-id 1.1.1.1 建议配置RID
建立邻居关系:
- 直连EBGP邻居,直接使用物理接口建立
r1(config-router)#neighbor 12.1.1.2 remote-as 2 对端物理接口ip地址及所在AS号
- 建立IBGP邻居关系—使用环回建立邻居关系,链路备份和负载均衡等效果
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 一旦使用环回建立邻居关系,就必须修改更新源地址
- 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】建立BGP邻居关系
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
默认IBGP邻居间TTL值设定为255,EBGP邻居为1;
r4(config-router)#neighbor 5.5.5.5 ebgp-multihop ?
<1-255> maximum hop count
255
r4(config-router)#neighbor 5.5.5.5 ebgp-multihop
当建立邻居配置完成后,邻居间将先建立TCP会话:
r1#show tcp brief
TCB Local Address Foreign Address (state)
64289A10 12.1.1.1.179 12.1.1.2.14396 ESTAB
当会话建立后,邻居间使用open报文建立邻居关系,生成邻居表:
r1#show ip bgp neighbors 查看邻居关系,但该表过大不易查看
r1#show ip bgp summary
BGP router identifier 1.1.1.1, local AS number 1
BGP table version is 1, main routing table version 1
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
12.1.1.2 4 2 15 15 1 0 0 00:11:25 0
状态处显示数字即为邻居关系已经建立,数字表示从该邻居处学习到的路由条目数量;
路由宣告
- 无论本地路由表中的条目是通过何种方式获取,均可宣告到BGP协议中;
- BGP协议可以宣告本地路由表中任何条目,但宣告时必须同本地路由表中的记录完全一致;
r1(config)#router bgp 1
r1(config-router)#net