Transcript Lecture 6

CS 165 -- Direct Link
Networks (Continued)
Slide Set 6
In this set....
• Token Ring Networks
• FDDI -- Fiber Distributed Data
Interface
Token Ring
• Specified by the IEEE 802.5
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.
Host
Host
Host
Host
From previous
host
To next
host
From previous
host
Relay
(a)
To next
host
Relay
(b)
• Protection against failures -- single node failure
should not cause the entire ring to fail.
Multi-station access units
Host
• Units that can
interconnect stations.
• Looks like a star
topology.
• Easy to add/remove
stations.
MSAU
Host
Host
From previous
MSAU
To next
MSAU
Host
Some details
• Remember -- nodes use network
adaptor.
• Contains a receiver, transmitter and
storage.
• 802.5 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 802.5
•
•
•
•
•
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 802.5
• 802.5 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
am
r
F
e
Token
(a)
• EARLY RELEASE: Release
token right after frame
• Better utilization
Token
Fra
me
(b)
• 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 802.5
8
8
8
48
48
Start
delimiter
Access
control
Frame
control
Dest
addr
Src
addr
Variable
Body
32
8
8
Checksum
End
delimiter
Frame
status
• Nuggets:
• Frame control is the demultiplexing key -- which
higher layer protocol.
•Access control -- frame priority and reservation
priority bits.
• Manchester coding.
•Address -- 48 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.
(a)
(b)
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.
Upstream
neighbor
Dow nstream
neighbor
Concentrator (DAS)
SAS
SAS
SAS
SAS
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.