An important issue in the design of a network is the network topology. A popular network topology is the bus topology. Under this topology, the communicating devices are connected to a common bus, and packets contain addresses of the receiving devices. Thus, while a packet is available to all devices, only the addressed device actually receives it.
Since all devices share a common bus, we need a protocol to ensure that devices to do not corrupt packets by simultaneously transmitting them on the bus. One such protocol is the CSMA/CD (Carrier Sense Multiple Access with Collision Detection) protocol. Under this protocol, a sending device listens to the bus to detect another concurrent transmission. In case of collision, it sends a jamming signal to all other devices asking them to ignore the packet and backs off for a random period of time before trying again. The backoff period increases exponentially with each successive unsuccessful attempt at sending a message.
An alternative access protocol is the token ring protocol, which prevents rather than cures collisions. It arranges the devices in a logical ring and allows a unique token to be passed along this ring from device to device. Only the token holder is allowed to send messages. Token passing is implemented as a special control packet.
One can also arrange the devices physically in a token ring topology, which supports point-to-point transmission rather than broadcast of messages. At each point, a device either consumes the packet or forwards it to the next point.
This topology can, of course, use the token ring protocol for controlling access. This protocol is implemented under this topology by continuously keeping a physical token in circulation, which may be free or busy. A sending device marks a free token as busy before sending the message and marks it as free the next time it arrives at that site after the transmission is completed.
It can also use the slotted ring protocol,
which circulates, instead of a single token, a number of
fixed length slots,
which may be busy or free.
A sending device waits for a slot marked free,
sends the message in it,
and marks it as busy.
To ensure than one device does not hog the network,
a device can use only one slot at a time.