Monday, August 18, 2014

IEEE 802.5: Token Ring Network


  • Token Ring is formed by the nodes connected in ring format as shown in the diagram below. The principle used in the token ring network is that a token is circulating in the ring and whichever node grabs that token will have right to transmit the data.
  • Whenever a station wants to transmit a frame it inverts a single bit of the 3-byte token which instantaneously changes it into a normal data packet. Because there is only one token, there can atmost be one transmission at a time.
  • Since the token rotates in the ring it is guarenteed that every node gets the token with in some specified time. So there is an upper bound on the time of waiting to grab the token so that starvation is avoided.
  • There is also an upper limit of 250 on the number of nodes in the network.
  • To distinguish the normal data packets from token (control packet) a special sequence is assigned to the token packet. When any node gets the token it first sends the data it wants to send, then recirculates the token.

If a node transmits the token and nobody wants to send the data the token comes back to the sender. If the first bit of the token reaches the sender before the transmission of the last bit, then error situation araises. So to avoid this we should have:

propogation delay + transmission of n-bits (1-bit delay in each node ) > transmission of the token time

A station may hold the token for the token-holding time. which is 10 ms unless the installation sets a different value. If there is enough time left after the first frame has been transmitted to send more frames, then these frames may be sent as well. After all pending frames have been transmitted or the transmission frame would exceed the token-holding time, the station regenerates the 3-byte token frame and puts it back on the ring.

Modes of Operation

  1. Listen Mode: In this mode the node listens to the data and transmits the data to the next node. In this mode there is a one-bit delay associated with the transmission.
  2. Transmit Mode: In this mode the node just discards the any data and puts the data onto the network.
  3. By-pass Mode: In this mode reached when the node is down. Any data is just bypassed. There is no one-bit delay in this mode.

Token Ring Using Ring Concentrator



One problem with a ring network is that if the cable breaks somewhere, the ring dies. This problem is elegantly addressed by using a ring concentrator. A Token Ring concentrator simply changes the topology from a physical ring to a star wired ring. But the network still remains a ring logically. Physically, each station is connected to the ring concentrator (wire center) by a cable containing at least two twisted pairs, one for data to the station and one for data from the station. The Token still circulates around the network and is still controlled in the same manner, however, using a hub or a switch greatly improves reliability because the hub can automatically bypass any ports that are disconnected or have a cabling fault. This is done by having bypass relays inside the concentrator that are energized by current from the stations. If the ring breaks or station goes down, loss of the drive current will release the relay and bypass the station. The ring can then continue operation with the bad segment bypassed.

Who should remove the packet from the ring ?

There are 3 possibilities-

  1. The source itself removes the packet after one full round in the ring.
  2. The destination removes it after accepting it: This has two potential problems. Firstly, the solution won't work for broadcast or multicast, and secondly, there would be no way to acknowledge the sender about the receipt of the packet.
  3. Have a specialized node only to discard packets: This is a bad solution as the specialized node would know that the packet has been received by the destination only when it receives the packet the second time and by that time the packet may have actually made about one and half (or almost two in the worst case) rounds in the ring.
Thus the first solution is adopted with the source itself removing the packet from the ring after a full one round. With this scheme, broadcasting and multicasting can be handled as well as the destination can acknowledge the source about the receipt of the packet (or can tell the source about some error).

Token Format

The token is the shortest frame transmitted (24 bit)
MSB (Most Significant Bit) is always transmitted first - as opposed to Ethernet
SDACED
SD = Starting Delimiter (1 Octet)
AC = Access Control (1 Octet)
ED = Ending Delimiter (1 Octet)

Starting Delimiter Format:

JKOJKOOO
J = Code Violation
K = Code Violation

Access Control Format:

PPPTMRRR
T=Token
T = 0  for Token
T = 1  for Frame
When a station with a Frame to transmit detects a token which has a priority equal to or less than the Frame to be transmitted, it may change the token to a start-of-frame sequence and transmit the Frame

P = PriorityPriority Bits indicate tokens priority, and therefore, which stations are allowed to use it. Station can transmit if its priority as at least as high as that of the token.

M = Monitor The monitor bit is used to prevent a token whose priority is greater than 0 or any frame from continuously circulating on the ring. If an active monitor detects a frame or a high priority token with the monitor bit equal to 1, the frame or token is aborted. This bit shall be transmitted as 0 in all frame and tokens. The active monitor inspects and modifies this bit. All other stations shall repeat this bit as received.
R = Reserved bits The reserved bits allow station with high priority Frames to request that the next token be issued at the requested priority.

Ending Delimiter Format:

JK1JK11E

J = Code Violation
K = Code Violation
I = Intermediate Frame Bit
E = Error Detected Bit

Frame Format:

MSB (Most Significant Bit) is always transmitted first - as opposed to Ethernet
SDACFCDASADATACRCEDFS
SD=Starting Delimiter(1 octet)
AC=Access Control(1 octet)
FC = Frame Control (1 Octet)
DA = Destination Address (2 or 6 Octets)
SA = Source Address (2 or 6 Octets)
DATA = Information 0 or more octets up to 4027
CRC = Checksum(4 Octets)
ED = Ending Delimiter (1 Octet)
FS=Frame Status

Starting Delimiter Format:

JK0JK000
J = Code Violation
K = Code Violation

Access Control Format:

PPPTMRRR
T=Token
T = “0” for Token,
T = “1” for Frame.
When a station with a Frame to transmit detects a token which has a priority equal to or less than the Frame to be transmitted, it may change the token to a start-of-frame sequence and transmit the Frame.
P = PriorityBits Priority Bits indicate tokens priority, and therefore, which stations are allowed to use it. Station can transmit if its priority as at least as high as that of the token.
M = MonitorThe monitor bit is used to prevent a token whose priority is greater than 0 or any frame from continuously circulating on the ring. if an active monitor detects a frame or a high priority token with the monitor bit equal to 1, the frame or token is aborted. This bit shall be transmitted as 0 in all frame and tokens. The active monitor inspects and modifies this bit. All other stations shall repeat this bit as received.
R = Reserved bits the reserved bits allow station with high priority Frames to request that the next token be issued at the requested priority

Frame Control Format:

FFCONTROL BITS (6 BITS)
FF= Type of Packet-Regular data packet or MAC layer packet
Control Bits= Used if the packet is for MAC layer protocol itself

Source and Destination Address Format:

The addresses can be of 2 bytes (local address) or 6 bytes (global address).
local address format:
I/G (1 BIT)NODE ADDRESS (15 BITS)
alternatively
I/G (1 BIT)RING ADDRESS (7 BITS)NODE ADDRESS (8 BITS)
The first bit specifies individual or group address.
universal (global) address format:
I/G (1 BIT)L/U (1 BIT)RING ADDRESS (14 BITS)NODE ADDRESS (32 BITS)
The first bit specifies individual or group address.
The second bit specifies local or global (universal) address.
local group addresses (16 bits):
I/G (1 BIT)T/B(1 BIT)GROUP ADDRESS (14 BITS)
The first bit specifies an individual or group address.
The second bit specifies traditional or bit signature group address.
Traditional Group Address: 2Exp14 groups can be defined.
Bit Signature Group Address: 14 grtoups are defined. A host can be a member of none or any number of them. For multicasting, those group bits are set to which the packet should go. For broadcasting, all 14 bits are set. A host receives a packet only if it is a member of a group whose corresponding bit is set to 1.
universal group addresses (16 bits):
I/G (1 BIT)RING NUMBERT/B (1 BIT)GROUP ADDRESS (14 BITS)
The description is similar to as above.

Data Format:

No upper limit on amount of data as such, but it is limited by the token holding time.

Checksum:

The source computes and sets this value. Destination too calculates this value. If the two are different, it indicates an error, otherwise the data may be correct.

Frame Status:

It contains the A and C bits.
A bit set to 1: destination recognized the packet.
C bit set to 1: destination accepted the packet.

This arrangement provides an automatic acknowledgement for each frame. The A and C bits are present twice in the Frame Status to increase reliability in as much as they are not covered by the checksum.

Ending Delimiter Format:

JK1JK1IE
J = Code Violation
K = Code Violation
I = Intermediate Frame Bit
If this bit is set to 1, it indicates that this packet is an intermediate part of a bigger packet, the last packet would have this bit set to 0.
E = Error Detected Bit
This bit is set if any interface detects an error.
This concludes our description of the token ring frame format.

No comments:

Post a Comment