Comp 346/488: Intro to Telecommunications

Tuesdays 7:00-9:30, Lewis Towers 412

Class 7: Oct 19

Chapter readings (7th-9th editions):
    8.1, 8.2
    10.1-10.5

Circuit switching
    SONET, DS-n
Switch fabrics
Virtual Circuits


Midterm: Oct 26



Homework 1 notes:
3.18: 56 dB must be converted to a ratio: ~400,000
3.20: SNR = 63 here, not 63 dB!
3.22: Even Stallings forgot the 4/π factor. There is no way to calculate the power except term-by-term, or to approximate the power by the power of the unfiltered signal, on the theory that the filter loss is small.


Back to chapter 10

Datagram switching (forwarding): This means that each packet of a connection is handled independently, routed hop-by-hop according to the ⟨destination, next_hop⟩ tables in each router.

Some drawbacks for voice:

Circuit switching: this allows sending a continuous stream of data bits, without headers or addressing. Examples include T-carrier and SONET.

Diagram of a DS-1 (or DS-3) as a "trunk", with mux/demux at each end. The switch fabric accepts the individual connections.

Diagram of a circuit-switched network. The switching is done between the demultiplexers and multiplexers at join points; certain "channels" of one "line" are matched up to other channels on other lines, on a per-call (per-subscriber?) basis.

Compare this to packet switching, where we send discrete bufferfuls of information on an as-needed basis, and each packet must have a header with enough information to provide a destination address of some sort.

A TCP connection can be seen as a form of "virtual circuit", though this term is generally only used for a certain type of (non-IP) routing.

Review routing issues re circuits with TDM trunks: figure 10.1
overview of circuit-setup process; switching
Connections: A--a, B--b, etc

             S1[A,B]
                          \
                           \
                             \
                                S3[]  ------------------------------------  S4[]  ------------------------------- S5[b,c,d,e,f]
                             /                                                            /
                           /                                                            /
                         /                                                            / 
             S2[C,D]                                                 S6[E,F,a]


For each switch, the endpoints directly connected to it are in brackets: A-F connected respectively to a-f. The S3-S4 and S4-S5 links are second-level multiplexes. We demultiplex at S3, S4, and S5, and a given channel from the S3-S4 line is connected to a different channel on the S4-S5 line. Those channel connections are what the circuit setup process must create.

Circuits may be on-demand, as in phone calls, or permanent, as in something a subscriber (eg an ISP) has contracted for on a permanent basis.

Note: switching applies to packets as well as circuits!!!


Plugboard: can't automate this literally!

Crossbar switch(9e fig 10.5): canonical model for automatic circuit switching

T-1, T-3, and SONET circuit-switching
    A T-3 can be demultiplexed into its constituent DS-2's (rare), DS-1's, or DS-0's.
    A SONET STS-12 can be demuxed into all sorts of things, eg
       one STS-4
       eight STS-1's
          five of them are really DS-3's
          one of them is a plain IP-over-SONET
          two are a "double-sized" IP-over-SONET, at 2xSTS-1 rate

Any given SONET line (portion with no change in multiplexing) is a pure circuit-switched link.

Switching is done where the lines join together to form a path.

In general, in the phone system they like to avoid "full demultiplexing" where possible, when dealing with DS-n lines. That's because demultiplexing involves some overhead for these. For SONET, the overhead is negligible; we can replace a single DS-0 in an STS-48 with relative ease.




3-stage switch -- Fig 10.6 of 7th, 8th, 9th eds --  much more compact than a 10x10 crossbar

Note blocking: we cannot connect 2 in upper input half to 3 in upper output half.
In general, we cannot have more than two connections at a time.

Networks usually tolerate some degree of blocking.

Crossbar is an example of "space-division multiplexing"

These things are called "switch fabrics"

The inputs to these switches are the mux/demux channels.




Time-division multiplexing (TDM)

TDM switch: one high-speed TDM bus; timeslots amount to going from a given input to a given output.

Basics of circuit-switching: electronic switches, TDM, trunks, local loop

static routing; tree-form: saturates at root
dynamic routing, that takes congestion into account
alternate routing: fixed set of alternative paths is developed in advance. Any given connection gets highest-priority available route. Note that it is common for circuits to stick with their route for the duration of their existence; we do not necessarily reroute existing circuits.

Circuit-switched DEVICES (eg phones) do not need any special network logic!
In fact, analog phones were and are pretty simple devices. It is TRANSPARENT.

TDM control information: synchronization!




Virtual-circuit packet-switched routing

We don't usually use the word "virtual" for TDM, though TDM circuits are in a sense virtual. But "virtual circuit switching" means using packets to simulate circuits.

Note that there is a big difference between circuit-switched T-carrier/SONET and any form of packet-based switching: packets are subject to fill time. That is, a 1000KB packet takes 125 ms to fill, at 64 Kbps, and the voice "turnaround time" is twice that. 250 ms is annoyingly large. When we looked at the SIP phone, we saw RTP packets with 160 B of data, corresponding to a fill time of 20 ms. ATM (Asynchronous Transfer Mode) uses 48-byte packets, with a fill time of 6 ms.


Datagram Forwarding

(done week 6)

Routers using datagram forwarding each have ⟨destination, next_hop⟩ tables. The router looks up the destination of each packet in the table, finds the corresponding next_hop, and sends it on to the appropriate directly connected neighbor.

These tables are often "sparse"; some fast lookup algorithm (eg hashing) is necessary. The IP "longest-match" rule complicates this. For IP routing, destinations represent the network portion of the address.

How these tables are initialized and maintained can be complicated, but the simplest strategies involve discovering routes from neighbors. Often a third column, for route cost, is added.

drawback: cost proportional to # of nodes
first look at virtual circuit goals:


virtual circuits

Call Request; sets up route; the route between two endpoints must be set up in advance, and is encoded by switch state.

Each switch has a table of the form ⟨vciin, portin, vciout, portout
vci+port are treated as a contiguous string of bits, small enough to use as an array index, which is very fast!
Entries are typically duplicated, so given the vci+portin  we can look up vci+portout, and given vci+portout we can find vci+portin.
This allows bidirectionality.

All this allows very compact lookup tables, generally faster on a per-packet basis than datagram forwarding but requires setup.
smaller addresses / smaller headers

Addresses identify the PATH, not the DESTINATION
PATH address is VCI, which is not globally unique!! VCIs are local, leading to fewer bits

What are virtual circuits good for?
=> still efficient even when packets are small!

Also, can be BIDIRECTIONAL

Remarks about datagram-forwarding table maintenance

continue with VC example


Packet size figure: 10.14 (7th), 10.11(8th, 9th)

Uniformity of delay (ie jitter) is a separate issue, but is often worse with datagram switching



Program 1

Examples:
    osc_skel.java: WavReader use for creating a file
    reader.java / stats.java: WavReader use for reading a file