用BGP的路由聚合功能聚合大陆路由,效果显著不?

bdb512ffbc839e4f066c609eb38e2409.gif

正文共:666 字 11 图,预估阅读时间:1 分钟

之前我们统计过中国境内的IP地址和路由信息你知道中国大陆一共有多少IPv4地址吗?,不过数量比较多,有8000多条。截止到2021年底,中国大陆境内的路由数量为8618条。【辟谣】IPv4地址还剩1200多万个未分配,别再传IPv4地址耗尽了!

在某些场景下,如果直接导入这些路由的难度还是有些大的,毕竟不是所有设备都能支撑8K+条路由。

那能不能对路由进行聚合呢?我们前面介绍过CIDR(具有 CIDR 的 IP 地址分配架构无类别域间路由 (CIDR):Internet 地址分配和聚合计划BGP路由聚合(BGP-4中关于路由聚合的相关介绍。聚合之后效果会不会好一些呢?

1.0.1.0/24
1.0.2.0/23
1.0.32.0/19
1.0.8.0/21
1.1.0.0/24
1.1.10.0/23
1.1.12.0/22
1.1.16.0/20
1.1.2.0/23
1.1.32.0/19
1.1.4.0/22
1.1.8.0/24
1.1.9.0/24

其实精简过的路由信息大概是长上面这样,为了把它导入到VSR中,我们需要调整一下格式。

8b65dcafd6a6c1b3328642602796ada2.png

目的就是把1.1.32.0/19这种修改为ip route-static 1.1.32.0  19   10.10.1.2这种样式的,方便直接刷入到路由器里面。

cdb3444c5868737e760b5f5f1bf2dcd1.png

最后得到的命令如下:

c36650df1c693b890c629ed6581b3d3c.png

然后我们把这些静态路由刷到VSR中,很快的,大概20秒就能刷完。

592602da366aab1a0caecb72ff98e926.png

可以看到,设备最大支持1000万条生效路由,成功添加了8618条静态路由。然后就是配置BGP协议把路由从VSR1发送到VSR2。

#VSR1
bgp 100
 peer 12.1.1.2 as-number 100
 #
 address-family ipv4 unicast
  import-route static
  peer 12.1.1.2 enable
#VSR2
bgp 100
 peer 12.1.1.1 as-number 100
 #
 address-family ipv4 unicast
  peer 12.1.1.1 enable

配置完成后从VSR上查看BGP路由信息。

18903d5fbdaaf69c3ffec6cfe0f1fb84.png

简单查看一下生效情况。

df305ad818a1774a6d925fa1a620c120.png

还可以,暂时没发现什么问题。

然后就在VSR1上配置一下路由聚合,减少发布的路由数量,并减小路由表的规模。BGP支持自动聚合和手动聚合两种聚合方式,同时配置时,手动聚合的优先级高于自动聚合的优先级。

配置BGP自动聚合功能后,BGP将对通过import-route命令引入的IGP子网路由进行聚合,不再发布子网路由,而是发布聚合的自然网段的路由。

自动聚合是按照自然网段进行聚合,而且只能对IGP引入的子网路由进行聚合。通过配置手动聚合,用户可以同时对从IGP路由协议引入的子网路由和用network命令发布的路由进行聚合,而且还可以根据需要定义聚合路由的子网掩码长度。

加一条命令解决战斗。

#
bgp 100
 peer 12.1.1.2 as-number 100
 #
 address-family ipv4 unicast
  summary automatic

查看VSR1的设备路由,可以看到本地配置了8618条静态路由,但是经过BGP聚合之后路由条目就变成了2447条。

683227ab029f171fff57a25bc027fecb.png

查看VSR2的路由信息,发现BGP路由移除了6247条,剩余生效2447条。

d1fc427f9af5e71879360b06997b7400.png

查看一下详细路由信息,发现大量的路由条目被聚合为了A类路由,共有44条。

efcdf89839b3d9d590fc5695f93c5396.png

然后统计一下聚合前后的路由信息。聚合之前共8618条路由,地址总数为3.4亿个。

07383418fc067ba44d60331691b133a3.png

聚合之后共2447条路由,地址总数为8.4亿个,增加了145%,准确性可想而知。

bf0160c928a58622832f09fd8f811fc2.png

看来这种自动聚合的方式还是不可取啊,在实际使用过程中,准确率可能不足一半。

3975ec2f12c0324d7d0e8f957a96e0ff.gif

长按二维码
关注我们吧

280712f1a880ae603b77104f38550015.jpeg

6647ebdd2b5491d86aa76a8f5c41b7f9.png

千呼万唤始出来:EVE-NG终于来了!

终于成功了!用EVE-NG导入的设备可以做PBR了!

如何在EVE-NG中导入VSR1000设备?怎么解决登录问题?

没想到啊,竟然万物皆可EVE-NG!

想知道Android手机怎么远程登录到系统后台吗?看这里

如果把Linux主机作为路由器转发流量,性能可靠吗?

ADVPN:Full-Mesh模型组网实验

IPv4 地址冲突检测

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

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

相关文章

AI DeepSeek-R1 Windos 10 环境搭建

1、安装: 下载 Python |Python.org CUDA Drivers for MAC Archive | NVIDIA pip 和virtualenv Download Ollama on Windows 如下图 2、下载模型 deepseek-r1 ollama run deepseek-r1 或者可以ollama run deepseek-r1:8b 或 3、安装一个可视化对话Chatbox 下载 …

SOME/IP--协议英文原文讲解4

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 4.1.3 End…

工作总结:git篇

文章目录 前言基础Gerrit1.克隆2.新建本地分支和checkout3.添加到暂存区新增文件到暂存区修改已经添加到暂存区的文件取消添加到暂存区的文件 4.提交到本地仓库在不重复提交的情况下,修改本次提交 5.提交到远程仓库6.评审其他辅助命令 前言 目前也算是工作一段时间…

SpringCloud系列教程:微服务的未来(十七)监听Nacos配置变更、更新路由、实现动态路由

前言 在微服务架构中,API 网关是各个服务之间的入口点,承担着路由、负载均衡、安全认证等重要功能。为了实现动态的路由配置管理,通常需要通过中心化的配置管理系统来实现灵活的路由更新,而无需重启网关服务。Nacos 作为一个开源…

WireShark4.4.2浏览器网络调试指南:数据统计(八)

概述 Wireshark 是一款功能强大的开源网络协议分析软件,被广泛应用于网络调试和数据分析。随着互联网的发展,以及网络安全问题日益严峻,了解如何使用 Wireshark进行浏览器网络调试显得尤为重要。最新的 Wireshark4.4.2 提供了更加强大的功能…

【2025年数学建模美赛E题】(农业生态系统)完整解析+模型代码+论文

生态共生与数值模拟:生态系统模型的物种种群动态研究 摘要1Introduction1.1Problem Background1.2Restatement of the Problem1.3Our Work 2 Assumptions and Justifications3 Notations4 模型的建立与求解4.1 农业生态系统模型的建立与求解4.1.1 模型建立4.1.2求解…

Eureka 服务注册和服务发现的使用

1. 父子工程的搭建 首先创建一个 Maven 项目&#xff0c;删除 src &#xff0c;只保留 pom.xml 然后来进行 pom.xml 的相关配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xs…

【PowerShell专栏】实现Terminal工具的安装

微软已经发布了Windows Terminal的版本,提供各个命令操作工具的集成环境,在Windows Terminal中,我们可以集中实现多页签的各个命令方式,相比传统的命令执行分离,着实方便了不少。图为Terminal 界面: 如何实现Windows Terminal的安装呢?有好几种方式可以实现Windows Term…

从0到1:C++ 开启游戏开发奇幻之旅(二)

目录 游戏开发核心组件设计 游戏循环 游戏对象管理 碰撞检测 人工智能&#xff08;AI&#xff09; 与物理引擎 人工智能 物理引擎 性能优化技巧 内存管理优化 多线程处理 实战案例&#xff1a;开发一个简单的 2D 射击游戏 项目结构设计 代码实现 总结与展望 游戏…

九大服务构建高效 AIOps 平台,全面解决GenAI落地挑战

最近,DevOps运动的联合创始人Patrick Debois分享了他对AI平台与软件研发关系的深刻见解,让我们一起来探讨这个话题。 在AI的落地过程中,我们面临着两个主要难题: 引入AI编码工具后的开发者角色转变:随着像GitHub Copilot这样的AI工具的普及,工程师的角色正在发生深刻变革…

LangChain概述

文章目录 为什么需要LangChainLLM应用开发的最后1公里LangChain的2个关键词LangChain的3个场景LangChain的6大模块 为什么需要LangChain 首先想象一个开发者在构建一个LLM应用时的常见场景。当你开始构建一个新项目时&#xff0c;你可能会遇到许多API接口、数据格式和工具。对于…

【浏览器 - Mac实时调试iOS手机浏览器页面】

最近开发个项目&#xff0c;需要在 Mac 电脑上调试 iOS 手机设备上的 Chrome 浏览器&#xff0c;并查看Chrome网页上的 console 信息&#xff0c;本来以为要安装一些插件&#xff0c;没想到直接使用Mac上的Safari 直接可以调试&#xff0c;再此记录下&#xff0c;分享给需要的伙…

【Rust自学】15.4. Drop trait:告别手动清理,释放即安全

喜欢的话别忘了点赞、收藏加关注哦&#xff08;加关注即可阅读全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 15.4.1. Drop trait的意义 类型如果实现了Drop trait&#xff0c;就可以让程序员自定义当值…

C动态库的生成与在Python和QT中的调用方法

目录 一、动态库生成 1&#xff09;C语言生成动态库 2&#xff09;c类生成动态库 二、动态库调用 1&#xff09;Python调用DLL 2&#xff09;QT调用DLL 三、存在的一些问题 1&#xff09;python调用封装了类的DLL可能调用不成功 2&#xff09;DLL格式不匹配的问题 四、…

SpringBoot 整合 SSM

文章目录 SpringBoot 整合 SSM第一步&#xff1a;使用 Spring Initializr 创建项目第二步&#xff1a;现在配置类中配置数据库第三步&#xff1a;进行 MyBatis 相关操作编写数据表对应的实体类创建 mapper 接口利用 MyBaitsX 插件快速创建 xml 文件创建 Mapper 接口 SQL 实现在…

JVM 面试题相关总结

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

C++ unordered_map和unordered_set的使用,哈希表的实现

文章目录 unordered_map&#xff0c;unorder_set和map &#xff0c;set的差异哈希表的实现概念直接定址法哈希冲突哈希冲突举个例子 负载因子将关键字转为整数哈希函数除法散列法/除留余数法 哈希冲突的解决方法开放定址法线性探测二次探测 开放定址法代码实现 哈希表的代码 un…

JAVA实战开源项目:网上订餐系统(Vue+SpringBoot) 附源码

本文项目编号 T 039 &#xff0c;文末自助获取源码 \color{red}{T039&#xff0c;文末自助获取源码} T039&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计 六、核…

Three.js实战项目02:vue3+three.js实现汽车展厅项目

文章目录 实战项目02项目预览项目创建初始化项目模型加载与展厅灯光加载汽车模型设置灯光材质设置完整项目下载实战项目02 项目预览 完整项目效果: 项目创建 创建项目: pnpm create vue安装包: pnpm add three@0.153.0 pnpm add gsap初始化项目 修改App.js代码&#x…

【C++题解】1055. 求满足条件的整数个数

欢迎关注本专栏《C从零基础到信奥赛入门级&#xff08;CSP-J&#xff09;》 问题&#xff1a;1055. 求满足条件的整数个数 类型&#xff1a;简单循环 题目描述&#xff1a; 在 1∼n 中&#xff0c;找出能同时满足用 3 除余 2 &#xff0c;用 5 除余 3 &#xff0c;用 7 除余…