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