目录
BGP的基本配置
建邻
EBGP直连建邻
[r1]bgp 1----启动bgp进程,后面跟设备所在AS的AS号
[r1-bgp]router-id 1.1.1.1---配置RID
[r1-bgp]peer 12.0.0.2 as-number 2
---手工指定对等体关系
[r1]display bgp peer
---查看BGP邻居表的命令
EBGP非直连建邻
注意:在
EBGP非直连建邻中,首先
需要保证地址可达
[r4-bgp]peer 5.5.5.5 as-number 3
[r4-bgp]peer 5.5.5.5 connect-interface LoopBack 0
[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2---
因为
EBGP
对等体之间一般是直连建邻,所以,数据包中的TTL
值设置为
1
,要想非直连建邻,则需要将这个值改大。
[r5-bgp]peer 4.4.4.4 ebgp-max-hop
---如果后面不跟参数,则代表将TTL值修改为最大值255
IBGP环回接口建邻
[r2-bgp]peer 3.3.3.3 as-number 2
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
---指定在给3.3.3.3发包时使用的源IP地址为环回接口0的IP地址。
注意:在使用环回接口建立对等体关系时,一定要修改发送接口
。
发布路由
network
network
---在BGP中只能用来发布路由条目信息 。注意:只要是路由表中存在的路由条目信息,BGP
都可以通过Network来进行发送。
配置:
[r1-bgp]network 1.1.1.0 24
---目标网段信息及掩码必须和路由表中的完全一致才行
[r1-bgp]display bgp routing-table
---查看BGP表
BGP表中路由条目的属性:
1.Network
---目标网段信息及掩码信息
2.NextHop---BGP的一个路径属性----谁发的路由信息,下一跳就是谁,如果是自己发的,则下一跳为0.0.0.0。
3.状态码
*
---代表
可用
---设备每收到一跳路由信息,都会检查其下一跳的可达性。即根据下一跳在路由表中递归查询,只要可达,则改路由信息可用。
>
---代表
优选
---当收到到达相同网段存在多条路由信息时,BGP将在其中根据属性优选出一条加载到路由表中。这条优选路由将赋予这个标记。
I
---状态码I ---代表BGP路由信息是从自己IBGP对等体处学到的
S---状态码
---抑制路由条目的传递
注意:
i 1.1.1.0/24 12.0.0.1
---因为在AS内部存在AS-BY-AS规 则,所以,默认情况下传递的属性信息是一致的,因为这个下一跳也属于路径属性之一,默认情况下也不会传递,则将可能导致路由可用性校验失败。
[r2-bgp]peer 3.3.3.3 next-hop-local
---在给3.3.3.3传递路由信息是将下一跳属性改为本地
1.1.1.0/24 IBGP 255
---通过IBGP对等体学到的BGP路由信 息,其标记为IBGP,默认的优先级为255。
路由表中的
NextHop
直接使用的是
BGP
属性中的下一跳,因为之前进行过可用性校验,所以,可以保证能够递归查找找到这个下一跳。
重发布
[r2-bgp]import-route ospf 1
---将OSPF的路由信息导入到BGP当中。
OGN ---
起源码---I,e,?---用来标识路由条目的起源
BGP的聚合
自动聚合
针对两类1.对重发布的路由信息生效 2.按主类聚合(不携带子网掩码),会造成路由黑洞,华为设备BGP的自动聚合功能是默认关闭的。开启自动聚合的配置命令:summary automatic
*> 172.16.0.0 127.0.0.1
---通过自动聚合会发布一条新的汇总路由,而且通过聚合发布的路由信息其下一跳属性127.0.0.1 注意:自动聚合之后,发布的汇总路由信息将在本地路由表中产生一条指向汇总的空接口,自动防环。
手工聚合
配置命令:[r1-bgp]aggregate 172.16.0.0 22
*> 172.16.0.0/22 127.0.0.1 ---手工聚合后发布的路由条目携带掩码信息,并且下一跳也是指向127.0.0.1,则其也会自动生成一条到达汇总网段指向空接口的路由进行防环。
手工聚合的问题:
1
,发布聚合路由的情况下,不会抑制明细路由,导致汇总操作并没有减少路由条目数量,反而增加了。
2
,在进行汇总的时候,发布的汇总路由不会继承明细路由的属性,尤其是AS_PATH
,则将导致汇总路由部分属性缺失,甚至可能出现环路。
解决手段:
1.[r4-bgp]aggregate 172.16.0.0 22 detail-suppressed ---在发布汇总路由条目的同时将抑制所有的明细路由,因为BGP协议的一些特殊性,只能够抑制部分的路由信息---所以我们需要使suppressed -policy。
2.AS_SET关键字
配置命令的时候,将这个关键字激活,则
BGP
在汇总路由时,将携带上明细的AS_PATH
属性,来进行防环。
[r4-bgp]aggregate 172.16.0.0 22 suppress-policy aa as-set
*> 172.16.0.0/22 127.0.0.1 0 {1 4}?
---如果明细路由携带的AS_PATH属性不一样,则在激活了AS_SET属性后,汇总路由将会把明细路由的AS号都携带上并且用大括号括起来,之后,在进行防环的时候,里面所有AS号都将生效,都不能回传。但是,在使用AS_PATH属性进行选路的时候,当作一个 AS来看待。
聚合后的路由信息存在属性丢失问题,BGP
专门引入了两个属性
ATOMIC_AGGREGATE ---纯粹预警属性---只有在抑制全部明细路由时才会携带
AGGREGATOR ---将携带汇总者的RID以及其所在的AS号 Aggregator: AS 2, Aggregator ID 4.4.4.4, Atomic-aggregate
[r4]display bgp routing-table 172.16.0.0
---查看一条路由的详细情
况