统一的IMC网管部署对全局路由的优化调整(二)
02

 BGP的Community属性

 

BGP的Community属性又叫做“团队属性”,它属于“可选可传递”的属性。在BGP的路径属性中,它不是用于路径选择,而是用于路由过滤的属性。BGP Community等于是给路由条目加上一个标记(TAG),对方BGP设备收到这条带Community的路由后,会根据策略决定是否接收这条路由。可以说,BGP Community是专门用于BGP的Route-TAG。

 

虽然用前缀列表和Route-map就已经可以配置BGP的路由过滤了,但是使用BGP Community能够实现更加灵活,需求也更加复杂的路由过滤。

 

2.1  BGP Community的分类:

先区分了标准Community和扩展Community,然后再看这个Community属性是预定义的还是自定义的。

预定义的Community(也叫做“众所周知的Community”)能够被所有的BGP路由器识别,它必须采用固定的格式和参数。

在本案例中,为了防止一级骨干A网AS 64810和一级骨干B网AS 64880的路由通过二级骨干网打通,AS 64810和AS 64880的路由,在传递给二级骨干网(比如是AS 64811)时,就设置了no-export属性。

AS 64810、AS 64880的ASBR上将本地始发的路由带上no-export

 

AS 64811收到来自AS 64810的公网路由,发现有no-export属性,就不再把它传递给AS 64880了。

 

AS 64811收到来自AS 64880的公网路由,发现有no-export属性,就不再把它传递给AS 64810了。

 

no-export属性需要将路由传递一跳以后才会生效。

 

体现在配置命令上,一级骨干A网AS 64810上针对二级骨干AS 64811是这样配置的:

在二级骨干ASBR上,可以看见这条路由携带了no-export Community属性,则这条路由将不会再发布到其他AS里面了。

 

众所周知的Community都在第二跳路由器上生效。而且这种Community属于强制生效,路由收到了带众所周知的Community的路由以后,就会立刻生效。

2.2、自定义的Community

 

自定义的Community也叫“私有Community”,就是用户给路由打上的一个“标记”。

 

私有Community的类型是十进制数字,默认长度是32bit。一般遵循的私有Community的格式为AS:nn格式,即16bit的AS号码(0–65535)加上16bit(0–65535)的任意整数。Cisco设备显示私有Community模式不是AS:nn格式,必须要在全局模式下输入ip BGP-Community New-Format命令才能让私有Community显示为AS:nn格式。

 

我们可以用Cisco模拟器,给大家做一个简单的实验来理解这个自定义的Community

如图所示:R1、R2、R3各自在单独的AS,它们的LoopBack地址是10.1.1.1/32、10.2.2.2/32、10.3.3.3/32。

 

使用物理接口作为BGP更新源,让R1、R2、R3之间建立eBGP邻居

 

在R1、R2、R3上重分发直连路由,让它们都能收到对方的Loopback接口地址。

 

以私有Community的设置方式。在R3上将10.3.3.3/32设置私有Community,属性值是300:3。在R2上过滤掉带有300:3标记的路由。

在R3上让10.3.3.3/32携带Community属性的配置方式:

在R2上查看到的10.3.3.3/32这条路由,确实携带了Community属性,但为什么是19660803这样一段看起来“毫无意义”的整数呢?

 

要让私有Community属性显示为AS:nn的格式,要在R3和R2的全局模式下输入一条命令:

ip bgp-community new-format

 

如果你不改私有Community的显示格式,是不会影响到Community的过滤效果的,但它不便于记忆和查看,所以还是建议大家修改私有Community的显示格式。

自定义Community(私有Community)只是给BGP路由打了一个AS:nn的标记发送给对方,如果对方设备上不做相应的接收处理,也没法达到路由过滤的功能。

 

所以,自定义Community和预定义Community不同的地方就在于:预定义Community发送给对方后,Community的过滤功能会立刻生效;而自定义Community需要在接收设备上配置Community-List来针对Community属性进行过滤。

如果要在R2上拒绝带有300:3标记的路由,配置的方式是这样的

使用Community属性来过滤路由,虽然设置起来相对prefix-list要复杂一些,但是使用Community属性效率更高,控制力度更强,防止路由从后门回灌的效果也更好,所以Community属性在实际应用中非常广泛。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇