人工智能和云计算等技术逐渐兴起,应用领域也在不断扩展。为了更好地满足日益变化的网络需求,一些新型的网络拓扑架构被提出,但从被提出到真正落地需要经过多重检验,以确保符合相应的场景需求。实际铺设相应网络设备来搭建实验床的方式存在成本较高、检验相对复杂等问题,不适用于大型的生产网络环境。因此,搭建一套高保真且操作简便的拓扑仿真模拟和性能评估系统是非常有必要的。已有的网络模拟器和网络仿真器受限于CPU的限制,无法提供高保真的功能仿真和性能仿真。近年来,交换机、网卡等网络基础设施逐渐具备了可编程性。P4语言的出现使数据平面的编程更为简单,可编程交换机的可编程性和高带宽优势使功能和性能高保真的网络拓扑仿真成为可能,TurboNet框架就是具有代表性的成果之一。但受限于单台可编程交换机的物理端口数量,TurboNet框架仿真的交换机数量有限;将其拓展到多台可编程交换机的场景又很难满足不同可编程交换机之间的物理链路带宽约束。因此,如何在满足不同可编程交换机之间的物理链路带宽约束的前提下,使用多台可编程交换机对更大的网络拓扑进行仿真,是一项具有挑战性的研究工作。此外,TurboNet框架本身只具备端口转发功能,无法感知到网络的故障、延迟等情况,因此在对网络拓扑,特别是较大的网络拓扑进行仿真时,引入对仿真网络状态的遥测感知功能也十分重要。
研究方法
为了实现在考虑物理链路带宽约束的情况下,基于多台可编程交换机使用TurboNet框架进行大规模、高保真的网络拓扑仿真,利用非线性0–1整数规划的方式进行了约束建模,提出了基于Metis框架的多级划分算法,对要仿真的由大量交换机组成的大规模网络进行规约,大大缩短了算法的求解时间,提高了求解效率。为了能够感知网络仿真的性能,在仿真系统中采用了Netview可定义遥测框架。针对可编程交换机受限于包头长度导致的Netview框架的探针转发路径长度有限的问题,本文基于网络拓扑仿真的特定场景,提出利用可编程交换机的匹配–动作表表项记录探针转发路径,使得Netview框架的探针可以在较长的转发路径上对仿真的网络拓扑进行网络测量及性能评估。
成果简介
本文提出并实现了一个基于多台可编程交换机的大型网络拓扑仿真和评估系统,可以实现大型网络拓扑的拓扑仿真,并利用网络探针对需要的网络节点进行监测。使用该系统时,用户只要输入想要仿真的虚拟拓扑和可用于仿真的可编程交换机物理拓扑,该系统最终会输出合适的可编程交换机端口配置,从而实现网络拓扑的仿真。该系统采用Metis框架的多级划分算法,在考虑可编程交换机之间物理带宽约束的情况下对大型网络拓扑进行划分,从而实现对大型网络拓扑的高保真仿真。在Internet Topology Zoo网络拓扑数据集中的Kdl拓扑上的实验结果来看,原本的算法经过一天的时间仍然无法得到满足约束的划分方式,但使用多级划分算法则可在数秒内进行快速求解。在进行网络拓扑仿真的同时,该系统还利用改进的Netview网络遥测机制,为用户提供对仿真网络状态的感知。针对可编程交换机受限于包头长度导致的Netview框架的探针转发路径长度有限的问题,利用可编程交换机的匹配–动作表表项记录探针转发路径,使得Netview框架的探针可以在较长的转发路径上对仿真的网络拓扑进行网络测量及性能评估,轻松支持大型网络拓扑的网格测量需求。与传统的网络仿真器和网络模拟器相比,由于可编程交换机具有高带宽和高吞吐的优势,本文提出的网络拓扑仿真系统可以提供更符合真实网络场景的仿真性能。与TurboNet相比,本文的网络拓扑仿真系统则可在仿真的同时考虑可编程交换机之间的物理链路带宽,从而减少由于丢包、排队造成的延迟,提供更高的仿真保真度。而利用可编程交换机的匹配–动作表表项记录探针转发路径的方案则使得用户在对较大的网络拓扑进行网络测量时可以使用更长的探针转发路径。
图文导读
本文提出的网络拓扑仿真和评估系统主要包含两个部分:网络拓扑仿真和网络遥测。其中网络拓扑仿真的核心是多级划分算法,而网络遥测的核心则是改进的Netview网络遥测机制。
多级划分算法首先使用Metis框架将虚拟拓扑中的节点进行合并以实现节点数的缩减,再使用直接划分算法进行求解。如图1所示,黑色圆点表示节点,虚线矩形框表示Metis框架合并后的大节点,实线矩形框表示实际的1号和2号可编程交换机,为简化表达,图中省略了虚拟拓扑中的链路连接。由图可知,合并后的大节点组成的图的规模显著缩小,可大大缩短算法的求解时间。
图1 多级划分算法节点合并示意图
为了验证本文提出的基于多台可编程交换机进行网络拓扑仿真的可行性,本文使用两台具有64个端口组的Intel Tofino2交换机以及CPU型号为Intel® Xeon® Gold 6230R CPU@2.10GHz的Linux服务器对Topology Zoo中的Ion拓扑进行实际的拓扑仿真测试。具体的实验平台搭建如图2所示,其中T1和T2分别表示两台具有64个端口组的Tofino交换机,T1和T2之间的物理链路带宽为40 Gbps,服务器与Tofino交换机T1、T2相连,物理链路带宽为10 Gbps,服务器主要用于表项的下发和探针的发送、收集,通过设置合理的探针转发路径,最终的探针也将会回到服务器。通过在Tofino终端设置相应端口的UP/DOWN状态可以仿真相应交换机的故障行为,在将相应的交换机端口设置为DOWN状态后,实验可以观察到对应的丢包情况。此外,在指定相应的转发路径后,也可以通过Netview探针收集到相应端口的排队、延迟等信息,对相应的链路进行网络测量,验证了本文提出的使用多台可编程交换机进行网络拓扑仿真与性能评估方案的可行性。
图2 可行性验证实验平台示意图
Tofino2型号的可编程交换机实际编译测试结果表明,在保证TurboNet正常运行的情况下,Netview探针的转发路径长度最多只能达到十几跳的量级,如果转发路径过长则会导致程序无法通过Tofino系统的编译,而如果采用可编程交换机表项记录转发路径的方案,则可以轻松支持数千甚至数万的转发路径长度,其存储的上限受限于Tofino交换机上的内存资源。但由于这种方案在每次发送探针的同时需要控制平面下发相应的转发路径表项,因此会带来一定的时间开销。图3的结果表明,转发路径带来的时间开销和总转发路径长度基本呈正比关系,且当总转发路径长度为100时,下发表项所用的时间开销为4.1 s,在可接受的范围内。
图3 下发表项所用时间与总转发路径长度的关系
作者简介
本文第一作者为硕士研究生李其奋,通讯作者为徐明伟教授。
徐明伟,清华大学计算机系教授,博士生导师,长期从事计算机网络领域的科研工作,在高性能IPv4/v6路由器、高性能网络、互联网路由和IPv4/IPv6过渡方面取得了若干成果。曾任863“中国高速信息示范网”和“高性能宽带信息网”专项总体组专家。研究领域为计算机网络体系结构、互联网路由和高性能路由器。在SIGCOMM、INFOCOM等期刊和会议上发表论文多篇,获得国家科技进步二等奖3项,省部级一等奖5项。
文章信息
李其奋,王旸旸,李冠宇等.基于多台可编程交换机的网络拓扑仿真与性能评估[J/OL].清华大学学报(自然科学版):1-9[2024-01-16].https://doi.org/10.16511/j.cnki.qhdxxb.2023.27.008.
期刊介绍
《清华大学学报(自然科学版)》创刊于1915年,已有百年历史,是中国最早同时以大学校名和“学报”冠名的期刊。《清华大学学报(自然科学版)》现由清华大学出版社出版,月刊。作为名副其实的“老字号”期刊,众多学术权威的力作与莘莘学子的处女作在其上交相辉映,使之成为清华大学自强不息、厚德载物的科学精神的见证。
《清华大学学报(自然科学版)》被多家国际性文献检索机构如Ei、CA、MR、РЖ、INSPEC、Zbl等及国内多家全国性文献检索机构如中文核心期刊要目总览、CSCD、CNKI 等收录。1999、2003年荣获第一、二届国家期刊奖,2005年荣获第三届国家期刊奖提名奖,2010、2013年荣获第二、三届中国出版政府奖期刊奖提名奖,2009年被评为“新中国60年有影响力的期刊”,2013、2015、2017年荣获全国百强科技期刊。