Document 229277

STN: A Robust and Distributed Control Plane
Marco Canini, Daniele De Cicco, Petr Kuznetsov, Dan Levin, Stefan Schmid and Stefano Vissicchio
Telekom Innovation Laboratories
•  How to realize distributed policy composition, with:
•  Support for multi-authorship and transactional semantics, that is:
•  Robust to a number of controller stop-failures
SDN Policy Composition Review
STN: Software Transactional Networking
Conceptualizing STN Policy may originate from mul'ple authors, defined across mul'ple func'onal modules. Foster ’11, Monsanto ’13: Modular, Rou9ng Monitoring Waypoint parallel and sequen9al composi9on Composition
Controller Applica9on Controller Pla7orm ...necessitates policy composi'on prior to network update. Monitoring Monitoring Waypoint Controller Applica9on Apply(p) Ack Apply(p) Nack(reason) STN Middleware Controller Pla7orm Atomic
Read-Modify
Write
Lock Lock Lock Lock Lock Ferguson ’12,’13: Policy trees for mul9-­‐authorship How it all fits together Rou9ng Rou9ng Lock Prototype implemented on pyre'c as an interface that provides: •  distributed policy composi'on •  support for mul'-­‐authorship •  transac'onal all-­‐or-­‐nothing policy composi9on seman9cs •  per-­‐packet consistent policy updates Lock STN in Ac9on (Ack Case) STN in Ac9on (Nack Case) Packet Header Space
Waypoint Composition
Monitoring Controller Applica9on Apply(p1) Waypoint Ack Apply(p2) Rou9ng Ack Apply(p1) STN Interface 1.  Precedence must be defined across policy sources 2.  Packet forwarding rule priori9es must be defined, and respect policy source precedence ReitblaS ’12: Consistent network updates Problem: Distributed Policy
Composition
Rou9ng Monitoring Waypoint Rou9ng Monitoring Waypoint Controller Applica9on Controller Applica9on Network Informa9on Base Network Informa9on Base Waypoint Ack Apply(p2) Nack(reason) STN Interface Match
Action
src=10.1.0/2
4 fwd(IDS) tcp=80 count + fwd X
Match
Action
src=10.1.0/2
4 fwd(IDS) dst=10.1/16 fwd(2) STN prevents concurrent, conflic9ng policy updates from affec9ng any traffic The Result: Linearizable Concurrent Policy Updates
Control Applica9on Factoriza9on Controller Replica9on Model Switch Reader-­‐Writer Model Concurrent Policy Composi9on Gone Wrong controller A Linearizability (an equivalent sequen9al history) is the “holy grail” safety property Robustness to Controller “Stop-Failures”
controller B Impossible to guarantee a determinis9c outcome without policy synchroniza'on Inspiration from Software
Transactional Memory
process 1 read write process 2 process 3 read Transactional Interface
Shared Datastructure write Theorem 1
Theorem 2
STN ensures linearizability
and wait-freedom with
exponential tag complexity
STN is resilliant to f
controller stop-failures with
optimal tag complexity f+2
Wait-­‐freedom is the “holy grail” liveness property References
[1] Software Transactional Networking: Concurrent and Consistent Policy
Composition, In Proceedings of SIGCOMM HotSDN 2013
[2] The Case for Reliable Software Transactional Networking, Research
Report CoRR, http://arxiv.org/abs/1004.4701