Distributed Implementation of Coordinated, Network-Wide Policies and Protocols with FlowFlex
MetadataShow full item record
The increasing programmability of network devices gives protocol designers and network operators considerably more flexibility in defining custom protocols and traffic processing functions. Today, network operators and protocol designers have the option of either operating at flow-level granularity, which offers coordinated control; or packet-level granularity, which offers flexibility, but not coordinated control. Today’s network programming paradigms force operators to choose between the fine-grained control and expressiveness of packet processing and the coordination of flow processing, which makes it difficult to quickly realize a distributed implementation of a global, network-wide policy. Designers must also choose between the flexibility of hardware-based solutions and the fast development cycles offered by software. This paper proposes a system called FlowFlex that offers network designers the best of both worlds: with FlowFlex, operators can quickly design, implement, and deploy network systems and protocols that offer fast, distributed, implementations that require coordinated control and fine-grained operations on packets. We present the design and implementation of the FlowFlex framework and show how it can improve both expressiveness and efficiency for three real-world networking applications.