Software defined networking (SDN) aims to decouple the network control and data planes by providing an open standard application programming interface (API). This allows for a logically centralized controller that maintains a global view of the network. The controller can programmatically configure forwarding rules on SDN switches using the API. This new architecture enables more flexible, programmable networks and has consequences for both industry and research. For industry, it promises to accelerate innovation, lower costs, and create new services. For research, it provides opportunities to develop new network programming languages and abstractions that simplify network specification and management.