This document provides an introduction to Software Defined Networks (SDN). It discusses: 1) The drawbacks of existing networks that led to the development of SDN, including difficulty performing experiments, slow innovation, and closed/proprietary systems. 2) The key aspects of the SDN architecture, including separating the control plane and data plane, running the control plane on general purpose hardware, and having programmable data planes. 3) The main components of SDN including the controller, which provides network-wide control and management via northbound APIs, and OpenFlow switches, which can be dynamically reconfigured through OpenFlow rules installed by the controller.