雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2148|回复: 5

[讨论/求助] BGP Deaggregation(BGP拆分)概念及实现

[复制链接]
发表于 2013-1-6 17:40:42 | 显示全部楼层 |阅读模式
BGP Deaggregation(BGP拆分),这是一个比较冷门的知识点,但却也是个特别有意思的特性。CISCO有专门的文档描述这个特性:http://www.ciscopress.com/articl ... 169556&seqNum=3。《BGP设计与实现》中文版书籍中有关于该功能的介绍,但是个人感觉翻译的挺坑爹,这里我将相关的文档做了整理,分享给大家。

============================================= 2013 走着~

    BGP Deaggregation,也称为BGP拆分。路由汇总(Aggregation)我们都知道是什么概念,路由汇总的优势是非常明显的,可以减少路由表的条目从而优化网络,但是同时却也丢失了邻居传递来的路由的精确性,对于汇总前的明细路由我们就一无所知了。那么拆分可以理解为汇总的逆向动作,当我收到一条汇总路由的时候,可能基于某种目的,我希望从汇总路由中抽出特定的明细路由,以此来加强路由的颗粒度,当然这条明细是依赖汇总路由而存在的。
    拆分可以通过使用条件注入(conditional injection)来完成,所谓的conditional injection指的就是,当特定的汇总路由存在时,我可以生成其下属的特定明细,这些明细路由将被注入到本地BGP RIB(本地路由表也会加载明细路由信息),以便在本地AS中提供比汇总路由更详细的路由选择信息(更长的前缀)。

Conditional inject的配置如下(BGP路由选择进程模式下):

bgp inject-map map1 exist-map map2 [copy attributes]                    

上述命令的意思是当map2所匹配的汇总路由正常时,在本地BGP RIB中注入map1中定义的明细路由。当汇总路由挂掉,这条明细也就跟着消失,这就是所谓的条件注入—conditional injection。下面我们在看来一下这两个route-map的详细内容,这些是需要格外注意的。

  • exist-map使用的route-map最少具有以下两个match语句:

       match ip address prefix-list
       上面这条match语句用来匹配汇总路由
       match ip route-source
       上面这条match语句用来匹配发送该汇总路由的邻居IP。如果指定了copy attributes选项,那么被inject的明细路由会继承汇总路由的路径属性,否则明细将被当成本地生成的路由。
  • Inject-map使用的route-map中

       Set ip address prefix-list
       上面的这条set命令用来定义将被注入到本地BGP RIB的明细路由。被注入的前缀可以使用
       Show ip bgp injected-path来显示

下面,我们来看一个示例:


看看上面的拓扑,AS300中有子网路由172.16.1.0/24,AS400中有路由172.16.2.0/24。
这些子网路由在传递到AS200后,由R4及R5做路由汇总,汇总路由被传递给AS100。这时候R1如果要去往172.16.1.0及2.0子网,可能就是走一侧,要么走R2,要么走R3,这当然不是最优的实现方式,我们希望看到R1去往1.0子网走R2,去往2.0子网走R3,那么实现的思路就是在R2及R3上部署BGP deaggregation,由R2向AS100注入条件明细172.16.1.0/24,R3注入172.16.2.0/24,同时,为了防止这两个conditional子网路由回流造成不可预估的影响,我们同时为这两条路由分配两个community值,1个是no-export,另一个是100:200,其中100就不说了,AS200表示,这条conditional路由是针对AS200的。

R2的配置如下:
ip prefix-list huizong permit 172.16.0.0/16   //用来匹配汇总路由
ip prefix-list mingxi permit 172.16.1.0/24    //用来定义准备注入的条件前缀
ip prefix-list xiayitiao permit 10.1.24.4/32  //用来匹配传递给我汇总路由的BGP邻居,这里是R4的IP
route-map RP_mingxi permit 10
  set community 100:200 no-export             //100:200表示这是针对AS200的
  set ip address prefix-list mingxi
route-map RP_huizong permit 10
  match ip address prefix-list huizong
  match ip route-source xiayitiao
router bgp 300
  bgp inject-map RP_mingxi exist-map RP_huizong copy-attributes
  neighbor 10.1.23.2 remote-as 200

R3的配置大同小异。




红茶三杯(朱SIR)
网络工程 | 项目管理 | IT服务管理 | CCIE培训
沉淀 提升 成长 分享
微博:http://weibo.com/vinsoney
博客:http://blog.sina.com.cn/vinsoney



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2013-1-6 22:41:02 | 显示全部楼层
哈哈,终于抢到耿叔的沙发了还是第一个,太爽了,向耿叔致敬,同志们敬礼!
发表于 2013-1-8 08:59:32 | 显示全部楼层
向无私奉献的耿爷致敬~~~客套话不多说啦,哈哈
发表于 2013-1-8 15:40:15 | 显示全部楼层
BGP路由拆分,学习了。
之前主要是学习路由汇总。
BGP的汇总也是挺有特色的!
现在通过耿叔的分享,又了解了路由拆分,不错~
感谢耿叔的整理和分享!
发表于 2013-1-9 18:27:33 | 显示全部楼层
耿叔辛苦啦
发表于 2013-10-16 17:13:15 | 显示全部楼层
感谢,感谢,感谢,感谢,感谢,感谢,感谢,感谢,感谢,感谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-5-2 21:25 , Processed in 0.085910 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表