乾颐堂 发表于 2015-12-2 15:38:02

华为实现BGP团体属性-【乾颐堂HCIE培训讲师安德】

华为实现BGP团体属性-【乾颐堂HCIE培训讲师安德】BGP的团体属性community,将具有相同特征的路由归为一组,称为一个团体,通过在路由中携带团体属性标识路由所属的团体,更方便管理员对路由做出过滤和控制。团体没有物理上的边界,不同AS的路由可以具有同一个团体。接收到该路由的路由器可以通过比较团体属性值对路由作出适当的处理(比如决定是否发布该路由、在什么范围发布等),而不需要匹配复杂的过滤规则(如ACL),从而简化路由策略的应用和降低维护管理的难度。团体属性是一种可选传递属性,需要针对邻居做peer x.x.x.x advertise-community团体属性有四个字节,RFC1997规定前两个字节代表AS号码,后两个字节是管理层面自定义的标识符,如AS:NN团体属性的分类:1.众所周知的属性:internet,表示可以向任何对等体发送匹配的路由。缺省情况下,所有的路由都属于Internet团体no-advertise,表示不向任何对等体发送匹配的路由。即收到具有此属性的路由后,不能发布给任何其他的BGP对等体。no-export,表示不向AS外发送匹配的路由,但发布给其它子自治系统。即收到具有此属性的路由后,不能发布到本地AS之外。no-export-subconfed,表示不向AS外发送匹配的路由,也不发布给其它子自治系统。即收到具有此属性的路由后,不能发布给任何其他的子自治系统。2.自定义的属性比如AS:NN(64512:100),这些属性值“束缚”了一系列的路由,可以使用团体属性列表匹配这些属性做出相应的路由控制和调整等操作3.扩展的团体属性在后续章节,我们会讨论BGP的扩展团体属性,比如MPLS VPN中使用的RT属性以及SoO属性等4.5.1案例研究:no-advertiseno-advertise,该参数表示不向任何对等体发送匹配的路由。即收到具有此属性的路由后,不能发布给任何其他的BGP对等体1.实验需求1)R1通告路由,但该路由不更新给任何邻居2)R1通告自身的直连路由,向邻居R2发送团体属性no-davertise2.拓扑和IP地址规划http://www.qytang.com/upload/images/2015-11-26/6358413356229369368535505.png图 团体属性示意图3.实验步骤1)基本的邻居关系已经建立查看邻居状态:
display bgp peer

BGP local router ID : 123.1.1.1
Local AS number : 100
Total number of peers : 2                Peers in established state : 2

Peer            V          ASMsgRcvdMsgSentOutQUp/Down       State PrefRcv

123.1.1.2       4         200       93       95   0 01:30:43 Established       1
123.1.1.3       4         200       93       95   0 01:30:43 Established       1
并且在R1生成两条明细路由,用以后续的测试
bgp 100
peer 123.1.1.2 as-number 200
peer 123.1.1.3 as-number 200
#
ipv4-family unicast
undo synchronization
network 11.1.1.1 255.255.255.255
network 11.1.1.2 255.255.255.255
peer 123.1.1.2 enable
peer 123.1.1.3 enable
2)R1在生成路由时携带团体属性值注意是在R1生成路由时就携带该属性
ip ip-prefix 10 index 10 permit 11.1.1.1 32

#
route-policy No-Advertise permit node 10
if-match ip-prefix 10 ---匹配到前缀列表“抓取”的路由,其实此处是否调用前缀列表并没有明显的意义,仅仅表明可以精确的调用路由而已
apply community no-advertise ---调整的策略为不公告给邻居
#
bgp 100
network 11.1.1.1 32 route-policy No-Advertise ---在生成路由时调用路由策略

验证前缀列表的情况和路由策略的匹配情况display ip ip-prefix 10Prefix-list 10Permitted 3Denied 0      index: 10               permit11.1.1.1/32             display route-policy No-AdvertiseRoute-policy : No-Advertisepermit : 10 (matched counts: 5)    Match clauses :      if-match ip-prefix 10    Apply clauses :      apply community no-advertise最重要的验证具体的路由条目的属性
display bgp routing-table 11.1.1.1

BGP local router ID : 123.1.1.1
Local AS number : 100
Paths:   1 available, 1 best, 1 select
BGP routing table entry information of 11.1.1.1/32:
Network route.
From: 0.0.0.0 (0.0.0.0)
Route Duration: 00h05m16s
Direct Out-interface: InLoopBack0
Original nexthop: 127.0.0.1
Qos information : 0x0
Community:no-advertise ---已经携带了该团体属性
AS-path Nil, origin igp, MED 0, pref-val 0, valid, local, best, select, pre 0
Not advertised to any peer yet ---该路由没有通告给任何邻居
结论:当通告时携带该属性,那么此时该路由“天生”就不会更新给任何邻居,包括iBGP和eBGP邻居。查看R2的情况,也并未包含11.1.1.1的路由,如下所示display bgp routing-table BGP Local router ID is 22.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: 4      Network            NextHop      MED      LocPrf    PrefVal Path/Ogn *>   11.1.1.2/32      123.1.1.1       0                     0      100i * i                     33.1.1.1      0          100      0      100i *>   44.1.1.1/32      0.0.0.0         1                     0      i * i                     33.1.1.1      1          100      0      i3)针对邻居来应用团体属性值的情况去掉路由策略的调用,此时,针对邻居R2来调用路由策略。注意此时读者要明确,由于是针对邻居来应用,同时route-policy调用了条件,即前缀列表,那么我们必须增加路由策略的NODE(大于10),该NODE的条件默认为any,此时才可以把路由更新给邻居
route-policy No-Advertise permit node 20 ---R1添加条件为any的策略
#
bgp 100
undo network 11.1.1.1 255.255.255.255 ---去掉之前的通告时携带的属性,在这里VRP或许可以更改一下,不必去掉整个network命令,而只是去掉route-policy               
network 11.1.1.1 255.255.255.255 ---重新通告路由,否则没有路由产生
peer 123.1.1.2 route-policy No-Advertise export ---针对邻居来应用route-policy,而不是network时调用
peer 123.1.1.2 advertise-community ---必须针对邻居发送团体属性才能把团体属性更新给邻居
验证R2得到的明细路由的情况
dis bgp routing-table 11.1.1.1

BGP local router ID : 22.1.1.1
Local AS number : 200
Paths:   2 available, 1 best, 1 select
BGP routing table entry information of 11.1.1.1/32:
From: 123.1.1.1 (123.1.1.1)
Route Duration: 00h01m51s
Direct Out-interface: GigabitEthernet0/0/0
Original nexthop: 123.1.1.1
Qos information : 0x0
Community:no-advertise ---来自R1的路由条目由于携带了no-davertise属性,所以没有更新给任何的邻居
AS-path 100, origin igp, MED 0, pref-val 0, valid, external, best, select, active, pre 255
Not advertised to any peer yet

BGP routing table entry information of 11.1.1.1/32:
From: 33.1.1.1 (22.1.1.0)
Route Duration: 00h07m47s

Relay IP Nexthop: 24.1.1.4
Relay IP Out-Interface: GigabitEthernet0/0/1
Original nexthop: 33.1.1.1
Qos information : 0x0
AS-path 100, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre 255, IGP cost 2, not preferred for peer type
Not advertised to any peer yet

结论:针对邻居来应用no-advertise参数时,需要向邻居通告团体属性命令,那么该邻居收到路由之后就不再把特定路由更新给它的邻居(就类似于一个黑洞,仅仅接收到了路由,而不在更新给其他邻居,),而无所谓是ebgp还是ibgp邻居验证R4的情况
display bgp routing-table

BGP Local router ID is 34.1.1.4
Status codes: * - valid, > - best, d - damped,
               h - history,i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


Total Number of Routes: 5
      Network            NextHop      MED      LocPrf    PrefVal Path/Ogn

*>i11.1.1.1/32      33.1.1.1      0          100      0      100i
*>i11.1.1.2/32      33.1.1.1      0          100      0      100i
* i                     22.1.1.1      0          100      0      100i
*>i44.1.1.1/32      33.1.1.1      1          100      0      i
* i                     22.1.1.1      1          100      0      i
我们发现11.1.1.1的路由优选了R2,这是因为R2没有把路由更新给R4,所以R4只能选择R3作为下一跳
本文来自【乾颐堂HCIE培训讲师安德】提供学习交流群:334977638

谦谦电脑 发表于 2018-8-6 15:01:46

好好学习,谢谢分享
页: [1]
查看完整版本: 华为实现BGP团体属性-【乾颐堂HCIE培训讲师安德】