BGP协议路由黑洞

在这里插入图片描述

一、实验环境

1、分公司与运营商AS自治系统内运行IGP路由协议OSPF、RIP或静态路由,AS自治系统内通过IBGP路由协议建立BGP邻居关系。
2、公司AS自治系统与运营商AS自治系统间运行EBGP路由协议。
3、通过loopback建立IBGP与EBGP邻居关系,发挥loopback建立邻居的优势。
4、BGP协议解决大中型网络中的路由条目过多问题,提高硬件资源的利用率、网络稳定性。

二、专业术语

1、防环

EBGP的水平分割:AS之间的防环,路由器不收带有自己AS号的路由更新。
IBGP的水平分割:从IBGP收到的路由不会传递给另一个IBGP。
RR的防环:RR路由反射器打破了IBGP只传一跳的规则,所以需要通过cluster-id防环。

2、路由黑洞

什么是黑洞?简而言之就是世上所有存在的实物或虚拟物品,靠近黑洞就会消失不见,这种就是黑洞。而路由黑洞就是指它会默默地将数据包丢弃,使所有数据包有去无回。由于BGP防环机制的存在,BGP中间途经的路由器不会获知外部的路由。
如图中的路由黑洞,就存在于AR3上,根据BGP建立邻居的规则,只要TCP可达,便可建立邻居关系,所以图中AR2与AR4可以直接建立iBGP邻居关系。而在AR3上不配置BGP,此时AS100的loopback 接口1.1.1.1与AS300的loopback接口5.5.5.5之间进行通信时,到达AR3时,数据包便会被丢弃。AR3即路由黑洞。

在这里插入图片描述

3、iGP与BGP同步

在现实环境中,若IGP路由表中要拥有全部BGP路由,会发生路由膨胀,降低路由器的性能,因此会关掉BGP同步,但关闭后有可能造成路由黑洞(运行BGP的设备没有路由),所以有了路由反射器、BGP联盟、mpls等手段解决数据黑洞。
验证:华为设备都是关闭BGP同步的,不支持开启BGP的同步!undo synchronization:关闭BGP与IGP的同步功能,如下图:
在这里插入图片描述

从上图可看出,并没有synchronization命令用于开启同步。为减少路由条目,提升路由器的性能,提高硬件资源的利用率,本例采用iBGP内建立邻居关系的方式处理与GRE隧道的方式解决路由黑洞问题。

4、BGP的全互连

是指在一个自治系统(AS)内的所有BGP路由器都建立直接的邻居关系,确保每个路由器都能直接与其他所有路由器通信。这种配置方式可以避免路由环路和路由黑洞的问题,确保路由信息的准确传递。

三、iBGP与EBGP的配置过程

1、【AR1】配置:

System-view
sysname AR1
router id 1.1.1.1
interface GigabitEthernet0/0/1
ip address 10.1.12.1 255.255.255.0
interface GigabitEthernet0/0/2
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
bgp 100
peer 2.2.2.2 as-number 200
peer 2.2.2.2 ebgp-max-hop 255
peer 2.2.2.2 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
network 1.1.1.1 255.255.255.255
peer 2.2.2.2 enable
ip route-static 0.0.0.0 0.0.0.0 10.1.12.2

2、【AR2】配置:

System-view
sysname AR2
router id 2.2.2.2
interface GigabitEthernet0/0/1
ip address 10.1.12.2 255.255.255.0
interface GigabitEthernet0/0/2
ip address 10.1.23.1 255.255.255.0
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
bgp 200
peer 1.1.1.1 as-number 100
peer 1.1.1.1 ebgp-max-hop 255
peer 1.1.1.1 connect-interface LoopBack0
peer 4.4.4.4 as-number 200
ipv4-family unicast
undo synchronization
network 2.2.2.2 255.255.255.255
peer 1.1.1.1 enable
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.1.12.0 0.0.0.255
network 10.1.23.0 0.0.0.255
ip route-static 1.1.1.1 255.255.255.255 10.1.12.1

3、【AR3】配置:

System-view
sysname AR3
router id 3.3.3.3
interface GigabitEthernet0/0/1
ip address 10.1.34.1 255.255.255.0
interface GigabitEthernet0/0/2
ip address 10.1.23.3 255.255.255.0
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
ospf 1
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.1.23.0 0.0.0.255
network 10.1.34.0 0.0.0.255

4、【AR4】配置:

System-view
sysname AR4
router id 4.4.4.4
interface GigabitEthernet0/0/1
ip address 10.1.34.4 255.255.255.0
interface GigabitEthernet0/0/2
ip address 10.1.45.4 255.255.255.0
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 5.5.5.5 as-number 300
peer 5.5.5.5 ebgp-max-hop 255
peer 5.5.5.5 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
network 4.4.4.4 255.255.255.255
peer 2.2.2.2 enable
peer 2.2.2.2 next-hop-local
peer 5.5.5.5 enable
ospf 1
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 10.1.34.0 0.0.0.255
network 10.1.45.0 0.0.0.255
ip route-static 5.5.5.5 255.255.255.255 10.1.45.5

5、【AR5】配置:

System-view
sysname AR5
router id 5.5.5.5
interface GigabitEthernet0/0/2
ip address 10.1.45.5 255.255.255.0
interface LoopBack0
ip address 5.5.5.5 255.255.255.255
bgp 300
peer 4.4.4.4 as-number 200
peer 4.4.4.4 ebgp-max-hop 255
peer 4.4.4.4 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
peer 4.4.4.4 enable
ip route-static 0.0.0.0 0.0.0.0 10.1.45.4

四、验证iBGP与EBGP邻居关系

(一)验证BGP邻居关系

1、验证EBGP邻居关系
(1)在AR2上查看BGP邻居,可以看出与AR1的1.1.1.1建立了邻居关系,也与AR4的4.4.4.4建立了邻居关系,如下图:
在这里插入图片描述

(2)在AR2上查看EBGP邻居,可以看出AR2与AR1建立的是EBGP邻居关系,如下图:
在这里插入图片描述

2、在AR2上查看iBGP邻居关系,可以看出AR2与AR4建立的是iBGP邻居关系,如下图:

在这里插入图片描述

3、在AR4上同样可验证EBGP与iBGP邻居关系,此处不再赘述。

(二)查看路由表

1、查看BGP路由表
(1)在AR1上查看BGP路由表,可以看出,AR1上有EBGP邻居AR2的2.2.2.2与直连路由表,并没有AS200自治系统中的路由,也没有AR4邻居EBGP之外的路由5.5.5.5,所以BGP能减少路由条目,为路由器减负。
在这里插入图片描述

(2)在AR2上查看BGP路由表,可以看出有自治系统AS100的BGP路由与AS300的BGP路由,其中*>代表最优路由,i代表iBGP, ?代表引入的路由,AR2上有AS100的1.1.1.1的路由,但是没有AS300的5.5.5.5的路由,因为AR3上存在路由黑洞,AR3没有配置BGP邻居,所以从AS300到达AS200的路由丢弃。
如下图:
在这里插入图片描述

(3)在AR4上查看BGP路由表,其中有AS300的5.5.5.5的EBGP路由,但是没有AS100的1.1.1.1的EBGP路由,因为AR3没有配置BGP邻居,所以从AS100到达AS200的路由丢弃。
在这里插入图片描述

(4)在AR5上查看BGP路由表,可以看出到4.4.4.4的BGP路由,是经过了AS_PATH的AS200自治系统区域,如下图:
在这里插入图片描述

2、查看ip路由表
(1)在AR1上查看ip路由表,仅有自己直连的路由与一条缺省路由,并没有AS200与AS300自治系统的路由,如下图:
在这里插入图片描述

(2)在AR4上查看ip路由表,可以看出AR4上有自己宣告的BGP路由4.4.4.4,OSPF宣告的路由与OSPF学习到的路由,但是没有AS100中的1.1.1.1这条EBGP路由与AS300中的5.5.5.5这条EBGP路由。因为此时AR3存在路由黑洞。
在这里插入图片描述

3、验证从AR1到AR4之间的连通性,可以看到只有request的请求报文,而没有回复的reply报文,所以此时AR3的路由黑洞直接丢弃了ping回应报文。接下来处理路由黑洞。
在这里插入图片描述

五、处理路由黑洞:

(一)路由黑洞处理方式1

1、在AR2与AR4之间建立GRE隧道
【AR2】:
interface Tunnel0/0/1
ip address 172.16.0.1 255.255.255.0
tunnel-protocol gre
source 10.1.23.1
destination 10.1.34.4
ip route-static 0.0.0.0 0.0.0.0 Tunnel 0/0/1
【AR4】:
interface Tunnel0/0/1
ip address 172.16.0.2 255.255.255.0
tunnel-protocol gre
source 10.1.34.4
destination 10.1.23.1
ip route-static 0.0.0.0 0.0.0.0 Tunnel 0/0/1
2、再次验证AR1到AR4的连通性,已经有回应的数据包了,从而解决了AR3路由黑洞问题,如下图:
在这里插入图片描述

3、从抓取的数据包中筛选通过GRE隧道的包,说明这些回应的数据包是通过GRE隧道过来的,如下图:

在这里插入图片描述

(二)路由黑洞处理方式2

(删除刚才建立的GRE隧道,在AR3上与AR2、AR4都建立iBGP邻居关系):
1、配置AR1
Undo ip route-static 0.0.0.0 0.0.0.0 10.1.12.2
ip route-static 5.5.5.5 255.255.255.255 10.1.12.2
2、配置AR2
undo interface Tunnel 0/0/1
bgp 200
peer 1.1.1.1 as-number 100
peer 1.1.1.1 ebgp-max-hop 255
peer 1.1.1.1 connect-interface LoopBack0
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
network 2.2.2.2 255.255.255.255
peer 1.1.1.1 enable
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local
ip route-static 1.1.1.1 255.255.255.255 10.1.12.1
ospf 1
import-route static

3、配置AR3:
bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0

ipv4-family unicast
undo synchronization
network 3.3.3.3 255.255.255.255
peer 2.2.2.2 enable
peer 2.2.2.2 next-hop-local
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local

4、配置AR4
undo interface Tunnel 0/0/1
bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0
peer 5.5.5.5 as-number 300
peer 5.5.5.5 ebgp-max-hop 255
peer 5.5.5.5 connect-interface LoopBack0

ipv4-family unicast
undo synchronization
network 4.4.4.4 255.255.255.255
peer 2.2.2.2 enable
peer 2.2.2.2 next-hop-local
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local
peer 5.5.5.5 enable
ip route-static 5.5.5.5 255.255.255.255 10.1.45.5
ospf 1
import-route static

5、配置AR5
bgp 300
peer 4.4.4.4 as-number 200
peer 4.4.4.4 ebgp-max-hop 255
peer 4.4.4.4 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
network 5.5.5.5 255.255.255.255
peer 4.4.4.4 enable
ip route-static 1.1.1.1 255.255.255.255 10.1.45.4

4、查看AR3上的BGP邻居,以及BGP路由表,可以看出,AR3已经与AR2和AR4都建立了BGP邻居关系,如下图:
在这里插入图片描述

5、验证AR1到AR5的连通性,已经有回应的数据包了,从而解决了AR3路由黑洞问题,如下图:
在这里插入图片描述

至此结束,本文通过GRE隧道与BGP邻居关系,2种方式解决了BGP路由黑洞问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/925123.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决数据传送问题:内网http传输

在服务器上启http服务 在服务器上输入命令: python3 -m http.server 1234 回车启动 访问和下载方法: 然后可以在本地的浏览器上访问:服务器IP:1234 例如192.11.1.1:1234,然后就可以下载对应文件夹下的东西了 在本地上启htt…

飞塔防火墙只允许国内IP访问

飞塔防火墙只允许国内IP访问 方法1 新增地址对象,注意里面已经细分为中国内地、中国香港、中国澳门和中国台湾 方法2 手动新增国内IP的对象组,目前好像一共有8632个,每个对象最多支持600个IP段

《Learn Three.js》学习(3)光源

前言: WebGL本身不支持光源,不使用three.js,则需使用着色程序来模拟光源。 学习大纲: Three.js中的光源 特定光源的使用时机 如何调整和配置所有光源的行为 如何创建镜头光晕 光源表 基础光源:THRER.AmbientLight、THERE.Point…

Linux——基础命令(2) 文件内容操作

目录 ​编辑 文件内容操作 1.Vim (1)移动光标 (2)复制 (3)剪切 (4)删除 (5)粘贴 (6)替换,撤销,查找 (7&#xff…

鸿蒙开发App 如何通过抓包查看 http 网络请求?

通过借助第三方工具 Charles https://www.charlesproxy.com/ https://www.zzzmode.com/mytools/charles/https://www.zzzmode.com/mytools/charles/ Charles 激活码计算器 相关博客日志:https://zhuanlan.zhihu.com/p/281126584 MAC上的使用方法: ch…

【Git】Git 完全指南:从入门到精通

Git 完全指南:从入门到精通 Git 是现代软件开发中最重要的版本控制工具之一,它帮助开发者高效地管理项目,支持分布式协作和版本控制。无论是个人项目还是团队开发,Git 都能提供强大的功能来跟踪、管理代码变更,并保障…

分布式锁的实现原理

作者:来自 vivo 互联网服务器团队- Xu Yaoming 介绍分布式锁的实现原理。 一、分布式锁概述 分布式锁,顾名思义,就是在分布式环境下使用的锁。众所周知,在并发编程中,我们经常需要借助并发控制工具,如 mu…

全新AI模型家族登场:完全可复现的开源语言模型OLMo 2

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

探索Python WebSocket新境界:picows库揭秘

文章目录 探索Python WebSocket新境界:picows库揭秘第一部分:背景介绍第二部分:picows库概述第三部分:安装picows库第四部分:简单库函数使用方法第五部分:场景应用第六部分:常见Bug及解决方案第…

Jenkins Nginx Vue项目自动化部署

目录 一、环境准备 1.1 Jenkins搭建 1.2 NVM和Nodejs安装 1.3 Nginx安装 二、Jenkins配置 2.1 相关插件安装 2.2 全局工具安装 2.3 环境变量配置 2.4 邮箱配置(构建后发送邮件) 2.5 任务配置 三、Nginx配置 3.1 配置路由转发 四、部署项目 …

《Python语言程序设计》(2018年版)第15遍刷第1章第1题和第2题

2024.11.28 重新开始刷题 第一章 1.1 print( Welcome to Python Welcome to Computer Science Programming is fun )1.2 text_message "Welcome to Python\n"print(text_message * 5)

认识redis 及 Ubuntu安装redis

文章目录 一. redis概念二. redis应用场景二. redis的特性四. 使用Ubuntu安装redis 一. redis概念 redis 是在内存中存储数据的中间件, 用在分布式系统 redis是客户端服务器结构的程序, 客户端服务器之间通过网络来通信 二. redis应用场景 redis可用作数据库 类似MySQL, 但…

2024年信号处理与神经网络应用(SPNNA 2024)

会议官网:www.spnna.org 会议时间:2024年12月13-15日 会议地点:中国武汉

canal同步数据教程

canal简介 官网:https://github.com/alibaba/canal 主要是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费,是一个实时同步的方案。 基于日志增量订阅和消费的业务包括 数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、…

【网络安全 | 漏洞挖掘】绕过SAML认证获得管理员面板访问权限

未经许可,不得转载。 文章目录 什么是SAML认证?SAML是如何工作的?SAML响应结构漏洞结果什么是SAML认证? SAML(安全断言标记语言)用于单点登录(SSO)。它是一种功能,允许用户在多个服务之间切换时无需多次登录。例如,如果你已经登录了facebook.com,就不需要再次输入凭…

【Redis】Redis介绍

目录 1.Redis是什么? 2. Redis特性 2.1 速度快 2.2 基于键值对的数据结构服务器 2.3 丰富的功能 2.4 简单稳定 2.5 客户端语言多 2.6 持久化 2.7 主从复制 2.8 高可用和分布式 3. Redis使用场景 3.1 缓存(Cache) 3.2 排行榜系统 3.3 计数器应用 3.4 社交网络 …

【HarmonyOS学习日志(10)】一次开发,多端部署之功能级一多开发,工程级一多开发

功能级一多开发 SysCap机制介绍 HarmonyOS使用SysCap机制(即SystemCapability),可以帮助开发者仅关注设备的系统能力,而不用考虑成百上千种具体的设备类型。 在过去,开发不同设备上的应用就用不同设备的SDK进行开发&…

vue3 与 spring-boot 完成跨域访问

spring-boot,写一个接口用于前端访问,并且给接口设置跨域访问,这里我前端的域名为 localhost:5173 RestController CrossOrigin(origins "http://localhost:5173") public class Vue3Controller {GetMapping("/vue")pu…

机器学习-神经网络(BP神经网络前向和反向传播推导)

1.1 神经元模型 神经网络(neural networks)方面的研究很早就已出现,今天“神经网络”已是一个相当大的、多学科交叉的学科领域.各相关学科对神经网络的定义多种多样,本书采用目前使用得最广泛的一种,即“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够…

如何通过智能生成PPT,让演示文稿更高效、更精彩?

在快节奏的工作和生活中,我们总是追求更高效、更精准的解决方案。而在准备演示文稿时,PPT的制作往往成为许多人头疼的问题。如何让这项工作变得轻松且富有创意?答案或许就在于“AI生成PPT”这一智能工具的广泛应用。我们就来聊聊如何通过这些…