 this section, we review different network virtualization technolo- gies, discuss their pros and cons, and highlight the recent develop- ments that are relevant to the SDN, NFV, and 5G. 2.3.1 Overlay Networks An overlay network2 is a logical network that runs independently on top a physical network (underlay). Overlay networks do not cause any changes to the underlying network. Peer-to-peer (P2P) networks, virtual private networks (VPNs), and voice over IP (VoIP) services such as Skype are examples of overlay networks [24-26]. Today, most overlay networks run on top of the public Internet, while the Internet itself began as an overlay running over the physical infrastructure of the public switched telephone network (PSTN). The Internet started by connecting a series of computers via the phone lines to share files and information between governmental offices and research agencies. Adding to the underlying voice-based telecommunications network, the Internet layer allowed data packets transmission across the public telephone system, without changing it. P2P networks are an important class of overlay networks [27]; they use standard Internet protocols to prioritize data transmission between two or more remote computers in order to create direct connections to remote computers, for file sharing. P2P networks use the physical network's topology but outsource data prioritization and workload to software settings and memory allocation. Although there are various implementations of overlays at different layers of the network stack, most of them have been implemented in the application layer on top of IP, and thus, they are restricted to the inherent limitations of the existing Internet. 2.3.2 Virtual Private Network VPN provides private connectivity across different geographically separated sites. The sites can be offices of the same company that 2 Here, the network refers to a telecommunication or computer network. 2.3 Network Virtualization spread across the country or around the globe. For these companies to expand th