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:
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).
The token is the shortest frame transmitted (24 bit)
MSB (Most Significant
Bit) is always transmitted first - as opposed to Ethernet
SD AC ED SD = Starting Delimiter (1 Octet)
AC = Access Control (1 Octet)
ED = Ending Delimiter (1 Octet)Starting Delimiter Format:
J K O J K O O O J = Code Violation
K = Code ViolationAccess Control Format:
P P P T M R R R 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 = Priority
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 = 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 K 1 J K 1 1 E
J = Code Violation
K = Code Violation
I = Intermediate Frame Bit
E = Error Detected Bit
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 StatusStarting Delimiter Format:
J K 0 J K 0 0 0 J = Code Violation
K = Code ViolationAccess Control Format:
P P P T M R R R 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 = Priority
Bits 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 = 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
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 itselfSource 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 K 1 J K 1 I E 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.