理论用于实践!华为配置管理研究获SIGCOMM 2022最佳论文奖

2022-09-01 11:11:10 浏览数 (1)

机器之心专栏

机器之心编辑部

在第 36 届 SIGCOMM 2022 会议上,来自华为的研究者受生物学里的同化作用 Assimilation 的启发,首次提出了 SNA (Software-defined Network Assimilation)的概念。

网络是现代社会高效运转的重要基础设施。从运营商网络时代到云数据中心网络时代,大型网络的管理者通常会采购并运维来自多个设备供应商的设备,并持续引进新设备模型和新厂商设备到网络中。高效地将多种设备吸纳入统一的配置管理框架,是支撑海量网络应用的核心基础能力。

然而长期以来,不同供应商的网络设备缺乏统一的配置管理接口。当前的网络配置管理实践十分依赖运维工程师的人力付出,他们需要翻阅多个设备商的大量配置手册,理解各设备商的配置模型,编写规则将设备原生配置命令映射到中心控制器的统一配置模型,该过程非常繁琐且容易出错。

面向网络基础设施需要吸纳新设备的长期而持续的需求,高效准确获取设备原生配置模型和网络统一配置管理模型的映射关系是一个核心挑战。在 8 月 22 日 - 26 日举办的第 36 届 SIGCOMM 2022 会议上,华为的研究者针对这一难题提出了崭新的思路, 受生物学里的同化作用 Assimilation 的启发,首次提出了 SNA (Software-defined Network Assimilation)的概念。研究者推出了助力网络配置管理最后一公里的辅助框架 NAssim,把一个现有网络 “消化、理解、吸收” 新设备的过程尽可能进行了自动化,并提出用网络配置语义模型 NetBERT 直接 “读懂” 配置说明书,把运维工程师从繁琐易出错的工作中解放出来,大幅提升网络运维的效率。目前该工作正在华为数通产品线进行落地试点。

SIGCOMM(Special Interest Group on Data Communication,数据通信专业组)是美国计算机协会 ACM(Association for Computing Machinery)组织的通信网络领域的顶级旗舰会议,每年吸引全球近千名网络与通信领域的顶级专家参加,拥有极高的学术地位。据了解, 本届会议共 281 篇投稿论文,接收 55 篇,接受率约为 19.57%。《Software-Defined Network Assimilation: Bridging the Last Mile Towards Centralized Network Configuration Management with NAssim》是中国地区首篇荣获该会议最佳论文奖的论文。 

论文地址:https://dl.acm.org/doi/10.1145/3544216.3544244

接下来,我们将对华为推出的配置管理系统 NAssim 进行详细解读。

设计思路和系统概述

首先来看设计思路。SNA(Software-defined Network Assimilation,软件定义网络同化)是指将异构的设备配置模型(包括传统设备和新引入的设备商设备)接纳入现有的集中式控制的网络中的过程,其核心难题是解决多样的设备原生配置模型(Vendor-specific Device Model,VDM)和中心控制器统一配置管理模型(Unified Device Model,UDM)的映射问题。

现有的 SNA 流程十分依赖运维工程师的专家知识进行人工映射,研究者因此试图寻找一种更为高效和自动化的方式加速 SNA 流程,将运维工程师从繁琐且易出错的工作中解放出来。受现有运维实践启发,研究者提出设计一个能够像运维工程师一样能 “读懂” 配置说明书的系统,这个系统能够消化理解配置手册,从中自动提取设备原生模型,并基于手册中丰富的配置语义描述信息,自动推理设备原生配置模型和控制器统一配置模型的映射关系。

为了实现这一设计,研究者需要解决以下几个挑战:

  • 配置手册制式异构性:不同设备商的手册制式没有统一规范,是各设备商自行组织和撰写,这给自动化地 “读懂” 手册造成了挑战。
  • 配置手册的歧义性错误:手册是由人撰写的文档,在文档维护过程中难以避免会出现人工错误,由于配置手册可能包含上万个配置命令说明页面,人工逐一排查是不现实的。自动化地解决这一难点是从手册中提取准确可靠的设备配置模型的关键。
  • 设备原生配置模型和控制器统一配置模型的异构性:随着设备功能逐步升级,通常有大量可选的配置命令和参数,人工进行配置模型映射繁琐且容易出错。需要一个强大的配置语义理解模型进行自动化配置语义推理和映射。

最终,研究者设计了一个助力网络配置管理最后一公里的辅助框架 NAssim, 在设计过程中主要在以下三个方面进行了创新。

首先,NAssim 设计了统一的手册解析框架解决配置手册制式异构性的挑战。研究者基于对一些主流设备厂商手册的深入调研分析,洞察到尽管多设备商配置手册制式不一,但配置手册的基础功能 “向用户展示如何配置设备” 是不变的。因此,手册通常需要描述设备所支持的所有配置命令及其功能、配置参数及其含义描述、配置命令的工作视图和配置样例。基于这一洞察,研究者设计了一种设备商无关的统一格式,用于归一化不同设备商配置手册的制式差异,同时平衡了可扩展性和可读性。研究者进一步设计了测试驱动的流程,保障为主流设备商定制解析器的过程更为高效和可靠。

其次,NAssim 设计了严谨的校验器解决配置手册的歧义性错误的挑战。研究者设计了三个层面的校验。在命令级层面,研究者通过将配置手册序言的语法说明形式化为 BNF 范式,并用解析器生成工具生成语法解析器,对配置命令模版进行自动化校验。在命令互关系级层面,研究者利用配置手册的配置样例推理出配置命令间的层级关系,提取出富含语义信息的设备配置层级模型,并能刻画存在可能歧义的推理。在命令片段级,研究者进一步利用现网具有正确性保障的配置文件,对设备配置模型进行校验。

最后,NAssim 设计了基于配置语义模型的映射器解决设备原生配置模型和控制器统一配置模型的异构性的挑战。研究者设计了配置语义理解 AI 模型 NetBERT 进行自动化配置语义推理和映射,通过语义相似度计算,NetBERT 输出异构配置模型之间的映射推荐,运维专家可进一步审阅确认,提升运维效率。

NAssim 的效果究竟如何呢?研究者分别对厂商设备配置模型构建阶段(VDM Construction Phase)和配置模型映射阶段(VDM-UDM Mapping Phase)进行了详细评估。自动构建阶段的评估表明,NAssim 解析器框架 校验器可以成功从四个主流设备商的配置手册中构建出可靠的设备配置模型,在构建过程中,校验器识别出配置手册中超过 200 个歧义性错误。映射阶段的评估表明,经过配置领域适应的 NetBERT 模型达到了最佳的配置映射推荐效果。以 top k 召回率(recall@top k)为指标,在映射华为设备的配置模型到控制器统一模型的实验中,recall@top 10 为 89%,这意味着如果允许推荐 10 个映射,则只有 11% 的情况下,运维工程师需要去翻阅配置手册,提升了 9 倍运维工程师效率。

该研究工作中发布了一个经过校验的多厂商配置语料数据集,以促进后续网络配置管理领域的研究。

NAssim 系统架构:助力集中式网络配置管理最后一公里的辅助框架

SNA(Software-defined Network Assimilation,软件定义网络同化)分为两个阶段:厂商设备配置模型构建阶段(VDM Construction Phase)和配置模型映射阶段(VDM-UDM Mapping Phase)。下图 1 为 NAssim 架构概览。针对上述两个阶段,NAssim 设计了三个核心模块:解析器框架(Parser Framework)、校验器(Validator)和映射器(Mapper)。

在设备配置模型构建阶段,NAssim 的目标是基于配置手册构建出精确可靠的设备配置模型。NAssim 使用了语义增强的树形结构刻画设备的原生配置模型, 树的每个节点代表一个配置命令模版,树的每条边代表配置命令模版之间的层级关系,每个节点链接到一个从配置手册提取出来的配置语义语料。整个结构包含了设备所支持的配置命令集合、配置命令集合的层级关系和配置命令的语义信息。如下图 2 所示,设备配置模型构建阶段的核心设计是 解析器框架(Parser Framework)和校验器(Validator)。

NAssim 解析器框架(Parser Framework) 

解析器框架的主要目标是将手册的核心配置信息提取出来,并归一化不同厂商的手册制式到统一的格式以便后续处理步骤。基于对主流设备厂商手册的深入调研分析, NAssim 设计了基于 JSON 的格式(如下表 3 所示)来承载核心的配置信息:设备所支持的所有配置命令及其功能、配置命令的工作视图、配置参数及其含义描述和配置样例。下图 3 展示该解析器框架生成的一个配置语料样本。 

如上图 2 所示,由于同一设备商不同设备款型的手册通常有相对统一的制式,因此,在 NAssim 解析器框架中,每个主流设备商原则上只需要定制一次解析器子类。由于配置手册解析位于整个 SNA 流程的最上游,解析的完整性和可靠性十分关键。因此,NAssim 为解析器子类的构建制定了测试驱动的原则,保障为主流设备商定制解析器的过程更为高效和可靠。

NAssim 校验器(Validator)

前述 NAssim 解析器框架的设计原则是尽可能减少解析错误造成的配置信息损失。但配置手册是由人撰写的文档,在文档维护过程中难以避免会出现人工错误,这些源手册的歧义性错误信息会留存在 NAssim 解析器框架输出的解析器语料中。为了减少这些错误信息对后续步骤的影响,NAssim 进一步设计了校验器,对初步解析的配置语料进行了严谨的校验,从而生成精确可靠的设备配置模型。 

在命令级层面,NAssim Validator 主要目标是校验配置解析语料中的配置命令模版。配置命令模版对手册的错误信息十分敏感,因为一个包含语法错误的配置命令是不能被网络设备接收和执行的。每本配置手册的序言部分通常会对手册配置模版语法进行说明,例如许多配置手册都采用花括号代表选择分支,中括号代表可选分支,如下图 4 所示。因此,研究者将这些语法说明形式化为 BNF 范式,并用解析器生成工具生成语法解析器,下图 5 展示了可以生成符合图 4 语法说明的语法解析器的代码片段(基于解析器生成工具 pyparsing)。NAssim Validator 调用生成的语法解析器对配置解析语料中的配置命令模版域进行自动化校验,快速识别有问题的部分,提供给运维工程师进行针对性审阅。

在命令互关系级层面,NAssim Validator 利用配置手册的配置样例推理出配置命令间的层级关系。设备配置模型的配置命令通常为树状结构,但许多配置手册并未显式展示配置层级结构的信息。然而,解析配置语料中的配置样例部分却隐式包含了层级结构的信息。配置样例通常是当前配置命令模版的实例化片段,片段中也包含当前配置命令的父命令。因此通过配置实例和配置模版的匹配,可以推导出配置命令模版之间的层级关系,如下图所示。

要实现配置命令层级关系的推导,需要一个基础算法能力:确定一个配置实例是否和一个配置命令模版匹配。因此研究者分别设计了 “配置命令图模型构造算法” 和“基于配置命令图模型的配置实例 - 模版匹配算法”(如下图),高效支撑基于配置样例的配置命令层级结构的推理算法。

由于配置手册中存在的歧义性错误,上述配置命令层级结构推理算法有时无法完全保证构建出完整层级结构。如下图 7 所示,两个工作视图共享一个配置样例,因此无法完全确定 msdp 命令是进入第一个视图的父命令、或是进入第二个视图或者两者皆可。因此,研究者进一步设计了针对每个层级视图的推理的可靠性的衡量步骤,并记录可能存在歧义的推理,交由运维工程师进行针对性审阅。

在命令片段级,NAssim Validator 进一步利用现网配置文件,对设备配置模型进行校验。相比于配置手册中的信息,现网配置文件具有正确性保障。如下图 8 所示,对于每个配置文件中的每行配置实例和其上层配置命令,检查它们是否能在给予配置手册构建的设备配置模型中找到对应的配置模版,并构成正确层级关系。

经过解析器框架和校验器,NAssim 系统从配置手册中提取出了富含语义信息的精确可靠的设备配置模型。

在配置模型映射阶段,NAssim 的目标是将设备原生配置模型和控制器的统一配置模型进行语义映射。如下图 9 所示,配置模型映射阶段的核心设计是映射器(Mapper)。

NAssim 映射器(Mapper)

前述的解析器框架 校验器生成了富含语义信息的设备配置模型(VDM),运维工程师在定义控制器的统一配置模型(UDM)时,通常会给其每一配置项添加自然语言描述,便于运维团队使用。因此, NAssim 映射器的核心设计思想是利用自然语言处理领域的最新技术,设计并训练强大的配置语义理解模型,基于两个异构配置模型上的配置语义信息,进行自动化推理和映射

如上图 9 所示, 映射器的工作流程分为三个步骤:配置语义上下文提取,配置语义编码,和配置语义相似度计算和映射。

在配置语义上下文提取部分,对设备原生配置模型,实验中发现比较重要的语义信息包含配置参数名字和对应描述、参数所在的配置命令模版和其功能描述以及工作视图。对于统一配置模型,则可提取每个配置项的描述信息。不同配置模型可以提取不同数量的文本信息作为配置语义上下文。

在配置语义编码部分,NAssim 映射器采用了 state-of-the-art 的语义编码器 BERT。对于一个自然语言描述的文本序列,BERT 基于 Transformer 架构输出其在向量空间的嵌入表征。由于不同配置模型可以提取不同数量的配置语义上下文,因此 NAssim 映射器会使用 BERT 对每个信息进行单独编码,输出嵌入向量矩阵。

在配置语义相似度计算和映射部分,对于来自不同配置模型上的一对配置参数项,NAssim 映射器衡量它们对应的嵌入向量矩阵的行式余弦相似度来计算其配置语义相似度,进一步通过配置语义相似度排序来进行映射推荐。

NAssim 映射器的核心是通过对预训练模型 SBERT 进行网络配置领域适应后得到的配置语义理解 AI 模型 NetBERT。SBERT 是基于 BERT 的孪生网络,并在大型自然语言推理数据集上,以句子匹配度为目标进行训练。SBERT 可以把语义相似的自然语言文本映射到向量空间里相近的向量。但是对于训练语料中未出现的领域,比如网络配置描述,模型的效果会打折扣。因此,NAssim 映射器利用运维工程团队过去人工积累的设备配置模型和控制器统一配置模型的映射数据(正样本),结合负样本采样技术,生成网络配置领域的小型数据集,对 SBERT 进行网络配置领域自适应调优得到 NetBERT 模型。NetBERT 基于配置语义进行推理和映射,输出异构配置模型之间的映射推荐,运维专家可进一步审阅确认,提升运维效率。

评估实验

在评估部分,研究者分别评估了 NAssim 在 SNA 的两个阶段的表现,一是厂商设备配置模型构建阶段(VDM Construction Phase)的有效性和可靠性,二是配置模型映射阶段(VDM-UDM Mapping Phase)的准确性。

在第一阶段的评估中,研究者展示了基于四个主流设备商(华为、思科、诺基亚 / 阿朗、华三)的配置手册,使用 NAssim 解析器 校验器构建设备原生配置模型的实践经验。实验详细结果如下表 4.

实验结果表明,NAssim 解析器框架 校验器可以成功从四个主流设备商的配置手册中构建出精确可靠的设备配置模型。在构建过程中,校验器识别出配置手册中超过 200 个歧义性错误。

在第二阶段的评估中,研究者以 top k 召回率(recall@top k)为指标评估 NAssim 映射器进行配置映射推荐的效果,即正确映射在前 k 个推荐项中出现的百分比。k 值越小时召回率越高代表推荐的配置映射效果越好。实验详细结果如下表 5.

实验中采用了如下基线模型:(1) IR:基于信息检索(information retrieval)的映射方式,研究者选取了其中最为经典的 TF-IDF 方法。(2)SBERT

(3)SimCSE (4)IR DL:复合模型,先采用 IR 方法进行 top 50 粗筛,之后使用深度学习模型进行细粒度的配置语义相似度计算和排序。

实验结果表明,经过配置领域适应的 NetBERT 模型结合 IR 粗筛达到了最佳的配置映射推荐效果。在映射华为设备的配置模型到控制器统一配置模型的实验中,recall@top 10 为 89%,这意味着如果允许推荐 10 个映射,则只有 11% 的情况下,运维工程师需要去翻阅配置手册,提升了 9 倍运维工程师效率。

更多细节内容请阅读原论文。

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

0 人点赞