惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
博客园 - 叶小钗
S
SegmentFault 最新的问题
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
腾讯CDC
D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
L
Lohrmann on Cybersecurity
量子位
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
J
Java Code Geeks
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 三生石上(FineUI控件)
Attack and Defense Labs
Attack and Defense Labs
AI
AI
The Cloudflare Blog
T
Tailwind CSS Blog
S
Schneier on Security
爱范儿
爱范儿
PCI Perspectives
PCI Perspectives
Stack Overflow Blog
Stack Overflow Blog
S
Secure Thoughts
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
V2EX - 技术
V2EX - 技术
S
Securelist
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
Help Net Security
Help Net Security
C
Cisco Blogs
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
K
Kaspersky official blog
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
S
Security Affairs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Simon Willison's Weblog
Simon Willison's Weblog

陈少文的网站

巨变与机遇的未来十年 Kubernetes 平台管理软件压力测试方案 使用镜像部署 Hexo 静态页面 终于等到你 - GitHub 镜像仓库服务(ghcr.io) 一起来学 Go --(6)Interface 一起来学 Go --(5)Goroutine 和 Channel 什么是函数式编程 如何在 Kubernetes 集群集成 Kata 柯里化与偏函数 使用 PyGithub 自动创建 Label 软件产品是团队能力的输出 Helm 2 、Helm 3 比较 IoT 变现 Kubernetes 中的 DNS 服务 国内的 Helm 镜像源 Harbor 使用自签证书支持 Https 访问 DevOps 工具链之 Prow 如何使用 kfctl 安装 Kubeflow VS Code 无法下载 Go 插件的工具包 工程师更应具有服务精神 你不知道的 Docker 使用技巧 使用 Docker 运行 Tensorflow 论中国 什么是左移 如何清空 Git 仓库全部历史记录 一禅小和尚 有风吹过厨房 时间的玫瑰 如何在 CentOS 安装 GPU 驱动 开发 Tips(19) 使用 Velero 备份 Kubernetes 集群 Kubernetes Cheat Sheet 开发 Tips(18) 如何构建一个 Java 工程 开发 Tips(17) KubeSpray 安装 Kubernetes 报错 ip in ansible_all_ipv4_addresses 基于 Kubernetes 和 Jenkins 搭建自动化测试系统 在 Kubernetes 上动态创建 Jenkins Slave 使用 Jenkins 进行服务拨测 开发 Tips(16) Kubernetes 签发 Ingress 证书及日常故障运维 Kubernetes 中 Deployment 的基本操作 Kubernetes 中的证书 如何使用 KubeBuilder 开发一个 Operator Kubernetes 1.6.0 安装问题汇总 镜像管理工具 -- Harbor 开发 Tips(15) Docker 如何拉取镜像 开发 Tips(14) 使用 Helm 安装 harbor 开发 Tips(13) 使用 S2I 构建云原生应用 在 Kubernetes 中使用 emptyDir、hostPath、localVolume 开发 Tips(12) 开发 Tips(11) 代码质量分析工具 SonarQube 使用 Kubeadm 安装 Kubernetes 集群 一起来学 Go --(4)常用函数 Kubernetes 中的 Ceph Kubernetes 之 Volumes Kubernetes 之 Labels、Selectors 开发 Tips(10) 开源正在重构商业模式 Kubernetes 之网络 Kubernetes 之 API 使用 Helm 和 Operator 快速部署 Prometheus Kubernetes 复杂有状态应用管理框架 -- Operator Kubernetes 的包管理器 -- Helm 一起来学 Go --(3)Go Modules 如何一步一步地优化博客方案 kubectl 实用指南 Kubernetes 中的基本概念 搭建远程 Kubernetes 开发环境 大公司和小公司的 ToB 思路 开发 Tips(9) Go 入门指南 一起来学 Go --(2)数据与逻辑结构 如何预防 Web 富文本中的 XSS 攻击 django-xss-cleaner 云工作时代 一起来学 Go --(1)背景与特点 SaaS 开发团队的不同阶段 你不知道的 Git 使用技巧 输出既服务 微服务设计 继续奔跑 开发 Tips(8) 从账户安全到二次验证 Django 性能之数据库查询优化 Django 性能之分库分表 敏捷开发之研发流程 打造一致性的团队 开发 Tips(7) Pytest 进阶学习之 Mock PaaS 部署之 buildpack Go 开发配置 领域输出才是 PaaS 的核心竞争力 Pytest 入门学习 开发 Tips(6) 如何使用 Jenkins、Docker、GitLab 搭建 Django 自动化部署流程
常见的几种网络拓扑结构
微信公众号 · 2024-11-06 · via 陈少文的网站

Please enable Javascript to view the contents

常见的几种网络拓扑结构

1. Fat-Tree

1985 年 麻省理工学院的 Charles E. Leiserson 发明了 Fat-Tree 胖树网络。如下图,胖树网络是一颗二叉树,从更节点到叶子节点带宽逐步增加。

2008 年 8 月,加州大学圣地亚哥分校的一组计算机科学家发表了一个可扩展的网络架构设计,该设计采用受胖树拓扑启发的拓扑结构,实现了比以前的分层网络扩展性更好的网络。

Fat-Tree 网络的优势:

  • 负载均衡
  • 低延迟

Fat-Tree 网络的劣势:

  • 规模受到核心交换机端口数量限制
  • 底层容错性能差
  • 不能很好适应 one-to-all、all-to-all 的通信模式

2. Spine-Leaf

Spine-Leaf(脊叶)网络是一种常见的数据中心网络架构。不同于传统的分层网络结构,Spine-Leaf 网络在两个级别上实现了均衡的拓扑结构:Spine 层和 Leaf 层。Leaf 层的交换机连接服务器,而 Spine 层的交换机则负责连接 Leaf 层的交换机。每个 Leaf 交换机连接到每个 Spine 交换机,从而提供了高带宽和低延迟的通信路径。

Spine-Leaf 网络的优势:

  • 横向扩展性好:可以通过增加 Spine 和 Leaf 层的交换机数量来增加网络容量
  • 高可靠性:支持多路径,可以有效避免单点故障
  • 低延迟:采用等距的多路径连接,数据传输路径简洁稳定

Spine-Leaf 网络的劣势:

  • 成本较高:每个 Leaf 交换机需要连接到所有 Spine 交换机,导致连接数量大
  • 配置复杂:需要精心规划交换机之间的连接,以保持网络对称性
  • 适应性有限:在特定应用场景下可能需要对 Leaf 层的连接方式进行调整

3. Dragonfly

Dragonfly 网络是由 John Kim 等人于 2008 年提出的一种高效的网络拓扑结构,最早应用于高性能计算(HPC)集群。该结构主要解决了传统胖树网络架构中带宽和成本的矛盾,特别适合大规模并行计算和数据密集型任务。Dragonfly 网络通过分层级的交换机和链路,将网络划分为多个群组(group),每个群组包含多个路由器或交换机,并且群组之间通过相对少的跨群组链路互联。

Dragonfly 网络的优势:

  • 高带宽利用率:通过本地和全局连接实现有效的数据传输
  • 网络直径小:较短的跳数提升了数据传输速度,减少了延迟
  • 成本低:通过有效的连接方式降低了整体布线和硬件成本

Dragonfly 网络的劣势:

  • 路由复杂性高:全局连接需要较为复杂的路由算法
  • 容错性一般:故障可能会影响较大范围的连接
  • 不适合小规模网络:在小规模部署中,Dragonfly 的结构可能导致资源浪费

4. Torus

Torus(环形网络)是一种在高性能计算(HPC)和分布式系统中常见的拓扑结构,最早由计算机科学家在 20 世纪 80 年代提出并应用于并行计算架构。

Torus 网络是一种多维的网格结构,边界节点通过额外的连接形成闭环,使得每个节点的连接更加对称。

Torus 网络的优势

  • 良好的负载均衡:各节点连接均衡,能有效分散通信负载
  • 低网络延迟:由于闭环连接,每个节点到其他节点的距离较短,通信延迟低
  • 高容错性:多路径连接使得网络能在单点故障下维持通信

Torus 网络的劣势

  • 扩展性有限:在高维情况下,网格边界和节点数量会大幅增长,硬件复杂度增加
  • 布线复杂:特别是在三维及更高维度时,布线和节点连接变得困难
  • 不适合广播通信:对于 one-to-all 和 all-to-all 通信模式,Torus 的拓扑结构表现较差,广播效率低

微信公众号