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

    文章

    8593

    浏览量

    151131
  • BGP
    BGP
    +关注

    关注

    0

    文章

    83

    浏览量

    15329

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

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

收藏 人收藏

    评论

    相关推荐

    何解决工字电感噪音大的问题

    电子发烧友网站提供《如何解决工字电感噪音大的问题.docx》资料免费下载
    发表于 09-04 11:46 0次下载

    何解决电感的漏感问题

    电子发烧友网站提供《如何解决电感的漏感问题.docx》资料免费下载
    发表于 09-02 14:48 0次下载

    华为设备中的BGP命令详解

    的主要路由协议,用于在不同自治系统(AS)之间交换路由信息。掌握华为设备的BGP命令对于网络工程师至关重要,因为这不仅涉及日常的网络运维,还影响到网络的整体性能和安全性。本文将详细介绍华为设备中的
    的头像 发表于 08-12 18:11 1009次阅读

    何解决4G工业路由器常见问题?

    本文介绍了4G工业路由器常见问题及解决方法,包括网络连接不稳定、数据传输速度慢、发热严重、死机等问题,并提供选择和管理4G路由器的建议,以提高工业自动化和物联网应用效果。
    的头像 发表于 07-01 14:23 422次阅读
    如<b class='flag-5'>何解</b>决4G工业<b class='flag-5'>路由</b>器常见问题?

    工业路由器WiFi网速突然变差?如何解决?

    工业路由器WiFi网速变差影响生产,原因可能是设备老化、信号干扰、设备数量增加或病毒攻击。解决方案包括更换设备、优化位置、分配资源、采用拓展设备和网络优化工具。需备份数据、咨询专业人士并定期维护。
    的头像 发表于 06-13 10:55 784次阅读

    esp32连接不上腾达AC7路由器如何解决?

    你好,我测试了20种路由器和esp32的链接,现在发现腾达AC7路由器很难链接上esp32.或者要一到两分钟才可以连接上。3.1.1很难链接。 3.1.3版本的软件基本连接不上。请问这个问题该如何解决。但是其他型号
    发表于 06-12 08:08

    工业级路由器如何解决网络故障?

    工业级路由器凭借强大的数据处理、稳定的网络传输、丰富的网络接口和专业技术支持,有效解决网络故障,提供稳定可靠的网络环境。用户需定期更新软件固件、备份数据,确保设备性能安全。
    的头像 发表于 05-13 15:21 404次阅读

    华为BGP十一条选路规则盘点

    优选router ID最小的设备发布的路由(如果路由携带originator_ID属性,选路过程中将比较originator_ID的大小,不再比较router ID,并优选originator_ID最小的路由
    发表于 04-28 12:18 526次阅读
    华为<b class='flag-5'>BGP</b>十一条选路规则盘点

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

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

    BGP选路规则的实验验证与解析

    如果配置了负载分担,当前8个规则相同,且存在多条AS_Path完全相同的外部路由,则根据配置的路由条数选择多条路由进行负载分担
    的头像 发表于 04-08 10:45 1294次阅读
    <b class='flag-5'>BGP</b>选路规则的实验验证与解析

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

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

    BGP 路由聚合实验

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

    煤气柜泄漏问题如何解

    电子发烧友网站提供《煤气柜泄漏问题如何解决.docx》资料免费下载
    发表于 03-05 17:49 0次下载

    何解决键槽滚键磨损问题

    电子发烧友网站提供《如何解决键槽滚键磨损问题.docx》资料免费下载
    发表于 02-04 14:24 0次下载

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

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