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的做法是,在状态迁移期间,把到达的数据包和更新的状态存入到中央控制器的缓冲区。这样不仅会增加在状态迁移期间到达流量的处理时延,还需要中央控制器有足够的处理能力和足够大的缓存空间。如果缓冲区不够大就会造成丢包(二者并没有给出解决缓冲区溢出的机制),这显然是不能接受的。
对于上述问题,本篇沦为给出了以下两种解决方案:

  1. Packet reprocessing:状态迁移期间允许NF实例继续处理数据包,如果在源NF上有数据包触发了状态更新,复制这个数据包并发送到新的NF实例上并触发相同的状态更新。这项技术缩短了被转移流量的处理时延,减少了缓冲区的空间开销。不过这项技术的挑战就是:不要让新的NF实例把这个数据包再转发出去,因为源NF已经转发过一次了,再转发的话就重复了。
  2. Peer-to-peer (P2P) transfer:

Improving the Safety, Scalability, and Efficiency of Network Function State Transfers的更多相关文章

  1. Network Function Virtualization for a Network Device

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

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

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

  3. In-band Network Function Telemetry

    文章名称:In-band Network Function Telemetry 发表时间:2018 期刊来源:SIGCOMM I Introduction (介绍) NFV运行在商品服务器上,在网络功 ...

  4. Network Function Virtualization: Challenges and Opportunities for Innovations

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

  5. Predictive Analysis in Network Function Virtualization

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

  6. Network Load Balancing Technical Overview--reference

    http://technet.microsoft.com/en-us/library/bb742455.aspx Abstract Network Load Balancing, a clusteri ...

  7. POJ 1966 Cable TV Network

    Cable TV Network Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4702   Accepted: 2173 ...

  8. POJ 1966 Cable TV Network(顶点连通度的求解)

                               Cable TV Network Time Limit: 1000MS   Memory Limit: 30000K Total Submissi ...

  9. Chp10: Scalability and Memory Limits

    The Step-by-Step Approach break down a tricky problem and to solve problems using what you do know. ...

随机推荐

  1. linux系统基础之--目录结构(基于centos7.4 1708)

  2. 新增时json类型报错

    新增时出错:如下 实体类中字段类型没有对应上,vue页面中修改跳转页面的路径:使用params...

  3. 学习tp5的第二天(路由)

    一.学习路由 1.phpstudy版本的环境去掉indx.php 直接访问url phpstudy配置的环境需要设置 入口目录的 .htaccess文件如下: <IfModule mod_rew ...

  4. pomelo vscode 调试配置

    步骤 config/server.js 配置 .vscode/launch.json 配置 详细 1. 在server的配置中添加 args 参数,此参数为node开启此服务器时命令参数 " ...

  5. jdbc之Statement和Preparement

    Jdbc DML 操作 Statement:静态SQL操作 每次操作都会将sql语句提交到数据库执行一次,性能比较低 // 1.加载驱动程序 Class.forName(driverName); // ...

  6. Python学习:15.Python面向对象(二、继承的各种情况)

    一.什么是继承 继承是一种创建类的方法,在python中,一个类可以继承来自一个或多个父.原始类称为基类或超类. #创建父类 class Parent1: pass class Parent2: pa ...

  7. Java学习笔记三十一:Java 包(package)

    Java 包(package) 一:包的作用: 如果我们在使用eclipse等工具创建Java工程的时候,经常会创建包,那么,这个包是什么呢. 为了更好地组织类,Java 提供了包机制,用于区别类名的 ...

  8. Kafka消息系统

    一.基本概念 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计. 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳 ...

  9. 20155236 2016-2017-2 《Java程序设计》第一周学习总结

    20155236 2016-2017-2 <Java程序设计>第1周学习总结 教材学习内容总结 第一章:java平台概论 java SE(j2SE)分为四个主要的部分:JVM.JRE.JD ...

  10. centos7下将java -jar命令运行一个项目做成systemd服务

    有些时候运行一个java项目在linux下通过一条简单的java命令即可,如: #nohup java -jar jenkins.war & ###这里为后台运行jenkins 在此背景下,j ...