40 likes | 150 Vues
Complex engineered networks today face challenges in guaranteeing correctness, reliability, and security due to distributed state. Current solutions often rely on commercial technologies with field testing, leading to unpredictability. The need for absolute predictability in packet delivery, along with verification of performance and security, is critical. This paper explores how Software-Defined Networking (SDN) can help centralize network state management, enabling the development of tools that ensure correct operation. Examples include tools from Stanford and Princeton that verify policy enforcement and maintain consistent network state.
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.