# Design and Performance Analysis of an In-Band Full-Duplex MAC Protocol for Ad Hoc Networks
## 3 Proposed MAC Protocol: AdHoc-FDMAC
### Data Transmission
#### 3.2.1 Transmitter and Receiver Are out of the Data Transmission Range  
If the destination or receiver is out of the transmission range of the source/transmitter, firstly it needs a route discovery protocol to find an efficient route from the source node to destination node. After selecting a route, the data transmission takes place from the source to the destination. In this paper, we use a famous route discovery protocol named AODV [20]. Here, at first the source sends a Route Request (RREQ) message to its neighbour nodes. The neighbours broadcast this message to their neighbours and this broadcast process is repeated continuously until the destination node is found. Every node has its own sequence number and broadcast ID. The RREQ message contains an important  
Figure 3: Control frames.  
field, named the hop count, and this hop count is increased from every transmission of RREQ from one node to its neighbour node. An intermediate node can receive more than one RREQ messages with the same source address and broadcast ID from different neighbour nodes, but it only records the broadcast ID of the neighbour from which it first receives the RREQ message to its own route cache, and other RREQ messages received later are discarded. Every neighbour node maintains a route cache to set up a reverse path. When the RREQ message reaches the destination node, then the destination sends a Route Reply (RREP) message to the source through the same path that is used to send the RREQ message to destination. If the destination receives more than one RREQ message, it selects the route whose hop count is smaller. Before sending the RREQ/RREP, the transmitter senses the channel, whether it is idle or busy. If the channel is free, the transmitter sends the control frame.  
The AODV protocol uses the conventional HD communications. However, we utilize AODV with IBFD communications, and it is depicted in Figure 4. According to the network topology, in Figure 2, node R and E have data to send C and MS respectively, but C is out of range of node R and MS is out of the range of E. In Figure 4, we demonstrate how both R and E nodes select the route to transmit thee data to their destination simultaneously.  
Figure 4: FD data transmission when transmitter and receiver nodes are out of the range between each other; (**a**) route selection process; (**b**) data transmission process.  
To select a route, E transmits the RREQ message to D, D to B and B transmits the RREQ to both MS and C simultaneously and then C sends it to MS. Although the destination MS receives two RREQ passages from E using two different routes, MS selects the E-D-B-MS route according to the AODV algorithm, as the hop count is smaller here. Similarly, another node R selects the R-D-B-C route using the AODV algorithm at the same time.  
We divide the total data transmission process into two parts, namely the Figure 3(a) route selection process and Figure 3(b) data transmission process. According to Figure 3(a), R transmits a RREQ-C message to the relay node D and it receives this message. Then, D transmits RREQ-C to B. While transmitting RREQ-C, D also receives RREQ-MS that is transmitted by E, as shown in Figure 3(a). After that, D sends RREQ-MS to B and at the same time, B sends RREQ-C to destination node C. After receiving RREQ-C from B, C waits for processing the information and B sends RREQ-MS to destination MS. Then, C sends a route reply RREP-R to B. Afterwards, MS transmits RREP-E (route reply to the source E) frame to B. By using these relay nodes B and D, both C and MS transmit their RREP-R and RREP-E frame to the sources R and E, respectively. Consequently, according to the previous description, the route reply reaches to its destination. After receiving the route reply, the data transmission process takes the place as shown in Figure 3(b). Afterwards, both data frames are relayed by relay nodes D and B and are received by C and MS, as in Figure 3(b). After data transmission, both C and MS send their acknowledgement frames to the corresponding transmitters.