Token passing

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

On a local area network, token passing is a channel access method where a packet called a token is passed between nodes to authorize that node to communicate.[1][2][3]

Channel access method

[edit | edit source]

In contrast to polling access methods, there is no pre-defined "master" node.[4] The most well-known examples are IBM Token Ring and ARCNET, but there were a range of others, including FDDI (Fiber Distributed Data Interface), which was popular in the early to mid 1990s.

Token passing schemes degrade deterministically under load, which is a key reason why they were popular for industrial control LANs such as Manufacturing Automation Protocol (MAP).[5] The advantage over contention based channel access (such as the CSMA/CD of early Ethernet), is that collisions are eliminated, and that the channel bandwidth can be fully utilized without idle time when demand is heavy.[6] The disadvantage is that even when demand is light, a station wishing to transmit must wait for the token, increasing latency.

Some types of token passing schemes do not need to explicitly send a token between systems because the process of "passing the token" is implicit. An example is the channel access method used during "Contention Free Time Slots" in the ITU-T G.hn standard for high-speed local area networking using existing home wires (power lines, phone lines and coaxial cable).[citation needed]

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).