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

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

  • 相关阅读:
    转: sublime text常用插件和快捷键
    转: markdown基本语法
    sqlite详细介绍
    webpack配置babel-loader
    vue骨架屏以及seo优化
    路由滚动行为
    anywhere随启随用的静态文件服务器
    node.js http-server 搭建本地服务器
    vuex中mutations数据响应
    vue项目开发优化
  • 原文地址:https://www.cnblogs.com/031602523liu/p/9833250.html
Copyright © 2011-2022 走看看