BGP的基本配置

1.bgp的路由黑洞

bgp半穿透 bgp穿透模式_网络协议


优于BGP协议可以非直连建林,故可能出现BGP协议跨越为运行BGP协议的路由器,导致BGP路由传递后,显示控制层面可达,但是,数据层面,流量未运行BGP协议的路由器时,无法通过,形成路由黑洞。

解决方案:

1.让AS内所有设备都运行BGP协议

2.可以在运行BGP的设备上向AS内部使用的IGP协议中进行重发布

3.MPLS多协议标签交换技术—是当前工程中主要是用的解决BGP路由黑洞的方案。

为了防止BGP路由黑洞的产生,退出了BGP同步机制—即当一台路由器从自己IBGP对等体粗恶习到一条BGP路由是米它不能将这条路由通告给自己的EBGP邻居对等体,除非他有从IGP协议中(包含静态)学习到这条路由,也就是要求IBGP路由和IGP路由同步。

华为设备默认关闭BGP的同步规则。


2.BGP的防环机制

BGP使用的防环机制—水平分割

在BGP中的水平分割分为2种:

1.EBGP水平分割—专门解决EBGP对等体可能出现的环路问题

2.IBGP水平分割—专门解决IBGP对等体之间可能出现的环路问题。

EBGP水平分割:

BGP协议在路由条目中记录所经过的AS编号—AS_PATH属性(记载所有经过AS编号的属性,该属性除了可以用来进行EBGP对等体的防环外,还可以在特定情况下进行路由选路。)。接受到的BGP路由条目中的AS——path中弱包含本地的AS好,则将拒绝接受,避免环路产出。

AS_PATH

bgp半穿透 bgp穿透模式_华为_02


因为BGP的AS-BY-AS的特性,导致AS内部被认为是一个整体,在默认情况下,陆游的属性是不会发生变化的,所以,呜啊通过属性来进行防环。

所以,IGP水平分割的做法—当一个路由器从一个IBGP对等体处学到某一条路由是,他讲不再把这条路有信息通告给其他IBGP对等体。

bgp半穿透 bgp穿透模式_网络协议_03


IBGP水平分割可以有效地解决IBGP邻居之间对等体之间路由回传在成的环路问题,但是也会引发路由信息传递障碍问题(如上图)。想要避免水平分割带来的问题,可以让所有AS内部运行BGP的路由器均建立IBGP对等体关系。

这种建立全连的IBGP对等体的方案也存在问题,并不是最佳的解决方案,当一个网络中AS运行的BGP协议的路由器数量较多时,建立全连的邻居关系将造成较大的资源浪费,并且降低网络的可扩展性。

所以BGP专门存在两个技术用于IBGP水平分割带来的问题—1.路由反射器

2.联邦

3.BGP的基本配置

bgp半穿透 bgp穿透模式_网络_04


BGP邻居建立过程、

(1)EBGP对等体直连

1.启动BGP进程

bgp半穿透 bgp穿透模式_bgp半穿透_05


2.配置RID

bgp半穿透 bgp穿透模式_网络_06


3.指定建立邻居关系

bgp半穿透 bgp穿透模式_网络_07


优于IBGP邻居处于同一个AS中,正常一个AS中存在大量的备份路径,若使用物理接口建立邻居关系,将浪费这些备份或者负载均衡的路径,所以建议使用环回接口来进行IBGP对等体关系的建立。

IBGP建立邻居过程

(2)IBGP对等体环回建邻

bgp半穿透 bgp穿透模式_华为_08


切记:一旦使用环回地址作为建邻地址,同时需要修改源IP地址为本地环回地址。 (3)EBGP对等体环回建邻

bgp半穿透 bgp穿透模式_网络协议_09


总结:在建立EBGP对等体欢喜是,建议使用第一种方法,EBGP对等体间智联简邻;IBGP对等体间建议使用环回接口进行建邻,即使用方法二。

BGP路由发布

(1)通过Network命令进行发布

BGP可以将路由表中存在的路由条目通过NETwork命令进行发布。总结:在建立EBGP对等体欢喜是,建议使用第一种方法,EBGP对等体间智联简邻;IBGP对等体间建议使用环回接口进行建邻,即使用方法二。

BGP路由发布

(1)通过Network命令进行发布

BGP可以将路由表中存在的路由条目通过NETwork命令进行发布。

bgp半穿透 bgp穿透模式_状态码_10


bgp半穿透 bgp穿透模式_bgp半穿透_11


Nextwork—目标网段及掩码信息

NextHop—下一跳—属于BGP的路由属性—谁通告的,谁就是下一跳;如果是自己发布的,则吓一跳属性0.0.0.0

在Network前面出现的符号称为这条路由的状态码。

*—代表可用—BGP设备每收到一条路由信息都会检查其下一条属性的可达性(通过路由表查询),如果下一条的地址是可达的,则代表路由可用;如果不可用,则该路由信息将不被接纳,直接不参与选择。

>—代表优选—当收到多条到达相同网段的路由信息时,BGP将会在其中根据路由属性选择最优的作为优选路由,只有优选路由才会被加载到路由表中,并且被传递给其他BGP邻居,不优选的则不传递。

当一台路由器收到来自EBGP对等体发送的路由信息正常加表后,该陆游的洗衣类型为:EBGP,优先级为:255

I—状态码为I—则代表该路由信息是从IBGP对等体处学来的路由。

bgp半穿透 bgp穿透模式_状态码_12


(3)通过重发布来发布BGP路由

bgp半穿透 bgp穿透模式_状态码_13


、OGN—起源码—1。通过NETWORK发布的路由—I代表改路由起源于IGP协议(包括静态路由和直连路由)

2.通过EGP协议发布的路由—e---指的是BGP协议之前的外部网关协议—EGP协议,因为目前协议 基本上不用了,所以,E标记很少见。

3.通过除了以上两种方式发布的路由—?---重发布路由的起源码标记就是问号。

4.BGP路由聚合

BGP的路邮局和—自动聚合—仅针对重发布的路由

在R1上建立2条172.16.1.0/24和172.16.2.1/24直连路由之后,通过重发布发布到BGP中。步骤如下:

bgp半穿透 bgp穿透模式_状态码_14


S—状态码—SUPPRESSED—抑制—一旦由前面的状态码中添加S标记,则代表该路由被抑制,将不再加标和传递。

自动聚合完成后会自动生成一条指向汇总的空接口路由进行防环。

因为我们自动汇总的问题,所以当我们需要对路易欧汇总进行精准把控时,手工聚合将是个理想的解决方案。

—手工聚合

bgp半穿透 bgp穿透模式_状态码_15


手工聚合的问题—1.手工聚合是没有抑制明细路由导致传递的路由条目没有减少反而增加 2.手工聚合的路由条目存在户型缺失的问题,尤其是不懈怠明细路由中的AS_PATH属性,因为该属性是用来防环的,不携带可能会导致环路的产生。

bgp半穿透 bgp穿透模式_网络_16


但是,因为BGP协议的特殊性导致在一些环境下,往往不能将所有明细路由全部抑制。所以,我们在做BGP的聚合时,往往仅抑制一部分路由信息,而实现这个效果,需要用到抑制列表suppressed-policy—抑制策略。1.先抓流量

bgp半穿透 bgp穿透模式_网络协议_17


2.使用路由策略匹配流量

bgp半穿透 bgp穿透模式_华为_18


3.使用抑制策略进行调用

bgp半穿透 bgp穿透模式_华为_19


bgp半穿透 bgp穿透模式_状态码_20


正因为聚合后的路由存在属性了丢失的情况,所以这样的汇总路有需要格外关注,为此BGP专门设计了两个聚合相关的属性—ATOMIC_AGGREGATE,AGGREGATOR—是纯粹的预警属性,聚合路由将会携带(只有将所有明细路由全部抑制的汇总路由才会携带),意图是提醒该路由为聚合路由,可能存在属性丢失问题。

AGGRGATOR—将会记录执行汇总路由器所在的AS好及RID。

bgp半穿透 bgp穿透模式_网络_21