Software defined networking (SDN) represents a new approach in which the decision-making process of the network is moved from distributed network devices to a logically centralized controller, implemented as software running on commodity servers. This enables more automation and optimization of the network and, when combined with software defined compute and software defined storage, forms one of the three pillars of IBM's software defined environment (SDE). This paper provides an overview of SDN, focusing on several technologies gaining attention and the benefits they provide for cloud-computing providers and end-users. These technologies include (i) logically centralized SDN controllers to manage virtual and physical networks, (ii) new abstractions for virtual networks and network virtualization, and (iii) new routing algorithms that eliminate limitations of traditional Ethernet routing and allow newer network topologies. Additionally, we present IBM's vision for SDN, describing how these technologies work together to virtualize the underlying physical network infrastructure and automate resource provisioning. The vision includes automated provisioning of multi-tier applications, application performance monitoring, and the enabling of dynamic adaptation of network resources to application workloads. Finally, we explore the implications of SDN on network topologies, quality of service, and middleboxes (e.g., network appliances). © 2014 IBM.