Token Ring Brief

Written By: dhegge@uswest.net

Transformed to HTML by: tige@teleport.com


Token Ring Brief

INDEX

Ring Attachment Process
Token Passing Protocol and Token Claiming
Early Token Release
Initiating Token Claiming Process
Standby Monitor
Token Claiming
Active Monitor
Neighbor Notification
Access Priority
Token Ring Addressing
Individual and Group Addressing
Universal and Locally Administered Addresses
Null Address
All Station Broadcast Addresses
Functional Addresses
Token Ring Error Types

RING ATTACHMENT PROCESS

Attachment of a station to the ring occurs in a five phase insertion process. This process executes each time that a station attaches to a token-ring network.

Phase 0: Lobe Testing --- The station sends multiple Lobe_Media_Test MAC frames on the lobe wire to the Trunk Coupling Unit (TCU) (The IBM designation for this is Multistation Access Unit (MAU)) or similar device. The TCU wraps the frames back to the sending station. The station's receive logic is tested. A successful test cause a phantom current of 5 volts DC to be sent to open the relay in the TCU creating a closed circuit between the stations adapter and the TCU. The explanation is a bit dated since now days most of the switching in and out of the ring is performed electronically and not electro-mechanical such as a relay. Never the less the process hold true.

Phase 1: Monitor Check --- The now attached station starts its insert timer looking for Active_Monitor_Present, Standby_Monitor_Present, or Ring_Purge MAC frames before expiration of the insert timer. Expiration of the timer will initia te the token claiming process. If this is the first active station on the ring it will become the active monitor.

Phase 2: Duplicate Address Check --- The station sends a Duplicate_Address Test MAC frame where the destination address and the source address are set equal to the stations address. If a duplicate address is found the address-recognized bit will be set to '1'. Upon receiving the Duplicate_Address test MAC frame the station inspects the address-recognized bit. If it is set to '1' the station will then detach from the ring. In other words all addresses within a given ring must be unique however, addresses which span multiple rings within a inter-network do not have to be unique. For ease of troubleshooting however it is highly recommended that all MAC addresses within a network be unique.

Phase 3: Participation In Neighbor Notification --- The station participates in learning its Next Addressable Upstream Neighbor (NAUN) address and sends its own address to the next active downstream neighbor.

Phase 4: Request Initialization --- This is the final phase of attachment to a ring. The bridging program on the ring may have a ring parameter server (RPS) function. During this phase the station issues a Request_Init MAC frame to the RPS. If an RPS is not present then default values are used. The Request_Init MAC frame may contain registration information for the LAN manager. This information may be the address of the ring station's NAUN, the product identifier for this station and th e ring station's micro-code level. If an RPS is present it responds with a Init_Ring_Station MAC frame response. The information in this frame is used by the ring station to set physical location, soft error report timer, ring number and ring authorization level valu es. The last three values ensure that all station to the ring will have the same values.

Once all of the above phases have been completed you will be physically inserted into the ring and logically participating with the network. Therefore your workstation can effect the performance of the entire ring. It is essential to know who and whe re each station is inserted.

TOKEN PASSING PROTOCOL AND TOKEN CLAIMING

Token passing ring LAN protocols define the length of a token to be 24-Bits and the shortest possible MAC frame to be 200-Bits in length. The transmission of data on a token-ring network is accomplished by a station capturing the token. The station sets the token bit in the access control field to indicate that the data is a frame and not a free token. The header of this frame is updated with destination and source MAC addresses, data, a new frame check sequence value and the end delimiter and frame status field.

As the frame makes its way around the ring each station will receive the frame, inspect the frame for its station address in the destination field and perform Cyclic Redundancy Checking (CRC). If the stations address is not in the destination field t he station retransmits the frame. Stations that receive frames perform CRC checking and then retransmit the frame are in normal repeat mode. Stations operating in normal repeat mode perform data checking on the tokens and frames they receive. Each st ation will set the error-detected bit in the end delimiter and the address recognized and frame copied bits in the frame status field accordingly. The destination station copies the information field from the frame, processes the end delimiter and fr ame status field to denote that the frames address was recognized and that the frame was copied before sending the frame back out onto the ring to the source station.

Once the source station receives the frame it removes the frame from the ring. The source station checks the frame with CRC checking and the interrogates the address recognized and frame copied bits of the frame status field for verification of succe ssful delivery of the frame to the destination station. After receiving the frame header the source station releases a new free token on to the network for another station to capture for data transmission. This process of capturing and releasing a token is call single token protocols since only one token can exist on the ring at any give time.

EARLY TOKEN RELEASE

The release of a free token by the source station after receiving a returned frame header underutilizes the higher speed mediums. On a typical 4Mbps token-ring the length of 1-Bit has been determined to be approximately 50 meters, a 24-Bit token is approximately 1,200 meters and a 200-Bit MAC frame is measured at 10,000 meters. Therefore, on a 4Mbps token-ring high bandwidth utilization is maintained at high traffic levels. At 16Mbps, however, 1-Bit is measured at 12.5 meters, a token at 300 meters and the 200-Bit MAC frame at 2,500 meters. The concept of early token release was implemented to provide better utilization of the 16Mbps token ring.

Early token release allows the source station to release a free token after transmitting the information frame but before the receipt of the transmitted header. After releasing the free token, an adapter indicator is set to stop the adapter from releasing a second free token after receiving the returned transmission header. The implementation of early token release allows multiple information frames to circulate on the network while still only using one token. Each station on a 16Mbps token-ring network can be optioned to use early token release but it is snot required on all stations. The early token release option is implemented by default on a 16Mbps token ring network.

INITIATING TOKEN CLAIMING PROCESS

A token claiming process is the method used in determining the active monitor on the LAN. This process is also called the monitor contention process. Token claiming begins under several different conditions. A loss of signal, expiration of the Receive_Notification Timer or the expiration of the Ring_Purge_Timer, all detected by the current Active Monitor, will initiate the token claiming process.

The expiration of the Recceive_Notification Timer occurs when the Active Monitor does not receive the Active_Monitor_Present MAC frame it just transmitted in the Receive_Notification Timer time limit. The Ring_Purge_Timer expiration occurs when the Active Monitor does not completely receive Ring_Purge MAC frames it just transmitted specified in the time limit specified by the Ring_Purge Timer.

STANDBY MONITOR

Any ring station that is not acting as the Active Monitor is a Standby Monitor. The Standby Monitor will initiate the token claiming process when its Good_Token Timer expires. This timer is started each time a token or frame is repeated by this station. If a token or frame is not received again over the course of the Good_Token Timer value, then the Standby Monitor will begin the token claiming process. The expiration of the Receive_Notification Timer indicates that the Standby Monitor has not received an Active_Monitor_Present MAC frame during the length of this timer. Again the Standby Monitor will begin the token claiming process.

A third factor in determining the initiation of the token claiming process occurs when a ring station attaches to the ring. The attaching ring station will start token claiming when it does not detect an Active Monitor. This occurs when the station enters the ring with one of the above conditions true and when the station is the first station on the ring.

To summarize token claiming will begin under the following conditions.

1.) Loss of signal

2.) Timer constraints (Active_Monitor_Present, Good_Token Ring_ Purge etc.)

3.) Absence of Active Monitor frames when station attaches, or first ring station.

4.) A station receives its becon back and begins ring recovery.

TOKEN CLAIMING

Ring stations detecting one of the conditions above enter into claim token transmit mode by broadcasting a Claim_Token MAC frame and repeating it at a specific time interval. All ring stations can be optioned to participate in the token claiming process. The station must initiate the token claiming process if it detects one of the conditions above. Each ring station participating in the token claiming process analyzes the source address field of the Claim_Token MAC frame for its own address. If the source address is greater than the ring station's address it enters claim token repeat mode. If the source address is less than the ring stations's address it transmits its own Claim_Token MAC frames. If the source address matches the rings station's address it broadcasts the Claim_Token MAC frame until one to three (inclusive) of these frames have been received by the ring station. Each card has a vendor specified number (n1) that determines the number of Claim Tokens that station must receive. This indicates to the ring station that the ring is sound and that it has won the token claiming process. The ring station then completes the process by adding the token delay to the ring, purges the ring, starts its Active Monitors and issues a new token. At this point the ring station has become the new Active Monitor. Another way of looking at this process is the ring station with the highest MAC address will ultimately become the Active Monitor if it participates in the token claiming process.

ACTIVE MONITOR

The Active Monitor performs detection and recovery functions for each LAN segment on a token-ring network. Only one station per LAN segment can perform the functions of the Active Monitor. All other stations function as Standby Monitors.

The Active Monitor sets the monitor bit of the access control field to a '1' as it repeats the frame. If this bit was already set to a '1' it is assumed the frame or token has circled the ring once. The Active Monitor removes the frame, purges the ring and issues a new free token. The Active Monitor delays the issue of the token by a 24-Bit ring delay to ensure that a token can circle the ring before returning to the originating station.

The active monitor keeps a Good_Token Timer. This timer time-out value is greater than the time it takes for the longest frame to circle the ring. Expiration of this timer indicates that a token or frame has been lost. The timer is started every time the Active Monitor transmits a start delimiter.

At specified times the Active Monitor broadcasts the Active_Monitor_Present MAC frame. The receipt of this frame by ring stations forces them to initiate timers and obtain their Nearest Active Upstream Neighbor (NAUN) address. For every Active_Monitor_Present MAC frame which is sourced onto the network each and every Standby Monitor will respond with its NAUN address.

NEIGHBOR NOTIFICATION

Neighbor Notification is started by the expiration of Timer Active Monitor (TAM), which has a value of 6.8 - 7.0 seconds. It occurs at ever expiration of this timer. The first step in Neighbor Notification is to reset the timer.

The Active_Monitor_Present MAC frame is transmitted to the first ring station downstream from the Active Monitor. This first ring station begins the neighbor notification process by recognizing the Active_Monitor_Present MAC frame and sets the address recognized bit and the frame copied bit of the frame status field to a '1'. The first ring station then saves the source address of the copied frame as its NAUN address. In this case the address is that of the Active Monitor. This station then starts the Notification_Response Timer and transmits the frame.

Ring stations active on the ring repeat the Active_Monitor_Present MAC frame but do not process it since the address recognized bit and the frame copied bit of the frame status field have all ready been set. Keep in mind that this frame has a token ring broadcast address and therefore would normally be processed by every ring station. This is a special case.

The Notification_Response Timer of the first active station downstream to the current Active Monitor expires during the passing of the Active_Monitor_Present MAC frame along the ring. This expiration initiates the transmission of the Standby_Monitor_Present MAC frame to its next active downstream ring station. The ring station downstream from the Standby Monitor then copies the source address of the Standby_Monitor_Present MAC frame into its NAUN address, sets the address recognized and frame copied bits of the access control field to '1' and starts its own Notification_Response Timer. At the expiration of this timer the ring station transmits a Standby_Monitor_Present MAC frame to its active downstream station.

The Standby Monitor Present process is repeated around the ring until the Active Monitor copies the source address field from a Standby_Monitor_Present MAC frame as its NAUN address. The active monitor sets the Neighbor_Nofification complete flag to a '1' signifying that the neighbor notification process is complete.

The neighbor notification process as demonstrated enables ring stations on a token-ring network to learn its NAUN address and to give its address to its active downstream neighbor.

ACCESS PRIORITY

Access priority of a token or frame is determined by the values of the first three bits of the access control field. The figure below lists the access priorities currently available on the IBM token-ring network. A station that requires a higher priority will st the last three reservation bits on the access control field. Ring stations select a priority and can transmit a token or frame at that priority if the available token priority is less than or equal to the priority assigned to the frame to be transmitted.


                                                      DESCRIPTION               
PRIORITY                                                         
B'000'                                  Normal User Priority                    
B'001'                                  Normal User Priority                    
B'010'                                  Normal User Priority                    
B'011'                                  Normal User priority                    
B'100'                                  Bridge/Router                           
B'101'                                  Reserved IBM                            
B'110'                                  Reserved IBM                            
B'111'                                  Station Management                      

Access priority bit settings for the IBM token-ring network topology.

A ring station can reserve a priority to transmit frame by setting the reservation bits of the access control field in a passing frame or token. If the reservation bits have a value larger than what is requested then the bits remain unchanged and the station waits for the next token or frame. However, if the reservation bit values are lower than what is being requested, then the station sets the reservation bits to the required priority.

Interrogation of these bits by the originating ring station determines if the rings station will release a token with a higher priority than the frame it just transmitted. If the reservation bits are non-zero the ring station must release a token of non-zero bits. Ring stations originating a token of higher priority are said to be in a priority hold state. In other words workstation wishing to obtain the token with a lower priority reservation or no reservation will have to wait or hold.

TOKEN RING ADDRESSING

Communications between any two stations on a token-ring is established using an address mechanism. Each station or a group of stations is assigned a unique address in the MAC sublayer of the Data Link Layer of the OSI and the Data Link Control of SNA. These unique addresses enable the attachment of any ring station to the IBM token-ring network.

INDIVIDUAL AND GROUP ADDRESSING

Ring stations are identified by a unique individual ring station address. A group address identifies a group of ring stations that will acknowledge the group address found in the MAC destination address field.

Each six byte address field must be unique within the LAN segment. Ring station addresses can be duplicated on different LAN segments. This is normally not a good idea however, unless it is being done for redundancy purposes in this case of dual TIC attachment to a 3745 for example.

UNIVERSAL AND LOCALLY ADMINISTERED ADDRESSES

The universal address is assigned by IEEE. This address is found on all token ring adapter cards. The address is unique for each token ring adapter manufacturer. The IBM assigned address for example is 10005A and Intel's is 005500. This address is concatenated with a unique sequence number for each manufacturer to create the entire six byte address for example Intel 005500XXXXXX where the X's represent the sequence number.

The universal address can be over-ridden by a Locally Administered Address (LAA). By definition LAA's must have the second bit of byte 0 set to a '1' to signify the existence of an LAA. Therefore most addresses will start with a hex 4 or a C. For example the address of a 3745 using an LAA may be 400037451088. There are numerous published LAA addressing schemes which can be adopted or one can be created from scratch however, try to make the address contain some intelligence for example medadata or data about data.

NULL ADDRESS

In a token-ring network address scheme a special individual destination address can be sent with a value of 0x000000000000. This address is known as a Null address. Frames carrying a Null address are not addressed to any station on the LAN. Station can send a null address but not receive a frame with a null address. When the sending station recognized the null address frame the station strips the frame of its data and issues a new token.

ALL STATION BROADCAST ADDRESSES

An all-stations broadcast address is received by all stations on a given ring or an entire network. The destination address values for all stations broadcast address is 0xFFFFFFFFFFFF and 0xC000FFFFFFFF. All stations on the ring must be able to receive at least 0xC000FFFFFFFF. The latter address is often referred to as the Token Ring broadcast address. Both addresses function the same when they are on a given ring or network. The main differences come into play when internetworking is employed at the site. For example a Source Routing bridge will not forward either frame simply based on MAC address it must have an All Routes Broadcast (ARB) or Single Routes Broadcast (SRB) set within the MAC frame in order to be forwarded. However a transparent bridge will forward the All F's broadcast to all segments by definition. The transparent bridge will not automatically forwarded to all segments the Token Ring address. Therefore when understanding the impact of broadcasts the entire network must be taken into consideration. This is a very powerful capability when implemented correctly. For example when a Novell NetWare server sends out a SAP broadcast to all F's it will be broadcast to all topologies via the appropriate method and thus have the desired effect of traversing the entire network.

FUNCTIONAL ADDRESSES

The token ring architecture calls of bit specific functional addresses. There are currently 14 functional areas of the token ring network architecture that have been assigned specific functional addresses. Ring stations use these functional addresses as a mask to identify these functions. These functions are defined at the access protocol level. There are a total of 31 Possible functional addresses The table below contains a list of the 14 functional addresses that have been assigned.


              DESCRIPTION                         FUNCTIONAL ADDRESS            
Active Monitor                          0xC0-00-00-00-00-01                     
Ring Parameter Server                   0xC0-00-00-00-00-02                     
Network Server Heartbeat                0xC0-00-00-00-00-04                     
Ring Error Monitor                      0xC0-00-00-00-00-08                     
Configuration Report Server             0xC0-00-00-00-00-10                     
Synchronous Bandwidth Manager           0xC0-00-00-00-00-20                     
Locate Directory Server                 0xC0-00-00-00-00-40                     
NetBIOS                                 0xC0-00-00-00-00-80                     
Bridge                                  0xC0-00-00-00-01-00                     
IMPL Server                             0xC0-00-00-00-02-00                     
Ring Authorization Server               0xC0-00-00-00-04-00                     
LAN Gateway                             0xC0-00-00-00-08-00                     
Ring Wiring Concentrator                0xC0-00-00-00-10-00                     
LAN Manager                             0xC0-00-00-00-20-00                     

IEEE and IBM Functional Addresses.

TOKEN RING ERROR TYPES

Frame Copied Error. A frame copied error occurs when a station recognizes a frame addressed to its specific address, but finds the Address Recognized Indicator (ARI) has been set. A frame copied error is considered a non-isolating error that could have been caused by any station on the ring. That is, the error cannot be isolated to a specific area (station) on the ring. Possible causes of this error may be due to a glitch on the ring (line hit) or a duplicate address on the ring. The latter is highly unlikely however.

ARI/FCI Error. An Address Copied Indicator/Frame Copied Indicator (ARI/FCI) error occurs when a station receives a second Active Monitor Present (AMP) or Standby Monitor Present (SMP) MAC frame with the ARI/FCI bits set to zero (0) without first receiving an intervening AMP MAC frame. An ARI/FCI error is considered an isolating error caused by a transmitting station on the ring or ring components (cabling, wiring concentrators, etc.). ARI/FCI errors are counted by the detecting station only and indicate that the upstream station is unable to set its ARI/FCI bits in a frame that it copied.

Lost Frame. A lost frame error occurs after a station has transmitted the physical frame trailer and, while stripping ring data, does not detect the Ending Delimiter Field (ED) or a 4.1 millisecond period of time expires. This error causes the Active Monitor to detect a lost token and to perform a ring purge to restore normal token protocol operation. Non-Isolating error.

Receiver Congestion. A receive congestion error occurs when a station in the repeat mode sees a frame for its address, but has no available buffer space in which to copy the frame. A receiver congestion error is considered a non-isolating error that could have been caused by any station on the ring. However the station with the congestion problem will send a Report Error frame to the Ring Error Monitor 0xC0-00-00-00-00-08. Possible cause of receiver congestion errors are not enough or bad buffer space in the receiving station's adapter, heaver traffic to the station etc.

Token Error. A token error occurs when the Active Monitor detects an error with the token protocol such as a token with a nonzero priority and monitor count bit of one (1), a frame and monitor found bit of one (1), no token or frame received with 10 milliseconds or the starting delimiter/token sequence has a code violation. A token error is considered a non-isolating error as well. The Active Monitor will restore the ring through the ring purge process.

Line Error. A line error occurs when the Error Detected Indicator (EDI) is set to zero (0) in an incoming frame, a code violation occurs between the Starting Delimiter and Ending Delimiter of a frame, a code violation occurs in a token or an FCS error exists. A line error is considered an isolating error caused by a transmitting or receiving station on the ring or ring components.

Burst Error. Burst errors are noticed each time that a station inserts into a ring and are quite common. An unusually high number of Burst errors, however, may signify a problem. Burst errors are reported to the Ring Error Monitor when a station notices that the signal on the cabling system has not contained a mid-bit-transition for five half bit times, Manchester Encoding, This is a clear indication that the ring was "open" for a brief moment. As in when a station inserts into the ring.

Beacon Error. Beacon errors indicate a serious problem on the ring, such as a broken cable. When a ring is beaconing, it is unavailable for data transmission. When a station notices that the ring has experienced a "hard error" and the ring is inoperable, it transmits a beacon MAC frame. This frame indicates the reason for the beaconing condition and the address of the beaconing stations upstream neighbor (NUAN).

Frequency Error. This error indicates that the local stations internal clock differs from the ring clock. This error might indicate a problem with the adapter that is currently the Active Monitor. [ The Active Monitor maintains the master clock for the ring ]. Because this error might indicate a problem with the Active Monitor, the station that detects this error enters Monitor Contention or Token Claiming to obtain a new Active Monitor on the ring. The ring should recover automatically from a frequency error.

The End.