Carrier Sense Multiple Access (CSMA) is a probabilistic Media Access Control (MAC) protocol in which a node verifies the absence of other traffic before transmitting on a shared physical medium, such as an electrical bus, or a band of electromagnetic spectrum.
"Carrier Sense" describes the fact that a transmitter listens for a carrier wave before trying to send. That is, it tries to detect the presence of an encoded signal from another station before attempting to transmit. If a carrier is sensed, the station waits for the transmission in progress to finish before initiating its own transmission.
"Multiple Access" describes the fact that multiple stations send and receive on the medium. Transmissions by one node are generally received by all other stations using the medium.
When the sender (station) is ready to transmit data, it checks if the physical medium is busy. If so, it senses the medium continually until the it becomes idle, and then it transmits a piece of data (a frame). In case of a collision, the sender waits for a random period of time and attempts to transmit again.
This protocol is a generalization of 1-persistent CSMA. When the sender is ready to send data, it checks continually if the medium is busy. If the medium becomes idle, the sender transmits a frame with a probability p. In case the transmission did not happen (the probability of this event is 1-p) the sender waits until the next available time slot and transmits again with the same probability p. This process repeats until the frame is sent or some other sender starts transmitting. In the latter case the sender waits a random period of time, checks the channel, and if it is idle, transmits with a probability p, and so on.
When the sender is ready to send data, it checks if the medium is busy. If so, it waits for a random amount of time and checks again. When the medium becomes idle, the sender starts transmitting. If collision occurs, the sender waits for a random amount of time, and checks the medium, repeating the process.