UDP et al Goals for today * See an example higher-layer protocol atop IP * Understand some principles of protocol design IP review Missing from IP: * Reliable transport (dropped, corrupted*, out-of-order) * Distinguish between multiple endpoints behind a single interface (ALT: having multiple streams between the same pair of endpoints) * Security (e.g. encryption) * Flow Control * MTU = requirement to segment UDP Provides * Slightly reliable transport (Provides payload checksum) * Distinguish between multiple endpoints behind a single interface * Simple * Works well in environments where anything would * Minimizes latency (at expense of correctness) * Can host higher-level protocols * In particular, protocols managed by userland SW Mechanisms for Protocol Construction * Retransmits * (Forward Error Correction) * Acks * Sliding Window * Latency hiding * Flow control * Compression * Implied Transmission Compression * Change of representation of information from a more verbose one to a more terse * No universal compression scheme * Lossy vs *lossless* * Temporal vs spatial * E.g. IP header * Temporal (addrs in same flow) * Spatial (src vs dest addr) Implied Transmission * Don't send stuff at all if the receiver can figure it out without you * E.g. ACK-ing only certain packets * E.g. X sequence numbers