AirGroup 技术架构

深入探讨 AOS 10 运营的 AirGroup 架构

在向 AOS 10 过渡的过程中,AirGroup 服务经历了重大的架构变革,以满足现代企业网络的动态需求。在 AOS 8 中,其集中式模型难以应对日益增长的 mDNS/SSDP 设备数量。认识到需要变革,Aruba 重新设计了 AirGroup,摆脱了单一中央系统的方式。在这种新设计中,AirGroup 服务器缓存被分布到网络中的每个 AP 上。这一转变使 AirGroup 能够高效应对不断增加的设备数量及其不断变化的行为,同时实现卓越的性能和可扩展性。

在这一改进的架构中,AirGroup 作为一种分布式模型运行,将功能划分在 AP 和 Aruba Central 中的 AirGroup 服务之间。这一创新方法确保 AirGroup 保持高效,并能适应现代企业网络不断变化的需求。

新的 AOS 10 架构

  • 多样的服务广告频率 - 各种 mDNS/SSDP 设备以每 5 秒到 2 分钟或更长时间的间隔传输服务广告帧。为了确保单一或部分采用激进广告策略的服务器不会垄断系统,新版 AirGroup 架构能够有效管理服务广告频率。
  • 可变的客户端查询频率 - 类似于 YouTube 和 Netflix 这样的应用在视频流传输过程中会不断通过 mDNS/SSDP 查询帧扫描新服务器。由于查询通常多于服务广告(广告占比 20%,查询占比 80%),因此快速的查询响应时间至关重要,不能导致服务广告处理的延迟。
  • 不支持的服务广告泛滥 - Bonjour 协议允许新应用定义和广告服务。随着 Wi-Fi BYOD 设备的使用持续增长,被广告和查询的服务数量自然会波动。在这一新设计中,每个 AP 都能够智能过滤并丢弃来自设备的不支持的服务广告和查询数据包。此方法确保即使设备广告和查询大量不支持的服务,AirGroup 服务的响应能力仍然保持不受干扰。
  • 易于维护性 - 新的 AirGroup 架构优先考虑维护的便利性,包括配置以及 MRT 仪表板、API、警报和对 AP 状态的可见性。
  • 水平可扩展架构 - 鉴于云端部署的固有特性,AirGroup 服务可以通过简单地扩展 pod 实现水平扩展。

AOS 10 中的 AirGroup 操作

在 AOS 10 中的每个 AP 上,AirGroup 充当协议感知的代理缓存,用于服务发现协议,如 mDNS 和 SSDP。它拦截并解码来自 L2 头的这些协议数据包,将关键信息存储在缓存中。

在 AOS 10 的 AirGroup 架构中,两个组件协作以支持 mDNS/SSDP 功能:

  • Aruba Central 中的 AirGroup 服务
  • 每个 AP 中的 AP mDNS 模块

能够进行 mDNS/SSDP 的设备会定期在网络中广播其能力,称为 AirGroup 服务器。搜索这些服务或能力的设备被称为 AirGroup 用户,导致 AirGroup 应用中出现两种不同的数据包流:

  • 查询数据包流
  • 广告包流

AOS 10 中 AirGroup 的消息流

当接入点(AP)启动时,其 mDNS 进程会接收来自 Aruba Central 的 AirGroup 配置。该配置包括 AirGroup 的启用/禁用状态、服务的启用/禁用状态、每个服务的禁止角色/VLAN,以及每个服务允许的角色/VLAN。

每个接入点(AP)维护两种类型的 AirGroup 服务器缓存:

  • 发现缓存(Discover Cache): 该缓存存储直接连接到 AP 的 AirGroup 服务器。它便于向 Central 的 AirGroup 服务发送增量发现缓存更新,并确保在 AP 与 Central 连接中断期间缓存的一致性。
  • Central 缓存: Central中的AirGroup服务处理来自每个AP的缓存更新,应用策略,并向AP及其邻近的AP发送缓存同步消息。AP上的mDNS进程使用这些更新来构建Central缓存数据库。该缓存仅包含AirGroup服务同步的缓存。所有AirGroup客户端查询在应用配置策略和每台服务器的全局策略后,均从此缓存中获取答案。

AP中的mDNS进程主要处理三个流程:

  • 广告流程
  • 查询流程
  • 与 Central

中的 AirGroup 服务进行缓存同步

广告处理流程管理新的 AirGroup 服务器广告或更新(缓存添加/更新)、服务器断开连接(缓存删除)以及被抑制服务的丢弃。每个 AP 的 mDNS 进程主动在 RAW 套接字上监听,捕获 mDNS/SSDP 服务器广告包。这些包经过配置的策略处理,包括 AirGroup 服务的启用/禁用、禁止/允许的客户端角色,以及禁止/允许的 VLAN。策略评估后,服务器条目要么被更新,要么被添加到 AP 发现缓存表中。

对于新服务器,包中的所有缓存记录会被发送到 Central 的 AirGroup 服务。对于更新,只传输差异更新。如果广告的服务在特定 VLAN 或客户端角色中不支持或被禁止,AP 会直接丢弃该包。同时,有关被抑制服务的信息会转发到 Central 的 AirGroup 服务,以保持可见性。

以下图示展示了缓存条目的创建与更新、缓存条目的删除,以及处理不支持或被禁止的服务包的具体工作流程。

AP 上的广告处理 – 缓存添加与更新

AP 上的广告处理 – 缓存删除

AP 上的广告处理 – 被丢弃包的更新(针对不允许或被抑制的服务)

查询流程

在 AP 的查询过程中,当设备请求另一设备提供的 mDNS/SSDP 服务时,AP 上的 mDNS 进程会访问其 Central 缓存。该缓存由从 Central 的 AirGroup 服务同步而来的 AirGroup 服务器/服务记录构建并持续更新。

对于每个传入的查询,mDNS 进程应用一组策略,包括服务配置(启用/禁用)、禁止/允许的 VLAN,以及/或者禁止/允许的客户端角色。经过此过滤后,mDNS 进程会查阅 Central 缓存中与请求的服务 ID 相对应的记录。如果找到缓存记录,它会将这些记录作为负载组装成响应包,并随后以单播包的形式发送给查询的客户端。

如果所有记录无法全部放入单个包中,它们会以连续的包进行传输。需要注意的是,响应任何查询的最大记录数目前有预定义的硬限制,为 150 条。未来的版本可能会支持此限制的配置。

AP 上的查询处理

缓存同步

Central 的 AirGroup 服务在缓存同步中扮演关键角色:

  • 它处理从每个 AP 接收的 Discover 缓存更新。在应用相关策略后,AirGroup 服务会向相应的 AP 及所有邻近的 AP 发送缓存同步消息。
  • AP上的 mDNS 进程随后处理这些缓存同步更新,以构建中央缓存数据库。该数据库仅包含从中央的 AirGroup 服务同步过来的缓存条目。所有客户端查询都来自此缓存,并应用所有配置的策略和每台服务器的全局策略。
  • 在涉及配置更改或漫游事件的场景中,AirGroup 服务会向所有邻近的 AP 发送同步更新,确保 Central 缓存保持最新和更新。

为了维护缓存的一致性和连贯性:

  • 每个 AP 会计算 Discover 和 Central 缓存数据库中所有 Service Identifier 计数器 ID 的 crc64 校验和。该校验和以及 Discover 缓存校验和和 Central 缓存校验和,会包含在定期传输到 Central 中 AirGroup 服务的校验和消息中。
  • 校验和会在每次接收到中央缓存同步消息时例行更新,强化缓存的完整性。在涉及连接中断的场景中,此过程尤为重要,有助于在连接断开/恢复期间恢复缓存丢失。

最终,这种设计方法巩固了中央缓存作为信息的最终和权威来源,确保了一个稳健且可靠的服务发现环境。

中央的AP缓存同步与AirGroup服务

最后修改时间:2024年3月1日(6c5ab3b)


返回顶部

© Copyright 2025 Hewlett Packard Enterprise Development LP