CS 635 Lecture 5, Part 2
Fiber Distributed Data Interface (FDDI)
- ANSI (American National Standards Institute) standard committee X3T9.5 developed FDDI
Standard
- Developed for several reasons:
- To compensate for high speed computer-to-computer interactions
- To carry high speed computer-hard disk I/O (40-50 Mbps)
- To carry digitized voice in real-time mode
- Originally invented at Sperry and Borroughs Corp. to be used as a machine room
interconnect between processors and storage systems
- First standard published in 1982
Technical Specifications
- Optical fiber channel operates at 100 Mbps
- Up to 1000 nodes on the ring
- Nodes can be placed as far as 2 km apart
- Ring circumference can be up to 200 km
- Low loss - optical fiber offers low signal attenuation
- Electromagnetic immunity - the fiber is a dielectric and therefore not affected by
electromagnetic energy. Benefits of such immunity include the elimination of cross talk,
ground loops, and signal distortions in hostile environments
- Security - fiber optic cable is almost impossible to tap without detection. Other
eavesdropping techniques are also difficult because the fiber does not radiate
electromagnetic energy
- FDDI specifies a topology in which two independent, counterrotating optical fiber rings
are in place, which provides an overall bit rate of 200 Mbps.
- Components are tied together through a wiring concentrator. The concentrator acts as a
reconfiguration and concentration point for all optical wiring and data traffic. (Insert
picture here)
- The inner channel connects only certain devices. These devices, which have inner and
outer rings attached to them, are classified as A devices. The B devices are connected by
only one ring. The attractive aspect of this specification is that it allows a user
facility to designate those critical stations which need additional backup and higher
channel speeds as Class A stations. The other, less important stations are hooked up as
Class B stations, at a lesser cost.
Encoding
- the best code to be used in a network is one which provides frequent signal state
changes. The changes provide the receiver with the ability to continue to adjust to the
incoming signal, thereby assuring that the transmitting device and the receiving device
are synchronized with each other. The Manchester code used in the IEEE 802.3 standard is
only 50 percent efficient, because every bit requires a two-state transition on the line.
Using Manchester code, a 100-megabit transmission rate requires 200 megabits of bandwidth
(a 200 MHz rate).
- ANSI devised a code called 4B/5B, in which a four-bit code is used to create a five-bit
code. For every four bits transmitted from a DTE, FDDI creates five bits. The five bits
provide clocking for the signal itself. Consequently, the 100 Mbps rate on FDDI requires
only 125 MHz of band. (See US Patent 5408473 www.ibm.com/patent).
Binary |
4B/5B Code |
Symbol |
0000 |
11110 |
0 |
0001 |
01001 |
1 |
0010 |
10100 |
2 |
0011 |
10101 |
3 |
0100 |
01010 |
4 |
0101 |
01011 |
5 |
0110 |
01110 |
6 |
0111 |
01111 |
7 |
1000 |
10010 |
8 |
1001 |
10011 |
9 |
1010 |
10110 |
A |
1011 |
10111 |
B |
1100 |
11010 |
C |
1101 |
11011 |
D |
1110 |
11100 |
E |
1111 |
11101 |
F |
Optical-fiber cable
- A core - the central region of an optical fiber, through which the light is transmitted
- Cladding - the dielectric material surrounding the core of an optical waveguide. The
cladding must have a lower index of refraction than the core (i.e., it must be easier for
light to travel in the core than in the cladding)
- A jacket - a protective material extruded directly on the fiber coating to protect it
from the environment and physical damage
- The spec recommends an optical fiber with core diameter of 62.5 microns and a cladding
diameter of 125 microns
These limits are designed to minimize latency
- Uses LED rather than lasers, cheaper and safer
- Design spec calls for no more than 1 error in 2.5x1010 bits. Many
implementations do much better
- Cabling consists of 2 fiber rings, on transmitting clockwise and the other transmitting
counterclockwise. If either one breaks, the other can be used as a backup
- Token ring scheme similar to 802.5. Several differences to accommodate higher data rate.
See table 8.1 page 253 for diff between FDDI and 802.5
MAC Token Frame
Preamble |
SD |
FC |
DA |
SA |
DATA |
FCS |
ED |
FS |
The preamble contains 16 or more idle symbols that provide a pattern to establish and
maintain clock synchronization among stations on the ring (idle = 11111). The starting
delimiter consists of a specific pattern, The J symbol (J=11000) is the first symbol of
the starting delimiter sequence; the K symbol (K=10001) is the second. No frame or token
is considered valid unless it starts with this explicit sequence. The ending delimiter
consists of two consecutive T-symbols to indicate the end of the token frame (T=01101).
SD (8 bits) Starting delimiter
FC (8 bits) frame control
DA (16/48 bits) Destination Address
SA (16/48) Source Address
- The basic (w/o capacity allocation) FDDI MAC protocol is fundamentally the same as IEEE
802.5. There are two key differences:
- FDDI station captures the token, removes the token, places the packet(s) on the ring,
and then issues a new token directly behind the data stream (the 802.5 technique of
flipping a bit to convert a token to a start of data frame was considered impractical
because of the high data rate of FDDI)
- FDDI station releases a new token as soon as it completes data frame transmission, even
if it has not begun to receive its own transmission
Two points
- After the station seizes the token the ring is made idle for a brief period of time
while the packet is being set up. This allows for more time between the DTE (a user
station) and the ring interface to structure and move the packet across the interface.
Less expensive and simpler interface
- The token is transmitted immediately after the packet. Another station down the line
could also use the token. Provides for much more efficient utilization for large rings
which might have much latency in transfer around them.
The status field FS allows the originating station to detect three conditions:
- Station non existent/non active
- Station is active but frame not copied
- Frame copied
MAC does not retransmit. Error is passed to LLC, which takes corrective actions.
Capacity Allocation
- 802.5 priority will not work since token is issued before the originating station gets
its frame back
- FDDI provides greater control over the capacity of network than 802.5
- Capacity allocation scheme seeks to accommodate the following requirements
- Support for mixture of stream and bursty traffic
- Support for multiframe dialog (e.g. write to disk)
XXX picture of the FDDI back bone
Synchronous Traffic
To support a mixture of stream and bursty traffic FDDI defines two types of traffic:
- synchronous and asynchronous
- each station is allocated a portion of the total capacity; frames transmitting during
that time are called synchronous
- frames transmitted during unallocated capacity or not used capacity are called
asynchronous
- TTRT - target token rotation time - stored by each station (the same value)
- SAi - synchronous allocation - provided to some or all stations - may vary
among stations
- The allocation must be such that
DMAX + FMAX
+TokenTime + SUM(SAi) <= TTRT
- DMAX - prop time for one complete circuit of the ring
- FMAX - time required to transmit max length frame (4500 bytes)
- Token Time - time required to transmit a token
Each station also stores:
- Token-rotation timer (TRT)
- Token-holding timer (THT)
- Late counter (LC)
Each station is initialized with TRT = TTRT and LC=0
- When the timer is enabled, TRT begins to count down
- If the token received before TRT expires, TRT is reset to TTRT
- If the token received after TRT counts down to 0, LC = 1, TRT=TTRT
- If t TRT expires a second time before receiving a token, LC=2, the token is considered
lost and a claim process is initiated
- LC records the number of times, if any, that TTRT has expires since the token was last
received at that station
- The token is considered early if TRT has not expires since the station received the
token (LC=0)
If the token is early, the station saves the remaining time from TRT in THT,
resets TRT and enables TRT. The station then transmits according to the following rules:
- It may transmit synchronous frames for a time SAi
- After transmitting synchronous frames, or if there were no synchronous frames to
transmit, THT is enabled. The station may transmit asynchronous frames for time as long as
THT > 0
If the token is late, LC=0, TRT continues to run. The station can transmit
synchronous frames for a time SAi. The station may not transmit any asynchronous frames.
- Scheme is designed to assure that time between two successive sightings of a token is
<= TTRT
- Of this time, a given amount is always available for synchronous traffic.
- Algorithm is similar to 802.4 with two classes of data, 6 and 4
- Synchronous data corresponds to class 6, and the value of SAi in FDDI corresponds to the
token holding time in 802.4
- TTRT corresponds to TRT4
See example on page 260. TTRT = 100 milliseconds, SAi=30milliseconds
Ring Maintenance
- Responsibility for monitoring the functioning of the ring is distributed among all
stations on the ring
- Each station keeps track of how long it has been since it last saw a valid token. If
this time exceeds 2TTRT, an error condition is assumed
- Three processes involved in error detection and correction:
- Claim token process
- Initialization process
- Beacon process
Claim Token Process
- Station detects loss of token and initiates the claim token process by issuing a
sequence of claim frames
- Purpose of claim token process is to negotiate the value to be assigned to TTRT and
resolve contention among stations attempting to initialize the ring
- Claim frame contains value for TTRT in the info field
- Each station inspects incoming claim frames and either defers (ceases to xmit its own
claim frames and just repeats incoming frames) or not ( continue to xmit its own claim
frames and absorbs incoming frames)
Arbitration Hierarchy
- The frame with lowest TTRT has precedence
- Given equal values of TTRT, a frame with a 48-bit address has precedence over frames
with 16-bit address
- Given equal values of TTRT and equal address lengths, the frame with the address of
larger numerical value has precedence
The process completes when one station receives its own claim frame, which has made a
complete circuit of the ring without being preempted.
- All stations store the value of TTRT contained in the latest claim frame to be received
- The smallest value of TTRT is stored by all stations and will be used to allocate
capacity
Initialization Process
- The station that has won the claim token process is responsible for initializing the
ring
- All stations on the ring know who the initialization station is from the claim frames
- The init. station issues a non restricted token
- On the first circulation of the token it may not be captured. Each station that sees the
token transitions into operation state
Beacon Process
- Used to isolate a serious ring failures such as breach in the ring
- For example, when a station is attempting the claim token process, it will eventually
time out if it does not come to a resolution (winning or loosing), and enter a beacon
process
- Station continuously transmits beacon frames
- Station always yields to a beacon frame
- If the logical break persists, the beacon frames of the station immediately downstream
from the break will normally be propagated
- If a station in a beacon process receives its own beacon frames, it assumes that the
ring has been restored, and initiates the claim token process.
FDDI Data Link Algorithm
Specific application to DEC implementation
Issue: removing unwanted frames from the ring and stability and reliability of the ring
Frame Content Independent Stripping (FCIS) Algorithm
- Property of the ring is continuous circulating of the frames
- Frames not properly stripped can remain and traverse the ring repeatedly, wasting
bandwidth and resources, causing sever congestion in the system due to delivery of
duplicate frames
- FDDI MAC continuously strip received frames whose source address matches their own MAC
address
- Limitations - bridges forward frames from other LANs. Source address match algorithm
would require the bridge to match address within 1 millisecond from the beginning of
the frame reception - significant cost
- DEC developed FCIS algorithm which is implemented in the MAC chips
- Algorithm is based on stripping the same number of frames that the MAC transmitted on
the ring independent of the content of the frame
- After the MAC captures the token for frame transmission, a local count is incremented
each time the frame is transmitted
- After transmitting all its frames, MAC transmits a void frame, which is a minimum size
frame (17 bytes), before transmitting the token
- On receive, if the count is greater than zero, the received frame is stripped,, the
count is decremented
- After transmitting the token , the MAC does not strip frame when the count = 0, except
for frames with a source address matching the MAC's address
- When receiving an error-free void frame with the source address matching the MACs
address, the counter is reset to 0
- As a result, the algorithm uses a count that is kept locally to track the number of
outstanding frames for stripping, and it uses a transmitted void frames as a backup
mechanism to indicate the end of stripping.
Ring Purging Algorithm
- Circulation of frames or long fragments that are not stripped by transmitted
- Frames or fragments not stripped are called no-owner-frames (NOF)
- On an idle ring, NOF can circulate around the ring continuously at a speed of the ring
- For example, a single NOF on an idle ring can create a frame arrival rate of 2700 frames
per second (for max frame size) to about 290,000 frames/sec ( for min frame size).
- Ring purging algorithm ensures that NOF's don't traverse the ring more than twice
- Consists of two related but different algorithms:
- First, the purger election algorithm, which is a distributed election algorithm to
select a designated MAC to be the purger for the ring
- Second, purging algorithm, which is executed by the designated MAC to clean the ring of
NOF's
- DEC's purging algorithm purges the ring transparently each time a token is received by
the purger. When the purger receives a token, it begins a purge cycle by transmitting two
special frames, called void frames.
- If the purger has frames to transmit, it completes the transmission of its frames before
starting the purge cycle
- Once the purger cycle started, the purger unconditionally removes all frames or
fragments received
- The purge cycle completes when the purger receives one of its error-free void frames, a
token, or a ring initialization frame.
- Two void frames are transmitted to ensure proper termination of the purge cycle
- Hit on usable bandwidth is less than 0.22% in worst case
Top Prev