侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

2018-11-17 大型网络BGP技术 BGP Scaling Techniques

2023-03-25 星期六 / 0 评论 / 0 点赞 / 98 阅读 / 5598 字

在1990年以前,传统BGP技术我们感觉用的挺好,但之后互联网规模爆炸式扩张,有些问题必须得好好考虑了。比如:互联互通的PEER一般就那么几个,可是内网规模不断增长,怎么做好iBGP mesh?我要制

.

在1990年以前,传统BGP技术我们感觉用的挺好,但之后互联网规模爆炸式扩张,有些问题必须得好好考虑了。比如:
互联互通的PEER一般就那么几个,可是内网规模不断增长,怎么做好iBGP mesh?我要制定和实施新的路由策略,会不会对现网造成影响,是否会导致路由震荡甚至断网?都说网络要尽量简单,怎么才能既要网络稳定,又要扩张网络规模,这时候还能简单?

我们与一些机构进行了交流和总结,结论是,以下几种BGP技术在大型网络中表现出色: Route refresh; 思科的peer-groups;路由反射器和联邦(Route Reflectors and Confederations)。同时,建议弃用的有:Soft Reconfiguration; Route Flap Damping。

一、Route Refresh:
每次BGP policy更改都要reset BGP peer, 因为路由器不会存储哪些被当前策略reject的路由。但是如果使用Hard BGP peer reset,会导致BGP peering断开,CPU利用率升高,影响所有网络连接。因此使用Soft BGP peer reset,这样BGP peering不会中断,仅仅影响policy更改涉及的网络。
--BGP软清不会中断BGP连接;
--不需要额外配置,peer自动协商;
--不需消耗额外CPU;
--需要对端支持“route refresh capability” - RFC2918
--cisco请求对端重发BGP路由的命令:

clear ip bgp x.x.x.x [soft] in

--cisco重发BGP路由给对端的命令:

clear ip bgp x.x.x.x [soft] out

--记得一定要加 in / out
--硬清BGP是不得已的最后手段,效果等同于路由器重启Reboot
配置范例:

 router bgp 100   address-family ipv4      neighbor 1.1.1.1 remote-as 101      neighbor 1.1.1.1 route-map infilter in neighbor 1.1.1.1 soft-reconfiguration inbound ! Outbound does not need to be configured ! clear ip bgp 1.1.1.1 soft in 

二、Cisco's Peer Groups
Peer Groups解决了这几个问题:
--大型iBGP mesh配置繁琐
--iBGP邻居收到同样的更新
--路由器CPU浪费在重复计算上
应用peer-groups以后,Group peers可以应用统一的outbound策略,并且以group为单位发送更新。

实际操作中带来的好处实实在在,比如配置更简单,减少出错几率,提高配置文件可读性,peer的成员可以应用不同的inbound策略,甚至还能应用在eBGP邻居上。CPU的利用率也降低了,帮助我们更快的把iBGP mesh建起来。

iBGP配置范例:

 router bgp 100   address-family ipv4    neighbor ibgp-peer peer-group    neighbor ibgp-peer remote-as 100    neighbor ibgp-peer update-source loopback 0     neighbor ibgp-peer send-community    neighbor ibgp-peer route-map outfilter out     neighbor 10.0.0.1 peer-group ibgp-peer     neighbor 10.0.0.2 peer-group ibgp-peer     neighbor 10.0.0.2 route-map infilter in     neighbor 10.0.0.3 peer-group ibgp-peer!

eBGP配置范例:

 router bgp 100   address-family ipv4    neighbor external-peer peer-group    neighbor external-peer send-community    neighbor external-peer route-map set-metric out     neighbor 160.89.1.2 remote-as 200    neighbor 160.89.1.2 peer-group external-peer     neighbor 160.89.1.4 remote-as 300    neighbor 160.89.1.4 peer-group external-peer     neighbor 160.89.1.6 remote-as 400    neighbor 160.89.1.6 peer-group external-peer     neighbor 160.89.1.6 filter-list infilter in!

思科正在考虑用update-groups来替代peer-group,(IOS 内部coding已有体现,但是还不能实际进行配置),请看下面已经显示:“update-groups"

 Router1#sh ip bgp 10.0.0.0/26BGP routing table entry for 10.0.0.0/26, version 2Paths: (1 available, best #1, table default)    Advertised to update-groups:       1    Refresh Epoch 1    Local        0.0.0.0 from 0.0.0.0 (10.0.15.241)            Origin IGP, metric 0, localpref 100, weight 32768, valid...

截止目前,peer groups仍然被众多运营商认为“Best Practice”

这里有几条配置peer-group的原则:
1、总是为iBGP配置peer-groups
--即使只有少数iBGP peers
--易于未来扩展网络
--提高配置文档可读性
2、考虑eBGP配置peer-groups
--对同AS号的多个BGP客户配置特别有用 (RFC2270)
--在交换节点(exchange points)使用
--当每个peer的ISP策略大致相同的时候
--配置router server的时候。对于router server来说,要发给所有peer同样的路由更新

顺便帖一下Juniper的BGP groups配置

protocols {      bgp {            group ibgp {                  type internal;                  local-address 10.0.15.241;                  family inet {                      unicast;                   }                  export export-ibgp;                  peer-as 10;                  neighbor 10.0.15.242 {                        description ”Router 2";                  }                  neighbor 10.0.15.243 {                  description ”Router 3";                  }           ...etc...             }           } }

三、路由反射器 Route Reflectors,用于iBGP mesh
解决 1/2n(n-1) iBGP mesh问题,简单计算一下,14个路由器 full mesh会有91个iBGP sessions,而n=1000的时候就会有接近50万个iBGP sessions。

可以使用路由反射器 route reflector或者联邦 Confederation

未完待续……太晚了明天接着写

.

广告 广告

评论区