IP : 边界网关协议(BGP)

BGP前缀过滤器用4字节AS编号

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 23 日) | 反馈

简介

此条款描述如何过滤边界网关协议(BGP)前缀用4字节在Cisco IOS的自治系统(AS)编号。

贡献用卢克De Ghein, Cisco TAC工程师。

背景信息

当自由2字节AS编号的池变得低, 4字节AS编号在BGP介绍。这意味着AS编号可以当前是2字节或4字节编号。RFC 6793指定4字节AS编号。2字节AS编号是1和65,535范围的一个编号。4字节AS编号是1和4,294,967,295范围的一个编号。

4字节AS编号可以代表在一个加点的方式或作为一个无格式编号。一个加点的4字节AS编号的示例是7.52359。这是AS notaton小点。一个无格式4字节编号的示例是511111。这是AS符号asplain。7.52359是相同的象511111。

Cisco IOS路由器能使用任一个AS符号。在最最近的Cisco IOS版本的默认是asplain。为了使用加点的AS符号,可以使用bgp asnotation小点命令。

如果网络管理员因故不要派出与一个或更多的BGP前缀在AS PATH的4字节AS编号往外部BGP (eBGP)对等体,则这些前缀可以被过滤。本文提供一个可能的过滤器达到此。可能有一些个原因为什么您也许不希望BGP扬声器派出BGP前缀用在AS PATH的4字节AS编号。一示例可能是有在导致相反行为,为BGP前缀只发生用在AS PATH的4字节AS编号的接收的BGP扬声器的一个缺陷。

4字节AS编号过滤器

注意:在此部分的过滤器,当在路由器的BGP在asnotation小点模式时,运行可能只使用。

此过滤器能过滤前缀用拿着一个或更多4字节AS编号的AS PATH。

router bgp 1
 bgp asnotation dot
 neighbor 10.1.1.2 remote-as 2

 address-family ipv4
  neighbor 10.1.1.2 activate
  neighbor 10.1.1.2 filter-list 1 out

ip as-path access-list 1 deny .*[0-9]+\.[0-9]+.*
ip as-path access-list 1 permit .*

这是此过滤器的考试。

  • [0-9]含义所有位。

  • +含义一个或更多出现。因为可以有现在,多个的位[0-9]+所以含义任何编号。

  • \。含义。(小点)。斜线是需要的为了确保路由器不对待小点作为特殊字符,然而对待它作为小点。是特殊字符并且含义匹配所有字符(通配符)。

  • *含义先于的匹配零或更多。因此。*含义匹配任何。

  • 完整过滤器.*[0-9]+\.[0-9]+.*含义任何东西与在它的一个小点。

示例如下:

路由器1 (R1)接收在BGP的八个前缀。BGP前缀10.100.1.1/32是包括仅2字节AS编号与AS PATH的唯一的前缀。所有其他BGP前缀有一个或更多4字节AS编号在AS PATH。

R1#show bgp ipv4 unicast
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop    Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i
 *>  10.100.1.2/32    10.1.3.4         0             0 4 1.34464 3.3392 4.37856 i
 *>  10.100.1.3/32    10.1.3.4         0             0 4 1.34464 200 4.37856 i
 *>  10.100.1.4/32    10.1.3.4         0             0 4 500 4.37856 600 ?
 *>  10.100.1.5/32    10.1.3.4         0             0 4 7.41248 3200 400 65000 ?
 *>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 9.60176 ?
 *>  10.100.1.7/32    10.1.3.4         0             0 4 66 1.57464 77 5.17320 99 ?
 *>  10.100.1.8/32    10.1.3.4         0             0 4 7.52359 99 66 99 5.18307
3.37515 99 66 3.37515 99 ?

R1通告仅前缀,不用在AS PATH的任何4字节AS编号往BGP对等体10.1.1.2。

R1#show bgp ipv4 unicast neighbors 10.1.1.2 advertised-routes 
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4                 0             0 4 100 200 300 i

Total number of prefixes 1

您能验证什么过滤器.*[0-9]+\.[0-9]+.*从BGP表过滤用show ip bgp regexp命令

R1#show ip bgp regexp .*[0-9]+\.[0-9]+.*
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop     Metric LocPrf Weight Path
 *>  10.100.1.2/32    10.1.3.4         0             0 4 1.34464 3.3392 4.37856 i
 *>  10.100.1.3/32    10.1.3.4         0             0 4 1.34464 200 4.37856 i
 *>  10.100.1.4/32    10.1.3.4         0             0 4 500 4.37856 600 ?
 *>  10.100.1.5/32    10.1.3.4         0             0 4 7.41248 3200 400 65000 ?
 *>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 9.60176 ?
 *>  10.100.1.7/32    10.1.3.4         0             0 4 66 1.57464 77 5.17320 99 ?
 *>  10.100.1.8/32    10.1.3.4         0             0 4 7.52359 99 66 99 5.18307
3.37515 99 66 3.37515 99 ?

过滤器.*[0-9]+\.[0-9]+.*过滤与一个或更多的所有前缀在AS路径属性的4字节AS编号。

这是另一个方式检查什么过滤器从BGP表实际上过滤:

R1#show bgp ipv4 unicast filter-list 1
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4                 0             0 4 100 200 300 i

R2接收从R1的仅前缀10.100.1.1/32由于过滤器。

R2#show bgp ipv4 unicast 
BGP table version is 6, local router ID is 10.1.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.1.1                               0 1 4 100 200 300 i

备选配置

备选配置是使用route-map而不是filter-list :

router bgp 1
 bgp asnotation dot
 neighbor 10.1.1.2 remote-as 2

 address-family ipv4
  neighbor 10.1.1.2 route-map no-4byte out

ip as-path access-list 1 deny .*[0-9]+\.[0-9]+.*
ip as-path access-list 1 permit .*

route-map no-4byte permit 10
 match as-path 1

Asplain模式

bgp asnotiation小点命令删除时,含义asnotation是asplain,输出不再显示在4字节AS编号的小点。此输出是相同的象以前显示,除了加点的AS编号当前是asplain。

R1#show bgp ipv4 unicast                                      
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop    Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i
 *>  10.100.1.2/32    10.1.3.4         0             0 4 100000 200000 300000 i
 *>  10.100.1.3/32    10.1.3.4         0             0 4 100000 200 300000 i
 *>  10.100.1.4/32    10.1.3.4         0             0 4 500 300000 600 ?
 *>  10.100.1.5/32    10.1.3.4         0             0 4 500000 3200 400 65000 ?
 *>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 650000 ?
 *>  10.100.1.7/32    10.1.3.4         0             0 4 66 123000 77 345000 99 ?
 *>  10.100.1.8/32    10.1.3.4         0             0 4 511111 99 66 99 345987
234123 99 66 234123 99 ?

因为不再有与加点的4字节AS数字格式的前缀在BGP表里, bgp show命令与用于在路由器的过滤器的常规表示不过滤与一个小点的前缀在BGP表里。4字节AS编号当前在asplain格式。

R1#show ip bgp regexp .*[0-9]+\.[0-9]+.*                      
R1#

bgp show命令与filter-list也显示过滤器不工作,当路由器在asplain模式时:

R1#show bgp ipv4 unicast filter-list 1
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop    Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i
 *>  10.100.1.2/32    10.1.3.4         0             0 4 100000 200000 300000 i
 *>  10.100.1.3/32    10.1.3.4         0             0 4 100000 200 300000 i
 *>  10.100.1.4/32    10.1.3.4         0             0 4 500 300000 600 ?
 *>  10.100.1.5/32    10.1.3.4         0             0 4 500000 3200 400 65000 ?
 *>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 650000 ?
 *>  10.100.1.7/32    10.1.3.4         0             0 4 66 123000 77 345000 99 ?
 *>  10.100.1.8/32    10.1.3.4         0             0 4 511111 99 66 99 65509 56
100000 ?

AS路径过滤器不会工作:

R1#show bgp ipv4 unicast neighbors 10.1.1.2 advertised-routes 
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop     Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i
 *>  10.100.1.2/32    10.1.3.4         0             0 4 100000 200000 300000 i
 *>  10.100.1.3/32    10.1.3.4         0             0 4 100000 200 300000 i
 *>  10.100.1.4/32    10.1.3.4         0             0 4 500 300000 600 ?
 *>  10.100.1.5/32    10.1.3.4         0             0 4 500000 3200 400 65000 ?
 *>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 650000 ?
 *>  10.100.1.7/32    10.1.3.4         0             0 4 66 123000 77 345000 99 ?
 *>  10.100.1.8/32    10.1.3.4         0             0 4 511111 99 66 99 65509 56
100000 ?
     Network          Next Hop            Metric LocPrf Weight Path

Total number of prefixes 8

Asplain模式的过滤器

此过滤器,当在路由器的BGP在asplain模式时,运行可以使用:

ip as-path access-list 4 deny _6553[6-9]_
ip as-path access-list 4 deny _655[4-9][0-9]_
ip as-path access-list 4 deny _65[6-9][0-9][0-9]_
ip as-path access-list 4 deny _[6][6-9][0-9][0-9][0-9]_
ip as-path access-list 4 deny _[7-9][0-9][0-9][0-9][0-9]_
ip as-path access-list 4 deny _[1-9][0-9][0-9][0-9][0-9][0-9]+_
ip as-path access-list 4 permit .*

或者,这是同样,但是更多精简:

ip as-path access-list 4 deny _(6553[6-9]|655[4-9][0-9]|65[6-9][0-9][0-9]|6[6-9]
[0-9][0-9][0-9]|[7-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]+)_
ip as-path access-list 4 permit .*

因此请过滤,任何AS编号高于65,535被过滤。再次,如果使用一个filter-list或一route-map,这可以应用对BGP邻居。

注意:在此条款的过滤不研究内部BGP (iBGP)会话,在路由反射器包括。


相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


Document ID: 118700