BGP第一天

BGP协议

一.BGP:边界网关路由协议
AS与AS之间使用的EGP协议;外部网关路由协议;
AS:自治系统 --控制IGP协议的工作半径,涉及到管理域(管理者)
As编号 标准16位 0-65535 其中1-64511公有 64512-65535私有
扩展32位

IGP:收敛快 选路佳 资源少
EGP:
1)可控性(多协议间共享路由,必然选路不佳,越强的可控性也容易进行选路干涉)
2) 可靠性(更新量巨大,只能增量更新—仅触发,无周期;基于TCP工作—单播,手工建立邻居关系;非直连建立邻居关系-peer(对等体)-- EGP承载于IGP之上 )
3) AS-BY-AS(基于一个AS为一跳)。

二.BGP的特点:

1)无类别路径矢量 -----距离矢量的升级版—AS–BY–AS
2)使用单播更新来发送所有信息;基于TCP 179端口工作
3)增量更新–仅触发无周期
4)具有丰富的属性来取代IGP中度量进行选路----多个参数控制协议
5)可以在进向和出向对流量实施强大的策略–可控性
6)默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径
7)BGP支持认证和聚合(汇总)

三.BGP的数据包:—所有数据包均基于TCP会话之上进行传递,故BGP协议自己不设计确认机制;

TCP的三次握手建立会话,相当于完成了BGP的邻居发现功能;

Open报文—邻居关系的建立,正常仅收发一次即可;存在hold time (180s) router-id生成规则同OSPF一致=手工-环回最大地址-物理接口最大地址
Keeplive----周期保活 60s 实际保活的是TCP的会话,自然保活到了BGP的邻居关系
Update----- 更新包 路由信息 目标网络号+属性(大量的不同参数,便于干涉选路)
Notification---- 报错 错误信息产生时,出现提示 比如AS号配置错误

四.BGP的工作过程:

条件:IP可达 IGP工作完成,路由可达之后BGP才能工作

启动配置完成后,peer间进行TCP会话的建立,3次握手完成邻居会话建立;
BGP使用open报文建立邻居关系,生成邻居表;正常open报文收发一次即可;
之后BGP使用update来进行路由条目的共享;所有的信息可靠性由TCP保障;接收到update消息后,BGP将条目存储于BGP表中;–本地接收到的所有BGP路由信息默认将最优路径加载于路由表中;
路由共享结束后,BGP正常仅keeplive周期保活即可,若条目变化进行触发更新;

五、BGP的路由黑洞:

EBGP—外部BGP邻居关系-不同AS的bgp设备建立邻居关系
IBGP—内部BGP邻居关系—同一个AS内的BGP设备建立邻居关系

BGP路由黑洞— 考虑到实际工程中设备的采购成本,不会一个AS内部所有设备运行BGP协议;导致BGP协议通过非直连的邻居传递路由条目,使得控制层面可达;但实际数据层面流动时,在流量经过没有运行BGP协议的设备时将被丢弃;

解决方案:
1、 物理链路全连
2、 邻居关系全连—所有设备运行BGP协议
3、 使用VPN在运行BGP协议的设备间构建
4、 将BGP协议重发布到IGP协议中
5、 MPLS 多协议标签交换技术(最佳方案)

六、BGP的防环机制—水平分割:

EBGP水平分割—依赖BGP的AS路径属性;BGP协议传递的路由条目,会在传递过程中记录所有经过的AS编号;接收到的条目中存在本地的AS号将拒绝接收;

IBGP水分分割—基于AS-BY-AS规则,路由条目在一个AS内部传递过程中,属性默认不发生变化;
为了避免IBGP环路,存在IBGP水平分割——从一个IBGP邻居处学习到的路由条目不得传递给下一个IBGP邻居;导致一个as内部所有运行BGP协议的设备间均为IBGP邻居关系;邻居关系的数量成指数增加;-----可以使用联邦和路由反射器来打破;

七、BGP的基础配置:

1.bgp建立邻居关系:
[r1]bgp 1 启动时定义真实的AS号,没有多进程概念
[r1-bgp]router-id 1.1.1.1 建议手工配置RID

建立邻居关系:
1)使用直连链路建立EBGP邻居关系
[r1-bgp]peer 12.1.1.2 as-number 2 对端邻居的IP地址,及所在的AS号;本地必须与该IP地址可达;
2)IBGP邻居关系建立,在一个AS内部大多连接的环境比较复杂,建议使用环回接口建立邻居关系,提高链路的利用率以及关系的可靠性;
[r2-bgp]peer 3.3.3.3 as-number 2

切记:一旦使用环回地址作为源、目ip地址建立邻居关系,在修改目标地址为对端环回的同时,还需要定义本地的源为环回接口
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0

3)EBGP邻居间存在多条物理链路时,也建议使用环回接口建立
[1]先解决IP可达问题
[r4]ip route-static 5.5.5.0 24 45.1.1.2
[r4]ip route-static 5.5.5.0 24 54.1.1.2
[2]再建立BGP邻居关系
[r4-bgp]peer 5.5.5.5 as-number 3
[r4-bgp]peer 5.5.5.5 connect-interface LoopBack
[3]默认IBGP邻居间BGP数据包的TTL值为255,EBGP邻居为1;因此使用环回接口建立EBGP邻居关系时,TTL值必须被修改
[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2
建邻配置完成后,设备间通过TCP的三次握手建立TCP会话

[r1]display tcp status
TCPCB Tid/Soid Local Add:port Foreign Add:port VPNID Stateb
4d10bc8 164/4 12.1.1.1:179 12.1.1.2:50113 0 Established

TCP会话建立完成后,BGP收发一次OPEN报文,建立邻居关系,生成邻居表;[r1]display bgp peer
BGP local router ID : 1.1.1.1
Local AS number : 1
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv 12.1.1.2 4 2 4 5 0 00:02:41 Established 0

末尾的0标识从该邻居处学习到的路由条目数量;

2.BGP宣告路由条目;
bgp协议只能宣告本地路由表中的路由条目,不关注条目的产生方式;宣告时,宣告的条目其网络号必须和路由表中完全一致
[r1]BGP 1
[r1-bgp]network 1.1.1.0 24
宣告完成后,本地使用update包共享路由条目;同时生成BGP表;—装载本地发出及接收到的所有路由
[r1]display bgp routing-table
BGP Local router ID is 1.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 1
Network NextHop MED LocPrf PrefVal Path/Oign
*> 1.1.1.0/24 0.0.0.0 0 0 i
状态 目标网络号 属性

*有效路由 >最优路由 i通过IBGP邻居学习
条目若不是最优将不能加载到本地路由表中,也不能传递给任何邻居;
无效路由必然不优;因为AS-BY-AS的规则,导致通过在一个as内部传递时,属性不变;可能导致下一跳不可达,路径不优;在EBGP邻居关系间传递路由时,下一跳将自动被修改为本地;
[r2-bgp]peer 3.3.3.3 next-hop-local 将路由传递给该邻居时,下一跳修改为本地;
若BGP协议存在同步问题时,条目也不能优;cisco和华为设备默认关闭了均同步;

你可能感兴趣的:(CCNP,BGP第一天)