Let’s first develop a simple abstraction for the shared medium and more rigorously model the problem we’re trying to solve
We are given a set of N nodes sharing a communication medium. We will assume N is fixed, but the protocols we develop will either continue to work when N varies, or can be made to work with some more effort. Depending on the context, the N nodes may or may not be able to hear each other; in some cases, they may not be able to at all, in some cases, they may, with some probability, and in some cases, they will always hear each other. Each node has some source of data that produces packets. Each packet may be destined for some other node in the network. For now, we will assume that every node has packets destined to one given “master” node in the network. Of course, the master must be capable of hearing every other node, and receiving packets from those nodes. We will assume that the master perfectly receives packets from each node as long as there are no “collisions” (we explain what a “collision” is below).
The model we consider has the following rules:
Time is divided into slots of equal length, τ.
Each node can send a packet only at the…show more content… If two or more nodes send a packet in the same time slot, they are said to collide, and none of the packets are received successfully. Note that even if only part of a packet encounters a collision, the entire packet is assumed to be lost. This “perfect collision” assumption is an accurate model for wired shared media like Ethernet, but is only a crude approximation of wireless (radio) communication. The reason is that it might be possible for multiple nodes to concurrently transmit data over radio, and depending on the positions of the receivers and the techniques used to decode packets, for the concurrent transmissions to be received