# Multipath Activity Based Routing Protocol for Mobile ‎Cognitive Radio Ad Hoc Networks

Authors: Shereen Omar; Osama El Ghandour; Ahmed M. Abd El-Haleem
Journal: Wireless Communications and Mobile Computing
 (2017)

---

## Abstract

Cognitive radio networks improve spectrum utilization by ‎sharing licensed spectrum with cognitive radio devices. In ‎cognitive radio ad hoc networks the routing protocol is one ‎of the most challenging tasks due to the changes in ‎frequency spectrum and the interrupted connectivity ‎caused by the primary user activity. In this paper, a multi‎path activity based routing protocol for cognitive radio ‎network (MACNRP) is proposed. The protocol utilizes ‎channel availability and creates multiple node-disjoint ‎routes between the source and destination nodes. The ‎proposed protocol is compared with D2CARP and FTCRP ‎protocols. The performance evaluation is conducted ‎through mathematical analysis and using OPNET ‎simulation. The performance of the proposed protocol ‎achieves an increase in network throughput; besides it ‎decreases the probability of route failure due to node ‎mobility and primary user activity. We have found that the ‎MACNRP scheme results in 50% to 75% reduction in ‎blocking probability and 33% to 78% improvement in ‎network throughput, with a reasonable additional routing ‎overhead and average packet delay. Due to the successful ‎reduction of collision between primary users and ‎cognitive users, the MACNRP scheme results in decreasing ‎the path failure rate by 50% to 87%.‎


---

## Body

## 1. Introduction

According to the experimental results from the forced communication commission (FCC) [1], spectrum bands are allocated to ‎different users through static assignment policies, which allows each wireless user to access fixed spectrum bands. A Cognitive ‎Radio Network (CRN) is a wireless network, which allows unlicensed users (cognitive users or secondary users) to ‎opportunistically access available licensed bands for data communication with the coexistence of the licensed PUs. Cognitive ‎users communicate using the spectrum holes found in the licensed band due to the lack of PUs activities, to improve the ‎spectrum utilization. In CRNs the priority of using the licensed spectrum is given to the PUs over CUs.‎The cognitive radio ad hoc network (CRAHN) topology frequently changes due to node mobility and intermittent PU ‎activities, leading to route failures. This makes the routing task more challenging.‎Routing in cognitive radio networks has been previously studied to provide reliable paths for efficient spectrum sharing given the ‎frequent changes of wireless network topology. Routing in cognitive radio networks has similarities with ad hoc networks in terms of routing in multiroute, multichannel. They also exhibit different challenge regarding the dynamic behavior of the PUs and their effects on changing the available spectrum bands to use. The main challenges of routing protocols in CRAHNs include the following [2]:(1)
The spectrum-awareness is required to take more accurate decisions, as in [3].(2)
The classical route quality measures should be coupled with novel measures on path stability and spectrum availability/PU presence [2].(3)
The frequent and unpredictable route failure needs effective route maintenance/reparation procedures to restore “broken” paths with minimal effect on the perceived quality [3].The existing works in CRAHN routing protocols can be classified based on their support for the following [4]: (i) routing with spectrum decision, that is, joint spectrum selection with the choice of the next hop forwarding node, (ii) routing with joint spectrum decision and PU awareness, where the CUs are able to identify the locations of PUs and route around them as in [5], and (iii) routing with joint spectrum decision and reconfigurability, where the route can be adapted with local spectrum changes or by selecting a different set of forwarding nodes altogether.This paper proposes a new node-disjoint multipath activity based routing protocol for CRAHN. The technique developed is able to establish at least two node-disjoint routes between the source and destination nodes, with the lowest PUs activity value. By creating at least two nodes disjoint route protected the source destination connectivity from failure due to cognitive user mobility. In such case, a route failure results because cognitive radio node mobility will be managed over the other routes to find another route if possible. That means when the numbers of node-disjoint routes between the source and destination node increase, the connection failure probability decreases. In addition, at least two channels with different frequencies were created over each route to protect the route from failure due to the primary user activity. During data transmission, if the connection is interrupted due to primary users activity over one of the two frequency channels, so the frequency channel is now unavailable. Then there is at least another available frequency channel per route used to recover a new frequency channel if possible.Each route consists of at least two frequency channels having the lowest activity factor. The proposed protocol divides each frequency channel into a number of time slots to allow multiple CUs to use them simultaneously. Based on this claim, the proposed scheme avoids the use of channels with ‎high PUs activity in the routes, resulting in reducing of blocking and path failure probability and improving the overall ‎throughput performance for the network‎.The rest of this paper is organized as follows. Section2 summarizes the related literature. The network model and the proposed protocol operation are found in Section 3. Section 4 presents the blocking probability analysis of the proposed protocol. The simulation results and performance evaluation are presented in Section 5. Finally, concluding remarks are drawn in Section 6.


## 2. Related Work

As the PUs activity varies in both the frequency and space domains, diversity of techniques can introduce an efficient way to address this challenge. In [6], in a routing protocol, in which the route discovery process provides multipath multichannel routes, next hop routing is adopted as the routing metric. This approach increases both the complexity and overhead of the route discovery process. Indeed, it requires the broadcast of the RREQ packet back to the source, which requires a larger routing table and more resource consumption.In [7], the authors proposed a Cognitive Ad hoc On-demand Distance Vector (CAODV) routing scheme, which improve the performances by taking advantage of the availability of multiple channels and perform a joint path and channel selection and can avoid regions of primary users’ activity without requiring that any dedicated control channel assesses the quality of any available channel to minimize the route cost.In [8], this paper focuses mainly on introducing a reactive routing protocol by avoiding interferences with the PUs, during both route formation and data forwarding. The proposed approach provides methods to adapt to dynamic spectrum availability during data communications to improve the overall performance of the CUs. However, this protocol is suboptimal since it requires the availability of an idle channel (i.e., free from PU activity). It takes the advantage of the availability of multiple channels to improve the performance of CUs, but the effects of PUs activities can still degrade the performance.A more recent work proposed a method called joint path and spectrum diversity in cognitive radio ad hoc networks (D2CARP) [9]. The authors proposed a joint exploitation of a path and spectrum diversity for effective use of spectrum in cognitive radio ad hoc networks. By jointly exploiting both diversities, CUs can move dynamically to different paths and spectrum bands for communicating with each other in the presence of PU activity.In [10], Fault-Tolerant Cognitive Ad hoc Routing Protocol (FTCARP) is introduced as a fast and efficient route recovery in presence of path failures during data delivery in CRAHNs. In FTCARP, a backup path is immediately utilized in case a path failure occurs over a primary transmission route without causing a severe service disruption. The proposed protocol used a different route recovery mechanism to handle different causes of path failure. Through simulation, it was shown that the protocol achieved better network performance in terms of average throughput and end-to-end delay as compared to the previous D2CARP protocol.


## 3. The Proposed MACNRP Protocol

This section describes the vision to minimize the interference between CUs and PUs in CRAHN and maximize the spectrum utilization. The proposed protocol is a reactive multipath routing protocol based on the Ad hoc On-demand Multipath Distance Vector (AOMDV) routing protocol [11]. The main goals of the proposed multipath routing protocol are to (1) minimize the interference to PUs to decrease the probability of route failure, (2) minimize route break due to CUs node mobility and PUs activity, (3) increase the spectrum utilization by increasing the number of CUs using the available spectrum, and (4) increase the overall network throughput.The MACNRP protocol achieves these goals by using a number of mechanisms, stated as follows.(1  ) Low Activity Node-Disjoint Routes. For each connection request, the proposed protocol discovers several node-disjoint routes, at least two node-disjoint routes, and reserves at least two different frequency channels for each route with the lowest probability of PUs activity. So there are at least four different paths per connection. This mechanism will decrease the probability of route failure due to node mobility (construct a node-disjoint routes) or primary user activity (select the most probable idle frequency channels).(2  ) Frequency Channel Sharing. Each frequency channel is divided into a number of time slots and shared among different CUs; and each CU reserves one time slot per frequency channel per path per neighbor. This increases the number of cognitive users using the available spectrum.(3  ) Local Route-Decision. Each node determines the most probable idle channel based on its own information about the PUs activity (node local spectrum knowledge). So, according to the PU location and its transmission range, the most probable idle frequency channel is different among different CUs nodes (depending on the relative location of the CU with respect to the active PU). So there is no requirement of the same frequency channel availability in the whole region traversed by the route (different frequency channels between each neighbor node). Here each intermediate neighbor node will use its local most probable idle frequency channel to form the route.According to the recent researches in the area of channel availability estimation in CRAHNs, there are mainly two strategies for channel availability estimation: static and mobile approaches. The static scenarios depend only on the PU in active probability as in [12, 13]. In mobile scenario, the authors of [14] propose estimating the channel availability in mobile cognitive radio networks and design a strategy for the features of mobile scenarios that depend on the distance between the PUs and CUs, and the results of the proposed protocol show the benefits of adopting in the mobile strategies cognitive radio networks.The main idea of our proposed algorithm is to efficiently use channel availability depending on CUs sensing history and the current sensing decision of a particular mobile PUs activity. Therefore, the use of different frequency channel per single path and sharing the lowest activity channels among different CUs will increase the frequency reuse and minimize the interference to PU, which increases the spectrum utilization and the network capacity. Finally by decreasing the probability of route failure and increasing the number of cognitive users and the spectrum utilization, the overall network throughput will increase.


### 3.1. Network Model

In this work, it is assumed that the cognitive radio ad hoc network consists of a number of cognitive users (CUs) collocated with a number of primary users (PUs) in a bounded 2-dimensional space. Also, bidirectional communication symmetry on every link between the nodes is assumed. The CUs are assumed to freely move and the PUs, randomly distributed, are assumed to be fixed.The location and the PUs transmission standards are assumed to be unknown to the CUs. The spectrum band is divided into nonoverlapping channels and each channel is used by one primary user. The CUs can communicate through different channels by using the availability of free primary spectrum.The available spectrum is assumed to be organized in two separate types of channels. A common control channel (CCC) selected as in [15–17] is used by all CUs for exchanging the control packets for route management and synchronization purposes. It also contains information about the free time slots at each frequency channel used for data transmission by CUs. A data channel (DC) is used for data communication, and it is assumed to be divided into a number of time slots, with optimum value 12 time slots as found through simulation in Section 5.Each time slot consists of a sensing period and data transmission for each cognitive user. The CUs firstly sense the spectrum band to check for the PUs activity periodically (every sensing period before sending its data during its time slot) and update the ideality factor as shown in Figure1.Figure 1
Time slot frame.At the start of each data frame there is also a header field, which contains a source IP address, destination IP address, ID, and the packet size.


### 3.2. Proposed Protocol Preprocessing

Based on the proposed protocol, the PUs’ activity on each frequency channel is quantified periodically and represented by different numbers, which indicate the channels’ ideality factor degree. This process is accomplished while the CUs are sensing the spectrum.The ideality factor for channelfi is calculated as follows:(1)Kfit=1-abfit+aKfit-1,where Kfi(t) is the channel availability at certain time (present time), Kfit-1 is the history of channel availability (last time), and bfi(t) is the channel availability in present time:(2)bfit=1,no  PU  activity0,PU  activity  detected,and a is forgetting factor to control the effect of the previous sensing history (channel availability history) 0≤a≤1.Every CU in the CRAHN network calculates the ideality factor for each channel in the spectrum during the sensing period. Then, each CU constructs a channel activity table containing all sensed channels sorted in descending order of their ideality factors. The channel activity table also contains the free time slots on each channel as shown in Figure2.Figure 2
MACNRP protocol scenario.Finally, each CU can calculate the average connection costs between noden and node n+1 using the information found in its channel activity table as follows:(3)Cnt=∑i=1zCfitz,where Cfit is the frequency channel cost:(4)Cfit=1-Kfit∗TuTs.z is the total number of frequency channel available, and Tu is the number of busy time slots, Ts is the total number of time slots, and the ratio Tu/Ts is used for load balancing.


### 3.3. Protocol Operation

The proposed protocol is an on-demand multipath routing protocol and is based on AOMDV with a little modification to establish a low activity node-disjoints paths between the source and destination nodes. The protocol works in three phases: route discovery phase, data forwarding phase, and route maintenance phase.


#### 3.3.1. Route Discovery Phase

The source node initiates a route discovery process by broadcasting a Route Request (RREQ) packet to each neighbor CU, through the common control channel or piggybacked with data if there are common routes between the source node and its neighbors. Then, the source node waits for a route reply (RREP). The RREQ packet contains the channel activity table of the source node, and a path cost field with value equaling zero.Each intermediate node receives the first copy of a RREQ, compares its channel activity table with the received upstream neighbor channel activity table, and searches for a match. When it finds a matched frequency channel with matching free time slotsfi,Tfi, it reserves at least two time slots, one per each matched frequency channel, as shown in Figure 2, which has the lowest channel cost. If multiple frequency channels have the same cost, the intermediate node selects the channels having the highest ideality factor. If the RREQ packet is received over the control channel, the intermediate nodes will reserve the channels fi,Tfi from the matching process to form a route between these two CUs. Otherwise, if the RREQ is received piggybacked with a data packet, the intermediate node updates the existing route between itself and its upstream neighbor according to the result of the matching process.If the intermediate CU node has a valid route to the desired destination, it then sends a unicast RREP packet back to the source node containing the result of the matching processfi,Tfi, to establish a forward path. This will reduce the overhead in routing caused by the route discovery processes [18, 19]. Otherwise, the intermediate node replaces the channel activity table in the RREQ packets with its channel activity table and updates the paths costs, according to (5), and rebroadcasts the RREQ.(5)P=max⁡Cnt,Cn+1t,where Cnt is the received cost from transmitting node n and Cn+1(t) is the calculated cost at receiving node n+1. Then we can define the past cost as the minimum ideality factor (maximum activity factor) of a link on the route.Then duplicate copies of the RREQ are immediately discarded upon reception at every node. When the destination node receives the RREQ packet from multiple ‎nodes, it searches for a match and updates the path costs‎. It then forms the forward paths by unicasting two RREP containing the result of the matching processfi,Tfi back to the source along the selected least cost (lowest PU activity) node-disjoint routing paths, as shown in Figure 2.Any intermediate node receiving the RREP packet sets up a forward route through the matchedfi,Tfi toward the destination, inserts the result of the matching process in the RREP, and forwards a copy of the RREP packet to upstream neighbor nodes forming a forward path from the source to the destination.


#### 3.3.2. Data Forwarding Phase

In the data forwarding phase, the source node partitions the data flow and sends it on the available paths by hopping on the different frequency channels generated during the matching process.


#### 3.3.3. Route Maintenance Phase

During data transmission, a route break can be caused by node mobility or PU activity.(1  ) Node Mobility. When an intermediate node detects a link failure due to node mobility, it generates a RERR packet and unicasts it to the source node over the route with the failed link, the source node, and all intermediate nodes about the route failure and thus triggers the source node to initiate a new route discovery procedure.(2  ) PU Activity. When an intermediate node nk detects a PU activity over a frequency channel fi, it generates a specialized REER packet called a Locally REER (LREER) packet and sends it to the neighbor node nk+1 sharing this frequency channel with it over the other common frequency channel used. When the neighbor node nk+1 receives the LREER packet, it updates its channel activity table and unicasts it to node nk using a channel-request (Ch-req) packet. Node nk searches for a match and sends a channel-replay (Ch-rep) packet containing the selected new frequency channel to reserve and repair the broken route.


#### 3.3.4. Frequency Locked Mechanism (MACNRP +F)

During the route discovery phase of the MACNRP protocol and after the matching process at the intermediate nodes, each node will reserve the matched channelsfi,Tfi⋯fj,Tfj without informing the upstream neighbor node about this reservation. So, during the RREP packet traveling up from the destination node to the source node, intermediate node nk+1 will request from the upstream neighbor node nk to reserve the time slots it reserved to form the forwarding. Due to the time delay between the RREQ and its corresponding RREP packets traveling through this node, the requested resources by node nk+1 may be used by node nk for another connection, so the route discovery process will fail, which increase the blocking probability.To cope with this issue, we modify the route discovery phase as shown in Figure3. During the route discovery phase, when any intermediate node “F” receives an RREQ and performs matching, it sends an Immediate Response (IR) packet to the upstream neighbor node “C” that sent the RREQ. This IR packet contains the results of the matching process fi,Tfi. When node “C” receives the IR packet, it temporarily selects the requested resource with time out until an RREP packet is received. Then, node “C” sends an ACK packet to node “F” if the selected fi,Tfi are still proper. However, if fi,Tfi found in the IR packet are busy (selected for other connections), node “C” will send a NACK packet containing its channel activity table to node “F” to search for another match. This process is repeated until the two nodes lock on minimally two time slots at two different frequency channels.Figure 3
Frequency locked mechanism scenario‎.This frequency locked mechanism is able to minimize the route discovery failure (connection request blocking probability), which increases the overall network throughput.The drawback of this mechanism is the extra control packets used during the route discovery phase.


## 3.1. Network Model

In this work, it is assumed that the cognitive radio ad hoc network consists of a number of cognitive users (CUs) collocated with a number of primary users (PUs) in a bounded 2-dimensional space. Also, bidirectional communication symmetry on every link between the nodes is assumed. The CUs are assumed to freely move and the PUs, randomly distributed, are assumed to be fixed.The location and the PUs transmission standards are assumed to be unknown to the CUs. The spectrum band is divided into nonoverlapping channels and each channel is used by one primary user. The CUs can communicate through different channels by using the availability of free primary spectrum.The available spectrum is assumed to be organized in two separate types of channels. A common control channel (CCC) selected as in [15–17] is used by all CUs for exchanging the control packets for route management and synchronization purposes. It also contains information about the free time slots at each frequency channel used for data transmission by CUs. A data channel (DC) is used for data communication, and it is assumed to be divided into a number of time slots, with optimum value 12 time slots as found through simulation in Section 5.Each time slot consists of a sensing period and data transmission for each cognitive user. The CUs firstly sense the spectrum band to check for the PUs activity periodically (every sensing period before sending its data during its time slot) and update the ideality factor as shown in Figure1.Figure 1
Time slot frame.At the start of each data frame there is also a header field, which contains a source IP address, destination IP address, ID, and the packet size.


## 3.2. Proposed Protocol Preprocessing

Based on the proposed protocol, the PUs’ activity on each frequency channel is quantified periodically and represented by different numbers, which indicate the channels’ ideality factor degree. This process is accomplished while the CUs are sensing the spectrum.The ideality factor for channelfi is calculated as follows:(1)Kfit=1-abfit+aKfit-1,where Kfi(t) is the channel availability at certain time (present time), Kfit-1 is the history of channel availability (last time), and bfi(t) is the channel availability in present time:(2)bfit=1,no  PU  activity0,PU  activity  detected,and a is forgetting factor to control the effect of the previous sensing history (channel availability history) 0≤a≤1.Every CU in the CRAHN network calculates the ideality factor for each channel in the spectrum during the sensing period. Then, each CU constructs a channel activity table containing all sensed channels sorted in descending order of their ideality factors. The channel activity table also contains the free time slots on each channel as shown in Figure2.Figure 2
MACNRP protocol scenario.Finally, each CU can calculate the average connection costs between noden and node n+1 using the information found in its channel activity table as follows:(3)Cnt=∑i=1zCfitz,where Cfit is the frequency channel cost:(4)Cfit=1-Kfit∗TuTs.z is the total number of frequency channel available, and Tu is the number of busy time slots, Ts is the total number of time slots, and the ratio Tu/Ts is used for load balancing.


## 3.3. Protocol Operation

The proposed protocol is an on-demand multipath routing protocol and is based on AOMDV with a little modification to establish a low activity node-disjoints paths between the source and destination nodes. The protocol works in three phases: route discovery phase, data forwarding phase, and route maintenance phase.


### 3.3.1. Route Discovery Phase

The source node initiates a route discovery process by broadcasting a Route Request (RREQ) packet to each neighbor CU, through the common control channel or piggybacked with data if there are common routes between the source node and its neighbors. Then, the source node waits for a route reply (RREP). The RREQ packet contains the channel activity table of the source node, and a path cost field with value equaling zero.Each intermediate node receives the first copy of a RREQ, compares its channel activity table with the received upstream neighbor channel activity table, and searches for a match. When it finds a matched frequency channel with matching free time slotsfi,Tfi, it reserves at least two time slots, one per each matched frequency channel, as shown in Figure 2, which has the lowest channel cost. If multiple frequency channels have the same cost, the intermediate node selects the channels having the highest ideality factor. If the RREQ packet is received over the control channel, the intermediate nodes will reserve the channels fi,Tfi from the matching process to form a route between these two CUs. Otherwise, if the RREQ is received piggybacked with a data packet, the intermediate node updates the existing route between itself and its upstream neighbor according to the result of the matching process.If the intermediate CU node has a valid route to the desired destination, it then sends a unicast RREP packet back to the source node containing the result of the matching processfi,Tfi, to establish a forward path. This will reduce the overhead in routing caused by the route discovery processes [18, 19]. Otherwise, the intermediate node replaces the channel activity table in the RREQ packets with its channel activity table and updates the paths costs, according to (5), and rebroadcasts the RREQ.(5)P=max⁡Cnt,Cn+1t,where Cnt is the received cost from transmitting node n and Cn+1(t) is the calculated cost at receiving node n+1. Then we can define the past cost as the minimum ideality factor (maximum activity factor) of a link on the route.Then duplicate copies of the RREQ are immediately discarded upon reception at every node. When the destination node receives the RREQ packet from multiple ‎nodes, it searches for a match and updates the path costs‎. It then forms the forward paths by unicasting two RREP containing the result of the matching processfi,Tfi back to the source along the selected least cost (lowest PU activity) node-disjoint routing paths, as shown in Figure 2.Any intermediate node receiving the RREP packet sets up a forward route through the matchedfi,Tfi toward the destination, inserts the result of the matching process in the RREP, and forwards a copy of the RREP packet to upstream neighbor nodes forming a forward path from the source to the destination.


### 3.3.2. Data Forwarding Phase

In the data forwarding phase, the source node partitions the data flow and sends it on the available paths by hopping on the different frequency channels generated during the matching process.


### 3.3.3. Route Maintenance Phase

During data transmission, a route break can be caused by node mobility or PU activity.(1  ) Node Mobility. When an intermediate node detects a link failure due to node mobility, it generates a RERR packet and unicasts it to the source node over the route with the failed link, the source node, and all intermediate nodes about the route failure and thus triggers the source node to initiate a new route discovery procedure.(2  ) PU Activity. When an intermediate node nk detects a PU activity over a frequency channel fi, it generates a specialized REER packet called a Locally REER (LREER) packet and sends it to the neighbor node nk+1 sharing this frequency channel with it over the other common frequency channel used. When the neighbor node nk+1 receives the LREER packet, it updates its channel activity table and unicasts it to node nk using a channel-request (Ch-req) packet. Node nk searches for a match and sends a channel-replay (Ch-rep) packet containing the selected new frequency channel to reserve and repair the broken route.


### 3.3.4. Frequency Locked Mechanism (MACNRP +F)

During the route discovery phase of the MACNRP protocol and after the matching process at the intermediate nodes, each node will reserve the matched channelsfi,Tfi⋯fj,Tfj without informing the upstream neighbor node about this reservation. So, during the RREP packet traveling up from the destination node to the source node, intermediate node nk+1 will request from the upstream neighbor node nk to reserve the time slots it reserved to form the forwarding. Due to the time delay between the RREQ and its corresponding RREP packets traveling through this node, the requested resources by node nk+1 may be used by node nk for another connection, so the route discovery process will fail, which increase the blocking probability.To cope with this issue, we modify the route discovery phase as shown in Figure3. During the route discovery phase, when any intermediate node “F” receives an RREQ and performs matching, it sends an Immediate Response (IR) packet to the upstream neighbor node “C” that sent the RREQ. This IR packet contains the results of the matching process fi,Tfi. When node “C” receives the IR packet, it temporarily selects the requested resource with time out until an RREP packet is received. Then, node “C” sends an ACK packet to node “F” if the selected fi,Tfi are still proper. However, if fi,Tfi found in the IR packet are busy (selected for other connections), node “C” will send a NACK packet containing its channel activity table to node “F” to search for another match. This process is repeated until the two nodes lock on minimally two time slots at two different frequency channels.Figure 3
Frequency locked mechanism scenario‎.This frequency locked mechanism is able to minimize the route discovery failure (connection request blocking probability), which increases the overall network throughput.The drawback of this mechanism is the extra control packets used during the route discovery phase.


## 3.3.1. Route Discovery Phase

The source node initiates a route discovery process by broadcasting a Route Request (RREQ) packet to each neighbor CU, through the common control channel or piggybacked with data if there are common routes between the source node and its neighbors. Then, the source node waits for a route reply (RREP). The RREQ packet contains the channel activity table of the source node, and a path cost field with value equaling zero.Each intermediate node receives the first copy of a RREQ, compares its channel activity table with the received upstream neighbor channel activity table, and searches for a match. When it finds a matched frequency channel with matching free time slotsfi,Tfi, it reserves at least two time slots, one per each matched frequency channel, as shown in Figure 2, which has the lowest channel cost. If multiple frequency channels have the same cost, the intermediate node selects the channels having the highest ideality factor. If the RREQ packet is received over the control channel, the intermediate nodes will reserve the channels fi,Tfi from the matching process to form a route between these two CUs. Otherwise, if the RREQ is received piggybacked with a data packet, the intermediate node updates the existing route between itself and its upstream neighbor according to the result of the matching process.If the intermediate CU node has a valid route to the desired destination, it then sends a unicast RREP packet back to the source node containing the result of the matching processfi,Tfi, to establish a forward path. This will reduce the overhead in routing caused by the route discovery processes [18, 19]. Otherwise, the intermediate node replaces the channel activity table in the RREQ packets with its channel activity table and updates the paths costs, according to (5), and rebroadcasts the RREQ.(5)P=max⁡Cnt,Cn+1t,where Cnt is the received cost from transmitting node n and Cn+1(t) is the calculated cost at receiving node n+1. Then we can define the past cost as the minimum ideality factor (maximum activity factor) of a link on the route.Then duplicate copies of the RREQ are immediately discarded upon reception at every node. When the destination node receives the RREQ packet from multiple ‎nodes, it searches for a match and updates the path costs‎. It then forms the forward paths by unicasting two RREP containing the result of the matching processfi,Tfi back to the source along the selected least cost (lowest PU activity) node-disjoint routing paths, as shown in Figure 2.Any intermediate node receiving the RREP packet sets up a forward route through the matchedfi,Tfi toward the destination, inserts the result of the matching process in the RREP, and forwards a copy of the RREP packet to upstream neighbor nodes forming a forward path from the source to the destination.


## 3.3.2. Data Forwarding Phase

In the data forwarding phase, the source node partitions the data flow and sends it on the available paths by hopping on the different frequency channels generated during the matching process.


## 3.3.3. Route Maintenance Phase

During data transmission, a route break can be caused by node mobility or PU activity.(1  ) Node Mobility. When an intermediate node detects a link failure due to node mobility, it generates a RERR packet and unicasts it to the source node over the route with the failed link, the source node, and all intermediate nodes about the route failure and thus triggers the source node to initiate a new route discovery procedure.(2  ) PU Activity. When an intermediate node nk detects a PU activity over a frequency channel fi, it generates a specialized REER packet called a Locally REER (LREER) packet and sends it to the neighbor node nk+1 sharing this frequency channel with it over the other common frequency channel used. When the neighbor node nk+1 receives the LREER packet, it updates its channel activity table and unicasts it to node nk using a channel-request (Ch-req) packet. Node nk searches for a match and sends a channel-replay (Ch-rep) packet containing the selected new frequency channel to reserve and repair the broken route.


## 3.3.4. Frequency Locked Mechanism (MACNRP +F)

During the route discovery phase of the MACNRP protocol and after the matching process at the intermediate nodes, each node will reserve the matched channelsfi,Tfi⋯fj,Tfj without informing the upstream neighbor node about this reservation. So, during the RREP packet traveling up from the destination node to the source node, intermediate node nk+1 will request from the upstream neighbor node nk to reserve the time slots it reserved to form the forwarding. Due to the time delay between the RREQ and its corresponding RREP packets traveling through this node, the requested resources by node nk+1 may be used by node nk for another connection, so the route discovery process will fail, which increase the blocking probability.To cope with this issue, we modify the route discovery phase as shown in Figure3. During the route discovery phase, when any intermediate node “F” receives an RREQ and performs matching, it sends an Immediate Response (IR) packet to the upstream neighbor node “C” that sent the RREQ. This IR packet contains the results of the matching process fi,Tfi. When node “C” receives the IR packet, it temporarily selects the requested resource with time out until an RREP packet is received. Then, node “C” sends an ACK packet to node “F” if the selected fi,Tfi are still proper. However, if fi,Tfi found in the IR packet are busy (selected for other connections), node “C” will send a NACK packet containing its channel activity table to node “F” to search for another match. This process is repeated until the two nodes lock on minimally two time slots at two different frequency channels.Figure 3
Frequency locked mechanism scenario‎.This frequency locked mechanism is able to minimize the route discovery failure (connection request blocking probability), which increases the overall network throughput.The drawback of this mechanism is the extra control packets used during the route discovery phase.


## 4. Blocking Probability Analysis

In this section, we develop a simple model to calculate the connection request blocking probability based on the probability of not finding a two node-disjoint routes with minimum of two frequency channels on each to carry out the data packets. Considering a CRAHN withnfi frequency channels, each is divided into m time slots.In the case of two node-disjoint routes, the source node floods the network with RREQ packets when it finds at least two nodes on its transmission range (with at least two free time slots on different frequency channels). The multipath route can be built if and only if the source node’s downstream neighbors and all intermediate nodes have at least two downstream trusted nodes over their communication range (with at least two free time slots on different frequency channels).So for the proposed protocol, the established multipath node-disjoint connection can be found if(1)
the source “S” and destination “D” nodes have at least two nodes over their communication range with at least two free frequency channels on each;(2)
each intermediate node has at least three nodes over its communication range (one upstream node and two downstream nodes) with at least two free frequency channels on each.Then we can write the probability of finding a multipath route fromS toD as follows:(6)Prmultipath  route=Prat  least  two  node  neighbors,  with  minimum  two  free  channels2∗Prat  least  three  node  neighbors,  with  minimum  two  free  channels2h,where h is the average path length.So, the connection request blocking probability in [20] can be modified and written as follows:(7)PBlockRequest=1-Prat  least  two  neighbors  over  the  node  coverage  areaPrthe  neighbors  have  at  least  two  free  channels2∗Prat  least  three  neighbors  over  the  node  coverage  areaPrthe  neighbors  have  at  least  two  free  channels2h.For a large number of uniformly distributed MANET nodes over an areaAt, the probability of Dn nodes is located in the coverage area of a given node of node n and can be approximated with Poisson distribution as stated in [21]:(8)PrDnneighbor  in  the  coverage  area  of  noden=ρNAnDnDn!e-ρNAn,where ρN is the network nodes density = N/At, An is communication area of node n, and N is number of nodes.In addition, there are many studies used to measure the effects of primary users mobility in spectrum sensing in cognitive radio networks as stated in [22]. The authors proposed two performance metrics which affect the sensing performance: (i) the detection capability is an important factor to measure impact of PU mobility; (ii) a fundamental performance is the mobility-enabled sensing capacity that means, in the presence of PU mobility, it can measure the expected transmission capacity achievable by a CR user. The protocol is affected by five parameters: the PU protection range, the network region size, the PU mobility model, the CR spatial distribution, and the number of PUs which use the same spectrum band.However, in our work we proposed a simple model for routing protocol in cognitive radio ad hoc network; this model depends on three main parameters: network node density, number of primary users, and number of cognitive users. With this constraint, the analysis is distinguished from the previous work.The probability that a selected time slot over a free frequency channel is busy is directly proportional to the PUs activity and inversely proportional to the number of overall time slots on the all frequency channels, so the probability of neighbor node has at least two free time slots on two different frequency channels:(9)Pra  neighbor  has  at  least  two  free  channelsZ=1-PfiTch-Tch1-PfiPfiTch-1where Pfi is the probability of a given channel which is busy and Tch=m∗nfi is the total number of available channels.Then, the connection blocking probability is(10)PBlockRequest=1-1-PrDn=0-PrDn=1Z22∗1-PrDn=0-PrDn=1-PrDn=2Z32h.Finally we have(11)PBlockRequestMACNRP=1-1-e-ρNAn-ρNAne-ρNAnZ22∗1-e-ρNAn-ρNAne-ρNAn-ρNAn22e-ρNAnZ32h.Also the connection request blocking probability for a D2CARP and FTCARP routing protocols can be written as(12)PBlockRequestFTCARP=1-1-e-ρNAn-ρNAne-ρNAn·Z2∗1-e-ρNAn-ρNAne-ρNAn-ρNAn22e-ρNAnZ22h,PBlockRequestD2CARP=1-1-e-ρNAn·Z2∗1-e-ρNAn-ρNAne-ρNAnZ22h,where Pfi is the probability of channel fi to be busy and Tch=nfi is the total number of available channels.Through this performance evaluation it is assumed that the number of network nodesN=60, the average path lengthh = 6 nodes, the number of channels nfi=12 and m = 12 time slots per channel, the node transmission range = 25 m, the network area size At=100×100 m2, and the probability of a given channel Pfi=0.5.The relationship between the number of network nodes and the connection blocking probability is shown in Figure4. The figure‎ shows that at low dense network D2CARP protocol has the lowest blocking probability. However, as the number of network nodes (high dense network) increases the blocking probability of our proposed MACNRP protocol decreases exponentially with a rate higher than the other two protocols. The proposed protocol performs better because, in case of dense network, the probability of finding at least two node-disjoint routes is high, and the sharing of the lowest activity channels increases the number of accepted CUs connection requests, which decrease the connection blocking probability.Figure 4
Blocking probability versus the number of network nodes.The relation between the number of channels and the connection blocking probability can be seen in Figure5. The figure‎ shows that as the number of available channels increases, the connection blocking probability decreases, and the proposed protocol has the lower connection blocking probability.Figure 5
Blocking probability versus the number of channels.


## 5. Simulation Results

In this section, we have chosen OPNET simulation [23], since it is comprehensive, in industry’s leading network, graphical modeling, and the simulation platform to evaluate the performance of the MACNRP protocol. During simulation, the network node is in an area 100×100 m2 with 60 moveable CUs. The transmission range of each node is 25 m with random way point mobility. The nodes are communicating with each other by using the IEEE 802.11n MAC layer protocol. Thus, the CUs can use 12 frequency channels divided into 128 ms slots. In the application layer, the nodes communicate using twelve constant Bit Rate generators (CBR). Each generator produces data packet 512 bytes at the rate of 10 packets per second. The simulation time is set to 300 seconds. Each simulation is repeated four times and then average values of their results are taken to ensure integrity.First, the optimum numbers of time slots per frequency channels in order to decrease the connection request blocking probability must be found and then maximize the per flow time utilization (minimize per flow source node idle time). From Figure6, it can be noted that the optimum number of time slots per frequency channel is 12 time slots. The main focus of the simulations is to evaluate our proposed protocols compared to D2CARP and FTCARP protocols.Figure 6
Per flow time utilization versus the number of time slots.


### 5.1. Throughput

In OPNET the throughput is defined as the total number of successfully transmitted data packets per simulation time.(13)Throughput=∑actuaal  successfully  transmitted  data  packetsTotal  number  of  data  packet  sent.From Figure7 it can be seen that the throughput decreases as the number of PUs increases. This is due to the occurrence of PUs, which decrease the number of available frequency channels for SUs, so the number of data packets will decrease. Also, it can be noted that MACNRP protocols increase the network throughput to 88% above D2CARP and 93% above FTCARP protocols. This is due to the sharing of the less active (PUs activity) channels between CUs and the use of multiple paths.Figure 7
Throughput versus number of primary users.Figure8 shows the results of the network throughput versus the number of cognitive users. It can be noticed that the MACNRP protocol is dominant and the MACNRP +F protocols are the best. This is due to the use of paths with low probability of PU activity and due to the frequency sharing among different CUs. Also Figure 7 shows that as the number of CUs increases (greater than 20) the throughput decreases. This is due to increase in number of CUs, which increases the probabilities of collision.Figure 8
Throughput versus number of cognitive users.In Figure9, the relation between the network throughput and the number of network nodes is shown. The observed performance is justified by the high diversity of routes obtained with a larger number of CUs, which decreases the connection blocking probability and increases the overall network throughput. It can be noted that MACNRP protocols increase the network throughput on average by 33% above FTCARP protocol and 78% over the D2CARP protocol.Figure 9
Throughput versus number of network nodes.


### 5.2. Delay

Delay is calculated as the average delay encountered by the transmitted packets.(14)Delay=∑delays  encountered  by  each  transmitted  packetnumber  of  packets  sent.The relation between the average packets delay and the number of primary users is shown in Figure10. It is noticed that the proposed model imposes higher delays, especially for MACNRP +F scenario due to the ACK/NACK feedback messages and the multiroute discovery algorithm. Moreover, the delay is an increasing function in the number of primary users due to the lower probability of obtaining idle frequencies and time slots to be occupied by the cognitive users.Figure 10
Delay versus number of primary users.Figure11 shows the results of average delay encountered by the packet versus number of cognitive users. It is noted that the proposed protocol pays a price in terms of increasing the packet delay.Figure 11
Delay versus number of cognitive users.Figure12 shows the relation between the average packets delay versus the number of network nodes. The delay tends to decrease as the number of network nodes increases, since the best condition is to find hops to deliver the data packets.Figure 12
Delay versus number of network nodes.


### 5.3. Blocking Probability

It is defined as the ratio of number of blocked channels to the total number of request channels.(15)Blocking  Probability=Number  of  blocked  requestsTotal  number  of  requests.Figure13 shows the blocking probability versus the number of CUs. The blocking probability increases as the number of cognitive users increases for all protocols. This is due to the limited number of available channels for an increase in the connection requests. That will result in increasing the blocking probability. Also, it can be noted that the rate of blocking probability of our protocol increases on the average with rate equaling 0.1% per CU, but the other two protocols increase in rates higher than our protocols; the D2CARP rate is 0.4% and FTCARP rate is 0.2%.Figure 13
Blocking probability versus number of cognitive users.


### 5.4. Overhead

Figure14 shows the results of overhead versus the number of cognitive users. From the graph, it is clear that the MACNRP +F protocol has a higher overhead than D2CARP and FTCARP protocols, but the MACNRP protocol overheading has an average value. This is due to the fact that the proposed protocol uses extra control packets during the route formation and route maintenance phases, especially the frequency locked mechanism used in the modified protocol.Figure 14
Overhead versus number of cognitive users.


### 5.5. Path Fail

During the CUs data transmission phase the PUs can interrupt the transmission to use one or more channels, so the path fail is defined as the failure of an existing CUs connection (breaking all routes connecting the source node to the destination node).Figure15 displays the number of failed paths versus the number of primary users under the assumption of no mobility. It is clear that the proposed protocols are the best in terms of path fail. The number of failed paths increased as the number of PUs increased due to the higher probabilities of PUs interrupting CUs connections. The proposed protocols minimize the number of failed paths by using and sharing the most probable low PUs activity paths.Figure 15
Number of path failures versus number of primary users without mobility.As shown in graph the number of failed paths increases by rates of ≈ 0.2 failed paths per PU node for the MACNRP +F protocol, ≈ 0.4 failed paths per PU node for the MACNR protocol, ≈ 1.3 failed paths per PU node for the FTCAR protocol, and ≈ 2.3 failed paths per PU node for the D2CARP protocol. This proves that the proposed protocols succeeded in increasing of PUs activity and decreasing the path failure rate by 77% below FTCARP and 87% below D2CARP.Figure16 shows the performance results in terms of path failure versus the number of PUs under mobility. From the graph, it is observed that the number of failed paths increases as the number of PUs increases. This results due to the higher collision probabilities between the PUs and CUs. Furthermore, our proposed protocols have the lowest number of failed paths due to the use of multiple shared-routes with the lowest PUs activity.Figure 16
Number of path failures versus number of primary users under mobility.Comparing the results in Figures14 and 15, it can be seen that in the scenario with node mobility the number of failed paths increases over the scenario without node mobility on the average by ≈ 0.1% of the modified proposed protocol, ≈ 0.27% for the proposed protocol, ≈ 0.42% for the FTCARP protocol, and ≈ 0.33% for the D2CARP protocol. So it can be said that our proposed protocols succeed in decreasing the number of failed paths due to the node mobility by using node-disjoint routes.The number of failed paths versus number of cognitive users under mobility is shown in Figure17. It is clear that the proposed protocols have the number of braked route, and the number of failed paths increases as the number of CUs increased. This is due to the fact that, as the number of CUs increases, the number of created routes increases, which increase the probability of collision between the PUs and CUs connections and the number of failed paths.Figure 17
Number of path failures versus number of cognitive users under mobility.It is clear that our proposed protocol has lower number of braked routes and lower number of failed paths than the FRCARP and D2CARP protocols.


## 5.1. Throughput

In OPNET the throughput is defined as the total number of successfully transmitted data packets per simulation time.(13)Throughput=∑actuaal  successfully  transmitted  data  packetsTotal  number  of  data  packet  sent.From Figure7 it can be seen that the throughput decreases as the number of PUs increases. This is due to the occurrence of PUs, which decrease the number of available frequency channels for SUs, so the number of data packets will decrease. Also, it can be noted that MACNRP protocols increase the network throughput to 88% above D2CARP and 93% above FTCARP protocols. This is due to the sharing of the less active (PUs activity) channels between CUs and the use of multiple paths.Figure 7
Throughput versus number of primary users.Figure8 shows the results of the network throughput versus the number of cognitive users. It can be noticed that the MACNRP protocol is dominant and the MACNRP +F protocols are the best. This is due to the use of paths with low probability of PU activity and due to the frequency sharing among different CUs. Also Figure 7 shows that as the number of CUs increases (greater than 20) the throughput decreases. This is due to increase in number of CUs, which increases the probabilities of collision.Figure 8
Throughput versus number of cognitive users.In Figure9, the relation between the network throughput and the number of network nodes is shown. The observed performance is justified by the high diversity of routes obtained with a larger number of CUs, which decreases the connection blocking probability and increases the overall network throughput. It can be noted that MACNRP protocols increase the network throughput on average by 33% above FTCARP protocol and 78% over the D2CARP protocol.Figure 9
Throughput versus number of network nodes.


## 5.2. Delay

Delay is calculated as the average delay encountered by the transmitted packets.(14)Delay=∑delays  encountered  by  each  transmitted  packetnumber  of  packets  sent.The relation between the average packets delay and the number of primary users is shown in Figure10. It is noticed that the proposed model imposes higher delays, especially for MACNRP +F scenario due to the ACK/NACK feedback messages and the multiroute discovery algorithm. Moreover, the delay is an increasing function in the number of primary users due to the lower probability of obtaining idle frequencies and time slots to be occupied by the cognitive users.Figure 10
Delay versus number of primary users.Figure11 shows the results of average delay encountered by the packet versus number of cognitive users. It is noted that the proposed protocol pays a price in terms of increasing the packet delay.Figure 11
Delay versus number of cognitive users.Figure12 shows the relation between the average packets delay versus the number of network nodes. The delay tends to decrease as the number of network nodes increases, since the best condition is to find hops to deliver the data packets.Figure 12
Delay versus number of network nodes.


## 5.3. Blocking Probability

It is defined as the ratio of number of blocked channels to the total number of request channels.(15)Blocking  Probability=Number  of  blocked  requestsTotal  number  of  requests.Figure13 shows the blocking probability versus the number of CUs. The blocking probability increases as the number of cognitive users increases for all protocols. This is due to the limited number of available channels for an increase in the connection requests. That will result in increasing the blocking probability. Also, it can be noted that the rate of blocking probability of our protocol increases on the average with rate equaling 0.1% per CU, but the other two protocols increase in rates higher than our protocols; the D2CARP rate is 0.4% and FTCARP rate is 0.2%.Figure 13
Blocking probability versus number of cognitive users.


## 5.4. Overhead

Figure14 shows the results of overhead versus the number of cognitive users. From the graph, it is clear that the MACNRP +F protocol has a higher overhead than D2CARP and FTCARP protocols, but the MACNRP protocol overheading has an average value. This is due to the fact that the proposed protocol uses extra control packets during the route formation and route maintenance phases, especially the frequency locked mechanism used in the modified protocol.Figure 14
Overhead versus number of cognitive users.


## 5.5. Path Fail

During the CUs data transmission phase the PUs can interrupt the transmission to use one or more channels, so the path fail is defined as the failure of an existing CUs connection (breaking all routes connecting the source node to the destination node).Figure15 displays the number of failed paths versus the number of primary users under the assumption of no mobility. It is clear that the proposed protocols are the best in terms of path fail. The number of failed paths increased as the number of PUs increased due to the higher probabilities of PUs interrupting CUs connections. The proposed protocols minimize the number of failed paths by using and sharing the most probable low PUs activity paths.Figure 15
Number of path failures versus number of primary users without mobility.As shown in graph the number of failed paths increases by rates of ≈ 0.2 failed paths per PU node for the MACNRP +F protocol, ≈ 0.4 failed paths per PU node for the MACNR protocol, ≈ 1.3 failed paths per PU node for the FTCAR protocol, and ≈ 2.3 failed paths per PU node for the D2CARP protocol. This proves that the proposed protocols succeeded in increasing of PUs activity and decreasing the path failure rate by 77% below FTCARP and 87% below D2CARP.Figure16 shows the performance results in terms of path failure versus the number of PUs under mobility. From the graph, it is observed that the number of failed paths increases as the number of PUs increases. This results due to the higher collision probabilities between the PUs and CUs. Furthermore, our proposed protocols have the lowest number of failed paths due to the use of multiple shared-routes with the lowest PUs activity.Figure 16
Number of path failures versus number of primary users under mobility.Comparing the results in Figures14 and 15, it can be seen that in the scenario with node mobility the number of failed paths increases over the scenario without node mobility on the average by ≈ 0.1% of the modified proposed protocol, ≈ 0.27% for the proposed protocol, ≈ 0.42% for the FTCARP protocol, and ≈ 0.33% for the D2CARP protocol. So it can be said that our proposed protocols succeed in decreasing the number of failed paths due to the node mobility by using node-disjoint routes.The number of failed paths versus number of cognitive users under mobility is shown in Figure17. It is clear that the proposed protocols have the number of braked route, and the number of failed paths increases as the number of CUs increased. This is due to the fact that, as the number of CUs increases, the number of created routes increases, which increase the probability of collision between the PUs and CUs connections and the number of failed paths.Figure 17
Number of path failures versus number of cognitive users under mobility.It is clear that our proposed protocol has lower number of braked routes and lower number of failed paths than the FRCARP and D2CARP protocols.


## 6. Conclusion

In this paper, the MACNRP protocol and its modified version MACNRP +F are proposed for mobile cognitive radio ad hoc networks. The performance of the proposed protocol with the FTCARP and D2CARP routing protocols was compared. And also, an analytical model and performance evaluation of connection request blocking probability of MACNRP multipath routing protocol were presented and compared with the single route D2CARP protocol and FTCARP protocols.The proposed protocol succeeded in reducing the probability of collision between CUs and PUs and increases the network throughput. Also, it successfully reduced the connection blocking probability, especially in dense network, and reduced the number of failed paths due to node mobility and PUs activity, but with an increase in the average packet delay and overhead.Through simulations, we showed that the proposed protocols increase the network throughput on average by 33% above FTCARP protocol and 78% over the D2CARP protocol. Also, the proposed protocol succeeded in reducing the blocking probability and the average increasing rate of the blocking probability by 75% below the D2CARP protocol and 50% below the FTCARP protocol.The simulation results showed that in case of PUs activity the proposed protocols reduced the number of braked paths on average of 77% below FTCARP and 87% below D2CARP. Also, the proposed protocols reduced the number of failed paths due to node mobility on the average by 50% below the FTCARP protocol and 66% below the D2CARP protocol. Therefore, MACNRP succeeded in finding low PU activity routes, sharing these routes among different CUs, which reduces the blocking probability and the number of failed paths and increases the network throughput with a small addition of routing overhead and increase in the average packet delay.



---

*Source: 5380525-2017-01-15.xml*