Transparent Flow Migration for NFV
摘要
因为SDN提供的灵活性,NF之间存在着流量的迁入和迁出问题。而且NF也要根据相关的状态信息处理数据包,所以流量迁移必须满足以下两点要求:
- 保持数据包和状态的迁移顺序,必须获取状态才能处理数据包。
- 想都不用想,这点一定是低开销、低时延~
目前现有的流量迁移架构,把流量迁移和状态迁移耦合在一起,这种架构不能实现安全、高效、低开销的迁移。
于是本篇论文提出了一个流量迁移架构,叫TFM(Transparent Flow Migration ),显然,TFM和以往的架构相反,解藕流量迁移和状态迁移,这样的好处是可以对两个过程分别的进行优化,并且实现两个过程的并行处理。
TFM通过TFM box实现了一系列的优化,TFM box是一个中间层,它可以提供NF之间透明的数据包迁移。
INTRODUCTION
Background and Motivation
流量迁入迁出的目的是为了节约资源、规避SLA惩罚、负载均衡。
NF对流量的处理往往依赖于状态,在迁移后如果没有相应的状态信息,将很难重新对某条流量起到路由作用。
流量迁移的几种方法:
- 待源NF处理完所有in-flows,然后把新来的流量全部转移到目标NF。
缺点:时间未知性,根本就无法预知当前处理的in-flow何时结束。举个例子:当一个NF已经过载并无法满足SLA,这时候还要它处理完剩余的in-flows,这显然是不合理的。而且即将被迁入NF也要等待它处理完剩余的in-flows,造成了资源的浪费。 - 立刻迁移,为了满足NF的带状态处理,数据包迁移要伴随着状态迁移一起进行。
缺点:由于流量是源源不断的流入NF,这种方式比较害怕目标NF没有开启的情况。
流量迁移目前存在的问题
- 如何协调状态迁移和数据包迁移,并确保状态一致性,同时提高效率和最小化开销。
设计一个合理的流量迁移架构必须满足以下要求
- 状态一致性:迁移前后源NF和目标NF状态保持一致。
- 保证安全性:无损,保序。
- 高效率迁移:限的时间内完成,以减少迁移对控制和数据平面的影响。
- 实现低开销:不用说我们都懂。
Summary and Limitations of Prior Art
现有的流量迁移架构有两个:Split/Merge和OpenNF。(状态迁移和数据包迁移耦合)
共同点:
通过一个中央控制器缓存状态迁移过程中到来的数据包,这样不会丢包,也不会丢失状态信息。等待状态迁移结束之后,把缓存的数据包发送给目标NF。但需要中央控制器拥有足够多的缓冲资源。- 差异点:
两种方法的区别在于in-transit数据包处理。- Split/Merge:直接丢弃in-transit数据包,
- OpenNF:将in-transit数据包重定向到控制器,然后交给目的NF,但是这种操作可能会引起额外的迁移时间。
存在的问题:
- 额外的时间:因为在状态迁移的过程中到达的数据包无法得到处理,增加了它们的处理时延。