Csep-561-Lec-3

Review

  • Shannon gives a limit for lossless data rate over a single channel with random error rate. So, we could just use more channels to improve system data rate.
  • You can get a decorrelated channel by just spacing out the antennas slightly.
  • This is MIMO (Multiple Input Multiple Output), we can quadruple rate with 4 antennas. You sense the way the channels interfere, and decorrelate them, and essentially parallelize the data rate.
  • This was the big differentiater in 3G -> 4G.
  • Diminishes returns pretty quickly, after 3 or 4 pairs of antennae.
  • Extends to Massive + Multi-User MIMO, where you might have a large 64x64 antenna array to serve many terminals in diverse locations at the same time.
  • This is a lot of 5G / Wifi 6

Reliability

It's important across all layers, but in different ways at each layer.

Detection vs Correction

  • Error correction should be used
  • When errors are expected
  • or when there's no time for retransmission
  • Error Detection should be used
  • When errors are not expected
  • or when errors are large
  • (Used in the link layer and above for residual errors)

ARQ (Automatic Response Request)

  • When do we know to re-transmit?
  • Receiver sends an ACK frame upon receipt. If not received within some timeout, re-transmit!
  • Timeouts should be
  • not too big (cause idle), not too small (spurious resend)
  • On a LAN using the biggest observed ACK response works fine
  • On TCP/IP this is not sufficient

Stop and Wait

  • Send a single bit with message frame and ACK to id which is which.
  • Only allows one frame per RTT, so this is not great, but does okay on LAN.

Sliding Window

  • Generalizes stop-and-wait to allow $W$ frames to be outstanding. This is actually the state-of-the-art.
  • Will look at this later with TCP.

Multiple Access

  • Multiplexing is the network word for the sharing of a resource
  • Classically, there are
  • TDM (Time Division Multiplexing)
  • Each user only gets to use channel in their time slot, round robin.
  • FDM (Frequency Division Multiplexing)
  • Multiple users simultaneously, on varying frequencies.
  • Static division (FDM) is useful for continuous traffic with a fixed number of users (e.g. audio streaming)
  • Used in telecom
  • TDM within FDM is used in 2G.
    How do we control this? There are two classes of multiple access algorithms:
  • Centralized: use a privileged "scheduler" to pick who gets to transmit and when
  • E.g. cell towers
  • scales well, usually efficient
  • requires maangement, fairness
  • Distributed: all participants "figure it out"
  • E.g. wifi networks
  • operates well under low load, easy to set up, equality
  • scaling is really hard

A popular distributed random access protocol is MAC: Multiple Access Control.

  • this is the basis for classic Ethernet
    The ALOHA protocol was developed in Hawaii in the 1960s to connect the Hawaiin islands.
  • node just sends whenever it has traffic
  • if there was a collision (no ACK received), then wait a random time and resend
  • really simple, doesn't scale well, but performs surprisingly well under low load.

Classic Ethernet

This simple protocol inspired Bob Metcalfe to invent Ethernet for LANs in 1973.

  • Improves ALOHA by listening for activity before we send, a.k.a. **CSMA (Carrier Sense Multiple Access)
  • Easily done with wires, but not for wireless!
  • Further improved with collision detection CSMA/CD
  • When a conflict happens, send a JAM signal to all nodes.
  • To allow nodes to get the JAM signal in time (beat propagation delay):
  • Impose minimum frame length of 2D seconds
  • Ethernet minimum frame is 64 bytes
  • Max network length must be enforced
  • 500m w/ coax, 100m w/ twisted pair

Wireless

Much more difficult than wired

  • Media is infinite - can't always carrier sense
  • Collisions are much harder to detect, and it takes much longer

MACA (Multiple Access w/ Collision Avoidance) is a way to mitigate these problems

  • Uses a short handshake instead of carrier sense
  • This evolved into current WiFi

But with all of these solutions, there's still only one person using the medium at a time, and there are a lot of inefficiencies.

Switching

This is an alternative solution to multiple access, and is what leads to modern Ethernet.

  • Much more scalable performance