## 5 Network Layer
### Spectrum Awareness and Routing  
Since links in _IoT_ and especially wireless sensor networks are often unreliable, routing is usually done in an opportunistic way [102; 103], _i.e._, decisions on next hops are made at each node by discovering forwarding opportunities [102]. Because the spectrum condition is one of the main defining factors \begin{table}
\begin{tabular}{|p{113.8 pt}|p{113.8 pt}|p{113.8 pt}|p{113.8 pt}|} \hline Fusion Mode & Report Data Type & Transmission Overhead & Computational Overhead & Performance \\ \hline Soft Fusion [3; 53; 59; 99] & Preprocessed / raw data & High & High & Finer control given the fullness of information \\ \hline Hard Combination [52; 57; 79; 80; 81] & Binary decision & Low & Low & Subject to limited information of local decisions \\ \hline \end{tabular}
\end{table} 
Table 5: Soft fusion _vs._ hard combination. of wireless transmission opportunities, the availability of spectral knowledge provides the routing protocols with additional information and opens up chances for adaptation and optimization in _Internet of Things_[104]. [PERSON] and [PERSON] in [105] propose a link-state routing algorithm aided by spectrum awareness. Each node implementing the scheme maintains its own database of the link cost as with regular link-state algorithms. However, the primary metric for link cost evaluation is channel availability. The spectrum condition is updated periodically and if a link is disconnected because the channel is unavailable, its associated cost grows. In the case that the problem persists, its cost will become so high that it is no longer chosen for packet forwarding. Spectrum Aware Mesh Routing (SAMER) [106] adopts a similar strategy with the difference that the metric used is not just the channel availability but also the quality in terms of bandwidth and error rate. A spectrum utility function is formulated in [107], based on the principle of dynamic back-pressure. Corresponding spectrum utilities are calculated for the set of possible nodes for the next hop and the one with the maximum result is chosen. The preceding examples achieve the optimization in a hop-wise manner, that is, the paths to the next hop are determined solely based on information at the current one. There has been a number of studies aiming at further enhancement by making per-route rather than per-hop decisions. A relatively straightforward example is presented in [108]. No common control channel is assumed and every node from the source to the one before the destination has to broadcast discovery messages on all channels to determine the next hops. Nodes also put local channel availability information in the discovery messages so that the destination node learns which channels are usable at every hop and can assign one of them to be used by this particular data flow throughout the route. Despite its simplicity, this algorithm has two main drawbacks. First, the all-channel broadcasting incurs considerable overhead. Although the problem is argued to be alleviated by limiting the number of available channels [108], this would, in turn, increase the vulnerability of the network. Secondly, using a single channel for the entire route means lack of flexibility since it is possible that \"good\" channels may end up unused simply because they are unavailable between two hops of a lengthy route. Such a problem would add to rather than mitigate inefficient spectrum utilizations, which lead to the need for adaptive communication techniques in the first place. The mechanism in [109] consists of two phases of operation. Nodes can have more than one entry to the same next hop on different channels and traffic is randomly distributed among them at every hop. Once adverse spectral events are detected in certain frequency, routing entries based on that channel are disabled.