cnWave网络由一个名为“端到端控制器”(E2E controller)的中央控制器管理,每个cnWave节点都运行一个名为“minion”的轻量级客户端,该客户端连接到中央控制器。控制器可以运行在任何有cnWave网络路由的主机上,包括cnWave节点本身。当控制器运行在cnWave PoP节点上时,它被称为“板载端到端e控制器”。否则它被称为“外部控制器”。

端到端控制器处理重要的管理功能,如链路连接、软件升级、配置管理等。

下面列出了端到端e的主要特性。通常,每个逻辑管理特性都驻留在它的软件模块中,这些模块被称为“应用程序”。控制器和仆从都采用这种设计。

拓扑管理

TopologyApp保存和管理网络拓扑,这是一个包含关于网络中节点和链路的所有细节的结构。该应用程序对所有请求的拓扑变化(如添加、编辑、删除网络元素)进行彻底的验证,为节点分配前缀,并包含几种算法自动分配节点和链接参数,如极性、Golay代码、通道和控制超帧。

此外,TopologyApp还记录了动态拓扑属性,如节点和链路的活跃度以及节点的路由邻接。活跃度取决于节点是否有周期性的状态报告,由控制器和奴才上的StatusApp处理。

网络点火

在控制器上,IgnitionApp负责打开(或“点燃”)网络中的链接。点火包括从已经连接到控制器的“启动器”节点连接到“响应器”节点。在默认的“auto-ignition”配置下,应用会在网络启动时以及随后的节点或链路故障时自动点燃链路。采用基于拓扑状态的算法确定点火顺序;可以同时点燃多个链路。

软件升级

控制器通过UpgradeApp管理带内软件升级。升级包括两个阶段:“准备”和“提交”。在“准备”阶段,控制器将新的软件映像分发给节点;完成后,节点将把新映像闪存到一个磁盘分区上。“commit”命令只是指示节点重新启动到新写入的分区。

带内升级的主要并发症是,节点重启将导致与节点之间的所有链接中断,这可能会影响到网络其余部分的可达性。控制器的UpgradeApp包括一个调度算法,该算法并行提交(以“批量”节点的方式),同时最小化网络隔离,以及一个重试机制来处理任何升级步骤中的失败。小工的UpgradeApp负责获取、验证和闪烁新的软件映像,并向控制器报告节点的当前升级状态。

配置管理

cnWave利用集中式节点配置管理器和分层配置模型。最初,节点从一个版本相关的“基础配置”开始,它持有基于节点软件版本的所有默认配置值;这是静态的,并与软件映像绑定在一起。“网络范围覆盖”层应用于基本配置之上,并包含应该在整个网络上统一覆盖的任何配置值。最顶层,即“特定于节点的覆盖”,适用于单个节点。

为了保持配置同步,节点在其定期状态报告中将其本地配置的哈希值发送给控制器,控制器将在接收到不匹配的配置时覆盖节点的配置(除非配置被标记为“unmanaged”)。

扫描

ScanApp负责对节点发起扫描并收集测量结果。有几种扫描类型。例如,“周期性波束形成”(PBF)扫描识别节点对之间独立的RF路径;这些扫描是单向的,在L1/L2连接的节点之间运行。“干扰测量”(IM)扫描链路之间的干扰,包括一个发射器和多个接收器。

通过ScanScheduler中的图形着色算法和SchedulerApp中的槽位调度机制,控制器周期性地并行运行扫描。

前缀分配

cnWave节点可以通过两种不同的方式分配IPv6前缀。集中式前缀分配(CPA)是一种由控制器为所有节点分配前缀的方案。该方案对前缀范围进行线性扫描,并将未分配的前缀分配给节点。CPA主要用作更高级的分配方案的垫脚石,如确定性前缀分配(Deterministic prefix allocation, DPA)。DPA是一种将网络划分为前缀区(prefix zone)的方法,这些前缀区被分配为网络种子前缀的子网前缀。节点将从他们所在区域的前缀中分配前缀,允许pop将这些子网通告给他们的BGP对等体和负载均衡的入口流量。

外部端到端e vs板载端到端e

当控制器运行在网格中的一个POP节点上时,它被称为板载端到端e。如果端到端在外部运行,通常在docker中,它被称为外部端到端。
一个常见的问题是,选择哪种端到端加密。

外部端到端加密有以下优势

  1. 在一个网格中支持多达500个节点。板载最多支持21个节点,包括POP节点。
  2. 即将推出的网络分析仪和网络优化器(NANO)功能需要外部端到端加密。
  3. POP是一种户外设备。托管端到端e的Docker可以在数据中心。物理可靠性更高。
  4. 在多POP部署中,如果任何POP出现故障,网络仍然是可管理的。而在板载控制器的情况下,如果承载端到端e的POP宕机,网络将不再可管理。

板载控制器具有这些优点

  1. 不需要另一台机器来托管端到端e。对于一个PTP网络(比如V3K到V3K)或一个小型网络,这是一个很好的选择。
  2. 无需担心端到端e和网格节点之间的IPv6路由方面。对于外部端到端e,有必要确保IPv6路由被正确设置,以便端到端e可以与所有节点通信。
2喜欢