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. centos7添加新网卡实现双IP双网关

     问题背景: 业务需要,针对业务需要不同地域的机构访问,所以需要在同一台机器上配置不同IP并配置不同网关,实现不用机构可以访问同一台服务器办理业务. 系统环境: centos linux7 网络环境: ...

  2. CSS3 过渡、变形和动画

    一.我们来给按钮增加一个悬停效果:#content a:hover {border: 1px solid #000000;color: #000000;text-shadow: 0px 1px whi ...

  3. MongoDB基础命令及操作

    MongoDB:NoSQL数据库 MongoDB中的重要指示点 MongoDB中的三要素 数据库 集合 文档 MongoDB中的数据存储是以Bson的形式存储的,Bson是二进制的json,所以看上去 ...

  4. HBase操作一

    package Hbase; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.a ...

  5. docker环境下构建flannel 网络

    flannel 是coreos 开发的网络解决方案,为每一台主机分配一个 subnet,容器从此subnet 中分配ip,ip可以在主机间路由.每个subnet从更大的ip池中划分,为了在各个主机间共 ...

  6. Linux IO多路复用 poll

    Linux IO多路复用 poll 之前曾经提到过 select poll 跟select类似,poll改进了select的一个确定,就是poll没有监听上限 不过poll还是需要遍历以及频繁的把数组 ...

  7. C语言实现可复用栈

    一.思考 最开始写的栈,通过宏来改变元素数据类型,在同一程序中只能用于一种数据类型,想要用于多种数据类型则要复制代码并改名.那么,有没有方法不复制代码就可以用于多种数据类型? 二.基本思路 在我的经验 ...

  8. python习题20190130

    #encoding=utf-8 ''' 一家商场在降价促销.如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣,如果购买金额大于100元会给20%折扣.编写一程序,询问购买价格, ...

  9. logstash patterns github

    USERNAME [a-zA-Z0-9._-]+ USER %{USERNAME} INT (?:[+-]?(?:[0-9]+)) BASE10NUM (?<![0-9.+-])(?>[+ ...

  10. DIV+CSS实现竖排按钮样式

    <div class="btn_left btn_left1">每日单元成功率</div><br/> <div class="b ...