Correctness of Flow Migration

Radhika Sukapuram, Ranjan Patowary, Gautam Barua · 2024

Network Functions (NFs), which improve the safety and efficiency of networks, are implemented in software to reduce expenses. Flows traversing NFs may need to be migrated for purposes such as load balancing. When nodes are stateful, unless the state information that is stored per flow is migrated before the flows are themselves migrated, there will be problems of consistency. We examine what it means to correctly migrate flows from a stateful node to another. Algorithms for migration that preserve the existing consistency properties require packets to be either buffered or dropped. For the first time, we propose the property of Weak-O, where only the set of states that are required for packets to be correctly forwarded are migrated first, while the remaining states are eventually migrated sequentially. Existing NFs lend themselves well to this arrangement. Weak-O is also useful because it can be preserved without buffering or dropping packets. We propose an algorithm to migrate flows that preserves Weak-O. Even though this causes packet re-ordering, we experimentally demonstrate that the goodput with and without migration are comparable when the old and new paths have the same delays and bandwidths, or when the new path has larger bandwidth or at most 5 times longer delays, thus making this a feasible option for flow migration across stateful NFs in real networks. Further, our solution is enabled by modern re-order resilient congestion control algorithms of TCP used in existing networks. Moreover, the time taken for migration does not matter as no buffers are maintained or packets dropped.

Read the paper · More papers on PaperTik