According to the model above, in the HD networks, if more than one node sends signals, then collisions will occur. However, in the FD networks, two nodes are allowed to transmit signals simultaneously. Moreover, if two nodes in the network send the frames for each other, then the system throughput is twice that of the two nodes working in the HD mode. Hence, the proposed FD MAC protocol needs to increase this opportunity.
3.1. Three Scenarios for the Protocol
The three scenarios where the frames are sent by the n nodes and their corresponding protocol design requirements are discussed as follows:
First, when only one sender sends the frame, the receiver can receive the frame in the HD mode correctly. No collisions will occur. However, to increase channel utilization, we should require the receiver to send a “reverse” frame to the sender at an appropriate time. Second, when three or more senders send their frames simultaneously, any node in the network will receive the transmitted signals from at least two other nodes. Regardless of how the protocol is designed, the collisions must occur. What is needed is to minimize the channel access time wasted by the collisions. Finally, when exactly two senders (A and B) send the frames simultaneously, they have the following four communication modes (
Figure 1):
In
Figure 1, the dashed line represents the interference signal, and the solid line represents the desired signal. As shown in
Figure 1a, when the two nodes (A and B) send the frames for each other, the two frames can be received correctly. When only one of the two nodes sends the frame to the other side, as shown in
Figure 1b, only one node (B) can receive the frame correctly. When the two nodes send the frames for the same node or for the other two nodes, as shown in
Figure 1c,d, respectively, the two transmissions will interfere with each other and no receiver can receive the frame correctly. To this end, the protocol design can be divided into two cases. First, for the communication mode as shown in
Figure 1a, we do not need to adjust the FD communication currently in progress. Second, note that the other communication modes either fail to exert the FD capabilities of the nodes (
Figure 1b) or fail to produce effective throughput in the network (
Figure 1c,d). Therefore, at an appropriate time, we should adjust them to the mode in which the two nodes send the frames for each other. For this problem, the MAC protocol proposed in [
5] adds an “octal” field to the original RTS frame structure. The content of this field is a random number, which is used to compute a priority with the MAC address of the current node. When two nodes send the request frames simultaneously, the protocol can specify the FD communication according to this priority.
3.2. 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:
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 A 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.
3.3. Modeling and Analyzing the Performance of the Proposed Protocol
According to the above protocol description, each node actually has a finite number of states. Moreover, each state is only related to the previous one. Hence, referring to the method in [
2], we used a discrete Markov chain to model the states of each node and their transitions. After solving the steady states of the Markov chain, we further modeled the analytical performance of the protocol.
As a comparison, we first provide the state transition diagram of the HD node in the network [
7], as follows:
In
Figure 6,
S1–
SW−1 denote the back-off states, and
T (also can be regarded as
S0) denotes the transmission state. According to the CSMA mechanism, if the node senses that the channel is idle at the
t−1 time slot, then it will reduce the back-off count at the
t time slot. Otherwise, the back-off count remains unchanged. The actual time interval between the two consecutive back-off counts may be the length of a slot time (denoted by
σ) or the length of the time required for a frame transmission. Let
t→∞, [
7] solves the steady probability of the node in the
T state (we used
πT to denote its probability, similarly hereinafter). That is, at any time slot, the transmission probability of the node is as follows:
In the HD networks, when two or more nodes in the
T state are present at a time slot, the collisions will occur.
Pcol(HD) denotes the collision probability. We also denote this using
Tcol(HD), the length of the time wasted by the collision. According to the value of
πT, without using or using the control frames, [
2] solves the system normalized throughputs in both cases, denoted by
ThHD(basic) and
ThHD(RTS), respectively. In the physical sense, the throughput can be obtained from dividing the total number of the transmitted bits in a time interval (denoted by
Ltol; here “tol” is short for “total”) by the average length of the time interval (denoted by
Lave; here “ave” is short for “average”).
Then, we give the state transition diagram of the FD node in the network, as shown in
Figure 7:
Note that each node has two transmission states (“active” and “passive”), which are denoted by
T1 and
T2, respectively. Here, the node can jump directly from the back-off states to the transmission state with probability
β. Let
t→∞, because
α +
β = 1, the steady probability of each state of the Markov chain in
Figure 7 satisfies Equations (2) and (3).
where
πS0 =
πT1. For the last back-off state, we have:
For
πT2, we have:
By Equations (2) and (3), the iterative expressions among each
πSi(
i = 1, …,
W − 1) can be obtained as follows:
According to the protocol description in
Section 3.2, if only two nodes communicate in the FD_1 or FD_3 mode, then one of them can jump from the back-off states to the
T2 state. In the FD_1 mode, the probability (denoted by
β1) can be obtained as follows:
where the
term represents the probability that only one other node (excluding the current node) in the network “actively” sends a frame, and the
term represents the probability that the destination address of the frame is the current node. In the FD_3 mode, the solution of this probability (denoted by
β2) needs to be discussed according to the communication mode of the two nodes. Basically, we can obtain the probability that they simultaneously send the frames, as follows:
First, in the mode as shown in
Figure 1a, the two nodes initiate the transmission actively. We have
β2(1) = 0. Second, in the mode as shown in
Figure 1b, we can obtain
β2(2) as follows:
where the
term represents the probability that the two nodes communicate in this mode, and the
term represents the probability that one of the two nodes obtains the transmission opportunity and selects the current node as the destination. Third, in the mode as shown in
Figure 1c, we can obtain
β2(3) as follows:
where the
term represents the probability that the two nodes communicate in this mode, and the
term represents the probability that the current node is selected as the destination by the two nodes. Four, in the mode as shown in
Figure 1d, we can obtain
β2(4) as follows:
where the
term represents the probability that the two nodes communicate in this mode, and the meaning of the
term is consistent with the corresponding term in
β2(2). Furthermore, we can obtain
β2 as follows:
Given that the node executes the “passive” transmission in the
T2 state, according to the network model, it will not collide with others. When solving the collision probability of the network, we did not consider the probability that the node was in this state. Finally, we have the normalized condition for the probabilities of these states, as follows:
According to Equations (5) and (6), the probability of each state can be converted to the expression of πT1. When the values of n and W are given, the value of πT1 can be solved by Algorithm 1. Here, we used τ to denote πT1.
Algorithm 1. Solving the πT1 of each node |
Require: The values of n and W; Initialize i = 0.0001; while τ ≤ 1 do β = τ(1 − τ)n−2; // here we use the expression of β1, also we can use that of β2 α = 1 − β; g(1) = 1 + α, f(1) = 1/g(1); for i = 2; I ≤ W − 1; i++ do g(i) = g(i − 1) + αi; f(i) = αi/g(i); end for πS1 = (1 − f(W − 1))τ; for i = 2; I ≤ W − 1; i++ do πSi = (1 − f(W − i))πSi−1; end for X = (1 + β)sum{πSi}|iϵ(1,W−1),iϵZ + τ; if X − 1 < δ then break; end if τ = τ + 0.0001; end while |
Then, based on the value of πT1, we can solve the system normalized throughput (denoted by ThFD). At a time slot, 0, 1, 2, or more nodes may send frames. For different cases, the behaviors of the nodes and channel access times they occupy are different. To solve the average length of the time interval between the two consecutive back-off counts of the node, we need to analyze these cases respectively.
First, the probability that no node “actively” sends the frame (denoted by
Pidle) is as follows:
The channel access time occupied by this case is exactly the length of a time slot (
σ). Second, the probability that only one node “actively” sends the frame (denoted by
Psgl; here “sgl” is short for “single”) is as follows:
In this case, the destination node will send a “reverse” frame after receiving the frame’s header. As shown in
Figure 2, the corresponding channel access time is as follows (we ignored the propagation time of the signal, similarly hereinafter):
Third, the probability that two nodes “actively” send the frames simultaneously (denoted by
Pdbl; here “dbl” is short for “double”) is as follows:
where the probability that the two are mutual destinations (denoted by
Pbi, here “bi” is short for “bidirectional”) is as follows:
As shown in
Figure 3, the channel access time occupied by this case (denoted by
Tbi) is as follows:
Moreover, the probability that the nodes communicate in the FD_3 mode is as follows:
The channel access time occupied by this case (denoted by
Tnon-bi) is as follows:
When more than two nodes “actively” send the frames simultaneously, the collisions will occur. The probability (denoted by
Pcol(FD)) is as follows:
Given that the collisions only waste the transmission time of a frame’s header, the channel access time occupied by this case (denoted by
Tcol(FD)) is as follows:
Furthermore, the average length of the time interval can be obtained as follows:
Moreover, the total number of the transmitted bits in a time interval can be obtained as follows:
Note that the length of the whole frame is considered in the solution of Ltol. The subsequent numerical simulations for ThHD(Basic) and ThHD(RTS) are also based on this criterion.
Finally, the system normalized throughput can be obtained as follows:
Note that we focused on the system throughput that could be achieved under the saturated flow. This performance metric can be directly converted to the transmission delay.