3.3BGP路由黑洞

题干:R1/R2/R3/R4运行ospf协议,R1和R4建立IBGP,并且BGP进程下宣告站点路由。

1,根据以上描述,当站点1的用户访问站点2的用户时会发生什么问题?请描述产生问题的设备和原因。(4分)
答:当站点1的用户访问站点2的用户时,会产生路由黑洞的现象,会导致站点1无法访问到站点2
原因如下:
AR2设备产生路由黑洞,由于AR1和AR4之间建立的是IBGP邻居关系,所以AR1和AR4之间通过IBGP协议来互相传递站点1和站点2的路由条目信息。由于AR2和AR3之间没有运行BGP协议,所以导致了AR2和AR3没有站点1和站点2的路由条目信息。当站点1访问站点2的时候,AR1收到了去往目标网络为站点2的数据报文,查询FIB表项,发现了下一跳路由为AR2设备,转发数据报文给AR2。AR2收到了目标网络为去往站点2的数据报文,查询FIB表项,发现不存在去往目标网络的路由条目,产生了路由黑洞,将去往目的站点2的报文丢弃,导致了站点1和站点2无法互相通讯。
需要注意的是,当站点1访问站点2的时候,数据流量是从站点1流向站点2的,此时产生路由黑洞的设备为AR2,如果站点2访问站点1的时候,数据流向是站点2流向站点1的,那么产生路由黑洞的设备为AR3,总之,以上两种数据流向都会导致站点1和站点2设备之间无法互访。
2.结合实际情况,在不使用静态路由和IGP协议的情况下,作为管理员,为解决第一问的问题,请给出3种合理的解决方案并阐述各方案的优劣(6分)
答:方案一:在IBGP对等体之间建立全互联的关系。
在当前环境下,通过AR1,AR2,AR3,AR4四台设备建立IBGP全连接,利用IBGP协议使得访问站点1和站点2的路由消息传递各个设备上,防止AR2和AR3产生路由黑洞,使得站点1和站点2能够互相访问。
步骤1:在AR1,AR2,AR3,AR4之间建立IBGP全连接关系
在AR1,AR2,AR3,AR4上启用IBGP协议,并建立IBGP全互联,使得AR1和AR2,AR3,AR4建立邻居;AR2和AR1,AR3建立邻居;AR3和AR2,AR4建立邻居;AR4和AR1,AR2,AR3建立邻居,具体操作如下:
AR1:
BGP 100
peer xxxx(AR2)as-number 100 //与AR2建立邻居关系
peer xxxx (AR2)connect-interface loopback0//指定发送BGP报文的更新源地址
peer xxxx(AR3)as-number 100 //与AR3建立邻居关系
peer xxxx (AR3)connect-interface loopback0//指定发送BGP报文的更新源地址
peer xxxx(AR3)as-number 100 //与AR4建立邻居关系
peer xxxx (AR)connect-interface loopback0//指定发送BGP报文的更新源地址
network 192.168.1.0 24 //在bgp进程下发布站点1的路由信息
AR2:
BGP 100
peer xxxx(AR1)as-number 100 //与AR1建立邻居关系
peer xxxx (AR1)connect-interface loopback0//指定发送BGP报文的更新源地址
peer xxxx(AR3)as-number 100 //与AR3建立邻居关系
peer xxxx (AR3)connect-interface loopback0//指定发送BGP报文的更新源地址
AR3:
BGP 100
peer xxxx(AR2)as-number 100 //与AR2建立邻居关系
peer xxxx (AR2)connect-interface loopback0//指定发送BGP报文的更新源地址
peer xxxx(AR4)as-number 100 //与AR4建立邻居关系
peer xxxx (AR4)connect-interface loopback0//指定发送BGP报文的更新源地址
AR4:
BGP 100
peer xxxx(AR1)as-number 100 //与AR1建立邻居关系
peer xxxx (AR1)connect-interface loopback0//指定发送BGP报文的更新源地址
peer xxxx(AR2)as-number 100 //与AR2建立邻居关系
peer xxxx (AR2)connect-interface loopback0//指定发送BGP报文的更新源地址
peer xxxx(AR3)as-number 100 //与AR3建立邻居关系
peer xxxx (AR3)connect-interface loopback0//指定发送BGP报文的更新源地址
network 192.168.2.0 24 //在bgp进程下发布站点2的路由信息
完成以上配置后,请等待一段时间,查看是否所有AR设备之间BGP邻居和路由全部正常,若没有问题,则执行下一步。

步骤2:在AR1,AR2,AR3,AR4设备上查看路由表条目是否正常。
在AR1,AR2,AR3,AR4上执行命令display ip routing-table 查看全局路由表中是否存在站点1和站点2的BGP路由条目,如果存在站点1和站点2的BGP路由条目
说明AR2和AR3的路由黑洞的问题不存在,此步骤主要查看AR2和AR3是否存在站点1和站点2的路由条目,AR1和AR4只是顺带看一下。
上述操作完成后,执行下一步。

步骤3:验证方案
站点1用户访问站点2用户的时候,AR1收到去往目的站点2的数据报文,查看FIB表,下一跳为AR2,于是向AR2转发数据报文,AR2收到此数据报文,查看FIB表,下一跳为AR3,于是向AR3转发数据报文,AR3收到此数据报文后,查看FIB表项,下一跳为AR4,于是向AR4转发数据报文,AR4收到此数据报文后,查看FIB表项,收到报文后最终转发至站点2,最终实现了站点1和站点2 的互访。

此方案的优点:在小型的网络环境中,配置简单,可以很好的解决bgp路由黑洞的问题,同时可以根据bgp的丰富的选路规则进行选路。
此方案的缺点:AS内BGP的网络可扩展性交差,运行BGP路由器需要维护大量的TCP连接,尤其在路由器数量较多的时候,假设在一个AS内部有n台设备,那么建立的IBGP连接数量就为n*(n-1)/2,当设备数目很多,设备配置将十分繁琐,而且消耗了CPU和系统资源。

方案一可选化:IBGP全互联并在IBGP对等体之间部署路由反射器
在在AR1,AR2,AR3,AR4上启用IBGP协议,将AR2指定为路由反射器,同时将AR1、AR3、AR4指定为客户机,并且AR1、AR3、AR4设备都与AR2之间建立IBGP邻居关系。
站点1和站点2的路由信息通过路由反射器AR2反射给所有的客户机,防止AR2和AR3产生路由黑洞,使得站点1和站点2能够互相访问。

步骤1:AR2为反射器,指定AR1、AR3、AR4为客户机,建立IBGP邻居关系。
命令如下:
AR2:
peer xxxx(AR1)as-number 100 //与AR1建立邻居关系
peer xxxx (AR1)connect-interface loopback0//指定发送BGP报文的更新源地址
peer xxxx(AR1)reflect-client //将AR1指定为路由反射器的客户机
peer xxxx(AR3)as-number 100 //与AR3建立邻居关系
peer xxxx (AR3)connect-interface loopback0//指定发送BGP报文的更新源地址
peer xxxx(AR3)reflect-client //将AR3指定为路由反射器的客户机
peer xxxx(AR4)as-number 100 //与AR4建立邻居关系
peer xxxx (AR4)connect-interface loopback0//指定发送BGP报文的更新源地址
peer xxxx(AR4)reflect-client //将AR4指定为路由反射器的客户机
AR1:
peer xxxx(AR2)as-number 100 //与AR2建立邻居关系
peer xxxx (AR2)connect-interface loopback0//指定发送BGP报文的更新源地址
network 192.168.1.0 24 //在bgp进程下发布站点1的路由信息
AR3:
peer xxxx(AR2)as-number 100 //与AR2建立邻居关系
peer xxxx (AR2)connect-interface loopback0//指定发送BGP报文的更新源地址
AR4:
peer xxxx(AR2)as-number 100 //与AR2建立邻居关系
peer xxxx (AR2)connect-interface loopback0//指定发送BGP报文的更新源地址
network 192.168.2.0 24 //在bgp进程下发布站点2的路由信息

步骤2:在AR1,AR2,AR3,AR4设备上查看路由表条目是否正常。
在AR1,AR2,AR3,AR4上执行命令display ip routing-table 查看全局路由表中是否存在站点1和站点2的BGP路由条目,如果存在站点1和站点2的BGP路由条目说明AR2和AR3的路由黑洞的问题不存在,此步骤主要查看AR2和AR3是否存在站点1和站点2的路由条目,AR1和AR4只是顺带看一下。
上述操作完成后,执行下一步。

步骤3:验证方案
站点1用户访问站点2用户的时候,AR1收到去往目的站点2的数据报文,查看FIB表,下一跳为AR2,于是向AR2转发数据报文,AR2收到此数据报文,查看FIB表,下一跳为AR3,于是向AR3转发数据报文,AR3收到此数据报文后,查看FIB表项,下一跳为AR4,于是向AR4转发数据报文,AR4收到此数据报文后,查看FIB表项,收到报文后最终转发至站点2,最终实现了站点1和站点2 的互访。

此方案的优点:AS内BGP网络的可扩展性好,组网灵活,可以有效的解决在大型网络中IBGP全互联的不足,同时可以有效的解决路由黑洞的问题此方案的缺点:路由反射器原理以及组网略显复杂,对实施人员的技术水平要求较高,同时在大型网络中路由反射器需要维护大量的TCP连接所以对路由表的承载能力和CPU的处理能力都要有一定的要求,如果路由反射器承担转发数据的任务,那么对接口板的规格也有一定的要求,导致部署成本提升。

方案二:在AR1和AR4之间建立GRE隧道
在AR1和AR4设备之间部署GRE隧道,当GRE隧道建立成功的时候,AR1和AR4之间建立IBGP,指定发送BGP报文的源接口为GRE tunnel 接口,并可指定发起连接时使用的源地址为GRE tunnel接口的IP地址。AR1和AR4之间IBGP邻居关系建立成功后,相互传递站点1和站点2的路由信息,并且路由信息的出接口为GRE tunnel 接口,下一跳为GRE tuneel接口的IP地址,当站点1和站点2访问的时候,AR1作为边界设备,收到数据报文后,进行GRE封装(封装了两个IP头部,第一个IP头为骨干网可达IP地址,第二个IP头部为目的IP地址),当数据报文被转发至AR2时,AR2和AR3虽然没有站点1和站点2的路由,但是骨干网络是可达的,所以可以转发报文,报文最终被转发至AR4,AR4解封装获得第二个IP的头部的目的地址,查询FIB表项并转发,所以站点1和站点2可以互访

步骤1:在AR1和AR4上创建GRE隧道。
已知题目说明AR1、AR2、AR3、AR4都运行了ospf协议,那么可以理解底层路由可达(包括loopback接口的路由),在AR1和AR4设备上创建GRE隧道,具体操作如下:
AR1:
interface Tunnel 0/0/1//创建tunnel接口
ip address 10.1.14.1 255.255.255.0 //配置IP地址
tunnel-protocol gre//配置隧道协议GRE
source 10.1.1.1//指定发送报文的实际接口的IP地址为AR1的loopback0接口
destination 10.4.4.4 //指定发送报文的实际接口的IP地址为AR4的loopback0接口
AR4:
interface Tunnel 0/0/1//创建tunnel接口
ip address 10.1.14.4 255.255.255.0 //配置IP地址
tunnel-protocol gre//配置隧道协议GRE
source Loopback0//指定发送报文的实际接口的IP地址为AR1的loopback0接口
destination 10.4.4.4 //指定发送报文的实际接口的IP地址为AR4的loopback0接口
上述操作执行完成后,查看GRE tunnel是否成功建立,可以通过ping测试两端的tunnel接口的IP,如果ping成功,则表示GRE隧道成功建立,执行下一步。

步骤2:在AR1和AR4设备之间建立IBGP邻居关系。
在AR1和AR4设备之间建立IBGP邻居关系,指定发送BGP报文的源接口为GRE tunnel接口,并可指定发起连接时候使用的源地址为GRE tunnel 接口的IP地址,具体操作如下:
AR1:
BGP 100
peer xxxx(AR4)as-number 100 //与AR4建立邻居关系
peer xxxx (AR4)connect-interface loopback0//指定发送BGP报文的更新源地址
network 192.168.1.0 24 //在bgp进程下发布站点1的路由信息
AR4:
peer xxxx(AR1)as-number 100 //与AR1建立邻居关系
peer xxxx (AR1)connect-interface loopback0//指定发送BGP报文的更新源地址
network 192.168.2.0 24 //在bgp进程下发布站点2的路由信息
上述操作执行完成后,查看BGP邻居是否建立成功,并查看BGP路由表中是否存在对端站点路由条目,确认无误,执行下一步。

步骤3:在AR1、AR4设备上查看路由表路由条目是否正常
在AR1、AR4执行命令display ip routing-table查看全局路由表中是否存在站点 1和站点2的BGP路由条目,并且下一跳指向对端隧道接口IP地址,出接口为GRE tunnel接口,如果存在,则可以表明站点1访问站点2的数据报文是使用GRE隧道封装转发额。
上述操作完成后,执行下一步。
步骤4:验证方案
站点1用户访问站点2用户时,AR1 收到去往目的站点2的数据报文,查FIB表,发现目的网段的下一跳为AR4隧道接口IP地址,出接口为GRE tunnel接口,于是进行GRE封装,在收到源IP报文头部之前添加GRE的头,在GRE的头部之前再添加新的IP头部≥新的IP头部源地址为AR1的 loopback接口IP地址目的地址为AR4的loopback接口ip地址,GER封装完成后,将数据包转发至AR2,AR2收到报文后,查FIB表,存在去往AR4的loopback接口路由,并转发至AR3,最后将数据包转发至AR4,AR4剥离GRE头部,查FIB,最终将数据包转发至站点2,实现了站点1和站点2的互访。
该方案的优点:
GRE是一种隧道技术,相比于其他隧道技术,GRE 实现机制简单,对隧道两端的设备负担小。在当前网络环境中,有效利用了原有的网络架构降低了部署成本。
该方案的缺点
GRE隧道技术是一种手工隧道,扩展性差,如果需要建立的GRE隧道很多,相对而言配置量也会增大,同时RE不支持加密和认证,相比其他隧道技术(IPsec VPN),数据的安全传输得不到很好的保障。

方案三:MPLS LSP隧道技术
在四台设备上部署MPLS和LDP协议,创建天然隧道。通过在四台设备上发布各自的环回口路由,并将PE的环回口作为BGP的下一跳。PE设备为自己的环回口路由作为Egress 创建LSP,P设备作为transit为PE的环回口路由创建LSP。根据标签控制方式的有序性,创建了一条天然LDP LSP。

步骤1:在AR1,2,3,4上创建LSR-ID并在全局和接口下开启MPLS和MPLS LDP功能。
具体操作如下:配置命令:
在R1/R2/R3/R4设备上执行以下命令:
mpls Isr-id x.x.x.x//为设备创建MPLS的LSR-ID
mpls//开启MPLS功能
mpls ldp //开启MPLS LDP功能
lnt G0/0/x //进入MPLS域的接口
mpls//开启接口MPLS功能
mpls ldp//开启接口MPLS LDP功能

上述操作完成后,查看MPLS LDP邻居及LSP隧道是否成功建立,可以通过 display mpls ldp peer在设备上查看LDP邻居状态是否为operational。可以通过在ingress设备上 display mpls lsp查看FEC标签隧道是否正常(如图中R1和R4的 loop 口),如果状态及隧道建立正常,请执行下一步

步骤2:在R1和R4上配置route recursive-lookup tunnel使能迭代隧道功能。

在R1和R4上配置route recursive-lookup tunnel使能迭代隧道功能。因为缺省情况下,非标签公网BGP路由、静态路由只能迭代到出接口和下一跳,不会迭代到隧道。配置了该特性后,上述路由将优先迭代到LSP隧道,如果没有LSP隧道,上述路由也可以迭代到出接口和下一跳。具体操作如下;
在R1和R4设备上执行如下命令:
route recursive-lookup tunnel//使能迭代隧道功能

上述操作完成后执行下一步

步骤3:验证方案
站点1用户访问站点2用户时, AR1收到去往目的站点2的数据报文,查看FIB表,发现TUNNEL字段非0,于是按照tunnel索引压入标签转发给AR2。AR2收到带标签报文后,查看LFIB表进行标签交换转发给AR3,AR3收到带标签报文后同样查看LFIB表,发现出标签为3,于是次末跳弹出标签后转发给AR4。AR4收到报文后已经不带标签,查看FIB表后最终转发至站点2╱最终实现了站点1和站点2的互访。

该方案的优点:
扩展性好,增加站点,只需要配置相应的IGP路由和MPLS以及 LDP协议即可。核心路由器无需运行BGP,节约了了大量的储存空间。
该方案的缺点:
所有设备都必须支持MPLS以及 LDP,IGP与LDP的联动较为复杂,运维人员需要懂得MPLS以及LDP的知识。

华为HCIE-RS3.0论述题--BGP路由黑洞相关推荐

  1. 华为设备,使用mpls 解决bgp路由黑洞问题

    华为设备,使用mpls 解决bgp路由黑洞问题, [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bRC2zk2I-1617343115560)(C:\Users\Adm ...

  2. 华为hcie认证体系华为华为hcie认证价值NSR不间断路由思科华为网工常备知识点解析ie-lab

    NSR ( Non-Stopping Routing ,不间断路由) :通过协议备份机制,实现主备倒换时控制平面(路由)和转发平面(业务)均不中断.1.在设备发生倒换的过程中,路由处理不中断,因为:邻 ...

  3. HCIE-RS论述BGP路由黑洞

    BGP路由黑洞 一.题目需求以及解决方法 A,D 两合设备用 loopback 口建立 IBGP邻居,现在管理员在A和D设备中把SiteA和SiteB的路由宣告到了BGP中.请问: 1.现在SITEA ...

  4. 乾颐堂军哥HCIE9-解决BGP路由黑洞、聚合的各种参数以及RR基础

    本技术文章讨论BGP的路由黑洞解决方案.BGP聚合,即减少路由条目数的技术 1.BGP路由黑洞 1.1 解决路由黑洞问题1 某些AS内的设备没有运行BGP(R3),那么它会缺少路由(2.2.2.2/6 ...

  5. 利用MPLS解决BGP路由黑洞问题

    致歉声明:前版博客由于博主个人对于BGP知识的理解出现偏差,导致路由黑洞产生的原因解释错误,误导大家,抱歉. 配置文件的百度网盘连接及提取码. 链接:https://pan.baidu.com/s/1 ...

  6. BGP路由黑洞及IBGP全连接

    组网需求: 1.AS65000边界网段发布:RT1.RT2重发布直连路由至OSPF(metric 1000 type 1) 2.BGP配置要求: no synchronization no auto- ...

  7. BGP路由黑洞及解决方案

    一.BGP拓扑 备注: 阅读本片BGP路由黑洞需要有BGP基础,感兴趣的同学可以进入圈子对基本的BGP及OSPF配置原理进行了解后再进行阅读 二.路由黑洞产生背景 1.R4设备不进行BGP的配置,R2 ...

  8. linux进入黑洞路由,BGP路由黑洞解决办法介绍

    在配置BGP的时,通常最容易遇到的问题就是路由黑洞,那么什么是路由黑洞呢,简单的说,它会默默的将 数据包丢弃,使所有数据包有去无回.我们知道传统的IP路由查找,它是逐跳查找的,通俗一点就是当数 据包到 ...

  9. 【博客465】BGP(边界网关协议)-----BGP路由黑洞及路由反射器与联盟

    BGP(边界网关协议)-----BGP路由黑洞及路由反射器与联盟 路由黑洞的场景 黑洞出现场景: 两台非直连路由器可以建立BGP邻居关系,传递BGP路由.如果中间路由器没有运行BGP协议,可能会出现路 ...

最新文章

  1. 有关import sun.audio.AudioPlayer(或者其它文件)的问题
  2. 监听程序配制及数据备份
  3. ET框架笔记 (笑览世界写)(转)
  4. C#软件winform程序安装包制作及卸载程序制作
  5. 【原创】大叔经验分享(27)linux服务器升级glibc故障恢复
  6. Codeforces Round #656 (Div. 3) F. Removing Leaves 贪心 + 模拟
  7. Lightbox JS v2.0
  8. 小写大写转换_小写到大写转换器JavaScript工具| 网络应用项目
  9. python爬虫接口_python爬虫之百度API调用方法
  10. 第3节:vue-router如何参数传递
  11. SMILES的基本规则
  12. React修改图片大小
  13. 场景文字识别论文阅读
  14. docker oxidized时区问题,时间显示不是北京时间问题的解决办法
  15. 线性代数:如何求特征值和特征向量?
  16. ultraos win10启动盘_使用ultraiso软件制Win10专业版U盘系统盘制作安装教程
  17. 移动直播进入下半场盈利为王,突破打赏模式成关键
  18. MFC之文档/视图结构应用程序
  19. redis杂乱小知识
  20. 华为mate30epro支不支持鸿蒙,听我一句劝,华为手机可以支持,但这4款不要买

热门文章

  1. 9月6号 网工学习 数字签名
  2. 十二大相似图片搜索网站(以图搜图)
  3. python insert into数据库
  4. R语言中的网络可视化
  5. KMP算法 → 计算nextval数组
  6. html 可折叠的表格,Layui数据表格展开折叠
  7. fontUtils—字体样式
  8. 全球与中国相纸市场深度研究分析报告
  9. 交叉编译libX11
  10. Power Designer设计数据库及导出表结构到word文档