BGP团体属性课堂笔记(共12页).docx
精选优质文档-倾情为你奉上我们首先根据“联盟拓扑”来了解“团体属性”: 什么是BGP路由的“团体属性”?我们可以为一个路由添加上任何一个community值,这样的话,以后再对这个路由进行控制的时候,就方便多了,就可以通过 community来控制,相当于之前 IGP 协议中的 TAG 标记; 如何来表示BGP的"团体属性" ? 在 BGP 更新报文中占用了4个字节;表示格式有两种,一种为新格式;一种为老格式; 新格式为: AS:nn;其中前面的 AS 为 AS 号;后面的nn为管理员为该路由任意设置的一个"团体值"; 老格式为:10进制数值;范围从 0 - ; 默认情况下,IOS使用的均为老格式的 community表示形式; 为了能在两种格式之间进行转换,让IOS支持新的格式,我们可以以下命令:Ip bgp-community new-format ( 全局配置模式下 ) 团体属性的分类:分为“公有团体属性”和“私有团体属性”! 公有团体属性-1、internet :说明该路由可以在internet网上任意的传输;2、no-export :将本路由不能传输到 本地的 AS(大的AS) 之外;3、no-advertise :收到这样的路由后,不能再向外通告了;4、local-as :当没有联盟时,和 no-export 相同;如果有联盟存在的话,那就是不能通告到“子AS”之外去;5、none:不携带任何的“团体属性”; 需要搞清楚的问题:如何设置community属性;通过 route-map,可以在宣告路由、发送路由、接收路由时候进行配置;如何添加community属性;通过 route-map,在路由的传递过程中修改&覆盖原来的 community,直接set community 456:4&增加原来的 community,直接set community 456:4 additive通过 route-map ,在刚刚进入 BGP的时候修改& 可以在 route-map中同时书写多个 set community,他们之间是共存的关系;不是相互覆盖;如果匹配community属性;通过团体属性列表-community-list;有两种表示方法,一种是通过ID来表示,一种是通过“命名”来表示;如果一个路由含有多个community属性,他们之间是什么逻辑关系; $当一个路由同时包含多个团体属性的时候,他们之间是或的关系。当我们在匹配时,只要匹配其中一个属性就可以了; 1:1 2:2 3:3 $ 当一个路由同时包含多个“公有”属性的时候,到底哪个属性生效呢?传输范围小的生效;如何传递community属性;默认情况下, community属性是不会随着路由一起传递出去的;除非我们使用 neighbor x.x.x.xsend-community命令,使该路由器再将路由发送出去的时候,同时也将“团体属性”发送出去。并且我们需要知道的是: community属性的传递是有绝对的方向性的; 团体属性在一个IOS中的表示;无论我们在IOS中使用 community老的格式,还是新的格式。这些格式都只是用来让人看的,在被IOS进行处理的时候,都是相同的。即均为2进制的格式;所以,我们在定义或者调用的时候,无论我们如何去书写。最后依然会变成该IOS当前使用的community的格式; Ipbgp-community new-format · 当我们更改一个BGP路由的现有 community属性时候,我们通过route-map来实现;$ set community 456:4 ->将原有的community属性全部覆盖掉,即该路由此时只有一个 community属性:456:4 ;$ set community 456:4 additive ->将该community值 456:4 ,添加到该路由的原来的 community属性中。即,如果该路原来的 community属性为:100:1,100:100,则应用策略之后,应该是:100:1,100:100,456:4;· 当我们更改一个 route-map的时候,先后配置的两个不同的set命令(都是set community value ) ,他们之间是同时并存,而不是相互覆盖;如:一个route-map实现为10.10.4.0/24添加 community属性 456:4 ; route-map COMMU permit 10match ip address prefix-list 4.0set community 456:4后来想增加另外一个属性:456:456,此时我们可以直接对原来的route-map进行操作:route-map COMMU permit 10set community 456:456 最后显示结果为:show route-map COMMU ->验证最后配置的 route-map ; route-map COMMU permit 10match clause :ip address prefix-list : 4.0set : community 456:4 456:456 (两者同时共存,而不是相互覆盖) 团体属性列表:ip community-list 分类:标准、扩展; 标准的团体属性列表:匹配的是特定的团体属性值(老格式和新格式均可),ID范围为 1 - 99 扩展的团体属性列表:匹配的是“正则表达式”,即通过正则表达式的方法来表示“团体属性字符串”,ID范围为 100 -500; 标准的团体属性列表:Ip community-list 10 permit 100:1 100:2 100:3 ->当多个团体属性在同一个团体属性列表条目时,他们之间是“与”的关系,即一个路由条目必须同时包含这些团体属性值,才可以匹配住; Ip community-list 20 permit 100:1Ip community-list 20 permit 100:2 ->如果这样来写的话,表示团体属性列表 20 中有两个条目,每个条目只匹配一个团体属性值,这两个条目之间的关系是“或”的关系!R3#Show ip community-list ->一个团体属性列表中的多个条目并不是通过“序列号”区分开的;而是按照先后顺序!Community standard list 20permit 100:1permit 100:2permit 100:3 联想:route-map中的match语句的书写;如果route-map的一个条目中,在一个match后面同时匹配多个属性,则这些属性之间是“或”的关系;如果route-map的一个条目中,同时存在多个 match 条目,则多个match条目之间属于“与”的关系;但是,匹配多个“团体属性列表”时,无论怎么写,在route-map中的最终的状态都是: route-map WOLF PERMIT 20 match community 1 2matchip address 99 扩展的团体属性列表:R3(config)#ip community-list 100 permit ? LINE An ordered list as a regular-expression ->扩展的团体属性列表是通过“正则表达式”来表示“团体属性”的! 注意: 每个BGP路由条目默认情况下,都是包含一个公有的团体属性:internet(虽然默认情况下不显示)在团体属性列表中,无论是标准的,还是扩展的,最后有一个默认的deny any ,即 deny internet 。所以,如果想放行其他的路由,一定得记得配置最后的permit any,即permit internet ;【permit <cr>也相当于 Permit internet ,结果相同】 删除其中任何一个条目的时候,都会将整个团体列表全部删除!这点与ACL相同!格外注意! 通过 community-list 进行过滤时,如果无法正常收发一个路由,则一定得考虑是否某一条列表中含有Internet;因为该属性比较特殊(任何一个BGP路由条目都包含该属性),所以要格外注意! BGP路由管理更改AD:distance命令,与IGP中的应用相同;更改metric:通过route-map更改 MED;分发列表前缀列表Route-mapfilter-listORF 注意: 当对同一个邻居同时通过上述的多种方式进行过滤时,他们之间的优先级如何? 入向策略:filter-list -> route-map -> distribute-list / prefix-list (优先级从高到低) 出向策略:distribute-list/prefix-list -> ORF -> filter-list / route-map (优先级从高到低) $针对同一个邻居的同一个方向,分发列表与前缀列表,只能使用一个;如果同时配置,会报错“不能同时共存”!$以上策略均是:在上一个策略过滤的基础上,再执行下面一个过滤策略; 如果我们调用了一个从来没有进行定义过的策略,该如何处理?distribute-list/prefix-list,则允许所有;filter-list / route-map ,则拒绝所有;专心-专注-专业