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
- 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.
- Transmit Mode: In this mode the node just discards the any data and puts the data onto the network.
- 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-
- The source itself removes the packet after one full round in the ring.
- 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.
- 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
SD = Starting Delimiter (1 Octet)
AC = Access Control (1 Octet)
ED = Ending Delimiter (1 Octet)
Starting Delimiter Format:
J = Code Violation
K = Code Violation
Access Control Format:
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:
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
SD | AC | FC | DA | SA | DATA | CRC | ED | FS |
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:
J = Code Violation
K = Code Violation
Access Control Format:
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:
F | F | CONTROL 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 NUMBER | T/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:
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.
Image References:
- http://www.webopedia.com/FIG/RING.gif
- http://www.datacottage.com/nch/anigifs/trhubani.gif
0 comments:
Post a Comment