key feature of SMAC:
SMAC is a medium-access control (MAC) protocol designed for wireless sensor networks.
• Synchronizes sensor clusters
• Nodes periodically wake-up to receive synchronization info from its neighbors.
i) Mitigates need for system wide synchronization. ii) Nodes can belong to more than one virtual cluster.
• Communicate using RTS-CTS
• Can use adaptive listening
• Neighbor briefly wakes up at the end of overheard RTS, CTS
• Reduces one-hop latency
Use in sensor network:
The main goal of SMAC protocol is to reduce energy consumption while supporting good scalability and collision avoidance. In designing SMAC protocol the following are assumption about sensor networks and applications:
i. Sensor network composed of many small nodes deployed in an Ad Hoc fashion. They take the advantage of physical proximity to simplify signal processing.
• Most communication will be between nodes as peers rather than one base station.
• The sensor nodes must be self-configured.
• The sensor network is dedicated to a single application or a few collaborative applications. The focus will be on maximizing system-wide application performance.
ii. The single packet delay will be a secondary goal. The sensor network has the ability of in-network processing. Data aggregation can reduce the traffic in the network.
iii. The intended application can tolerate some latency. The monitored object has long idle periods. This protocol tries to reduce energy consumption due to overhearing, idle listening and collision.
iv. In this protocol also every node has two states, sleep state and active state. A node can receive and transmit data during its listen period.
v. SMAC is a protocol designed for wireless sensor networks that supports energy conservation of nodes and self-configuration, and its variations such as Timeout-MAC (T-MAC), DMAC, Traffic-Adaptive Medium Access (TRAMA).
vi. In SMAC protocol all nodes go to a sleep mode periodically. If a node wants to communicate with its neighbor, it must contend with other neighbors of the destination node for the communication medium.
vii. The transmitting node waits for the destination node to wake up, and sends Request to Send (RTS) packet. If the packet is received successfully, node wins the medium, and receives Clear to Send (CTS) packet.
viii. Each node maintains a sleep schedule for its neighbors through synchronization process, carried out by periodically sending a synchronization packet. The duty cycle of sleep schedule is fixed.
ix. In SMAC, all nodes are free to choose their own listen and sleep schedules. To reduce control overhead, however, neighboring nodes coordinate their sleep schedules and try to adopt the same schedules to listen and sleep; rather than randomly sleep on their own.
x. To establish coordinated or synchronized sleep schedules, each node exchanges its schedule with other nodes by periodically broadcasting a SYNC packet to all its immediate neighbors and maintains a schedule table that stores the schedules of all its known neighbors for listening and sleeping. Figure1 below shows Periodic listen and sleep in SMAC.
In order for a node to receive both SYNC packets and data packets, its listen period is divided into two parts.
The first part is for receiving SYNC packets and the second is for receiving RTS packets. Each part is further divided into many timeslots for senders to perform carrier sensing.
i. For example, if a sender has a SYNC packet to send, it starts carrier sensing when the receiver begins listening and randomly selects a timeslot to perform carrier sensing. If it has not detected any transmission by the end of the timeslot, it wins the medium and then starts to send its SYNC packet immediately.
ii. Figure2 below illustrates the timing relation-ship between a sender and a receiver in different possible situations, where sender 1 only sends a SYNC packet, sender 2 only sends a unicast data packet, and sender 3 sends both a SYNC packet and a data packet.