BGP路由黑洞的产生原理及解决方案和配置

出现的问题:

一)R1上面有7.7.7.0/24的路由,但是ping 7.7.7.7不可达。(R7同样)

现在查看R1的路由表

r7#sh ip route

B       1.1.1.0 [20/0] via 5.5.5.5, 00:02:54 //为节约篇幅未完整显示

可见R7学到了R1的路由,从表面上看这个实验很完美,达了目的, 然而这时问题出现了,作个测试,在R7上PING R1

r7#ping 1.1.1.1

Type escape sequence to abort.

Sending 5, 0-byte ICMP Echos to 7.7.7.7, timeout:

.....

这究竟是怎么回事呢?原来,我们在R5上关闭了同步,这时它会将一条并没有优化的路由传送给R7,当R7要发向R1发包时,它看到R5是它的下一跳,于是将包发给R5,然后R5又查看它的路由表,发现到R1的下一跳是R2,并继续查找,发现在通过R3可以达到R2,于是它将数据送给R3,这时问题出现了,因为R3没有运行BGP,它不知道R1怎么走,于是它将数据包丢弃,从而造成路由黑洞。由此可见,BGP与IGP同步的重要性,什么是同步?在上一篇我已经提到了,不再多阐述。(同理R1无法访问R7,但有R7的路由条目)

解决方案

一)FULL MESH

建立R2,R3,R5的全互联的BGP关系。全互联要求建立n*(n-1)/2个邻居关系,当路由器很多的时候,这个显然是不合适的。

虽然理论如此,但是在路由器很少的时候,还是很有效果的,使用的技术也没有多少。

为物理上的“串形链路”建立逻辑上的“全互联”Full Mesh

配置如下:

R2:

neighbor 3.3.3.3 remote 200

neighbor 3.3.3.3 update-source loopback 0

neighbor 3.3.3.3 next-hop-self

neighbor 5.5.5.5 remote 200

neighbor 5.5.5.5 update-souce loopback 0

neighbor 5.5.5.5 next-hop-self

R3:

neighbor 2.2.2.2 remote-as 200

neihgbor 2.2.2.2 update-source loopback 0

neighbor 5.5.5.5 remote-as 200

neighbor 5.5.5.5 updata-source loopback 0

R5:

neighbor 2.2.2.2 remote-as 200

neighbor 2.2.2.2 update-source loopback 0

neighbor 3.3.3.3 remote-as 200

neighbor 3.3.3.3 update-source loopback 0

时间: 2016-02-07

BGP路由黑洞的产生原理及解决方案和配置的相关文章

自制MPLS解决路由黑洞实验

  利用mpls解决BGP路由黑洞配置命令全解析 --By Jim 什么是BGP路由黑洞? BGP规定无论路由器是否启动bgp都要无条件地转发BGP消息和更新包(凌驾于IGP之上),违背了IGP"非igp路由器阻断igp域"的原则,因而辗转造成了BGP路由器"居然ping不通路由表中的条目"的现象,也就是所谓的路由黑洞.   本实验用gns3模拟器3640路由器完成,笔者将配置全拷贝,读者按图搭建拓扑后直接右击复制命令行即可完成实验.   实验拓扑:       第

如何使用 Quagga BGP(边界网关协议)路由器来过滤 BGP 路由

在之前的文章中,我们介绍了如何使用 Quagga 将 CentOS 服务器变成一个 BGP 路由器,也介绍了 BGP 对等体和前缀交换设置.在本教程中,我们将重点放在如何使用前缀列表prefix-list和路由映射route-map来分别控制数据注入和数据输出. 之前的文章已经说过,BGP 的路由判定是基于前缀的收取和前缀的广播.为避免错误的路由,你需要使用一些过滤机制来控制这些前缀的收发.举个例子,如果你的一个 BGP 邻居开始广播一个本不属于它们的前缀,而你也将错就错地接收了这些不正常前缀,

BGP路由反射器配置

BGP是用来连接Internet上独立系统的路由选择协议.它是Internet工程任务组制定的一个加强的.完善的. 可伸缩的协议.BGP4支持CIDR寻址方案,该方案增加了Internet上的可用IP地址数量.BGP是为取代最初的外部网关协议EGP设计的,也被 认为是一个路径矢量协议. 反射器 配置过程如下:Router A,B,C为AS 100,其中RotuerB为路由反射器.498)this.w idth=498;' onmousewheel = 'javascript:return big

BGP路由与核心路由表关系

BGP default-information originate function testing report 1, Requirement description This Testing need check MAIPU and CISCO BGP default-information orginate compatible with each other or not. 2, Testing topology 3, Testing configuration MP3840: inte

ARP病毒入侵原理和解决方案_漏洞研究

解决ARP攻击的方法       [故障原因]   局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序).   [故障原理]   要了解故障原理,我们先来了解一下ARP协议.   在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的.ARP协议对网络安全具有重要的意义.通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞.   ARP协议是"Address Resolution Protoc

BGP路由汇总、协议默认路由以及关键问题验证

一 关键问题表述 (一)ACL怎样匹配子网相同,掩码不同的路由条目?如何匹配掩码相同,子网不同的条目? (二)汇总路由为什么可能导致BGP邻居的翻滚? (三)使用attribite-map时,acl为什么无法匹配路由条目? (四)怎样使用advertise-map,suppress-map,unsuppress-map,attribute-map,以及route-map五中路由图?给出实例. (五)路由过滤的两种方案分别是? (六)BGP产生协议默认路由的两种方式. 问题一:使用"标准ACL&q

BGP路由反射器概述

为了在AS内部防止环路,"IBGP对等体不允许对外宣告学习自其它IBGP对等体的路由",所以要求IBGP邻居全互联.这就意味着在AS内需要建立n(n-1)条IBGP连接.路由反射器为全互联通过了一种可选的替代方案. 反射规则: 为了防止可能出现的路由环路和路由差错,要求路由反射器不得更改其从客户接收到的路由的属性,并且使用ORIGINATOR_ID和CLUSTER_LIST属性防止环路的出现.(RFC2796定义了Originator_ID属性和Cluster_List属性) Orig

BGP路由的优化

你如果拥有多个互联网连接,就会知道仅仅简单使用边界网关协议(Border Gateway Protocol,BGP)很难得到最优的路由路径.在这点上,没有电信网络的7号信令系统精妙(Signaling System 7,SS7).作为电讯网络的控制面,SS7在一次通话建立之前能够决定出最好的路径.互联网上没有这样的控制面,虽然BGP也能决定路由(这点与SS7相似),但它不是总能选择最好的路径.BGP在不打断内部或外部用户的情况下让边缘路由器通过一个首选的连接传输业务,如果首选连接失败则通过次选连

【DBA及开发必备】全解ORA-1555快照太旧错误原理及解决方案

不论你的工作是管理Oracle数据库,还是开发.维护Oracle上的应用程序,通常来讲你都遇到过ORA-01555:snapshot too old这样的错误.本文为你详解错误产生的原因以及最佳解决方案.  ORA-01555产生的过程   我们先来看看ORA-01555是怎样产生的: 错误记录在哪?   通常,这个错误可能会在以下文件中出现: 1 Alert 告警日志文件  报错信息类似: ORA-01555: snapshot too old: rollback segment number