# 2 CA-R2: A Hybrid MAC Protocol for Machine-Type Communications
## 1 Introduction
Although some control measures can be taken to mitigate this situation, this factor leads to limited scalability [10; 11]. Other effects that arise under such circumstances are an increased waste of power coming from both collisions and idle listening and greater overhead due to the transmission of control packets, which can consume more power than the actual transmission of data packets [10]. All of these effects are further exacerbated when simultaneous access attempts occur in large numbers. Reservation protocols, on the other hand, eliminate the problems caused by collisions by preallocating transmission resources to network stations. Among these solutions, we can find the following two well-known cases [7; 8]: Time Division Multiple Access (TDMA) and Frequency Division Multiple Access (FDMA). A typical problem associated with reservation protocols is that they exhibit limited adaptability to changing conditions in network traffic. In TDMA, for example, if a device runs out of data to transmit, its reserved transmission time slots will not be used, which leads to a waste of resources. Another issue to be taken into account is the overhead generated by the resource allocation procedure. In addition, reservation protocols have a number of technical challenges that must be addressed. For example, TDMA requires strict clock synchronization to avoid communication failures due to interference among devices [11]. This feature causes additional power consumption since it requires the regular transmission and detection of a clock signal [12]. In turn, FDMA is poorly suited for operation with low-cost IoT devices, as they require complex circuitry to communicate and switch between different radio channels. Hybrid MAC protocols belong to a third category, which is intended to incorporate the best features of both contention and reservation protocols, providing more efficient medium access control. One possible approach to implement a hybrid protocol is based on the division of each transmission cycle into at least two stages, or periods, namely, contention and data transmission. In the former, the nodes compete for the opportunity to transmit, typically using a contention protocol. The nodes that are successful in this period will receive the resource allocation (e.g., a time slot or a channel frequency) to transmit their data during the latter. Generally speaking, hybrid protocols provide greater flexibility than pure reservation protocols, and they scale better than pure contention protocols. This is the key motivation for developing this approach for channel sharing, since both characteristics are important for M2M communications. Therefore, it is not surprising that in recent years we have witnessed the appearance of a number of hybrid protocols intended to be used in M2M communications (e.g., see [11; 12]). In spite of their advantages, hybrid MAC protocols are not exempt from technical challenges, since they also inherit the limitations of their constituent protocols. A problem that arises in some contention-based MAC protocols, regardless of whether they are used in isolation or as part of a hybrid protocol, is related to the way they try to maintain a small collision probability. Some popular protocols, such as DCF, resolve contention by means of random access controlled by the well-known binary exponential backoff algorithm. In this approach, the stations draw a random turn from a set (i.e., the \"contention window\") whose size geometrically grows with each collision [13]. Therefore, when there is a large number of contending stations, this strategy can lead to long waiting times and a waste of resources. In addition, the fact that the contention window is locally updated (i.e., at each node) may also lead to a certain degree of unfairness in the way access is granted to the network nodes. Under heavy traffic conditions, a node may experience a number of collisions and, in consequence, large delays (due to the growth of its contention window) before its packet goes through.