A token ring network is a local area network (LAN) in which all computers are connected in a ring or star topology and pass one or more logical tokens from host to host. Only a host that holds a token can send data, and tokens are released when receipt of the data is confirmed. Token ring networks prevent data packets from colliding on a network segment because data can only be sent by a token holder and the number of tokens available is controlled.
The most broadly deployed token ring protocols were IBM’s, released in the mid-1980s, and the standardized version of it known as IEEE 802.5, which appeared in the late 1980s. The IEEE standard version provides for data transfer rates of 4, 16 or 100 Mbps.
Token ring was once widely used on LANs, but has been nearly entirely displaced by Ethernet thanks to pricing – token ring products tended to be more expensive than Ethernet at similar speeds – and thanks to the development of Ethernet switching and full-duplex links, which eliminated collisions as a practical concern in most situations.
Very briefly, here is how token ring works:
1. Systems in the LAN are arranged in a logical ring; each system receives data frames from its logical predecessor on the ring and sends them to its logical successor. The network may be an actual ring, with cabling connecting each node directly to its neighbors, but more often is a star, with the ring existing only logically in the wiring closet within the “multiaccess unit” to which all the hosts connect.
3. When a computer has a message to send, it waits for an empty frame. When it has one, it does the following:
a) Inserts a token indicating that it is sending data in the frame – this may be as simple as changing a zero to a one in the token section of the frame, although other schemes are possible, and is said to “hold the token” for that frame.
b) Inserts the data it wants to transmit into the payload section of the frame.
c) Sets a destination identifier on the frame.
4. When a computer receives a frame containing data (indicated by the token) it knows it cannot transmit data of its own and so it does the following:
a) If it is not the sender or the destination, it simply retransmits the frame, sending it to the next host in the ring.
b) If it is the destination for the message, it copies the message from the frame and clears the token to indicate receipt.
c) If it is the sender (and assuming the destination node has indicated receipt of the frame by clearing the token) it sees that the message has been received, removes the message payload from the frame (restoring it to “empty” status) and sends the empty frame around the ring.