Technorati 标签: BGP,配置,CCIE,CCNP,实验

该文档涉及的命令有:

bgp fast-external-fallover

bgp cluster-ID x.x.x.x/xxxx

3-4 bgp fast-external-fallover

BGPfast external fallover特性为默认启用的。当用来建立BGP连接的接口失效的时候该特性会促使BGP路由器即刻中断bgp对话.如果接口频繁震荡该特性会引发网络的不稳定这是因为bgp状态将会在IDLEestablished状态之间来回切换从而导致BGP updatewithdraswn消息泛滥。如果路由器的接口频繁震荡的话,可以率使用该命令的no形式,关闭该特性.

说了那么多。我个人的理解就是bgp fast-external-fallover这个特性是系统默认启动的当邻居频繁的震荡的时候可以关闭这个特性当关闭之后不管对端的接口邻居是什么状态本地的bgp邻居始终会师established状态直到bgp holdtime超时以后邻居才会down掉。

减少网络震荡对于大型或者超大型网络是相当重要的,稍微的失误就会导致路由器的资源耗尽从而产生严重事故.

对于这个特性,首先我们来看结果,然后我验证一下我心中所想的工作原理:

在该拓扑中,R1和R2的配置为:

R1路由器

R1#sh run | be router bgp

router bgp 100

no synchronization

bgp log-neighbor-changes

network 1.1.1.1 mask 255.255.255.255

neighbor 172.17.1.2 remote-as 200

no auto-summary

R2路由器

R2#sh run | be router bgp

router bgp 200

no synchronization

bgp log-neighbor-changes

network 2.2.2.2 mask 255.255.255.255

neighbor 172.17.1.1 remote-as 100

no auto-summary

在正常情况下,当两边都建立好了EBGP邻居以后,如果在R1上面shutdown interface f0/0,那么两边的邻居都会从established状态回到IDLE状态。

下面来看一下R1的情况:

现在在R1上面将bgp fast-external-fallover no掉看看情况:

然后再来做同样的实验:

这就是命令bgp fast-external-fallover的功能.

当遇到网络频繁的震荡以后,进行故障排查是需要时间的,那么这个时候希望对于网络造成最小的影响,首先应该把这个命令no掉,然后这样来争取最多的时间找到问题的原因。

不过,这里有一个问题.就是当接口down下去了以后,本端是否会发nitification 给对端,最后造成的结果是本端的邻居不受影响,而对端的邻居却down了呢?

答案显示不是这样的。我已经做了实验进行验证了打开debug ip bgp events以后在本端打开no bgp fast-external-fallover以后shutdown接口这个时候本端bgp不会发送任何notification消息给对端这样也就造成了本端的bgp邻居不会down对端的bgp邻居也不会down掉。

当把本端的接口up起来以后,也不户发送任何update消息给对端。这样两边的邻居就会在老化时间之内持续的up起来,并且由bgp学到的路由也会存在在bgp数据库中,但是接口已经down了,show ip route的时候[B]的路由肯定是不会有的了。因为接口都已经down了。

这个感觉,就好像只要使能no bgp fast-external-fallover以后,在holdtime内,没有任何的update/Notification...让邻居慢慢的老化去吧....

3-2 bgp client-to-client reflection

路由反射器(Route Reflector:

路由反射器让被配置为路由反射器的路由器向其他IBGP对等体传输由IBGP所学到的路由来修改BGP的横向隔离规则,如果没有路由反射器,那么需要在AS内部每一个IBGP邻居形成full-mesh的结构。对于运维成本来说相当不科学.

路由反射器的优点:

配置了BGP路由反射器,就不再需要全互连的IBGP对等体。路由反射器被允许向其它IBGP对等体传输IBGP路由。当内部邻居命令语句数量过多时,I SP就会采用路由反射器技术。路由反射器通过让主要路由器给它们的路由反射器客户复制路由更新来减少AS内BGP邻居关系的数量(这样可以减少TCP连接)。

路由反射器不影响IP数据包所要经过的路径;只有发布路由信息的那条路径受影响。如果路由反射器没有被正确配置,那么将可能产生路由环路。

路由反射器的术语:

路由反射器:是被配置为允许它把通过IBGP所学到的路由通告(或反射)到其他IBGP对等体的路由器。

集群:路由反射器出其它客户的组合;

客户:路由反射器和其他路由有部分IBGP对等关系的这些路由器

非客户:不是路由反射器的客户的其他IBGP的对等体;

在BGP-4配置手册中,第58页,感觉没有说清楚,和同事讨论也不知道书上想说个啥意思,唯一看明白了就是当2个RR配置为互为冗余的时候,cluster-ID需要一致。

================================================================================

在网络上找到了强人的笔记,是这样描述的:

关于BGP originator-id  cluster-list id 属性

这两个属性是用于BGP路由反射器RR防止环路用的。

originator-id是当RR收到客户或是非客户的路由信息放射给他的其它客户时加上originator-id属性一般是对端的BGP router-id. 当路由器收到是originator-id是自己的话就把路由信息给丢弃来达到防止环路的目的。

originator_id属性只有当RR从客户端学到路由信息向其它客户端反射路由时才会加上来防止环路。

cluster-list属性有点类似于AS-PATH属性它在存在路由放射组的时候用。当两台RR互为客户时当一台RR向另外一台RR放射路由时会加上cluster-list属性一般是自己的cluster id号来填充。如果RR收到路由信息的cluster-list属性与自己的cluster id一致的话,就把此路由信息丢弃,来达到防止环路的目的。

■双RR做冗余备份案例:

在这里图中,R2和R3为两台相互备份相互冗余的RR--路由反射器.(配置会随后附上)

R4和R2/R3建IBGP邻居.

R5和R2/R3建IBGP邻居.

R2和R1/R4/R3/R5建IBGP邻居,cluster-ID为1.

R3和R1/R4/R2/R5建IBGP邻居,cluster-ID为1.

R1和R2/R3建IBGP邻居。

那么这个时候,可以看到在R2上面,关于100.100.100.0的bgp数据库中只有一条信息:

对于R2来说,按理来说,RR-2-R3应该也有一个100.100.100.的路由要传递过来,但是因为两个RR的cluster ID配置的是一样的,根据bgp的路由反射器的这个原则,收到了相同的cluster ID的路由需要丢掉以免成环。

对于R3来说也是一样,R3上面这个RR,到100.100.100.0的网络,也只有下一跳是2.1.1.1的路由在bgp数据库中。

在R4和R5上面,2条路由都有:

这个就是同AS内双RR互为备份的例子。我们可以看到,在R4上面(R5也一样),最优的路由是下一跳为1.1.1.1(因为这里没有在两个路由反射器上用next-hop-self的命令),实际走的是R2,也就是说在这个实例中,R2作为主用RR,R3作为备用的。

为什么呢?就是前面所提到的bgp的选路原则,已经逼到最后一步了,比两个RR哪个router-ID小,上面是7.1.1.1,下面是5.1.1.1,自然就走5.1.1.1。

各个路由器主要配置如下:(可以参考拓扑图核查配置)-----BGP部分的关键配置,基本IGP和接口配置这里忽略.

R1配置

router ospf 1

log-adjacency-changes

network 0.0.0.0 255.255.255.255 area 0

!

router bgp 100

no synchronization

bgp log-neighbor-changes

network 100.100.100.0 mask 255.255.255.0

neighbor 1.1.1.2 remote-as 100

neighbor 2.1.1.2 remote-as 100

no auto-summary

R2配置

router ospf 1

log-adjacency-changes

network 0.0.0.0 255.255.255.255 area 0

!

router bgp 100

no synchronization

bgp cluster-id 1

bgp log-neighbor-changes

neighbor 1.1.1.1 remote-as 100

neighbor 1.1.1.1 route-reflector-client

neighbor 3.1.1.2 remote-as 100

neighbor 4.1.1.2 remote-as 100

neighbor 4.1.1.2 route-reflector-client

neighbor 5.1.1.2 remote-as 100

neighbor 5.1.1.2 route-reflector-client

no auto-summary

R3的配置

router ospf 1

log-adjacency-changes

network 0.0.0.0 255.255.255.255 area 0

!

router bgp 100

no synchronization

bgp cluster-id 1

bgp log-neighbor-changes

neighbor 2.1.1.1 remote-as 100

neighbor 2.1.1.1 route-reflector-client

neighbor 3.1.1.1 remote-as 100

neighbor 6.1.1.2 remote-as 100

neighbor 6.1.1.2 route-reflector-client

neighbor 7.1.1.2 remote-as 100

neighbor 7.1.1.2 route-reflector-client

no auto-summary

R4的配置

router ospf 1

log-adjacency-changes

network 0.0.0.0 255.255.255.255 area 0

!

router bgp 100

no synchronization

bgp log-neighbor-changes

neighbor 5.1.1.1 remote-as 100

neighbor 6.1.1.1 remote-as 100

no auto-summary

R5的配置

router ospf 1

log-adjacency-changes

network 0.0.0.0 255.255.255.255 area 0

!

router bgp 100

no synchronization

bgp log-neighbor-changes

neighbor 4.1.1.1 remote-as 100

neighbor 7.1.1.1 remote-as 100

no auto-summary

上面是说的同一个AS双RR做冗余的情况,下面就是双RR做负载分担的情况:

■当R2R3cluster-ID不同的时候

上面我们已经提到过,bgp的原则就是,当本端的路由反射器收到了从对端发送过来的bgp路由携带了相同的cluster-id的时候,那么这条路由会被丢弃掉。

因为怕环路的产生.

上面我们也说过,当R2上面去看bgp数据库的时候就一条 达到100.100.100.100。

如果把R2和R3的cluster-id修改得不一样,实际上每个路由反射器都会把自己认为最优的路由发送给对端。

R2和R3现在设置不同的cluster-id,再到R2上面看看:

在R3上面也有2条路由在BGP数据库中:

对于R2和R3,配置只是修改了cluster ID是不同的而已....

这就是BGPcluster-ID的特性。拿来做冗余的。一个很实用的备份功能,当clusterID相同的时候,本地收到对端bgp邻居发送过来的路由如果携带了相同的cluster-id,直接丢弃.避免环路。



本文转自 hny2000 51CTO博客,原文链接:http://blog.51cto.com/361531/708582


03-2 BGP专有命令--BGP命令与配置手册相关推荐

  1. 华为设备配置BGP/MPLS IP 虚拟专用网命令

    [Huawei]bgp 100 //进入BGP视图 [Huawei-bgp]peer 10.1.1.1 as-number 100 //将对端PE配置为对等体 [Huawei-bgp]peer 10. ...

  2. 概述、 BGP AS 、BGP 邻居、 BGP 更新源 、BGP TTL 、BGP路由表、 BGP 同步

    系列文件 BGP(Border Gatreway Protcol)边界网关路由协议 BGP基本配置 BGP实战拓扑 外部BGP基础配置 内部BGP邻居 EBGP基本配置 CCNP综合实验拓扑 文章目录 ...

  3. BGP进阶:BGP 综合实验一

    BGP路由优选规则 BGP是一个应用非常广泛的边界网关路由协议,被部署于大型的网络环境中.它能够支持大规模的网络,能够运载IP骨干网络中大批量的路由前缀并且在AS之间灵活的传递.BGP拥有丰富的路径属 ...

  4. HCIP第十二天(BGP黑洞、防环、配置)

    目录 1.BGP的路由黑洞 解决方案: 2.BGP的防环机制 3.BGP的基本配置 BGP邻居建立过程 IBGP对等体环回建邻 EBGP对等体环回建邻 BGP的路由发布 OGN:起源码 4.BGP路由 ...

  5. BGP路由之BGP选路规则

    BGP路由之BGP选路规则 一. BGP路由之BGP选路规则 1. 分类 2. BGP选路原则 3. BGP属性选路配置 3.1 根据local-prefernce控制选路( 越大越优) 3.2 使用 ...

  6. “网络巨轮”BGP的高级装备(增强配置)

    引入 如下图在很多时候,BGP建立对等体的时候,要去建立大量的EBGP和IBGP对等体,IBGP还要全连接,这就给我们带来了大量重复的工作,路由表就会变得很庞大,区域内和区域之间就会很难管理,以下这些 ...

  7. shell特殊符号cut命令 sort_wc_uniq命令 tee_tr_split命令 shell特殊符号

    1. 特殊符号 * 任意个任意字符 *代表零个或多个任意字符 ? 任意一个字符 ?只代表一个任意的字符 # 注释字符 表示注释说明,即#后面的内容都会被忽略 \ 脱义字符 这个字符会将后面的特殊符号 ...

  8. su命令\sudo命令\限制root远程登录

    3.7su命令 [root@MOMOCO-02 ~]# whoami root [查看当前的用户] [root@MOMOCO-02 ~]# su - user01 上一次登录:三 12月 27 15: ...

  9. 最完整的dos命令字典,IIS服务命令,FTP命令

    https://www.cnblogs.com/accumulater/p/10670051.html(优秀博文) 一.最完整的dos命令字典 net use ipipc$ " " ...

最新文章

  1. gitlab提交合并_notification - 如何把gitlab项目中的提交、PUSH、合并请求的通知发送到邮箱...
  2. wandb: 深度学习轻量级可视化工具入门教程
  3. Docker Centos 7.X部署Mysql并修改编码
  4. Freeswitch之ASR(语音识别)总结大全
  5. 性能压测工具选型对比
  6. 配置WIN2003远程桌面的客户端连接数
  7. C++ string字符串的增删改查
  8. 阿里云大学python教程下载_阿里大学开放 11 门免费 Python 视频课程
  9. 中国唯一入选 Forrester 领导者象限,阿里云 Serverless 产品能力全球第一
  10. rootkit后门检测工具rkhunter
  11. Unity笔记之切换鼠标图标样式、PSD格式文件导入Unity
  12. Attention U-Net笔记
  13. 理想RISO ORPHIS EX7250 打印机驱动
  14. Rust更适合经验较少的程序员?
  15. C++——NOIP模拟题——葫芦
  16. JAVA读取WORD,EXCEL,POWERPOINT,PDF文件的方法
  17. 华为hn–wx9x笔记本电脑_华为荣耀9怎样无线连接电脑。
  18. RFID智能书架,整理图书不再烦恼
  19. 学生免费领取阿里云ECS云服务器并使用全过程(部署个人博客项目)
  20. UnityShader案例篇—绘制雨滴

热门文章

  1. 超人类AI的幻想与思考:自下而上构建的自我迭代意识系统
  2. 德国颁发抄袭大奖,中国包揽前10名拿了大满贯!
  3. 马斯克:“星链”卫星已能提供服务
  4. IBM Watson大裁70% 员工,撕掉了国内大批伪AI企业最后一块遮羞布!
  5. 一文读懂2019年IT及大数据行业趋势
  6. 2017全球硬科技创新大会今日开幕 科技大腕聚集共绘西安“硬科技”发展蓝图
  7. “兼职开发的程序员,为什么不受企业待见?”
  8. 离职后竟半夜偷溜回办公室写代码?一个为自由软件而战斗的程序员
  9. ​10.24,华为鲲鹏要为程序员发福利!
  10. 无法启动MySQL数据库