400-035-6699
当前位置: 首页 » 技术支持 » 博文资讯 »

BGP路由聚合技巧实践:全面掌握网络优化策略

在复杂的网络环境中,路由配置和聚合是确保网络稳定性和高效性的关键。以下是如何配置BGP路由和实现路由聚合的详细步骤,帮助理解这一过程。
首先,我们需要对网络中的各个路由器进行基本配置。以R1路由器为例,首先进入系统配置模式,设置路由器名称为R1,然后配置接口和对应的ip地址。类似地,其他路由器如R2、R3、R4、R5和R6也需要进行相同的配置,但使用不同的IP地址和接口。
接下来,我们建立BGP邻居关系。在BGP协议中,邻居之间的路由信息交换是通过建立邻居关系来实现的。例如,R1与R2和R3建立邻居关系,R2与R1和R4建立邻居关系,以此类推。每个路由器都需要指定一个唯一的router-id,以及与邻居之间的AS号码。
在配置BGP邻居关系时,需要注意下一跳的设置。当路由从一个外部BGP邻居(EBGP)传递给一个内部BGP邻居(IBGP)时,需要修改下一跳地址,以确保路由信息能够正确传递。
然后是路由聚合的配置。路由聚合是减少路由表大小,提高路由效率的有效手段。这里有两种聚合方法:静态聚合和手动聚合。
静态聚合是通过路由策略实现的,它将多个明细路由聚合成一个总的聚合路由。在r5路由器上,我们可以使用`ip route-static`命令来配置静态聚合。然后,通过BGP的`network`命令宣告聚合路由。但这种方法有一个缺点,就是明细路由仍然会出现在路由表中,这可能会引起一些问题。
为了解决这一问题,我们可以使用手动聚合。手动聚合提供了更多的灵活性,它有几种不同的方式来处理明细路由。例如,可以使用`detail-suppressed`选项来抑制所有明细路由,或者使用`suppress-policy`来抑制特定的明细路由。此外,还可以通过`attribute-policy`来修改聚合路由的属性,或者使用`origin-policy`来根据特定的规则产生聚合路由。
在手动聚合中,还可以使用AS-set来包含原始的明细路由的AS号码,这有助于避免环路问题,并使得聚合路由能够继承明细路由的路径属性。此外,还可以设置Preference_Value,这是一个本地路由器优先考虑的私有属性,数值越大,优先级越高。
最后,需要验证聚合路由是否正确配置。在R1、R2、R3、R4上使用`display bgp routing-table`命令查看路由表,确保聚合路由已经正确应用,而明细路由已经被正确抑制或修改。
通过上述步骤,我们可以有效地配置BGP路由和实现路由聚合,从而提高网络的稳定性和效率。这些配置虽然复杂,但通过逐步理解和实践,可以更好地管理和优化网络环境。

2的3次方=8 聚合后是 24-3=21掩码 255.255.248.0

BGP路由聚合技巧实践:全面掌握网络优化策略

09d66d64-ea50-11ee-a297-92fbcf53809c.png

1.基本配置
1、基本配置
R1:
sys
sysnameR1
intloop0
ipadd1.1.1.132
intg0/0/0
iPadd192.168.12.124
intg0/0/1
ipadd192.168.13.124
q

R2:
sys
sysnameR2
intloop0
ipadd2.2.2.232
intg0/0/0
ipadd192.168.12.224
intg0/0/1
ipadd192.168.24.224
q

R3:
sys
sysnameR3
intloop0
ipadd3.3.3.332
intg0/0/1
ipadd192.168.13.324
intg0/0/0
ipadd192.168.34.324
intg0/0/2
ipadd192.168.35.324
q

R4:
sys
sysnameR4
intloop0
ipadd4.4.4.432
intg0/0/1
ipadd192.168.24.424
intg0/0/0
ipadd192.168.34.424
intg0/0/2
ipadd192.168.46.424
q

R5:
sys
sysnameR5
intloop0
ipadd5.5.5.532
intloop1
ipadd172.16.1.124
intloop2
ipadd172.16.2.124
intloop3
ipadd172.16.3.124
intloop4
ipadd172.16.4.124
intloop5
ipadd172.16.5.124
intloop6
ipadd172.16.6.124
intloop7
ipadd172.16.7.124
intg0/0/0
ipadd192.168.56.524
intg0/0/1
ipadd192.168.35.524
q

R6:
sys
sysnameR6
intloop0
ipadd6.6.6.632
intloop1
ipadd192.168.1.124
intloop2
ipadd192.168.2.124
intloop3
ipadd192.168.3.124
intloop4
ipadd192.168.4.124
intloop5
ipadd192.168.5.124
intloop6
ipadd192.168.6.124
intloop7
ipadd192.168.7.124
intg0/0/0
ipadd192.168.56.624
intg0/0/1
ipadd192.168.46.624
q


2.建立BGP邻居
R1:
[R1]bgp100
[R1-bgp]router-id1.1.1.1
[R1-bgp]peer192.168.12.2as-n200
[R1-bgp]peer192.168.13.3as-n300

R2:
[R2]bgp200
[R2-bgp]router-id2.2.2.2
[R2-bgp]peer192.168.12.1as-n100
[R2-bgp]peer192.168.24.4as-n300

R3:
[R3]bgp300
[R3-bgp]router-id3.3.3.3
[R3-bgp]peer192.168.13.1as-n100
[R3-bgp]peer192.168.35.5as-n400
[R3-bgp]peer192.168.34.4as-n300
[R3-bgp]peer192.168.34.4next-hop-local
当把R1的路由条目转给R4的时候,要改变下一跳,从R5学到的路由条目转给R4的时候也要改变下一跳为自己

R4:
[R4]bgp300
[R4-bgp]router-id4.4.4.4
[R4-bgp]peer192.168.24.2as-n200
[R4-bgp]peer192.168.46.6as-n400
[R4-bgp]peer192.168.34.3as-n300
[R4-bgp]peer192.168.34.3next-hop-local

从EBGP邻居收到的路由,发给IBGP邻居的时候,改变下一跳
但从IBGP邻居收到的路由,发给EBGP邻居的时候,不需要使用

R5:
[R5]BGP400
[R5-bgp]router-id5.5.5.5
[R5-bgp]peer192.168.35.3as-n300
[R5-bgp]peer192.168.56.6as-n400
[R5-bgp]peer192.168.56.6next-hop-local
[R5-bgp]network172.16.1.024先宣告再聚合
[R5-bgp]network172.16.2.024
[R5-bgp]net172.16.3.024
[R5-bgp]net172.16.4.024
[R5-bgp]net172.16.5.024
[R5-bgp]net172.16.6.024
[R5-bgp]net172.16.7.024

R6:
[R6]bgp400
[R6-bgp]router-id6.6.6.6
[R6-bgp]peer192.168.46.4as-n300
[R6-bgp]peer192.168.56.5as-n400
[R6-bgp]peer192.168.56.5next-hop-local
[R6-bgp]net192.168.1.024
[R6-bgp]net192.168.2.024
[R6-bgp]net192.168.3.024
[R6-bgp]net192.168.4.024
[R6-bgp]net192.168.5.024
[R6-bgp]net192.168.6.024
[R6-bgp]net192.168.7.024

3.路由聚合
(1)静态聚合(可以选择跳过,直接看第二种方法,手工聚合。)
[R5]iproute-static172.16.0.0255.255.248.0NULL0

[R5]bgp400
[R5-bgp]network172.16.0.021

[R6]bgp400
[R6-bgp]aggregatE192.168.0.021

验证:
[R1]disbgprouting-table
虽然聚合到了,但还可以看到172.16.0.0/21的同时还有7条明细

现在想把明细给拒绝掉,采取团体属性。匹配后再发送给相应的邻居。——————前缀列表
[R5]ipip-prefixnoadpermit172.16.1.024
[R5]ipip-prefixnoadpermit172.16.2.024
[R5]ipip-prefixnoadpermit172.16.3.024
[R5]ipip-prefixnoadpermit172.16.4.024
[R5]ipip-prefixnoadpermit172.16.5.024
[R5]ipip-prefixnoadpermit172.16.6.024
[R5]ipip-prefixnoadpermit172.16.7.024
[R5]ipip-prefixnoadpermit192.168.1.024
[R5]ipip-prefixnoadpermit192.168.2.024
[R5]ipip-prefixnoadpermit192.168.3.024
[R5]ipip-prefixnoadpermit192.168.4.024
[R5]ipip-prefixnoadpermit192.168.5.024
[R5]ipip-prefixnoadpermit192.168.6.024
[R5]ipip-prefixnoadpermit192.168.7.024

[R5]route-policynoadpermitnode10
[R5-route-policy]if-matchip-prefixnoad
[R5-route-policy]applycommunityno-advertise
不要广播
如果没匹配到就正常发送
[R5]route-policynoadpermitnode20

R5调用:
[R5]bgp400
[R5-bgp]peer192.168.35.3route-policynoadexport有的就export过去
[R5-bgp]peer192.168.35.3adverise-commuity确保可选的过渡属性能被对等体识别到

[R5]discu|inip-pre
把列出来的粘贴到R6上,粘贴好后
[R6]route-policynoadpermitnode10
[R6-route-policy]if-matchip-prefixnoad
[R6-route-policy]applycommunityno-advertise
[R6]route-policynoadpermitnode20

R6调用
[R6]bgp400
[R6-bgp]peer192.168.46.4route-policynoadexport有的都export过去
[R6-bgp]peer192.168.46.4adverise-commuity确保可选的过渡属性能被对等体识别到

静态聚合R1R2查看路由表没问题,但R3R4一查看,还是有明细。导致部分聚合成功。静态弊端

(2)手动聚合,aggravate聚合的方式
第一种:detail-suppressed抑制全部明细路由
[R5]bgp400
[R5-bgp]aggregate172.16.0.021detail-suppressed抑制全部明细路由

[R6]bgp400
[R6-bgp]aggregate192.168.0.021detail-suppressed抑制全部明细路由
这种方法便捷
在R1R2R3R4查看disbgprouting-tableOK

第二种:suppress-policy抑制部分明细
对BGP来讲,可以发总的,也可以发指定明细+总
[R5]acl2000
[R5-acl-bASIC-2000]rulepermitsource172.16.1.00.0.0.255
[R5-acl-basic-2000]rulepermitsource172.16.2.00.0.0.255
[R5-acl-basic-2000]rulepermitsource172.16.3.00.0.0.255

[R5]route-policy10permitnode10
[R5-route-policy]if-matchacl2000

[R5]bgp400
[R5-bgp]aggregate172.16.0.021suppress-policy10抑制部分明细

第三种:attribute-policy修改路由属性
[R5]route-policyatpermitnode10
[R5-route-policy]applyoriginincomplete
改为引入进来的
直接应用,默认代表是所有
[R5]bgp400
[R5-bgp]aggregate172.16.0.021suppress-policy10attribute-policyat

09e75d9a-ea50-11ee-a297-92fbcf53809c.png

第四种:origin-policy
通过符合route-policy的具体路由来产生聚合路由,不符合时不会聚合。
需求:汇总的路由是以某一条明细路由为出发点,明细路由消失,则不会通告该条汇总路由
[R6]acl2000
[R6-acl-basic-2000]rrulepermitsource
192.168.7.00.0.0.255
[R6]route-policyorpermitnode10
[R6-route-policy]if-matchacl2000
[R6]bgp400
[R6-bgp]aggregate192.168.0.021origin-policyoror是origin-policy的策略名称
R4上disbgprouting-table
[R6]undointloop7关掉之后再查看路由表,前后对比

第五种:as-set
把起始的明细挂上去
AS号加在上面。防止环路产生
产生的这条汇总路由就可以继承明细路由的某些路径属性,从而规避一些问题

第六种:Preference_Value——首选值
首先考虑的BGP的私有属性,仅在本地路由器生效。越大越优先。s
审核编辑:黄飞

【限时免费】一键获取网络规划系统模板+传输架构设计+连通性评估方案

路由聚合相关文章

服务电话:
400-035-6699
企服商城