0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何解决BGP路由黑洞问题

网络技术干货圈 来源:网络技术干货圈 作者:圈圈 2022-12-14 09:21 次阅读

实验拓扑

实验需求1.设备互联地址如图所示;所有设备开设Loopback0口,该接口IP地址为x.x.x.x/32,其中x为设备编号。Loopback0的IP地址作为OSPF RouterID以及LSR ID、LDP传输地址。

2.R1、R2、R3、R4运行OSPF,通告直连接口及Loopback0。注意R1不能在OSPF中通告192.168.1.0/24路由,R4也不能在OSPF中通告192.168.2.0/24路由。

3.R1及R4基于Loopback0口建立iBGP邻居关系;R1将直连路由192.168.1.0/24通告进BGP,R4将直连路由192.168.2.0/24通告进BGP,R2及R3不运行BGP。

4.通过部署MPLS,使得PC1与PC2能够互通。

实验步骤及配置1.完成设备接口、OSPF和BGP的配置:

R1的配置如下:

完成接口IP地址的配置:

[R1]interfaceGigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0]ipaddress12.1.1.124
[R1]interfaceGigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1]ipaddress192.168.1.25424
[R1]interfaceloopback0
[R1-Loopback0]ipaddress1.1.1.132

配置OSPF:

[R1]ospf1router-id1.1.1.1
[R1-ospf-1]area0
[R1-ospf-1-0.0.0.0]network12.1.1.00.0.0.255
[R1-ospf-1-0.0.0.0]network1.1.1.10.0.0.0

配置BGP:

[R1]bgp100
[R1-bgp]peer4.4.4.4as-number100
[R1-bgp]peer4.4.4.4connect-interfaceLoopback0
[R1-bgp]network192.168.1.024

R2的配置如下:

完成接口IP地址的配置:

[R2]interfaceGigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0]ipaddress12.1.1.224
[R2]interfaceGigabitEthernet0/0/1
[R2-GigabitEthernet0/0/1]ipaddress23.1.1.224
[R2]interfaceloopback0
[R2-Loopback0]ipaddress2.2.2.232

配置OSPF:

[R2]ospf1router-id2.2.2.2
[R2-ospf-1]area0
[R2-ospf-1-0.0.0.0]network12.1.1.00.0.0.255
[R2-ospf-1-0.0.0.0]network23.1.1.00.0.0.255
[R2-ospf-1-0.0.0.0]network2.2.2.20.0.0.0

R3的配置如下:

完成接口IP地址的配置:

[R3]interfaceGigabitEthernet0/0/0
[R3-GigabitEthernet0/0/0]ipaddress23.1.1.324
[R3]interfaceGigabitEthernet0/0/1
[R3-GigabitEthernet0/0/1]ipaddress34.1.1.324
[R3]interfaceloopback0
[R3-Loopback0]ipaddress3.3.3.332

配置OSPF:

[R3]ospf1router-id3.3.3.3
[R3-ospf-1]area0
[R3-ospf-1-0.0.0.0]network23.1.1.00.0.0.255
[R3-ospf-1-0.0.0.0]network34.1.1.00.0.0.255
[R3-ospf-1-0.0.0.0]network1.1.1.10.0.0.0

R4的配置如下:

完成接口IP地址的配置:

[R4]interfaceGigabitEthernet0/0/0
[R4-GigabitEthernet0/0/0]ipaddress34.1.1.424
[R4]interfaceGigabitEthernet0/0/1
[R4-GigabitEthernet0/0/1]ipaddress192.168.2.25424
[R4]interfaceloopback0
[R4-Loopback0]ipaddress4.4.4.432

配置OSPF:

[R4]ospf1router-id4.4.4.4
[R4-ospf-1]area0
[R4-ospf-1-0.0.0.0]network34.1.1.00.0.0.255
[R4-ospf-1-0.0.0.0]network4.4.4.40.0.0.0

配置BGP

[R1]bgp100
[R1-bgp]peer1.1.1.1as-number100
[R1-bgp]peer1.1.1.1connect-interfaceLoopback0
[R1-bgp]network192.168.2.024

完成上述配置后,当PC1去ping PC2时,肯定是无法ping通的,数据包的转发过程如下:

689319a8-7b41-11ed-8abf-dac502259ad0.png

虽然R1已经通过BGP从R4学习到192.168.2.0/24的路由,PC1访问PC2的数据包被R1转发给了R2,但是由于R2没有运行BGP,而OSPF域中又没有关于192.168.2.0/24的路由,因此报文在R2处被丢包,这就是典型的BGP路由黑洞问题。其实之所以不在R2、R3上运行BGP,是因为BGP承载的路由前缀数量往往非常庞大,此举可以极大的降低R2、R3的设备资源消耗,但是却也带来了路由黑洞问题。

利用MPLS能够解决上述问题,我们在R1、R2、R3、R4上激活MPLS及LDP:

68acd0f0-7b41-11ed-8abf-dac502259ad0.png

从而构建一个MPLS网络

R1的配置增加如下:

[R1]mplslsr-id1.1.1.1#配置MPLSLSRID
[R1]mpls#全局激活MPLS
[R1-mpls]quit
[R1]mplsldp#全局激活LDP
[R1-mpls-ldp]quit
[R1]InterfaceGigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0]mpls#在接口上激活MPLS
[R1-GigabitEthernet0/0/0]mplsldp#在接口上激活LDP

R2的配置增加如下:

[R2]mplslsr-id2.2.2.2
[R2]mpls
[R2-mpls]quit
[R2]mplsldp
[R2-mpls-ldp]quit
[R2]InterfaceGigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0]mpls
[R2-GigabitEthernet0/0/0]mplsldp
[R2]InterfaceGigabitEthernet0/0/1
[R2-GigabitEthernet0/0/1]mpls
[R2-GigabitEthernet0/0/1]mplsldp

R3的配置增加如下:

[R3]mplslsr-id3.3.3.3
[R3]mpls
[R3-mpls]quit
[R3]mplsldp
[R3-mpls-ldp]quit
[R3]InterfaceGigabitEthernet0/0/0
[R3-GigabitEthernet0/0/0]mpls
[R3-GigabitEthernet0/0/0]mplsldp
[R3]InterfaceGigabitEthernet0/0/1
[R3-GigabitEthernet0/0/1]mpls
[R3-GigabitEthernet0/0/1]mplsldp

R4的配置增加如下:

[R4]mplslsr-id4.4.4.4
[R4]mpls
[R4-mpls]quit
[R4]mplsldp
[R4-mpls-ldp]quit
[R4]InterfaceGigabitEthernet0/0/0
[R4-GigabitEthernet0/0/0]mpls
[R4-GigabitEthernet0/0/0]mplsldp

现在,我们遇到的问题,是R2及R3由于没有运行BGP,因此他们无法学习到BGP路由192.168.1.0/24及192.168.2.0/24,因此在他们这出现了路由黑洞。此处通过利用标签栈,可以解决192.168.1.0/24及192.168.2.0/24网络通信的问题。当PC1访问PC2时,IP数据包先是送到R1,如果这个IP数据包被R1压入一层MPLS标签,而这个标签正好又是R2能理解、能处理的,不就能解决这个问题么?那么压入的标签值是多少?其实完全可以走4.4.4.4这条LSP,因此标签值就用4.4.4.4这条FEC的标签。

实际上,在R1上查看BGP路由 192.168.2.0/24能够发现该路由的下一跳就是4.4.4.4。而4.4.4.4此刻在LFIB表中已经有条目,因此去往192.168.2.0/24的IP数据包能够使用4.4.4.4这条LSP来走。

68c3b680-7b41-11ed-8abf-dac502259ad0.png

PC1去访问192.168.2.1这台主机,IP报文先是被送到R1,R1通过查看路由表发现下一跳是4.4.4.4,将数据包压入4.4.4.4对应的标签值1026,然后把数据包发给R2。R2将标签1026置换成1028然后将数据包送到R3,R3将标签弹出,将IP报文转发给R4。这里有个细节需要注意,那就是在华为的设备上,缺省情况下,R1在查去往192.168.2.0/24的路由时会发现下一跳是4.4.4.4,而4.4.4.4非直连,又会进一步将下一跳递归得到10.1.12.2,然后将IP数据包转发给R2,而不会压标签。为了让R1递归到LSP,要配置一条命令来打开这个开关:route recursive-lookup tunnel。

68d9d1a4-7b41-11ed-8abf-dac502259ad0.png

如此一来PC1就能够ping 通PC2了。

审核编辑:郭婷


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    7653

    浏览量

    148592
  • BGP
    BGP
    +关注

    关注

    0

    文章

    81

    浏览量

    15227

原文标题:如何解决 BGP 路由黑洞问题?MPLS可是一把利剑!

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    BGP路由过滤、引入与缺省路由的配置实践

    第一个用 AS-Path进行路由过滤 利用 AS-Path 进行路由过滤 让R3只接收来自AS 100的 做正则表达式
    发表于 04-08 10:47 108次阅读
    <b class='flag-5'>BGP</b><b class='flag-5'>路由</b>过滤、引入与缺省<b class='flag-5'>路由</b>的配置实践

    BGP路由的生成方式及5种报文

    TCP的三次握手。先启动BGP的一端先发起TCP连接。如图所示,RTB先启动BGP协议,RTB随机端口号向RTA的179端口发起TCP连接
    发表于 03-26 14:11 273次阅读
    <b class='flag-5'>BGP</b><b class='flag-5'>路由</b>的生成方式及5种报文

    BGP 路由聚合实验

    当把R1的路由条目转给R4的时候,要改变下一跳,从R5学到的路由条目转给R4的时候也要改变下一跳
    的头像 发表于 03-25 12:43 228次阅读
    <b class='flag-5'>BGP</b> <b class='flag-5'>路由</b>聚合实验

    华为路由BGP基础配置实验记录

    配置BGP的前提是要保证各个自治区域的路由均可达,所以要首先在AS 2 配置OSPF使AS 2 通畅,然后再配置BGP。由于BGP路由
    发表于 01-06 10:07 201次阅读
    华为<b class='flag-5'>路由</b>器<b class='flag-5'>BGP</b>基础配置实验记录

    路由器负载均衡怎么配置

    。 一、负载均衡的实现方式 基于路由协议的负载均衡:这种方式主要利用不同的路由协议,如OSPF、BGP等,根据路由协议的算法和策略,将流量分配到不同的
    的头像 发表于 12-13 11:17 1328次阅读

    BGP硬核笔记分享

    BGP——边界网关路由协议,是一种基于策略的路径矢量路由协议(可以理解为距离矢量型协议的升级版),BGP在确定最佳路径时考虑的不是速度,而是让AS能够根据多种
    的头像 发表于 12-11 09:15 349次阅读
    <b class='flag-5'>BGP</b>硬核笔记分享

    动态BGP与静态BGP的区别

    动态BGP与静态BGP的区别 动态BGP与静态BGP的区别 1.静态BGP功能简单,其带宽功能,可以实现多网接入,但路径上只有通向几大运营商
    发表于 12-01 16:55

    吃透BGP,永远绕不开这些基础概述,看完再也不怕BGP了!

    如果路由器协议传递了错误的路由信息,或者没有传递路由信息,将导致某些网络通信的中断,所以路由协议从一台路由收到
    的头像 发表于 11-13 16:07 239次阅读
    吃透<b class='flag-5'>BGP</b>,永远绕不开这些基础概述,看完再也不怕<b class='flag-5'>BGP</b>了!

    BGP路由计算选路规则13条

    当到达同一目的地存在多条路由时,BGP依照如下策略顺序进行路由选择
    的头像 发表于 10-08 10:35 623次阅读

    BGP有限状态机有哪几种状态?

    BGP有限状态机共有六种状态,分别是Idle、Connect、Active、OpenSent、OpenConfirm和Established。
    的头像 发表于 10-07 14:56 1233次阅读

    bgp配置实例讲解 如何配置Cilium和BGP协同工作

      背景 官方提供了多篇文档说明如何配置 Cilium 和 BGP 协同工作,本文主要对以下部分功能进行验证: Using BIRD to run BGP[1] Using kube-router
    的头像 发表于 08-15 09:15 1287次阅读
    <b class='flag-5'>bgp</b>配置实例讲解 如何配置Cilium和<b class='flag-5'>BGP</b>协同工作

    如何配置Cilium和BGP协同工作呢?

    官方提供了多篇文档说明如何配置 Cilium 和 BGP 协同工作,本文主要对以下部分功能进行验证
    的头像 发表于 08-15 09:15 829次阅读
    如何配置Cilium和<b class='flag-5'>BGP</b>协同工作呢?

    动态路由协议的基本工作原理 BGP Path Attributes与路由选择

    动态路由协议,用在多个 Router 之间定期的、自动的、互相交换 Routes(路由信息,包含了网段信息、可达性信息、路径信息等),动态生成 Routing Table Entries,并最终达到全网的路由收敛
    的头像 发表于 07-31 17:00 2476次阅读
    动态<b class='flag-5'>路由</b>协议的基本工作原理 <b class='flag-5'>BGP</b> Path Attributes与<b class='flag-5'>路由</b>选择

    4G路由器无法上网时!该如何解

    4G路由器无法上网时!该如何解
    的头像 发表于 07-20 09:43 1563次阅读
    4G<b class='flag-5'>路由</b>器无法上网时!该如<b class='flag-5'>何解</b>决

    思科(Cisco)系列路由表的介绍

    或主机名的信息的网络  bgp        Border Gateway Protocol (BGP)                      #BGP协议是用于自治系统AS之间的动态路由
    的头像 发表于 05-31 11:04 1289次阅读