# Logically-Centralized SDN-Based NDN Strategies for Wireless Mesh Smart-City Networks +
## 3 Proposed SDN-Based System
### Reactive NDN Path Selection Strategy
#### 3.1.1 SDN Controller  
The Controller is the key component that enables the integration of the NDN with the dynamic decisions of wireless routing protocol [28] and as it performs centralized monitoring of the wireless nodes to configure the NDN paths. Its main functionalities are (i) information collection about the network state and rapid detection of network changes, enabling the global view of the entire network in real-time; (ii) definition of the best route for each content request between the NDN-Consumer and the NDN Producer, and (iii) to NDN route establishment including per-hop NDN face and FIB entry creation. The overview of the Controller's operation is presented in Figure 2.  
The monitoring data collection of WMNs is performed through the WMNs routing protocol, i.e., the blue dashed lines of Figure 2. That is the centralized information collection from the distributed wireless nodes, regarding the discovery of the neighbors of each node and the routes that occur between the hops of the network. The routing costs among the links are based on the quality metrics of BATMAN [28] routing protocol (Layer 2), which is utilized in our implementation. The Controller is also located in the WMN network and communicates with the Network Nodes over IP.  
The Controller manages the content requests through the reactive operation, following these four actions: (i) receives Consumer's updates for each new Interest packet; (ii) defines the best wireless routing path among the Consumer and the Producer, according to the collected monitoring data; (iii) establishes the selected NDN route, and (iv) triggers the Consumer to send the particular Interest packet.  
Figure 2: SDN-based Experimentation System.  
Moreover, our system maintains information related to NDN in-network cashing. Especially, our Controller associates the content prefix with the corresponding utilized NDN paths and the content's Freshness Period to determine whether the content is cached. More precisely, as the Data packet will travel through the reverse path, the Controller node stores the path that has cached the particular Data packet and estimates the caching remaining time. This can be accomplished by maintaining information about the particular data packet (e.g., Freshness Period) as well as the corresponding caching information (e.g., utilized cache size, remaining entries, caching policy).  
The Controller is located in the wireless mesh network and communicates with the wireless nodes over wireless links. Here, a major challenge is to guarantee reliable communication between the SDN controller and the WMN nodes, for example, in case of disruptive communication. Following our previous works [29; 30], we assume two wireless communication channels: (i) a control channel utilizing long-range but low-data-rate wireless communication, targeting the reliable connection between the Controller and the wireless nodes and (ii) a data channel utilizing a high-data-rate and short-range channel, supporting application data transfer. Although, the deployment of a reliable control channel is a complex aspect, and deserves an independent study outside the scope of this paper. We briefly discuss this approach here, to underline the complexity of the above task, which may become a major disadvantage considering the reactive strategies.