CS Direct Link Networks (Continued) Slide Set 6
In this set.... Token Ring Networks FDDI -- Fiber Distributed Data Interface
Token Ring Specified by the IEEE standard. Set of nodes are connected in a ring. Data always flows in one direction Node receiving frames from upstream neighbor passes it to downstream neighbor.
Features Distributed algorithm dictates when each node can transmit. All nodes see all frames : destination saves a copy of the frame when it flows past. Token used to control who transmits.
The Token The token allows a host to transmit -- contains a special sequence of bits. When a node that wishes to send sees the token, it –picks up the token –inserts its own frame instead on the ring. When frame traverses ring and returns, the sender takes frame off and reinserts token.
Physical Properties Electromechanical relays are used. Protection against failures -- single node failure should not cause the entire ring to fail.
Multi-station access units Units that can interconnect stations. Looks like a star topology. Easy to add/remove stations.
Some details Remember -- nodes use network adaptor. Contains a receiver, transmitter and storage token is 24 bits in size. Total storage in the network must be enough to hold token.
Medium Access Control Token circulates around the ring. Every station that has data to send may seize the token off the ring – Modify 1 bit in the first two bytes – these now become the preamble for the subsequent packet Transmitted packet contains dest addr. Each node looks at the packet -- if packet meant for the node, copy packet onto buffer as it flows through the adaptor. Sending node responsible for removal of frame from ring.
Token Holding Time How long can a node hold onto the token ? Dictated by the token holding time or THT. If lightly loaded (as in Ethernet) you may allow a node to hold onto it as long as it wants -- very high utilization. But it is unfair... multiple nodes might have data to send and if we do this, heavily loaded nodes are at an advantage.
THT (cont) In 802.5, THT is specified to be 10 milliseconds. Each node keeps track of how much time is left. It then checks to see if it is enough to transmit next packet (depends on length of packet). If yes, transmit, else, defer.
Token Rotation Time (TRT) TRT: Time taken by token to traverse the ring (as viewed by a node). TRT <= Active Nodes X THT + Ring Latency No of nodes that have data to transmit Time taken to traverse ring when there is no data to send
Reliable Delivery in Two bits in a packet trailer A and C bits. Both are zero to begin with. When a station notices that it is the destination for a frame it sets the A bit. When it copies frame, it sets C bit. When sender sees: 1.The ‘A’ bit set to zero, it will deduce that the recipient is absent / non-functional. 2.If ‘A’ bit =1 but ‘C’ bit = 0, it deduces that for some reason destination could not accept frame and tries to retransmit.
Priorities in supports priorities -- token has 3 bit priority field. If priority is specified, a node can seize the token only if its own frame’s priority is > priority specified. In addition, frames have three reservation bits that allow hosts to set priorities.
Protocol for setting priorities Say, X has a priority “n”. If it sees d data frame going past and the bits haven’t already been set to a higher value, it can set the bits. When the station that sent the frame gets back the frame, it sets the priority bits in the token to reflect the value in the reservation bits. Any node with that priority can seize the token. Strict Priority: No lower packets may be sent when higher priority packets await.
Token Release EARLY RELEASE: Release token right after frame Better utilization DELAYED RELEASE: Release token after frame is removed from ring.
The Monitor A special node that ensures the health of the ring. Any station can become the monitor. If monitor is healthy, it periodically announces its presence. If no message seen for awhile, a node will assume that the monitor has failed and will try to become a monitor -- same for new ring/failed monitor. It transmits a claim token --> intent to become monitor. More than one claim -- highest address wins.
Maintaining the token Monitor ensures the presence of token – Token may get corrupted or lost Max possible TRT = Num_stations X THT + Ring Latency. –If no token seen for this time, token may be lost; monitor creates new token.
Other Monitor Functions Check for corrupted frames -- Checksum is in error etc. Check for orphaned frames -- frame inserted by a node that dies. –Use of a monitor bit, monitor sets this to 1 to see if the frame keeps circulating. Bypass malfunctioning stations -- beaconing suspect stations.
Frame Format in Nuggets: Frame control is the demultiplexing key -- which higher layer protocol. Access control -- frame priority and reservation priority bits. Manchester coding. Address bits -- as in Ethernet.
FDDI Fiber Distributed Data Interface Similar to Token ring -- optical fiber. Two rings instead of one; second used if first fails. –FDDI can tolerate single node or link failures.
Single Access Stations and Concentrators Expensive for nodes to connect to two cables and so FDDI allows nodes to attach using a single cable – called Single Access Stations or SAS. –as opposed to “dual access stations !” Concentrators -- Attach several SASs to a ring.
FDDI Specs Read book. Important nugget -- there is a maximum number of stations and maximum distance between stations and length of network –Impose time restrictions on token rotation time.
Timed Token Algorithm for FDDI THT -- Token Holding Time defined as before and configured to some suitable value. We want to ensure that a node gets the opportunity to transmit within a certain time -- we want to impose an upper bound on the token rotation time. We define a target token rotation time or TTRT.
Timed Token Algorithm (cont) Each node measures TRT. If measured TRT > TTRT, – Token is late, do not transmit data If measured TRT < TTRT, – Token is early; hold token for difference between TTRT and measured TRT.
Disadvantages of Timed Token Algorithm Does not ensure that a node can send a frame within a bounded delay. Node with lots of data can do so when it receives token early. – Uses up the remaining time and leaves no opportunity for other nodes to transmit.
Division into traffic classes Traffic divided into two classes – Delay sensitive synchronous traffic – Delay insensitive asynchronous traffic Application interested in throughput and reliability as opposed to delay.
Sending rules with traffic classes When node receives traffic, it can send synchronous traffic irrespective of whether or not the token is late. Send async. traffic only if token early. Still a problem if too much sync. data. So -- total amount of sync. data that can be sent in one token rotation is at most TTRT. Thus,....
Thus.... In the worst case: – First async. traffic use TTRT worth of time. –Next sync. traffic use TTRT worth of time. –So, total < = 2 x TTRT. Note: If Sync. traffic was transmitted first and used TTRT, no async. traffic can be sent. Thus, note -- back to back rotations cannot take 2 x TTRT.
In addition... What if remaining time is only slightly less than TTRT ? -- in other words, it takes longer to transmit an async. frame ? Node will send ! Thus, measured TTRT actually bounded by TTRT + time it takes to transmit a frame.
Token Maintenance How does one set the TTRT ? How does one ensure that valid token is present ? Every node monitors ring for valid token. If operations are correct, a node must observe a token or a data frame every so often.
Claim frames Greatest idle time = Ring latency + frame transmission time. If nothing seen, a node suspects something is wrong and sends a “claim frame”. Nodes bid for the TTRT using the claim frame. Why bid ? TTRT set to that the node needs so that applications running can meet timing constraints.
The bidding process A node can send a claim frame without having the token -- does so when it suspects failure or when it first joins the net. If claim frame came back, node knows that its TTRT bid is the lowest. It is responsible for inserting token on the ring.
Bidding Process (cont) When a node receives a claim frame, it checks to see if the TTRT bid is lower than its own. If yes, it resets local definition of TTRT and simply forwards the claim frame. Else, it removes the claim frame and enters the bidding process – Put its own claim frame on ring. When there are ties, highest address wins.
Rest of FDDI -- please read book. Next: Wireless/802.11, Chapter 4 -- Network layer and IP.