Improving the Safety, Scalability, and Efficiency of Network Function State Transfers
Improving the Safety, Scalability, and Efficiency of Network Function State Transfers
来源:ACM SIGCOMM
年份:2015
NF迁出的一致性就是要保证:状态迁移结束的一瞬间,两个NF含有的状态信息一定要一模一样。如果在状态迁移期间经过源NF的数据包触发了状态更新,那么这就会导致不一致性,本篇论文就是在解决这个问题。
ABSTRACT
目前已经提出了很多用于实现NF instance之间的状态迁移架构,但是由于它们过度的使用数据包缓存,不能保证状态迁移的安全性(无损,保序),可延展性和高效性(规定时间内完成)。本篇论文提出了两种改进方式:(1)数据包再处理。(2)P2P传输。
INTRODUCTION
众所周知,NF需要不断的生成新的状态信息或保留之前的状态信息来处理数据包。由于NF的带状态的,所以它很难在不损失性能的情况下重新路由流量。
举个例子,一个IPS实例(intrusion prevention system)已经过载,所以它不得不迁出一部分流量。否则会造成一系列的问题,就比如造成高时延。基于NFV,我们可以开启一个新的IPS实例实现二者间的负载均衡,预防性能瓶颈。然而,为了要让两个IPS实例都能准确的隔离可以流量,必须确保与当前流量相关联的NF状态在负责该流量的IPS实例上存在。
之前的工作为了解决状态复制问题,采用了复制虚拟机的方式,但是这种方式实在是太慢了,难以满足需求。后来提出了Split/Merge和OpenNF架构,二者的思想就是更加细粒度的进行状态迁移。上述的各种架构,都可以实现在NF分流后,所有的数据包得到正确的处理(状态一致性)。
Split/Merge和OpenNF的做法是,在状态迁移期间,把到达的数据包和更新的状态存入到中央控制器的缓冲区。这样不仅会增加在状态迁移期间到达流量的处理时延,还需要中央控制器有足够的处理能力和足够大的缓存空间。如果缓冲区不够大就会造成丢包(二者并没有给出解决缓冲区溢出的机制),这显然是不能接受的。
对于上述问题,本篇沦为给出了以下两种解决方案:
- Packet reprocessing:状态迁移期间允许NF实例继续处理数据包,如果在源NF上有数据包触发了状态更新,复制这个数据包并发送到新的NF实例上并触发相同的状态更新。这项技术缩短了被转移流量的处理时延,减少了缓冲区的空间开销。不过这项技术的挑战就是:不要让新的NF实例把这个数据包再转发出去,因为源NF已经转发过一次了,再转发的话就重复了。
- Peer-to-peer (P2P) transfer:

Improving the Safety, Scalability, and Efficiency of Network Function State Transfers的更多相关文章
- Network Function Virtualization for a Network Device
An apparatus for performing network function virtualization (NFV), comprising: a memory, a processor ...
- NFV-Bench A Dependability Benchmark for Network Function Virtualization Systems
文章名称:NFV-Bench A Dependability Benchmark for Network Function Virtualization Systems 发表时间:2017 期刊来源: ...
- In-band Network Function Telemetry
文章名称:In-band Network Function Telemetry 发表时间:2018 期刊来源:SIGCOMM I Introduction (介绍) NFV运行在商品服务器上,在网络功 ...
- Network Function Virtualization: Challenges and Opportunities for Innovations
年份:2015 ABSTRACT 最近提出了网络功能虚拟化,以提高网络服务供应的灵活性并减少新服务的上市时间. 通过利用虚拟化技术和通用的商用可编程硬件(例如通用服务器,存储和交换机),NFV可以将网 ...
- Predictive Analysis in Network Function Virtualization
摘要 网络功能虚拟化(NFV)体系结构的最新部署获得了极大的关注.虚拟化虽然带来了诸如降低成本和简化网络功能部署之类的好处,但它增加了附加层,从而降低了较低层故障的透明度.为了改善虚拟网络功能(VNF ...
- Network Load Balancing Technical Overview--reference
http://technet.microsoft.com/en-us/library/bb742455.aspx Abstract Network Load Balancing, a clusteri ...
- POJ 1966 Cable TV Network
Cable TV Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 4702 Accepted: 2173 ...
- POJ 1966 Cable TV Network(顶点连通度的求解)
Cable TV Network Time Limit: 1000MS Memory Limit: 30000K Total Submissi ...
- Chp10: Scalability and Memory Limits
The Step-by-Step Approach break down a tricky problem and to solve problems using what you do know. ...
随机推荐
- 【visual studio code 的python开发环境搭建 】
打开vs code,按按F1或者Ctrl+Shift+P打开命令行,然后输入ext install 输入Python,选第一个,这个用的最多,支持自动补全代码等功能,点击安装按钮,即可安装 下面试着编 ...
- 如何使用yii2的缓存依赖特性
目录 如何使用yii2的缓存依赖特性 概述 页面缓存 缓存依赖 链式依赖 总结 如何使用yii2的缓存依赖特性 概述 缓存是Yii2的强大特性之一,合理使用缓存技术可以有效地减小服务器的访问压力.Yi ...
- [示例] Firemonkey TreeView 父项勾选子项连动
效果: 代码: procedure TForm1.TreeView1ChangeCheck(Sender: TObject); var i: Integer; t: TTreeViewItem; be ...
- Delphi RAD Server 应用服务基础平台
RAD Server是一个应用服务框架平台,可快速构建和部署应用服务.RAD Server提供自动化的Delphi和C++ REST/ JSON API的 发布与管理.企业数据库集成中间件.智能物联网 ...
- Linux单用户CS模型TCP通讯完全注释手册
Linux单用户CS模型TCP通讯完全注释手册 server 描述 实现一个简单的Linux单用户CS通讯,客户端发送一串字符串,服务器将其转换为大写后返回. server 代码 ``` #inclu ...
- python自动化学习
1.环境搭建 1.1 下载或拷贝整个PyAuthoTest到指定的目录,如D:\PyAuthoTest 1.2 安装Python2.7以及需要使用到的安装包列表如下 requests-2.10.0.t ...
- Could not connect to '192.168.80.145' (port 22): Connection failed的解决办法(远程连不上xshell)
问题状况表现1 这个问题一般是你 的什么配置影响了虚拟机的网卡网关设置!!!. 问题状况表现2 这个问题一般是你 的什么配置影响了虚拟机的网卡网关设置. 解决办法 网上的那些解决方案,我都试过,比如. ...
- 20155206 2016-2017-2 《Java程序设计》第1周学习总结
20155206 2016-2017-2 <Java程序设计>第1周学习总结 第一,二章学习内容总结 第一章 java基本知识 Java的三种技术架构: JAVAEE:Java Platf ...
- 【CF813D】Two Melodies
[CF813D]Two Melodies 题面 洛谷 题解 $dp$: 设$f[i][j]$表示第一个集合以$i$结尾.第二个集合以$j$结尾的合法长度之和最大是多少 明显有$f[i][j]=f[j] ...
- Linux安装gitlab
一.GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.安装方法是参考GitLab在GitHub上的Wiki页面. 二.我相信使用过git的开 ...