Outline

• Link State Routing

• ATM Overview

• ATM History

• ATM Cells

• ATM Adaptation Layer

Link-State Routing

Algorithm 1 (in the book)

Have each switch in the network broadcast the state of its links. Merge the pieces of the puzzle to create a map of the entire network. Broadcast the information again whenever the state of a link changes.

Algorithm 2 (not in the book)

Have each neighbor give you its map of the network. Merge it in with your own map. In case of conflicts, use some metric (such as “time-since-creation-of-information”) to decide whether to use your or your neighbor’s information.

Algorithm 1

When I receive information (with sequence number n) for switch S having links {L_{1} … L_{i}}, I look up my stored information for switch S, received with sequence number n′ and links links′ = {L′_{1} … L′_{j}} (If I have no information about S, I use n′ = 0 and links′ = {}).

If n′ ≥ n, the information I just received is outdated, and I ignore it.

If n′ < n and links = links′, I already have all the information, so I set the stored sequence number to n and am done.

Otherwise, n′ < n and links ≠ links′, so I replace both n′ and links′ with the received value. If I have any pre-computed routes, I may want to compute them again.

Finding a Route: Dijkstra’s algorithm

N  the set of all nodes.
s  this switch.
l[i, j] cost of link between nodes i and j.
M  reachable nodes (initially {s}).
C[i] cost of reaching node i (initially l[s, i])
P [i] port to reach node i (initially invalid)

foreach n in N - {s}
 if C[n] < infinity then P[n] = ...
while N != M
 w = node in (N - M)
   such that C[w] is least
 M = union(M, {w})
 foreach n in (N - M)
   if C[w] + l[w,n] < C[n]
     C[n] = C[w] + l[w,n]
     P[n] = P[w]

Identify which of this info is obtained from the packet, which from the link state table, and which is simply known to the switch.

Go through in complete detail.

4-1

ATM Overview

ATM is a recent technology. Some of its properties:

• Designed for telephone, real-time, multimedia traffic

• Point-to-Point Connections only.

• Can be used for Local- and Wide-Area Networks

• High performance (155 Mb/s and up)

• Connection-Oriented

• Fixed-Size (53-byte) cells

• Circuit Switching (VCIs)

• Resource Allocation

This is the first technology we look at where performance can get arbitrarily large.

Also the first technology which can form WANs. Also the first technology where the network can

have (almost) arbitrarily many hosts.

5-1

ATM History

ATM was originally developed by the “telephone companies” (CCITT) to carry both voice and data (ISDN model). The basic model is the same as for a telephone call: a (virtual) circuit is established before any data is exchanged. The network takes care of routing data for the virtual circuit, and a virtual circuit takes up resources in the network.

The cell size is small to accomodate voice traffic. ATM supports resource allocation to allow for real-time circuits.

The standardization process used for ATM is extremely slow. A few companies formed the ATM Forum to develop “proposed” standards.

ISDN stands for Integrated Services Data Network. Explain that it has a voice channel and a data channel on the same line.

6-1

ATM Circuits

ATM circuits are virtual: they do not necessarily correspond to a physical connection. Once a circuit is set up, each switch maintains a mapping of (input port, VCI) to (output port, VCI).

An ATM Virtual Circuit Identifier actually consists of two parts: a Virtual Path Identifier (VPI), and a Virtual Channel Identifier (VCI!!!!). The VCI is always 16 bits; the VPI is 8 bits (at the network edge) or 12 bits (inside the network).

ATM Paths and Channels

The ATM virtual circuit identifier is divided into a VPI and a VCI. The idea is that inside the network, a switch might forward cells based only on the VPI, leaving the VCI unchanged as the cell crosses the switch.

The point of this is, if two switches (or end-systems) have a VP between them, they only need to talk to each other to establish a new VC. This requires no routing and no negotiation with the intermediate switches.

ATM Cell

GFC (4b), VPI (8b), VCI (12b), Type (3b), CLP (1b), Header CRC (8b), Data (384b/48B).

Note: fixed size is always 53 bytes.

GFC is used for shared medium access to ATM (not used much). Type is used to distinguish data cells from management cells and to record congestion. CLP is 1 for cells that may be dropped with less effect. Header CRC (CRC-8) covers only the header.

ATM AAL

An ATM payload is too small to carry much useful data. Therefore, part of the ATM definition is a layer to do segmentation and reassembly. This layer is called ATM Adaptation Layer or AAL.

Different AALs serve different functions:

• AAL 1 and AAL 2 support guaranteed bit rates (voice).

• AAL 3/4 and AAL 5 support packet data.

The packets given to and returned by the AAL are called Protocol Data Units (PDUs).

AAL 3/4

Per-PDU header (CPI/1, Btag/1, BASize/2), 1 - (2^{16} − 1) bytes of data, trailer (Pad/1-4, Etag/1, Length/2). Overhead is 8 bytes per PDU.

Per-cell header (Type/2b, Seq/4b, MuxID/10b) and trailer (Length/6b, CRC-10/10b) leave up to 44 bytes for data. Overhead is 4 bytes per cell.

Total PDU overhead is 8 + 4 × \frac{n}{44}. This leaves maximum efficiency below 83%, which is low. Also, computing one CRC every 44 bytes of data can be slow if done in software (the header CRC is likely computed in hardware, since it’s AAL-independent).

AAL 5

AAL 5 was introduced with the purpose of lowering the overhead of AAL 3/4. AAL 5 uses the “user signaling bit” in the ATM header to mark the end of a frame.

Format is: Data/1-(2^{16} − 1), Pad/0-47, Reserved/2, Length/2, CRC-32/4.

Total PDU overhead is 8 bytes, and there is only one data CRC computation per per PDU.

Summary

ATM is designed for high speed: fixed cell size, simple cell processing mean cells can (should be?) be processed in hardware.

ATM is designed for both local networks (high speed) and wide-area networks (point-to-point links).

ATM is designed to take over the world (telephone companies and computer networks). Will it?