CISCO路由器配置前缀列表解疑

CISCO路由器配置前缀列表解疑

BGP 路由选择协议中,可以对 BGP 路由选择更新进行过滤,要完成这个工作要用到前缀列表。
  
  一、前缀列表的特点:
  ( 1 )、可以增量修改,我们知道对于普通访问控制列表,我们不能删除该列表中的某个条目,如果想删除列表中的某个条目只能将该访问列表全部删除,而前缀列表中,一个条目可以单独地删除或添加。
  ( 2 )、前缀列表在cisco ios 12.0 及其以后的版本中可以使用。
  ( 3 )、在大型列表的加载和路由查找方面比访问控制列表有显著的性能改进。
  ( 4 )、前缀列表用于 BGP 路由。
  
  二、前缀列表的命令描述
  ( 1 )、 “ip prefix-list list-name [seq seq-value] {deny|permit} network/len [ge ge-value] [le le-value]
  
   list name 代表被创建的前缀列表名(注意该列表名是区分大小写的)
   seq-value 代表前缀列表语名的 32bit 序号,用于确定过滤语句被处理的次序。缺省序号以 5 递增( 5 10 15 等等)。
   deny|permit 代表当发现一个匹配条目时所要采取的行动
   network/len 代表要进行匹配的前缀和前缀长度。 Network 32 位的地址,长度是一个十进制的数。
   ge-value 代表比 “network/len” 更具体的前缀,要进行匹配的前缀长度的范围。如果只规定了 “ge” 属性,该范围被认为是从 “ge-value” 32
   le-vlaue 代表比 “network/len” 更具体的前缀,要进行匹配的前缀长度的范围。如果只规定了 “le” 属性,该范围被认为是从 “le” “le-value”
  ( 2 )、 “neighbor {ip-address | peer-group-name} prefix-list prefix-listname {in|out}”
   ip-address 代表要为之进行路由过滤的 BGP 邻居的ip地址
   peer-group-name 代表 BGP 对等体组的名称。
   prefix-listname 代表要被用来过滤路由的前缀列表的名称。
   in 说明前缀列表要被应用在来自邻居的入路由通告。
   out 说明前缀列表要被应用在发送给邻居的外出的路由通告。
  
  在 “ip prefix-list” 命令中 “ge” “le” 任选项的使用可能令人迷惑,理解起来比较难,下面我们做了一个测试,以便更好的了解这些选项的含义。
  网络拓朴描述如下:
  路由器 A 属于 AS65000 ,路由器 B 与路由器 C 是路由器 A 的邻居,路由器 A 从路由器 B 学到了, 172.16.10.0/24, 172.16.11.0 这两条路由,路由器 C 接路由器 A 的端口地址是: 10.1.1 .1
  
  在这个测试中使用了 3 台路由器:路由器 B ,路由器 A 和路由器 C ,路由器 C 是路由器 A EBGP 邻居,路由器 C 的接口地址为 10.1.1.1 ,如上所示。
  假设配置前缀列表之前,路由器 A 学到了下面的路由(从路由器 B 那里学来的):
   172.16.0.0 subnetted:
   172.16.10.0/24
   172.16.11.0/24
  我们测试了如下 5 种情况:
  第一种情况、在这种情况下,对路由器 A 做了如下配置:
   router bgp 65000
   aggregate-address 171.16.0.0 255.255.0.0
   neighbor 10.1.1.1 prefix-list tenonly out
   in prefix-list tenonly permit 172.16.10.0/8 le 24
  当用 “show run” 命令查看路由器的配置时,我们将看到路由器 A 自动地将这个配置的最后一行改为下面这样:
   ip prefix-fix tenonly permit 172.0.0.0/8 le 24
  这时路由器 C 学到了三个路由器,即:
   172.16.0.0/16
   172.16.10.0/24
   172.16.11.0/24
  下面就祥细的说明一下路由器 C 为什么会学到这三条路由:
  因为我们在路由器 A 中用 aggregate 创建了一条聚合路由器 172.16.0.0/16
  而且在使用这个命令的时候没有加参数 summary-only 所以,路由器 A EBGP 邻居,即路由器 C 有可能学到三条路由,即聚合路由 172.16.0.0/16 ,具体路由 172.16.10.0/24,
  具体路由 172.16.11.0/24
  在命令 “in prefix-list tenonly permit 172.16.10.0/8 le 24” 中, len 等于 8 len-value 24 ,。前面我们说过对于比 “network/len” 更具体的前缀,要加上参数 len-value, 如果只规定了 “le” 属性,该范围被认为是从 “le” “le-value” ,这里的 8 24 是长度的概念,即可以精确匹配前 8 位,前 9 位,前 11 位, ……. 一直到可以精确匹配前 24 位。 172.16.0.0/16 被认为是精确匹配了前 16 位,而 172.16.10.0/24 172.16.11.0/24 则被认为是精确匹配了前 24 位,如果是 172.0.0.0/8 则被认为是精确匹配了前 8 位,即这里的 8 24 可是掩码位的概念,就是说从路由器 C 的角度上来说,我可以学到路由器 A BGP 路由表中的掩码为 /8 /9 /10 /11 /12 /13 /14 /15 /16 /17 /18 /19 /20 /21 /22 /23 /24 的路由器,所以在这种情况下路由器 C 学到了三条路由即:
   172.16.0.0/16
   172.16.10.0/24
   172.16.11.0/24
  
  第二种情况、在这种情况中,对路由器 A 做了如下配置:
   router bgp 65000
   aggregate-address 171.16.0.0 255.255.0.0
   neighbor 10.1.1.1 prefix-list tenonly out
   in prefix-list tenonly permit 172.16.10.0/8 le 16
  
  在这里从路由器 C 的角度来说,我有可能学到的路由是 172.16.0.0/16 172.16.11.0/24 172.16.10.0/24 ,但实际我只学到 172.16.0.0/16 这一条路由器,原因是, len-value 的值已经改为 16 ,即我只能学到掩码为 /8 /9 /10 /11 /12 /13 /14 /15 /16 的路由,在上面的三条路由中,符合条件的只有 172.16.0.0/16 ,所以路由器 C 只学到 172.16.0.0/16 这一条路由。
  
  第三种情况、在这个情况中,对路由器 A 做了如下配置:
   router bgp 65000
   aggregate-address 171.16.0.0 255.255.0.0
   neighbor 10.1.1.1 prefix-list tenonly out
   in prefix-list tenonly permit 172.16.10.0/8 ge 17
  在这里从路由器 C 的角度来说,我有可能学到的路由是 172.16.0.0/16 172.16.11.0/24 172.16.10.0/24 ,但路由器 C 只学到 172.16.11.0/24 172.16.10.0/24 这两条路由,为什么呢,这是因为这里 ge-value 的值为 17 ,它精确匹配前 17 位,前 19 位,前 20 位,一直可以精确匹配前 32 位,即从路由器 C 的角度上来看,我能说到路由器 A 中的 BGP 路由表中的掩码为 /17 /18 /19 /20 /21 /22 /23 /24 /25 /26 /27 /28 /29 /30 /31 /32 的路由,所以路由器 C 学到了两条路由: 172.16.11.0/24 172.16.10.0/24
  
  第四种情况、在这个情况中,对路由器 A 做了如下配置:
   router bgp 65000
   aggregate-address 171.16.0.0 255.255.0.0
   neighbor 10.1.1.1 prefix-list tenonly out
   in prefix-list tenonly permit 172.16.10.0/8 ge 16 le24
  在这里从路由器 C 的角度来说,我有可能学到的路由是 172.16.0.0/16 172.16.11.0/24 172.16.10.0/24 ,路由器 C 能从路由器 A BGP 路由表中学到掩码为 /16 /17 /18 /19 /20 /21 /22 /23 /24 的路由,以上三条路由都符合条件,所以都被路由器 C 学到了。
  
  第五种情况、在这个情况中,对路由器 A 做了如下配置:
   router bgp 65000
   aggregate-address 171.16.0.0 255.255.0.0
   neighbor 10.1.1.1 prefix-list tenonly out
   in prefix-list tenonly permit 172.16.10.0/8 ge 17 le24
  
  在这里从路由器 C 的角度来说,我有可能学到的路由是 172.16.0.0/16 172.16.11.0/24 172.16.10.0/24 ,路由器 C 能从路由器 A BGP 路由表中学到掩码为 /17 /18 /19 /20 /21 /22 /23 /24 的路由,以上三条路由中只有 172.16.11.0/24 172.16.10.0/24 符合条件,所以路由器 C 学到了 172.16.11.0/24 172.16.10.0/24 这两条路由。

你可能感兴趣的:(职场,Cisco,路由器,路由,休闲)