# Future Scenarios for Software-Defined Metro and Access Networks and Software-Defined Photonics
## 1 Introduction
### SDN Overview  
The SDN model is based on the complete decoupling between the data plane, i.e., the part of the network deputy for traffic packet forwarding, and a centralized programmable control plane, in order to enable the abstraction of network resources to develop new applications and services [1]. The first definition of the SDN architecture has been provided by the Open Networking Forum (ONF), a group of network operators, service providers, and vendors. The ONF SDN architecture is constituted by three separated layers: the Infrastructure Layer, i.e., the network elements for packet switching and forwarding; the Control Layer, i.e., the network intelligence controlling the network elements; and the Application Layer, i.e., the apps for service provisioning. In the ONF version of SDN, the centralized controller uses an open interface--the OpenFlow protocol--to communicate with the network elements. Although the SDN field is quite recent, it is growing at a very fast pace. The original idea has gained a considerable interest across both academia and industry. According to the original definition, an SDN solution should be characterized by five fundamental characteristics: plane separation, simplified devices, centralized control, network automation and virtualization,and openness [2]. Nevertheless, a wide variety of proposals have been advanced in order to simplify the network management and enable innovation through network programmability. The main idea is to allow developers to manage network resources with the same flexibility as they already do with storage and computing resources [3]. It is worth noting that the idea of re-configurable and programmable networks has been around for many years: in 1995 the Open Signaling (OPENSIG) working group proposed open, programmable network interfaces and led to the specification of the General Switch Management Protocol (GSMP) by IETF. In the middle of the 1990s, the Active Networking Initiative proposed user-programmable switches and capsules, i.e., program fragments in user messages to configure routers. In the same period, the Devolved Control of ATM Networks (DCAN) project aimed to provide scalable control and management of ATM networks. In 2004, the 4D project advocated a clean slate design that emphasized separation between the routing decision logic and the protocols for network elements interaction. In 2006 the SANE/Ethane project recommended a centralized controller to manage policy and security in a network [3]. Nowadays, the major transformation introduced by the SDN in the communication industry is going to be enforced by the synergy with the adoption of another important trend, the Network Functions Virtualization (NFV). According to the NFV approach, the network elements become software applications, called virtual network functions (VNFs), dynamically instantiated by the network operator on a commodity-off-the-shelf (COTS) infrastructure. The combination of SDN/NFV technologies will enable the so-called 'network slicing', i.e., a dynamic composition of parallel elementary logic functions instantiated, like building blocks, by the network operator in order to provide or configure new or preexisting services [4]. Therefore, the'softwarization' of the network resources will be an overall systemic transformation which is already steering the evolution not only of networks but also of future terminals and service platforms [5]. Then, among cloud computing architectures, the Network as a Service (NaaS) paradigm will take a great benefit by SDN deployment. SDN allows the optimal use of existing links using traffic engineering and centralized, network-wide awareness of the network state. This implies an efficient use of network bandwidth and the possibility to respond immediately and with minimal service interruptions to changes in requirements related to customer needs, service contract upgrades and downgrades, or failures and network impairments.