40 likes | 141 Views
A Challenge for Complex Engineered Networks Krishan Sabnani. Complex Engineered Networks. Complex : Large networks with distributed s tate Engineered: Must be completely predictable No unexpected outages
E N D
Complex Engineered Networks Complex: Large networks with distributed state Engineered: 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.