1
A Challenge for Complex Engineered Networks
Krishan Sabnani
Complex Engineered Networks
Complex: Large networks with distributed stateEngineered: Must be completely predictable
No unexpected outages Predictable packet delivery -- should be able to verify correctness of
packet delivery for security and performance Today’s solutions:
Build networks using commercial technology Field test and assume that the network operates correctly after that
Challenge: How do we build complex networks where we can guarantee correctness of operation? Can we statically verify correct delivery, QoS, and security?
Complex Engineered Networks: Challenges from Distributed State
Guaranteeing Correctness of Operation Policy: Does A have permission to send packets to B Performance: Will A’s packet reach B in less than 1 ms? Security: Will A’s packet to B only be delivered to B and no one
else? Reliability: If A’s path to B fail, find an alternative
How to guarantee correctness when the network state is completely distributed?
State only partially visible Packet may not see consistent network state as it traverses
network Many routers can concurrently change network state And many other difficulties
Question: Can we reduce problems caused by distributed state in complex engineered networks?Solution: Software-Defined Networking to logically centralize state
Complex Engineered Networks: Addressing Correctness Challenges Using Software Defined
Networking
Software Defined Networking can provide a logically centralized view of distributed global state.
This makes it easier to develop tools for guaranteeing correct operation
These tools can make use of consistent network state maintained by controller
How to verify correct network operation? Example : Hassel tool from Stanford
How to configure a network for ensuring correct operation Example : Frenetic programming language from Princeton
How to ensure that a packet sees only consistent global state as it traverses the network?
Verify that the policy is correctly enforced and packets are not mis-delivered.