1 Introduction

A wireless sensor network (WSN) is a collection of small autonomous devices that are deployed in a geographical region to monitor the physical or environmental parameters and send the information to the base station (BS) (Yick et al. 2008; Akyildiz et al. 2002). The growing demand of WSNs has motivated researchers worldwide to work on the issues and challenges in WSNs. Many authors have worked on efficient data collection in WSNs (Singh and Kumar 2020; Kumar and Dash 2020; Li et al. 2018b, 2018c), coverage problem in WSNs (Osamy and Khedr 2018; Binh et al. 2018; Biswas et al. 2018), reducing the delay in WSNs ( Vikas and Kumar 2019; Liu et al. 2018; Cheng et al. 2018; Li et al. 2018a), reducing uneven load distribution in WSNs (Musa et al. 2019; Vinod and Kumar 2019; Liu and Zhang 2017), improving security in WSNs (Laouid et al. 2019; Kumar and Pais 2019; AlFarraj et al. 2018; Maitra et al. 2019), clock synchronization in WSNs (Xie et al. 2018; Yıldırım et al. 2017; Elsharief et al. 2017; Kikuya et al. 2017). As sensor nodes usually operate on batteries, all such research works should ensure that the energy consumption is kept to a minimum. The radio/transceiver of a sensor node consumes the maximum amount of energy in its lifetime. A sensor node may also lose a considerable amount of energy when the radio is idle listening (radio is ON but it is not transmitting or receiving). To minimize idle listening, most of the medium access control (MAC) protocols turn OFF the radio when it is not working.

WSN MAC protocols can be broadly divided into two categories: (i) contention based MAC protocols and (ii) time division multiple access (TDMA) based MAC protocols. In contention based MAC protocols, each node competes for the shared medium whenever it wants to send a data packet (Anastasi et al. 2009; Khan et al. 2015). Contention based MAC protocols are scalable and maintain a lower delay as compared to TDMA based MAC protocols. However, contention based MAC protocols are not energy efficient due to increased idle listening, overhearing (receiving packets intended for other nodes), collisions (receiving two or more packets at the same time), and control packet overhead. In TDMA based MAC protocols, each sensor node is assigned one or more slots (in a frame) during which it may transmit or receive data (Anastasi et al. 2009; Khan et al. 2015). A node turns its radio ON in the beginning of this period and performs the assigned task. In many cases, nodes are grouped into separate clusters, each having a cluster head (CH) which assigns slots to the non-CH nodes (member nodes) in the cluster. The CH aggregates data collected from its member nodes, and forwards it towards the BS. Some event-driven MAC Protocols include small control slots in a frame. If a node has data, it has to inform its CH by sending a control packet in its control slot. The CH allocates data slots to such nodes only (in a Schedule packet that is broadcast soon after). Though the CH saves some energy by sleeping during the unused slots of a frame, it loses a considerable amount of energy in receiving control packets and broadcasting schedule in each frame.

In the proposed model, no control packets are exchanged after the beginning of the data transmission period. If a CH does not receive data within a specific time period of a slot, it goes into the sleep state till the beginning of the next slot. Both these factors ensure that the overall network lifetime is increased.

The rest of the paper is organized as follows. Section 2 discusses the related work. Section 3 explains the working of the proposed model. Section 4 discusses the simulation results along with a comparative analysis. Section 5 concludes the paper.

2 Related work

In Subsect. 2.1, some basic contention based MAC protocols and TDMA based MAC protocols are discussed. In Subsect. 2.2, all these MAC protocols are analyzed to identify the major factors responsible for energy drain in sensor nodes.

2.1 Discussion

SMAC (Ye et al. 2002) is a well-known contention based MAC protocol in which nodes exchange synchronization (SYNC) packets to coordinate their sleep/wakeup periods. A node may establish its own schedule and/or follow the schedule of one or more neighbors. However, the node can follow more than one schedule only if they do not overlap. The channel access time is divided into (i) listen period and (ii) sleep period. In the listen period, sensor nodes exchange SYNC packets and Request-To-Send (RTS) or Clear-To-Send (CTS) packets among themselves. The actual data transmission takes place in the sleep period. After data transmission, the receiver sends an acknowledgement (ACK) packet to the sender to confirm the receipt of data packet(s). S-MAC supports fixed duty cycles that cannot adapt to the variations in the traffic load. TMAC (Van Dam and Langendoen 2003) follows the same approach for clustering and synchronization as S-MAC. However, T-MAC supports adaptive duty cycles unlike S-MAC. T-MAC reduces the idle listening period by allowing nodes to transmit in bursts, and sleep between these bursts. A node waits for a time \(T_{A}\) after the burst time to check for any activation event. In the absence of an activation event, the node goes to sleep until the next frame

Some of the recent works have made modifications to SMAC/TMAC to save more energy. Authors in Ramadan et al. (2018) proposed a protocol that considers the initial energy of a node while defining its duty cycle. Nodes with low or medium energy levels are allowed to sleep more as compared to nodes with high energy levels. This leads to the reduction in uneven distribution of load among them. Authors in Zhang et al. (2018) proposed a low duty cycle MAC protocol that is based on self-adaptation and predictive strategy. A sending node (node that has data to be sent) calculates and predicts the wake-up time of the receiving node (node to which data is to be sent) by listening to the latter’s beacon packet. The sending node wakes up at that time to set up a communication link and transmit the data. In Liu et al. (2019), authors proposed a protocol that prolongs the active periods of nodes in non-hotspot areas so that the transmission delay is reduced. If a node is in active state and has data, it will transmit the data. If a node is in active state and does not have data, it will switch to Low-Power-Listening mode.

BMA-MAC (Li and Lazarou 2004) is an event-driven MAC protocol. Each round is divided into a set-up phase and a steady-state phase. The cluster formation procedure in set-up phase is same as LEACH (Heinzelman et al. 2000). The steady-state phase consists of k sessions of the same length. Each session consists of a contention period, an announcement period, a data transmission period and an idle period. A member node that has data (source node), sends a control packet in its control slot. It stays idle for the rest of the contention period. During the announcement period, each CH broadcasts a schedule in its cluster. A source node transmits data during its own data slot, and keeps its radio OFF during the rest of the data transmission period. In the idle period, all the nodes turn their radios OFF to conserve energy. At the end of each frame, CH aggregates the collected data and sends it to the BS. One of the major drawbacks of BMA-MAC is that even the non-source nodes stay idle during the contention period and receive the schedule packet during the announcement period.

In BMA-RR (Hsu and Yen 2011), the cluster formation process is same as LEACH. The steady-state transmission phase consists of k sessions, each of fixed duration. Each session consists of four periods: control period, announcement period, data transmission period and idle period. If a node has data, it sends a control packet in its control slot. Non-source nodes stay idle during the control period. After the completion of the control period, the CH sets up and broadcasts a schedule in its cluster. The slots are allotted on a round-robin basis. All the non-source nodes keep their radios off during the data transmission period. In the idle period that follows, each node keeps its radio OFF. After collecting data from all the source nodes, CH aggregates and forwards it to the BS. The downside is that some nodes may have to toggle their radios between ON and OFF multiple times in a frame.

In BS-MAC (Alvi et al. 2015), each CH broadcasts a schedule after completion of the setup phase (as in LEACH). The schedule informs each member about the control slot that has been allotted to it. The steady state phase starts with a control period. Each source node sends a data request during its control slot. In the announcement period that follows, each member node turns its radio ON to learn if it has been allotted any data slot(s). A member node may be allotted one or more data slots to transmit/receive data to/from the CH. The allocation of data slots is based on the SJF (Shortest Job First) algorithm. BS-MAC uses shorter time slots which can lead to frequent reservation and scheduling.

BEST-MAC (Alvi et al. 2016) introduces a Contention Access Period (CAP) after the control period. During CAP, nodes that could not join the network, send join-request packets to the CH. During the announcement period, the CH allocates control slots to these newly joined nodes. It also allocates data slots to the source nodes that claimed so during the contention period. The allocation of data slots follows the knapsack optimization algorithm. BEST-MAC also uses shorter time slots which can lead to frequent reservation and scheduling. The CAP may lead to idle listening of the CH after a few sessions. This is so because all the left-out nodes may have joined the network by then.

Low Duty Cycle MAC Protocol (Debasis and Singh 2016) divides a round into three phases: setup Phase, announcement phase and data transmission phase. The setup phase is same as that of LEACH. After the formation of clusters, each CH broadcasts a schedule. Every member is allotted one control slot and one data slot. The data transmission period is composed of k frames of equal duration. Each frame is divided into a control period, a data transmission period and an idle period. A source node sends a control packet during its control slot, and keeps its radio OFF during the rest of the contention period. The CH keeps its radio ON during the corresponding data slots only. Nonetheless, the CH may have to toggle its radio between ON and OFF multiple times in a frame.

In BEE-MAC (Debasis and Singh 2018), the cluster formation procedure is same as LEACH. During the announcement phase, each CH broadcasts a schedule packet. Each member is assigned one control slot. The data transmission phase is composed of k frames of equal length. Each frame is composed of a control period, a data transmission period and an idle period. Each source node sends a control packet in its control slot. Nevertheless, the node has to keep its radio ON from the beginning of the control period to learn how many data slots have already been claimed.

In ABMA-MAC (Tolani and Singh 2019), a source node includes its buffer status in the control packet that is sent to the CH. The CH checks the buffer status to know how many data packets have queued up in the node’s buffer. The CH allocates sufficient number of data slots to the node so that all its data packets are received in the same session. ABMA-MAC also allows piggybacking of control messages in data packets. If a source node wants to book one or more data slots in the next session, it includes a small control message in the data packet that is sent to the CH in this session. Therefore, the node does not have to send a control packet in the next session. Consequently, the CH can keep its radio OFF in the corresponding control slot. However, the CH has to keep its radio ON in the other control slots. Due to this reason, a CH may have to toggle its radio between ON and OFF multiple times in the contention period.

Some of the recent works on TDMA based MAC have focused on making modifications to the classic LEACH protocol to reduce the energy consumption in sensor nodes. In Gou et al. (2019), authors considered multiple parameters during cluster formation—(i) residual energy of a node, (ii) distance of a node from the BS, (iii) number of CHs in the network, and (iv) number of times a node has been CH. In Feng et al. (2019), authors considered the energy betweenness of nodes during cluster formation. Energy betweenness of a node is the ratio of energy consumed by all nodes in the network after the end of one round to the energy consumed by the node in the current round. A node with high energy betweenness will consume more energy. In Elsmany et al. (2019), cluster members send their data to special nodes called the Cluster Congregation (CG) nodes. The CH is responsible for appointing one or more suitable nodes as the CG nodes in the cluster. The work of the CG nodes is to aggregate the collected data and forward it to the CH.

2.2 Analysis

Contention based MAC protocols discussed in Ye et al. (2002), Van Dam and Langendoen (2003), Ramadan et al. (2018), Zhang et al. (2018), and Liu et al. (2019) have the following common issues that make them less energy efficient than TDMA based MAC protocols:

  1. (a)

    A number of control packets like RTS, CTS, ACK, etc. are exchanged between a sender and a receiver before and after the data transmission. These control packets are responsilbe for the loss of a considerable amount of energy in sensor nodes.

  2. (b)

    When a sensor node is waiting for a control/data packet, it is actually not doing any productive work. It is just idle listening, and losing energy in the process. In contention based MAC protocols, a siginificant amount of energy is lost in idle listening too.

  3. (c)

    Apart from the above two factors, sensor nodes also lose a substantial amount of energy in overhearing packets destined for their neighbours, and retrasmitting packets that are corrupted due to collisions.

TDMA based MAC protocols discussed in Li and Lazarou (2004), Hsu and Yen (2011), Alvi et al. (2015), Alvi et al. (2016), and Tolani and Singh (2019) have the following issues that accelerate energy drain in sensor nodes:

  1. (a)

    In all the protocols, data transmission is preceded by the transmission of control packets (by the source nodes) and the broadcast of a schedule packet (by the CH). These packets are exchanged in the beginning of each frame.

  2. (b)

    Non-source nodes do not transmit data packets. However, in BMA-MAC, non-source nodes stay idle in the contention period and receive the schedule in the announcement period.

  3. (c)

    In BMA-RR, the source nodes are allocated data slots in a round-robin fashion. Hence, nodes with multiple data slots have to toggle their radios between ON and OFF many times.

  4. (d)

    BS-MAC and BEST-MAC use shorter time slots which leads to frequent reservation and scheduling in a round. Furthermore, BEST-MAC uses a CAP which will most likely lead to idle listening in CHs after one or more frames.

  5. (e)

    In ABMA-MAC, a CH may have to toggle its radio between ON and OFF multiple times in the contention period. This is because the CH has to keep its radio OFF in the control slots of the source nodes that have pre-booked data slots, and keep it ON in the other control slots.

TDMA based MAC protocols discussed in Debasis and Singh (2016) and Debasis and Singh (2018) have the following issues:

  1. (a)

    In both the protocols, source nodes transmit control packets to their CH before transmitting data packets.

  2. (b)

    In Low Duty Cycle MAC, a CH keeps its radio ON during the data slots of source nodes, and keeps it OFF during the data slots of non-source nodes. Due to this reason, a CH may have to toggle its radio between ON and OFF numerous times in a frame.

  3. (c)

    In BEE-MAC, a source node keeps its radio ON from the beginning of the control period to know which data slots have been claimed and which are available. However, the node may lose a considerable amount of energy in idle listening, and receiving control packets from other source nodes.

TDMA based MAC protocols discussed in Heinzelman et al. (2000), Gou et al. (2019), Feng et al. (2019), and Elsmany et al. (2019) have the following issue:

  1. (a)

    In LEACH and its derivatives, source nodes do not send control packets (to book data slots) to their CHs. Thus, energy consumption due to control packet overhead is reduced. However, this also results in increased idle listening in CHs. This is due to the fact that a CH keeps its radio ON in all the data slots of a frame. It does not matter even if a single member node does not have any data to send.

This paper proposes a model that works towards reducing the energy consumption further compared to BMA-MAC, LEACH, and their derivatives. In the proposed model, source nodes do not send control packets to book data slots. This results in reduced energy consumption due to control packet overhead. Furthemore, to reduce idle listening, a CH turns its radio OFF if it does not receive data within a specific time period of a frame. In the next section, the proposed model has been discussed in detail.

3 Proposed model (ES-MAC)

In the proposed model, each round consists of two phases namely Setup Phase and Steady State Phase. After the formation of clusters (as in LEACH), each CH allocates time slots and provides timing and synchronization information to its member nodes. Each member node is allotted one data slot. The steady state phase consists of k frames of equal duration. For any particular cluster, the number of data slots and the duration of the idle period depend on the number of member nodes in that cluster. However, the overall length of the frame remains same. Figure 1 shows the frame structure in ES-MAC.

Fig. 1
figure 1

Frame format of ES-MAC protocol

A source node turns its radio ON during its slot to send data to the CH. It keeps its radio OFF during all other slots. A non-source node keeps its radio OFF during all the slots. After the CH has collected data from all the source nodes, it is aggregated and sent to the BS using a fixed spreading code and CSMA. During the idle period that follows, all the nodes within the cluster (CH, source nodes and non-source nodes) turn their radios OFF.

A CH turns its radio ON at the start of each data slot. It keeps the radio ON for a very short duration, called Verification Period. If the CH does not receive any data during this period, it deduces that the corresponding member has no data. So, the CH turns its radio OFF until the beginning of the next slot. If the CH receives any data during the Verification Period, it keeps its radio ON throughout the duration of the slot. Figure 2 shows the working of cluster heads and member nodes. Algorithm 1 shows the steps in ES-MAC protocol.

figure a

4 Results and analysis

The simulations use First Order Radio Model as in LEACH. Table 1 shows the parameters used in the simulations. Here, \(E_{elec}\) represents the energy spent in running the transmitter or receiver circuitry, \(E_{idle}\) represents the energy spent in idle mode and \(\epsilon _{amp}\) represents the energy spent in running the transmit amplifier. The first simulation is done by considering three different values for the number of frames, that is 15, 25, and 35. The number of nodes is kept constant at 100 and the desired percentage of cluster heads is kept constant at 15% at all times. Figure 3 shows the simulation result and Table 2 shows the network lifetime when the number of frames is 15. Figure 4 shows the simulation result and Table 3 shows the network lifetime when the number of frames is 25. Figure 5 shows the simulation result and Table 4 shows the network lifetime when the number of frames is 35.

Fig. 2
figure 2

Work fow in ES-MAC protocol

Table 1 Simulation parameters
Fig. 3
figure 3

Number of dead nodes vs number of rounds when number of frames is 15, desired percentage of cluster heads is 10%, and number of nodes is 100

Table 2 Network lifetime when number of frames is 15, desired percentage of cluster heads is 10%, and number of nodes is 100
Fig. 4
figure 4

number of dead nodes vs number of rounds when number of frames is 25, desired percentage of cluster heads is 10%, and number of nodes is 100

Table 3 Network lifetime when number of frames is 25, desired percentage of cluster heads is 10%, and number of nodes is 100
Fig. 5
figure 5

Number of dead nodes vs number of rounds when number of frames is 35, desired percentage of cluster heads is 10%, and number of nodes is 100

Table 4 Network lifetime when number of frames is 35, desired percentage of cluster heads is 10%, and number of nodes is 100

The second simulation is done by considering three different values for the desired percentage of CHs, that is 10%, 20%, and 30%. The number of nodes is kept constant at 100 and the number of frames is kept constant at 15 at all times. Figure 6 shows the simulation result and Table 5 shows the network lifetime when the desired percentage of CHs is 20%. Figure 7 shows the simulation result and Table 6 shows the network lifetime when the desired percentage of CHs is 30%.

Fig. 6
figure 6

Number of dead nodes vs number of rounds when number of frames is 15, desired percentage of cluster heads is 20%, and number of nodes is 100

Table 5 Network lifetime when number of frames is 15, desired percentage of cluster heads is 20%, and number of nodes is 100
Fig. 7
figure 7

Number of dead nodes vs number of rounds when number of frames is 15, desired percentage of cluster heads is 30%, and number of nodes is 100

Table 6 Network lifetime when number of frames is 15, desired percentage of cluster heads is 30%, and number of nodes is 100

The third simulation is done by considering three different values for the number of nodes, that is 100, 200, and 300. The number of frames is kept constant at 15 and the desired percentage of cluster heads is kept constant at 10% at all times. Figure 8 shows the simulation result and Table 7 shows the network lifetime when the number of nodes is 200. Figure 9 shows the simulation result and Table 8 shows the network lifetime when the number of nodes is 300.

Fig. 8
figure 8

Number of dead nodes vs number of rounds when number of frames is 15, desired percentage of cluster heads is 10%, and number of nodes is 200

Table 7 Network lifetime when number of frames is 15, desired percentage of cluster heads is 10%, and number of nodes is 200
Fig. 9
figure 9

Number of dead nodes vs number of rounds when number of frames is 15, desired percentage of cluster heads is 10%, and number of nodes is 300

Table 8 Network lifetime when number of frames is 15, desired percentage of cluster heads is 10%, and number of nodes is 300

From the simulation results obtained, it can be deduced that ES-MAC conserves more energy compared to BMA-MAC, BEE-MAC, and LDC-MAC in all the scenarios that were discussed. This paper also presents a comparative analysis of all the protocols in which energy consumption in a single frame is considered.

4.1 Energy consumption in BMA-MAC

The energy consumed by m source nodes in a session of BMA-MAC is denoted by \(E_{SN}\_{BMA}\) and is computed by using Eq. 1.

$$\begin{aligned} E_{SN_BMA}= m * (E_{TC} + E_{IS} + E_{RS} + E_{TD}) \end{aligned}$$
(1)

where \(E_{TC}\) is the energy consumed by a source node in transmitting the control packet, \(E_{IS}\) is the energy consumed by a source node in idle listening during the control period, \(E_{RS}\) is the energy consumed by a source node in receiving the schedule packet, and \(E_{TD}\) is the energy consumed by a source node in transmitting the data packet. The energy consumed by n non-source nodes in a session of BMA-MAC is denoted by \(E_{NS\_BMA}\) and is computed by using Eq. 2.

$$\begin{aligned} E_{NS\_BMA}= n * (E_{IN} + E_{RN}) \end{aligned}$$
(2)

where \(E_{IN}\) is the energy consumed by a non-source node in idle listening during the control period, and \(E_{RN}\) is the energy consumed by a non- source node in receiving the schedule packet. The energy consumed by the cluster head in a session of BMA-MAC is denoted by \(E_{CH\_BMA}\) and is computed by using Eq. 3.

$$\begin{aligned} E_{CH\_BMA}= E_{RC} + E_{IL} + E_{TS} + E_{RD} + E_{TB} \end{aligned}$$
(3)

where \(E_{RC}\) is the energy consumed by CH in receiving m control packets, \(E_{IL}\) is the energy consumed by CH in idle listening during control period, \(E_{TS}\) is the energy consumed by CH in transmitting the schedule packet, \(E_{RD}\) is the energy consumed by CH in receiving m data packets, and \(E_{TB}\) is the energy consumed by CH in transmitting the aggregate data packet to BS. The total energy consumed in the cluster during a session of BMA-MAC is denoted by \({E}_{{BMA}}\) and is computed by using Eq. 4.

$$\begin{aligned} E_{BMA}= E_{SN\_BMA} + E_{NS\_BMA} + E_{CH\_BMA} \end{aligned}$$
(4)

It can be seen in Eqs. 1, 2, and 3, that numerous packets are exchanged between a CH and its members in the time duration of a session. The source nodes and non-source nodes also lose energy in idle listening, as can be seen in their corresponding equations. All these factors lead to the conclusion that there is a lot of unnecessary energy consumption in BMA-MAC.

4.2 Energy consumption in LDC-MAC

The energy consumed by m source nodes in a frame of LDC-MAC is denoted by \(E_{SN\_LDC}\) and is computed by using Eq. 5.

$$\begin{aligned} E_{SN\_LDC}= m * (E_{TC} + E_{TD}) \end{aligned}$$
(5)

where \(E_{TC}\) is the energy consumed by a source node in transmitting the control packet, and \(E_{TD}\) is the energy consumed by a source node in transmitting the data packet. The energy consumed by n non-source nodes in a frame of LDC-MAC is negligible as the radios of non-source nodes are OFF for the complete duration of the frame. The energy consumed by the cluster head in a frame of LDC-MAC is denoted by \(E_{CH\_LDC}\) and is computed by using Eq. 6.

$$\begin{aligned} E_{CH\_LDC}= E_{RC} + E_{IL} + E_{RD} + E_{TB} \end{aligned}$$
(6)

where \(E_{RC}\) is the energy consumed by CH in receiving m control packets, \(E_{IL}\) is the energy consumed by CH in idle listening during control period, \(E_{RD}\) is the energy consumed by CH in receiving m data packets, and \(E_{TB}\) is the energy consumed by CH in transmitting the aggregate data packet to BS. The total energy consumed in the cluster during a frame of LDC-MAC is denoted by \({E}_{{LDC}}\) and is computed by using Eq. 7.

$$\begin{aligned} E_{LDC}= E_{SN\_LDC} + E_{CH\_LDC} \end{aligned}$$
(7)

It can be seen in Eqs. 5 and 6, that LDC-MAC reduces the energy consumption in cluster heads and source nodes. A source node does spend any time in idle listening during the control period. The energy required to send and receive the schedule packet is also saved. Moreover, non-source nodes consume negligible amount of energy as their radios are OFF for the complete duration of the frame. These factors lead to the conclusion that LDC-MAC is more energy-efficient than BMA-MAC.

4.3 Energy consumption in BEE-MAC

The energy consumed by m source nodes in a frame of BEE-MAC is denoted by \(E_{SN\_BEE}\) and is computed by using Eq. 8.

$$\begin{aligned} E_{SN\_BEE}= m * (E_{TC} + E_{CS} + E_{IS} + E_{TD}) \end{aligned}$$
(8)

where \(E_{TC}\) is the energy consumed by a source node in transmitting the control packet, \(E_{CS}\) is the energy consumed by a source node in receiving control packets from source nodes preceding it in the control period, \(E_{IS}\) is the energy consumed by a source node in idle listening during control period, and \(E_{TD}\) is the energy consumed by a source node in transmitting the data packet. The energy consumed by n non-source nodes in a frame of BEE-MAC is negligible as the radios of non-source nodes are OFF for the complete duration of the frame. The energy consumed by the cluster head in a frame of BEE-MAC is denoted by \(E_{CH\_BEE}\) and is computed by using Eq. 9.

$$\begin{aligned} E_{CH\_BEE}= E_{RC} + E_{IL} + E_{RD} + E_{TB} \end{aligned}$$
(9)

where \(E_{RC}\) is the energy consumed by CH in receiving m control packets, \(E_{IL}\) is the energy consumed by CH in idle listening during control period, \(E_{RD}\) is the energy consumed by CH in receiving m data packets, and \(E_{TB}\) is the energy consumed by CH in transmitting the aggregate data packet to BS. The total energy consumed in the cluster during a frame of BEE-MAC is denoted by \({E}_{{BEE}}\) and is computed by using Eq. 10.

$$\begin{aligned} E_{BEE}= E_{SN\_BEE} + E_{CH\_BEE} \end{aligned}$$
(10)

On analyzing Eqs. 8 and 9, it can be seen that BEE-MAC reduces the energy consumption in cluster heads and source nodes as compared to BMA-MAC. This is due to the fact that no energy is spent in BEE-MAC in sending or receiving schedule packets. Additionally, non-source nodes consume negligible amount of energy as their radios are OFF. It can be concluded from all these factors that BEE-MAC is more energy-efficient than BMA-MAC. However, when BEE-MAC is compared with LDC-MAC, the latter is found to save more energy in a frame. This is because a source node does not spend energy in idle listening or receiving control packets of other source nodes.

4.4 Energy consumption in ES-MAC

The energy consumed by m source nodes in a frame of ES-MAC is denoted by \(E_{SN\_ES}\) and is computed by using Eq. 11.

$$\begin{aligned} E_{SN\_ES}= m * (E_{TD}) \end{aligned}$$
(11)

where \(E_{TD}\) is the energy consumed by a source node in transmitting the data packet. The energy consumed by n non-source nodes in a frame of ES-MAC is negligible as the radios of non-source nodes are OFF for the complete duration of the frame. The energy consumed by the cluster head in a frame of ES-MAC is denoted by \(E_{CH\_ES}\) and is computed by using Eq. 12.

$$\begin{aligned} E_{CH\_ES}= E_{IL} + E_{RD} + E_{TB} \end{aligned}$$
(12)

where \(E_{IL}\) is the energy consumed by CH in idle listening during the verification period of n slots, \(E_{RD}\) is the energy consumed by CH in receiving m data packets, and \(E_{TB}\) is the energy consumed by CH in transmitting the aggregate data packet to BS. The total energy consumed in the cluster during a frame of ES-MAC is denoted by \({E}_{{ES}}\) and is computed by using Eq. 13.

$$\begin{aligned} E_{ES}= E_{SN\_ES} + E_{CH\_ES} \end{aligned}$$
(13)

It is evident from Eqs. 11 and 12, that ES-MAC saves more energy in a frame than BMA-MAC, BEE-MAC, and LDC-MAC. In ES-MAC, a source node only sends a data packet to its CH. Unlike the other three MAC protocols, the source node does not send any control packet to claim a data slot. Therefore, it saves a considerable amount of energy at the end of each round. A cluster head also saves a significant amount of energy as it does not receive any control packets, and is idle only for a very short duration in each unused slot.

4.5 Comparative analysis of protocols

Table 9 shows all the four protocols along with the major energy consuming tasks involving the radio. A tick mark (✓) shows that the concerned protocol loses energy in the task mentioned in that column. A cross mark (✗) shows that the concerned protocol does not lose energy in the task mentioned in that column.

Table 9 Comparative analysis of protocols

Here, E1 denotes that source nodes transmit control messages to their CHs. E2 denotes that source nodes receive control packets from other source nodes. E3 denotes that source nodes receive schedule packets from their CHs. E4 denotes that non-source nodes receive schedule packets from their CHs. E5 denotes that source nodes transmit data packets to their CHs. E6 denotes that CHs receive control packets from source nodes. E7 denotes that CHs broadcast schedule packets in their clusters. E8 denotes that CHs send data packets to the BS. Sensor nodes also lose some energy in transiting between sleep and active states. However, it is much less than the energy consumed in transmitting/receiving data/control packets.

The comparative analysis shows that BMA-MAC involves the most number of intra-cluster communications which is followed by BEE-MAC and LDC-MAC. On the other hand, ES-MAC involves the least number of intra-cluster communications. No control packets are exchanged in its steady state phase. The primary motive of any network is to collect data from sensor nodes and send it to the BS. ES-MAC involves very less communications in achieving this task. Hence, ES-MAC is able to reduce energy consumption in sensor nodes as compared to BMA-MAC, BEE-MAC, and LDC-MAC.

5 Conclusion

ES-MAC reduces the energy consumption in nodes by decreasing the number of communications between a cluster head and its member nodes. Each source node only sends a data packet in its allotted slot. Unlike, BMA-MAC, BEE-MAC, and LDC-MAC, a source node does not send any control packet to claim a data slot. The cluster head wakes up for a short duration in each slot to check for incoming data. If the cluster head does not hear anything during that period, it turns its radio OFF again until the beginning of the next slot. The simulation results show that ES-MAC increases the network lifetime as compared to BMA-MAC, BEE-MAC, and LDC-MAC.