This document introduces software defined networking (SDN) and network functions virtualization (NFV) concepts. It discusses challenges with traditional networking and how SDN and NFV address these by decoupling the control and data planes, making the network programmable through APIs, and virtualizing network functions. It then provides examples of open source SDN platforms like OpenDaylight, Open vSwitch, and OpenStack that enable building virtual networks and service chains.