# Full-Duplex MAC Protocol for CSMA/CA-Based Single-Hop Wireless Networks
## 3 Proposed FD MAC Protocol
### Protocol Description  
In order to meet the protocol design requirements above, we describe the specific working process of the proposed FD MAC protocol in this section. We assumed that A obtains a channel access opportunity and selects B as the destination node to send a frame. During the transmission of the frame's header, A always senses the channel to observe whether other transmitted signals exist. We discuss three possible conditions as follows:  
First, A does not sense any signals. This condition means that no other nodes simultaneously send the frame's header with A. For A, it only needs to continue sending the frame's payload. For B, the protocol requires it to read the address of A in the received frame's header and send a \"reverse\" frame to it. The transmission of the frame is \"passive\". Many studies such as in [6; 12] refer to it as the second transmission (ST). In contrast, when the back-off count of the node is reduced to zero, the \"active\" transmission of the frame is called the first transmission (FT). This communication mode (denoted by FD_1) is shown in Figure 2:  
After B sends it over, it should move to the back-off states. Note that it can return to the original back-off count or reselect a back-off count. Currently, the MAC protocol standard for the FD communication does not clarify this problem. The FD MAC protocols proposed in recent years (e.g., [13; 14]) basically consider the latter more reasonable. Thus, our protocol follows this mechanism.  
Second, A senses the signals sent by the other nodes, but it cannot decode it. This condition means that at least two other nodes simultaneously send the frames' headers with A. Note that these nodes also cannot decode any signals. The protocol requires all of them to terminate the transmissions of their frames' payloads and move to the back-off states directly. In this case, no effective throughput exists in the network.  
Third, A senses the signals sent by other nodes, and it can decode it. This condition means that only one node sends the frame's header with A simultaneously. If the frame exactly comes from B and its destination is A (the information obtained by B is consistent with this), then A and B only need to continue the transmissions of their frames' payloads. This communication mode (denoted by FD_2) is shown in Figure 3:  
Figure 2: B obtains the MAC address of A from the received frame’s header and sends a frame to A (FD_1 mode).  
Otherwise, A and this node (assuming it to be C) must communicate in one of the three modes as shown in Figure 1b-d. Here, the protocol can operate in two different methods. One method is that the protocol may require A and C to terminate the transmissions of the current frames and then send the new frames for each other [5]. That is, they re-conduct an FD transmission. This communication mode is shown in Figure 4:  
The other method is that the protocol may require A and C to perform priority operations based on their addresses (or other metrics) (assuming the results of the two operations are consistent), to determine the node that can access the channel. If A has a higher access priority than C, then C moves to the back-off states directly and [PERSON] sends the frame to B again. Subsequently, similar to the first case, B reads the MAC address from the frame's header and then initiates the \"passive\" transmission. This communication mode is shown in Figure 5:  
Clearly, this protocol operating method ensures that one of the two originally initiated transmissions can be implemented during the current contention period. Thus, we adopted this method. The communication mode is denoted by FD_3.  
Figure 4: A and C re-conduct an FD communication.  
Figure 5: A sends the frame to B again and then B initiates the “passive” transmission (FD_3 mode).  
Figure 3: A and B send frames for each other simultaneously (FD_2 mode).