Introduction to Networking part 2 * Quick review * Networking hardware * CRC and ECC * HW / SW split * Course Enrollment Key: inetme Review * We will be sending "packets" (collections of bits) from a "source endpoint", over a sequence of "links" controlled by "routers", to a "destination endpoint" * Two key parameters: * "Throughput": How much data can be sent per second * "Latency": How long it takes a packet to get from source to destination * Quantifying is tricky: "Effective"? "Mean"? * Packet / address size / structure matter Networking Hardware * Ethernet * "Classic": Bus, CSMA/CD * Modern = 100BASE-TX and newer: Point-to-point serial * 802.11 / WiFi * Niche: Zigbee, Bluetooth, IrDA, APR CSMA/CD * Carrier Sense Multiple Access / Collision Detect * "Aloha": Send, then listen for overlapped send * Contrast CSMA/CA * Randomization Check Codes and Correcting Codes * Tradeoff redundancy for reliability * Check codes: Give probabilistic good / bad for packet * Essentially hash of packet contents * Good probabilistic guarantees * Standard: "CRC" Cyclic Redundancy Check codes * Use polynomial computation in GF(2**n) * Highly efficient * Correcting codes: More redundancy for error correction * Correct n-bit errors for small n * Interleaving Hardware, Firmware, Software * Link Layer: Ethernet MAC * Source Address * Destination Address * Control Stuff * Payload * CRC