## 3 Collision-Free Hybrid MAC Protocol Based on Pipeline Parallel Transmission
### Protocol Description  
In the concurrent transmission protocol proposed in [18], a transmission cycle includes four stages: the RTS, CTS, data, and acknowledgement (ACK) stage. Multiple nodes send their RTS and CTS packets in a random time of the RTS and CTS stages, respectively. Following this, the source nodes that receive the CTS packets schedule and transmit their data and ACK packets concurrently in the data and ACK stages, respectively. These four stages need to be performed in series in a single channel network. However, when there are multiple channels in the network and multiple data packets needed to be sent, this four-stage transmission process well meets the requirements of a pipeline, where:  
* A repetitive process can be divided into several stages, each of which can be implemented by an independent device.
* These stages are connected with one another to form a pipe like structure.
* Multiple processes can be overlapped during execution so that the stages in each process can be carried out in parallel.  
Figure 3 shows an example of implementing this transmission process with a four-stage pipeline, where Channel 3 to channel N-1 are parallel channels for data transmission and can be regarded as one stage in the pipeline. In Figure 3, it can be seen that when the RTS, CTS, data and ACK packets are transmitted in separated channels, a new transmission cycle can start along with the former CTS stage, which can make the whole transmission process more compact and increase the throughput of the network. Note that multiple RTS, CTS, data and ACK packets from different nodes can be transmitted in each RTS, CTS, data and ACK stages, respectively.  
A four-stage transmission process usually needs to be implemented with a four-stage pipeline, which means that the network needs more than four independent channels. This requirement is not always satisfied in practice and too many control channels will also reduce the transmission efficiency. However, it can be noticed that in the TDMA based handshaking, a node can only reside in the RTS, CTS or ACK stage at the same time and send a RTS, CTS or ACK packet in its time slot of the corresponding channel. There is lots of redundancy in the control packet transmission. For example, in the sage of RTS\({}_{2}\) in Figure 3, only the time slot for the second source node in Channel 1 is busy, while the other time slots are idle. Therefore, the RTS, CTS and ACK stages which belong to successive transmission cycles but start at the same time can be merged into one control channel and transmitted in the same TDMA period, as shown in Figure 4. In this method, the time slot assigned to each node in the control channel can be used to transmit RTS, CTS or ACK packet as needed. Two channels are sufficient for the pipeline, i.e., one control channel and one data channel. Because the control packets are still transmitted in separated time slots and each node has the chance to send control packets in its time slot, the proposed protocol can support multiple successful handshakes and cause no collision in the control packet transmission.  
The advantage of this framework is that the handshaking is collision-free and the pipelining can increases the throughput of the network significantly. However, the TDMA based handshaking also brings a fixed delay to the data transmission, which cannot be shorten by the pipelining technique. Therefore, the time slots should be optimized to shorten the TDMA period, as well as the data packet scheduling should also be performed to make sure that no collision will occur during the data stage while the whole data transmission time is as short as possible. Theoretically, the pipeline will reach its maximum throughput when the TDMA period is equal to the duration of data transmission, so the data packet size is an important factor to the transmission efficiency and needs to be chosen properly.