...
In transmit mode, a token ring NIC will write a frame to the network. This frame will propagate to the next host in the ring, ..., which will eventually propagate back around to the source NIC. At this time, the source NIC will elect to not transmit the frame, thus removing the frame from the network.
Receive Mode
In receive mode, a token ring NIC will wait for a frame. When a frame arrives, it will read the destination address of the frame from the header. If the destination is the address of the host where the NIC is installed, the NIC will copy the frame to the host as well as retransmit the frame towards the next host in the network. If the destination address of the frame is not for the host where the NIC is installed, the NIC will simply retransmit the frame towards the next host in the network. The delay to check the destination address of the arriving frame is the retransmission delay, which is typically a small number of bits relative to the size of the frame.
Tokens
As discussed briefly, a token is what provides access control in a token ring network. Tokens are a special sequence of bits or a special waveform – the exact representation of a token depends on the token ring implementation. Only devices with a valid token may transmit at a given time. There are two types of tokens – idle tokens and busy tokens. If a host is given an idle token, that host may initiate a transmission onto the (idle) network. On the other hand, if the host is passed a busy token, the host may not use the network, since it is being used (i.e. is busy) by another ongoing transmission.
...
When operating with a single token, the transmitting host will initiate its data transmission with a busy token at the head of the data frame. When the frame traverses the ring, all intermediate hosts will see the busy token and will continue to operate in receive mode, forwarding the frame along to the next host. When the frame arrives back at the transmitting host, the host will convert the busy token to an idle token and transmit the idle token to the next host as it's continuing to remove its data frame from the network. This next host will see the new idle token and may initiate a transmission if it has data to transmit; otherwise, it may pass the idle token on to its next host.
Multiple Token Operation
Multiple tokens can be used simultaneously in a token ring network. When multiple tokens are used, the transmitting host places the next token on the ring immediately after the end of the data frame, while the current token is placed at the beginning of the data frame. This means that for rings that have large propagation delays or that have typically small frames transmitted, several frames may exist on the ring simultaneously.
As an example, if a transmitting host has data to transmit, it will precede its frame with a busy token, transmit its frame, and then transmit an idle token. When the next host receives the busy token, it will continue to operate in receive mode; however, after the data frame it receives is retransmitted, it will see the idle token and may convert it to a busy token if it has data to transmit. Otherwise, the next host will simply pass on the idle token.
Single Frame Operation
There is a third mode of operation, which is effectively a subcategory of single token. This third mode of operation is called single frame. Token rings operating in single frame mode will only have a single frame (or partial single frame) on the entire network at any given time. What sets this apart from single token operation is that the entire frame must be removed from the network by the transmitting host before the transmitting host is permitted to transmit the idle token. Contrast this to single token mode, where the source host generates and sends the idle token before it has remove its entire data frame from the network.
Performance Analysis of Token Ring Networks
...
On the hosts themselves, delay B is incurred when the frame is received and (briefly) buffered while the host NIC analyzes the destination address of the frame. This allows us to compute the walk time between any two consecutive hosts k and k+1 in the ring as:
Compare this to a centralized controller that polls hosts/handles tokens, where the walk time is equal to the propagation delay plus the token transmission time.
...
The ring latency is the time requires for a token to circulate around the ring if all stations are operating in receive mode. The ring latency, τ' = Mw, which we can relate to the propagation delay and the host latencies as:
Delay Analysis
The average transfer delay, T, is the sum of the average access delay, plus the average transmission time, plus the average latency, or T = W + E[X]/R + average latency.
The maximum latency is the host latency of B/R plus the ring latency of τ' = τ + MB/R. Thus, the average latency is half this, or τ'/2 = τ/2 + (MB)/(2R).
The average access delay, W, can be expanded on and expressed in the form:
where τ' = Mw. This is essentially the walk time of each link in the topology plus the host latencies discussed above.
This is the M/G/1 delay expression modified to account for token management delay.
Example
In this example, the single transmission keeps the network busy for time τ', rather than X/R. This is confirmed in our expression for W above.
Average Transfer Delay
The effective service time, E, of a frame is the time that the frame transmission keeps the network busy before a new transmission can begin. The effective throughput, S', of the network is the actual throughput that would give equivalent performance using the original M/G/1 expression for W. In other words, S' is a replacement for S in the M/G/1 average transfer delay expression. S' is defined as:
Note that the actual throughput is still S.
The average transfer delay can be expressed in the form:
Multiple Token Operation
In multiple token operation, an idle token or the next busy token is generated immediately after the data frame leaves the source host. The effective service time is X/R, show below:
Average Transfer Delay
In general, the average transfer delay for multiple token operation is:
For fixed frame lengths:
For exponentially distributed frame lengths:
Single Token Operation