windows系统用于 SDN 的软件负载均衡器 (SLB)

适用于:Azure Stack HCI 版本 22H2 和 21H2;Windows Server 2022、Windows Server 2019、Windows Server 2016

软件负载均衡器包括哪些内容?

软件负载均衡器提供以下功能:

  • 适用于北/南和东/西 TCP/UDP 流量的第 4 层 (L4) 负载均衡服务。

  • 公用网络和内部网络流量负载均衡。

  • 虚拟局域网 (VLAN) 以及使用 Hyper-V 网络虚拟化创建的虚拟网络上的动态 IP 地址 (DIP) 支持。

  • 运行状况探测支持。

  • 为云缩放做好准备,包括多路复用器和主机代理的横向扩展功能和纵向扩展功能。

有关详细信息,请参阅本文中的软件负载均衡器功能。

软件负载均衡器的工作原理

软件负载均衡器的工作原理是将虚拟 IP 地址 (VIP) 映射到作为数据中心内云服务资源集一部分的 DIP。

VIP 是单个 IP 地址,提供对负载均衡的 VM 池的公共访问。 例如,VIP 是在 Internet 上公开的 IP 地址,以便租户和租户客户可以连接到云数据中心内的租户资源。

DIP 是 VIP 后面的负载均衡池的成员 VM 的 IP 地址。 在云基础结构中将 DIP 分配给租户资源。

VIP 位于 SLB 多路复用器 (MUX) 中。 MUX 由一个或多个 VM 组成。 网络控制器为每个 MUX 提供各自的 VIP,每个 MUX 反过来使用边界网关协议 (BGP) 将每个 VIP 作为/32 路由播发到物理网络上的路由器。 BGP 允许物理网络路由器执行以下操作:

  • 了解即使 MUX 位于第 3 层网络中的不同子网中,每个 MUX 上都有一个 VIP。

  • 使用相等成本多路径 (ECMP) 路由将每个 VIP 的负载分散到所有可用的 MUX 上。

  • 自动检测 MUX 故障或删除,并停止将流量发送到故障的 MUX。

  • 将故障或删除的 MUX 的负载分散到正常的 MUX 上。

当来自 Internet 的公共流量到达时,SLB MUX 会检查流量(其中包含 VIP 作为目标),并映射和重写流量,使其到达单个 DIP。 对于入站网络流量,此事务分两个步骤执行,该过程在 MUX VM 与目标 DIP 所在的 Hyper-V 主机之间进行划分:

  1. 负载均衡 - MUX 使用 VIP 来选择 DIP,封装数据包,并将流量转发到 DIP 所在的 Hyper-V 主机。

  2. 网络地址转换 (NAT) - Hyper-V 主机从数据包中删除封装,将 VIP 转换为 DIP,重新映射端口,然后将数据包转发到 DIP VM。

由于你使用网络控制器定义负载均衡策略,因此 MUX 知道如何将 VIP 映射到正确的 DIP。 这些规则包括协议、前端端口、后端端口和分发算法(5 个、3个 或 2 个元组)。

当租户 VM 响应出站网络流量并将其发送回 Internet 或远程租户位置时,由于 NAT 由 Hyper-V 主机执行,因此流量将绕过 MUX 并直接从 Hyper-V 主机传到边缘路由器。 此 MUX 绕过进程称为直接服务器返回 (DSR)。

建立初始网络流量流后,入站网络流量会完全绕过 SLB MUX。

在下图中,客户端计算机对公司(在本例中是名为 Contoso 的虚构公司)SharePoint 站点的 IP 地址执行 DNS 查询。 将发生以下过程:

  1. DNS 服务器将 VIP 107.105.47.60 返回到客户端。

  2. 客户端向 VIP 发送 HTTP 请求。

  3. 物理网络有多个路径可用于访问位于任何 MUX 上的 VIP。 在此过程中,每个路由器都使用 ECMP 选择路径的下一段,直到请求到达 MUX。

  4. 接收请求的 MUX 检查配置的策略,并发现虚拟网络上有两个 DIP(分别为 10.10.10.5 和 10.10.20.5)可用于处理对 VIP 107.105.47.60 的请求

  5. MUX 选择 DIP 10.10.10.5 并使用 VXLAN 封装数据包,以便它可以使用主机的物理网络地址将数据包发送到包含 DIP 的主机。

  6. 主机接收封装的数据包并对其进行检查。 它删除封装并重写数据包,将目标从 VIP 变为 DIP 10.10.10.5,然后将流量发送到 DIP VM。

  7. 请求到达服务器场 2 中的 Contoso SharePoint 站点。 服务器使用自己的 IP 地址作为源,生成响应并将其发送到客户端。

  8. 主机截获虚拟交换机中的传出数据包,该数据包会记住客户端(现在是目标)向 VIP 发送了原始请求。 主机将数据包的源重写为 VIP,使客户端看不到 DIP 地址。

  9. 主机会将数据包直接转发到物理网络的默认网关,该网关使用其标准路由表将数据包转发到客户端,客户端最终接收响应。

软件负载均衡器基础结构

在配置软件负载均衡器之前,必须首先部署网络控制器和一个或多个 SLB MUX VM。

此外,必须使用已启用 SDN 的 Hyper-V 虚拟交换机配置 Azure Stack HCI 主机,并确保 SLB 主机代理正在运行。 服务主机的路由器必须支持 ECMP 路由和边界网关协议 (BGP),并且必须将其配置为接受来自 SLB MUX 的 BGP 对等互连请求。

下图提供了 SLB 基础结构的概览。

软件负载均衡器基础结构

以下各节介绍了有关软件负载均衡器基础结构的这些元素的详细信息。

参考链接

Azure Stack HCI 和 Windows Server 中用于 SDN 的软件负载均衡器 (SLB) - Azure Stack HCI | Microsoft Learn

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聚观早报 |京东11.11公布成绩单;2023数字科技生态大会

【聚观365】11月13日消息 京东11.11公布成绩单 2023数字科技生态大会 TikTok深受英国中小企业青睐 周鸿祎称大模型2年内可“进”智能汽车 双11全国快递业务量达 6.39 亿件 京东11.11公布成绩单 京东11.11公布成绩单:截至11月11日晚23:59,2023年京东…

Docker 中的端口

Docker 中的端口 0.0.0.0:8080->80/tcp ,主机(即运行 Docker 的机器)监听8080端口,如果有请求转发到容器的 80 端口上去。 详细解释一下: 0.0.0.0:8080->80/tcp :这是一个端口映射规则。 0.0.0.0:80…

【中间件篇-Redis缓存数据库06】Redis主从复制/哨兵 高并发高可用

Redis高并发高可用 复制 在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis 副本。复制功能是高可用Re…

SparkSQL之Analyzed LogicalPlan生成过程

经过AstBuilder的处理,得到了Unresolved LogicalPlan。该逻辑算子树中未被解析的有UnresolvedRelation和UnresolvedAttribute两种对象。Analyzer所起到的主要作用就是将这两种节点或表达式解析成有类型的(Typed)对象。在此过程中,…

打开word文档报错,提示HRESULT 0x80004005 位置: 部分: /word/comments.xml,行: 0,列: 0

某用户遇到这样一个奇怪的问题,就是回复完word的批注后,保存文档再打开就会报错,提示很抱歉,无法打开XXX,因为内容有问题。,详细信息提示HRESULT 0x80004005 位置: 部分: /word/comments.xml,行: 0,列: 0 c…

java学习part02一些特性

17-Java语言概述-Java语言的特点和JVM的功能_哔哩哔哩_bilibili 1.java优点 跨平台性 在jvm上运行 2.jvm 2.1实现跨平台性 不需要对每一种指令集编写编译器,只需要针对jvm编程,jvm会自动转换 2.2内存回收 内存溢出:用的内存太多已经占满了&…

No199.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

Seaborn数据可视化综合应用Basemap和Seaborn在线闯关_头歌实践教学平台

Seaborn数据可视化综合应用Basemap和Seaborn 第1关 Seaborn第2关 Seaborn图形介绍第3关 Basemap 第1关 Seaborn 任务描述 本关任务:编写一个绘制每个月销售总额的折线图。 编程要求 本关的编程任务是补全右侧上部代码编辑区内的相应代码,根据输入文件路…

微信小程序用户隐私API

用户隐私保护 由于用户隐私保护的政策执行,我们在调用涉及到用户隐私的API时,未更新用户隐私保护协议是无法直接调用的,小程序会默认判断是否更新用户隐私保护 ,并根据用户隐私保护中的协议来判断是否可以调用对应的API&#xff…

基于flask+bootstrap4实现的注重创作的轻博客系统项目源码

一个注重创作的轻博客系统 作为一名技术人员一定要有自己的博客,用来记录平时技术上遇到的问题,把技术分享出去就像滚雪球一样会越來越大,于是我在何三博客的基础上开发了[l4blog],一个使用python开发的轻量博客系统,…

rabbitMq创建交换机,以及路由键绑定队列教程

创建交换机: 创建队列: 创建路由,绑定到交换机: 补充: 创建新用户后,记得点进用户中,那两个set都点击一下; 还有配置代码连接的时候,连的端口为5672,可不…

STM32与RTOS的整合:实时操作系统在嵌入式开发中的应用

随着各种嵌入式系统应用的日益复杂和对实时性要求的提高,使用实时操作系统(RTOS)成为嵌入式开发中的一种重要选择。STM32微控制器作为一种强大的嵌入式处理器,与各种RTOS相结合,能够提供更高效、可靠并且易于维护的系统…

eNSP-打开华为USG6000V1防火墙web管理页面方法

一、本地打开防火墙web管理页面 1.先在ensp中启动USG6000V1防火墙,启动后,需要输入原始username和password(username:admin,password:Admin123),并修改原始密码后,才能配…

【中间件篇-Redis缓存数据库08】Redis设计、实现、redisobject对象设计、多线程、缓存淘汰算法

Redis的设计、实现 数据结构和内部编码 type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)hash(哈希)、list(列表)、set(集合)、zset (有序集合),但这些只是Redis对外的数据结构。 实际上每种数据结构都有自己底层的…

【Spring Boot】034-Spring Boot 整合 JUnit

【Spring Boot】034-Spring Boot 整合 JUnit 文章目录 【Spring Boot】034-Spring Boot 整合 JUnit一、单元测试1、什么是单元2、什么是单元测试3、为什么要单元测试 二、JUnit1、概述简介特点 2、JUnit4概述基本用法 3、JUnit5概述组成 4、JUnit5 与 JUnit4 的常用注解对比 三…

计算机网络期末复习-Part5

1、CRC计算 看例题:待发送序列为101110,生成多项式为X31,计算CRC校验码 先在待发送序列末尾添加与生成多项式次数相同的零,在上述例子中,生成多项式是X^3 1,所以需要添加3个零,待发送序列变成…

一行JavaScrip可以做什么?

说在前面 JavaScript 提供了许多方便的方法和操作符来简化常见的任务,使得编程变得更加高效和便捷。无论是数学计算、字符串处理还是数据操作,JavaScript 都能帮助我们以简洁的方式实现所需功能。 代码 1、生成指定范围内的随机整数 const randomInt …

tensorboard报错解决:No dashboards are active for the current data set

版本:tensorboard 2.10.0 问题:文件夹下明明有events文件,但用tensorboard命令却无法显示。 例如: 原因:有可能是文件路径太长了,导致系统无法读取文件。在win系统中规定,目录的绝对路径不得超…

WordPress 文档主题模板Red Line -v0.2.2

此主题作为框架,做承载第三方页面之用,例如飞书文档等, 您可以将视频图片等资源放第三方文档上,通过使用此主题做目录用。 此主题使用前后端分离开发,也使用了一些技术尽量不影响正常的SEO,还望注意。 源码…

线性代数本质系列(一)向量,线性组合,线性相关,矩阵

本系列文章将从下面不同角度解析线性代数的本质,本文是本系列第一篇 向量究竟是什么? 向量的线性组合,基与线性相关 矩阵与线性相关 矩阵乘法与线性变换 三维空间中的线性变换 行列式 逆矩阵,列空间,秩与零空间 克莱姆…