• 文章名称:In-band Network Function Telemetry
  • 发表时间:2018
  • 期刊来源:SIGCOMM

I Introduction (介绍)

NFV运行在商品服务器上,在网络功能生命周期管理过程中提供了巨大的灵活性,将逐步代替硬件中间盒设备。现在有很多建立、运行VNF的优秀平台,比如BESS和NetVM,实现VNFs生命周期管理并且提供一个良好的性能保证。

尽管NFV在工业上使用广泛,但是对于NFV在SLA验证、故障检测以及其他第三方应用的重要性却很了解很少。比如当源码是不可知的情况下,实现监测是非常困难的。尽管单独的测量可以进行,但是为VNF遥测设计和实现有限过载的通用架构并非易事。据了解,之前并没有在高效测量VNFs运行时的性能上做相关工作。

为了高效地监控NFs的运行性能,我们引入了带内网络功能遥测(In-band Network Function Telemetry INFT)。INT(in-band network telemetry)是一个在数据平面收集网络状态的架构,引起的开销可以忽略不计,并且不需要与控制器进行交互,同时能够捕获网络上的短暂变化。INFT同样依赖数据平面进行测量,但是旨在中间盒透明。

我们提出NFT,一个轻量级、基于黑盒的高级可配置遥测架构。NFT建立主要在NFV平台之上,并且不需要测量的NFs。遥测仍然主要是INT,通过利用现代CPU的指令级并行性,产生很少的开销并能够监视快速变化的性能。** 我们在网络架构中,添加对于postcard-like report的支持。
贡献如下:

  • 一、设计了通用的架构,可以用于测量中间盒的性能而且不导致任何负载。
  • 二、为带内遥测报告和postcard-like 报告提出了头部格式。
  • 三、进行初步的评估,证明设计引起的微小负载。

II Design (设计)

如图1所示,在NFT中的遥测节点被分为三类:classifier,forwarder,以及sink。classifier是可信任的实体,创建并且插入遥测首部到数据包中,数据包根据顾客/网络配置策略选择出来。Forwards 通过将元数据放进数据包,收集度量信息,另外根据遥测首部(headers)发送post-cards,report metric information(度量信息)。sink 节点提取元数据信息并且将数据包改变为常规数据包。

当一个主机的NIC接收到一个数据包,NIC首先通过底层的路由机制(比如BESS或者Open Vswitch)将数据包发送给NFT classifier(arrow 1)。我们将这样的机制定义为Routing Layer(路由层)。INFT首部被插入到分类为遥测数据包的数据包中。这些数据包接着被发送到NFT forwarder(arrow 2)。转发器(forwarder)依据INFT首部将临时信息(比如时间戳)写入到INFT元数据区域中,然后将这些数据包发送到目的中间盒(arrow 3)。数据包在退出时传输回forwarder(转发器)(arrow 4)。接着,forwarder根据之前写的数据(我们假设为INFT首部和元数据,因此它们不会被中间盒直接移除,在多播的情况下被复制)将遥测结果计算并且写入到数据包中。最后,携带INFT元数据的数据包被发送到sink node(arrow 5)。postcard-like reports是通过forwarders 依据INFT首部生成,同样的,postcard-like reports同样可以直接地发送到sink node 。节点接着提取元数据并且格式化数据包为常规数据包。最后,这些常规数据包通过NIC发送到主机。为了提高架构的性能,某个节点,比如forwarders,可以直接地通过数据平面实现。

INFT协议包括INFT首部和INFT元数据,类似于INT(如图2)。Metric字段决定了放入到每个INFT数据包的元数据的类型。Length 字段指明了下一块元数据插入的位置。设置Postcard 位 表明postcard生成。INFT元数据是紧随在INFT header 之后的4bytes 表项。每个条目包含写入数据的forwarder(转发器)的标识符,数据包进入和离开转发器的端口ID以及收集的度量数据。现在,我们测量延迟,I/O 数据包比特速率,因为它们是最基本最直接的实现。

为classifiers 插入INFT协议并且读取数据 的确切位置可以由操作员配置,消除在不同中间设备添加INFT协议的影响。 默认的,我们建议在IP 选项字段中插入头信息,因为大多的NFs自动跳过IP 项。forwarders (转发器)同样的可以将INFT协议移数据包别的位置上,在数据平面支持更加灵活的测量。然而,正如在评估一节提到,这样的重写操作可能是昂贵的,导致性能下降并,因此应该小心使用。Postcard reports 在源数据包头之前包含一个Postcard header。首部有一个Next Protocol 字段指示数据包首部内的第一层。Sequence 字段和 Left Time 字段用于侦测数据包以及丢弃数据包。


III EVALUATION (评估)

我们在BESS上实现了这个架构,比如,在数据平面,与其他模块处理每个数据包速率的性能进行对比(Time Stamp Counter 的区别取决于进入和退出)。所有模块运行在单个的Inter Xeon E5-2620(2.40GHz).

结果如图3所示,Classifiers可以基于简单规则(比如5元组)相当快的速度(相当ACL模块)执行分类。forwarders写INFT数据的重要性能同样值得关注。我们根据INFT头和入口id选择遥测数据,通过使用条件移动而不是条件跳转来避免CPU气泡,从而开发现代CPU的指令级并行性。

然而,fowarders 花费更长的时间来移动INFT协议到数据包别的位置,因为forwards需要更长的时间来复制动作(actions)。这样的复制可以通过利用BESS预留的buffer来避免。Postcard的产生很缓慢,因为新的数据包需要分配。尽管如此,当postcard 速率低的时候,这样的开销是可接受的。


** 个人 **

  • In-band:频内,指那些数据控制已经被固定的网络协议,In-band 控制的控制数据通常和主要的传输数据公用同样的连接链路(以太网通道),属于应用层管理。被管理设备只有处于开机状态并进入作业系统的情况下,才能进行管理。像SNMP(Simple Network Management Protocol)都是属于In-band协议。SNMP使用方便,但是存在一个固有的缺陷:SNMP 管理信息总是和网络数据使用同样的网络路径。它使用相同的WAN和LAN路由、中继器和连接链路。当网络中断或是严重受损的时候,SNMP流量就不能在向量的管理设备或是工作站中流通。当网络组件中断时,In-band失去网络连接,不能使用。

  • Out-band:频外,又被称为熄灯(Lights Mangement,LOM)管理,弥补了In-band的缺点,是指那些数据传输信道独立于正常的网络传输,被管理设备即使在关机状态甚至故障的状态下,都可以进行修复重开机或是日志监控等管理作业。这对于分离两种不同类型的数据是十分有用的。Out of band 管理指那些通过拨号电话线允许技术人员连接到网络组件(防火墙、路由器、网桥、交换机、服务器等)。在电话系统中,当用于建立语音通信的设备分离时,就使用Out of band通信建立语音通信。

  • In-band管理相对于Out-band管理更廉价,但是在计算机网络中它不能够接触固件(BIOS和URFI),也不能够远程重新安装操作系统,不能修复系统booting的问题。在网络中,不允许独立于当前网络组件的网络组件进行远程管理。看数据传输是否通过独立的数据链路传输判断是否为Out-band network。


In-band Network Function Telemetry的更多相关文章

  1. NFV-Bench A Dependability Benchmark for Network Function Virtualization Systems

    文章名称:NFV-Bench A Dependability Benchmark for Network Function Virtualization Systems 发表时间:2017 期刊来源: ...

  2. Improving the Safety, Scalability, and Efficiency of Network Function State Transfers

    Improving the Safety, Scalability, and Efficiency of Network Function State Transfers 来源:ACM SIGCOMM ...

  3. Network Function Virtualization for a Network Device

    An apparatus for performing network function virtualization (NFV), comprising: a memory, a processor ...

  4. Network Function Virtualization: Challenges and Opportunities for Innovations

    年份:2015 ABSTRACT 最近提出了网络功能虚拟化,以提高网络服务供应的灵活性并减少新服务的上市时间. 通过利用虚拟化技术和通用的商用可编程硬件(例如通用服务器,存储和交换机),NFV可以将网 ...

  5. Predictive Analysis in Network Function Virtualization

    摘要 网络功能虚拟化(NFV)体系结构的最新部署获得了极大的关注.虚拟化虽然带来了诸如降低成本和简化网络功能部署之类的好处,但它增加了附加层,从而降低了较低层故障的透明度.为了改善虚拟网络功能(VNF ...

  6. How to implement a neural network

    神经网络的实践笔记 link: http://peterroelants.github.io/posts/neural_network_implementation_part01/ 1. 生成训练数据 ...

  7. 服务链(Service Chaining,or Service Function Chaining,SFC,功能服务链)

    Software-configured  service  chaining  provides  the  capability  to  dynamically include best-of-b ...

  8. 论文阅读:Elastic Scaling of Stateful Network Functions

    摘要: 弹性伸缩是NFV的核心承诺,但在实际应用中却很难实现.出现这种困难的原因是大多数网络函数(NFS)是有状态的,并且这种状态需要在NF实例之间共享.在满足NFS上的吞吐量和延迟要求的同时实现状态 ...

  9. 从个人的角度谈谈本次GNTC大会的收获

    GNTC资料:from sdnlab 从个人的角度谈谈本次大会的收获 从本次大会的主题演讲来看,目前SDN.NFV的最前沿已经不再像五年前持观望态度以及探讨,各大运营商.各大厂商已经将SDN.NFV具 ...

随机推荐

  1. CPP strcat函数使用

    strcat函数原型 char * strcat ( char * destination, const char * source ); strcat常见写法 // main.cpp // 字符数组 ...

  2. Hadoop的HDFS和MapReduce的安装(三台伪分布式集群)

    一.创建虚拟机 1.从网上下载一个Centos6.X的镜像(http://vault.centos.org/) 2.安装一台虚拟机配置如下:cpu1个.内存1G.磁盘分配20G(看个人配置和需求,本人 ...

  3. WPF 跟随鼠标动画 by wgscd

    WPF 跟随鼠标动画 by wgscd <UserControl x:Class="WpfApplication1.Spark" xmlns="http://sch ...

  4. 20155333 实现mypwd

    20155333 实现mypwd 学习pwd命令 Linux中用 pwd 命令来查看"当前工作目录"的完整路径. 命令格式:pwd [选项] 命令功能:查看"当前工作目录 ...

  5. 2 vue 。js

    元素option el element    混淆 webpack 项目依赖 save 开发依赖 虚拟dom的问题 在js的基础上封装的,不是jquery 整个网页就一个实例化对象 v 下一张 怎么做 ...

  6. [IOI2018] werewolf 狼人 kruskal重构树,主席树

    [IOI2018] werewolf 狼人 LG传送门 kruskal重构树好题. 日常安利博客文章 这题需要搞两棵重构树出来,这两棵重构树和我们平时见过的重构树有点不同(据说叫做点权重构树?),根据 ...

  7. 【正经向】NOIP2017烤后总结

    [正经向]NOIP2017烤后总结 Warning: 合法的评论(举例): 博主辣么juruo还来参加NOIP,不要脸 不合法的评论(举例): %%%%%博主太强了,我菜爆了 博主将删除不合法评论,& ...

  8. 牛客网NOIP赛前集训营-提高组(第六场)-A-最长路[拓扑排序+hash+倍增]

    题意 给定一个 \(n\) 点 \(m\) 边的边权非负的有向图,边有字符,求以每个点为开头的最长路字典序最小的路径 \(hash\) 值. \(n,m\leq 10^6\) 分析 首先建反图拓扑排序 ...

  9. [BZOJ3167][HEOI2013]SAO[树dp+组合数学]

    题意 给定 \(n\) 个节点和 \(n-1\) 个限制,每个节点有一个权值,每个限制形如:\(a_i< a_j\) ,问有多少个 \(1\) 到 \(n\) 排列满足要求. \(n\leq 1 ...

  10. Eclipse启动Tomcat错误:Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already

    Eclipse启动Tomcat错误: Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are alread ...