Token Passing Bus Access MethodPhysically, it is a Bus network. Logically, it is a Ring networkStations are organized as a circular doubly-linked listA distributed polling algorithm is used to avoid bus contentionToken - Right of accessToken Holder (The station receiving the token) Transmit one or more MAC-frame Poll other stations Receive responsesNon-Token Holder Listen to the channel Respond to a poll Send Acknowledgement
Token Passing in a Token Bus NetworkOnce received the token, the station either starts to transmitor passes the token to the next station within one responsewindow.Token must be released if no data / control frame is requiredto be transmitted. Token control frame is destinated for thesuccessor.
Token Passing in a Token Bus NetworkToken can be held maximum up to th – Token Holding Time.This value is set at the system initialization time by thenetwork management process.Frame priority must be handled within the station itself.
Queues for Service ClassesEach station is internally divided into different priority substations. Token holder first passes the token to the highestpriority substation.
Ring Management 60 50 4020 50 60 30 Node P S10 20 30 30 60 50 20
Adding a StationToken holder has the responsibility of periodically granting anopportunity for new stations to enter the logical ring before itpasses the token.A Solicit-Successor-1 (SS1) control frame is issued with DA = Successor’s Address Data = Null Type = Control Frame SS1One response window is reserved for those stations desired toenter the logical ring and their address is between DA and SA.If the address of the token-holder has the smallest address in thelogical ring, then a Solicit-Successor-2 frame is issued
Adding a Station … contdThe station desired to enter the logical ring will respond witha Set-Successor frame with DA = Token-holder address SA = Its address Data = Address of the Sender ( SA )The Token holder detects the event in the response windowand takes appropriate actions …. No Response : Pass token to the next station One Response : Pass token to the newly added station. The newly added station will update its Successor value by the DA field of the previously received Solicit- Successor-1 frame.
Adding a Station … contdMultiple ResponsesA Resolve-Contention frame is issued by the token-holder withDA = GarbageSA = TSA station desired to enter the logical ring will response with a Set-Successor frame as before at the K th window, where K is determined bythe value of the first two bits of its address. However, if the channel isdetected busy before the Kth window, it will give up.If no valid Set-Successor frame is received by the token-holder, the token-holder will issue another Resolve-Contention frame.Now only those stations involved in the contention may try again. Thevalue of K now is determined by the next two bits. The above procedure isrepeated until a valid Set-Successor frame is received by the token-holder. A new station is thus successfully added to the logical ring.
Adding a Station … Graphical Illustration 40 A D AT 0 SA 0 4 S 4 DA 50 50 30 ion 2 60 tat SA 0 S1 dS A 0 5S de 30 ad 60 D 3 20 ly 50 New 50 120 20 40 60 30 30 50 50 40 60 30 60 20 50 40 20 20 60 30
Adding a Station … Special CaseUsually, Successor < Node. But there is one station whoseSuccessor > Node (The one with the smallest address in thelogical ring). In this case Solicit-Successor-2 (SS2) frame isissued followed by two Response Windows.The first response window is reserved for stations (X) whoseaddress is less than this station.The second response window is reserved for stations (Y) whoseaddress is greater than its successor.Stations in Y will respond with the Set-Successor frame only ifthere is no response in the first response window.
Deleting a StationThe station wishes to be deleted may wait until it receives thetoken, then sends a Set-Successor frame to its Predecessor, with DA = Predecessor Address SA = This Node Data = Successor AddressThe previous station ( DA ) once receives the Set-Successorframe will modify its Successor and send a token to its new nextstation.The Successor station once receives the Token frame will modifyits Predecessor accordingly.After these two modifications, the station is removed from thelogical ring automatically.If the station fails, it will not receive the token. This will bedetected by the token-sender as explained later.
Fault ManagementOne of the most important issues of the token-bus protocol is tomaintain the logical ring under the following possible conditions Multiple Tokens Unaccepted Token Failed Station Failed Receiver No Token
Multiple TokenCause Noise Duplicate Address, each one may "receive" a tokenDetection While holding the token, the station may hear a frame on the bus which indicating that another station also has a token.Action Drop the token If all stations drop the token, the network becomes the case of no token (see the procedure of handling no token later)
Unaccepted Token or Failed StationCause The token passed to the next station may be garbled The next station failsDetection No response (Channel is idle) in one response windowAction Try to pass token one more time It still no response, then the next station is assumed to have failed The token holder then issues a Who-Follows frame with DA = Garbage SA = This Node Data = Successor
Unaccepted Token or Failed StationAll other stations once received Who-Follows frame willcompare the data with its Predecessor value. If there is amatch, it will issue a Set-Successor frame back. 3 responsewindows are reserved after Who-Follows. The first 2 areneeded to make a comparison.If no response to the Who-Follows frame, the aboveprocedure will be tried one more time.If still no response to the Who-Follows frame, then it couldbe that the next station to the next station has also failed.The token-holder will try to establish the ring by issuing aSolicit-Successor-2 frame, withDA = This Node
Failed Station … Graphical Illustration 60 50 10 50 60 30 1 DA SA 2 50 T 60 DA SA DATA DA SA DATA 3 XX 60 W 50 4 60 30 30 S 10 20 3020 60 30 10 50 20 60 50 10 30 DA SA 5 30 60 T 10 20 30 20 60 30 10 60 20
Unaccepted Token or Failed StationDA = SA = This Node implies that every station is invited torespond. Two response windows are reserved after this frame.The first response window is reserved for stations whoseaddress is less than the sender.The second response window is reserved for stations whoseaddress is greater than the sender.The procedure of add a station is then used.If still no response to the Solicit frame, then either all stationshave failed (Left the ring) or its own receiver has failed (so itcannot listen).If the only one station has something to send, it sends the data.Then repeat the token passing process. Otherwise, listen to thechannel.
No Token or InitializationCause The Token-holder station fails The token is destroyed Network InitializationDetection No channel activity has been heard for a certain amount of time (Bus-Idle Timer expired)Action Any station when its Bus-Idle timer is expired will issue a Claim-Token frame, with DA = Garbage SA = This Node
No Token or InitializationThe station with the greatest address will get thetoken. This is done by comparing the address. Twobits of the address are compared at a time.In each pass, only those stations who transmittedthe longest frame on the previous pass try again.The station that succeeds on the last pass considersitself the token holder.The difference is 2 slots in the frame padding. Thestation waits one slot for its or other frame to pass.It then samples the channel at the second slot.The logical ring can then be established by issuingSolicit-Successor frames as described before.