Week 2 bandwidth v delay IP/UDP/TCP overview continued 2.1-2.4 sliding windows READ: 1.5, 2.1-2.5, 2.6 (next week) 1.5: bandwidth v delay (esp propagation delay) delay: propagation + bandwidth (transmit) + queue basic diagrams one packet, no switching, with propagation delay and bandwidth delay one packet through a switch three smaller packets through a switch prop delay >> bandwidth delay implications for protocols: bandwidth-limited: easy to design for; extra RTTs don't cost much delay-limited, eg to moon (0.3 sec RTT), jupiter (1 hour RTT) cross-continental us roundtrip delay: ~100ms. At 1.0 Mbit, this is 10K or so. At 1.0 Gbit, this is 10,000K. 100 RTTs v 101 RTTs: not significant 1 RTT v 2 RTTs: very significant Latency = propagation + transmit (bandwidth) + queue Propagation = Distance / speed_of_light Transmit = Size / Bandwidth Usually, to good approximation most of the delay is propagation, and so latency and bandwidth are effectively independent. Note that when propagation delay is small, though, the two are interrelated. Delay x Bandwidth (usually RTT delay), and pipe size 1 ms x 10 mbps = 1200 bytes ~ 1 packet 100 ms x 1.5mbps = 20 K 100 ms x 600 mbps = 8 MB! EXAMPLE: prop delay 40 microsec bandwidth 1 byte/microsec Send 200-byte packet Case 1: A------------B Case 2: A---------------------------------------B, prop delay 4ms Case 3: A------------R----------B, each link prop delay 40 microsec Case 4: same as 3, but send two 100-byte packets ================================================= IP: Administratively assigned addresses Net/host portion IP delivers to destination NETWORK; That network must correspond to a physical LAN that can complete the delivery CLASSIC IP: classes A, B, C (deprecated) IP header v Ethernet header (ignore fields of IP header for now) What an IP ROUTER does Extraction of Dest_net Routing tables Routing table size No b'cast (well, sort of) best-effort delivery Example of delivery through a router More on IP: Class A, B, C rules: how to separate A_net and A_host Larger routing table? IP routing algorithm: decide if you connect to dest network No: forward to next router Yes: use LAN to deliver Significance of administrative assignment compare to Ethernet switch, with per-host forwarding table Goal of smaller routing tables Two benefits to IP: 1. allows interconnection ("internetworking") of incompatible LANs 2. routing strategy is SCALABLE: works well with very large Internet UDP User Datagram Protocol very simple extension to IP; basically just adds PORT NUMBERS for application-level multiplexing Socket = Everything sent to a socket is delivered to the same place demo of stalkc, stalks (later) demo with two clients TCP Adds: stream-oriented connection: no application packetization reliability port-number mulitplexing like UDP Also: uses sliding-windows to keep max traffic en route at any one time Adapts sliding-windows to manage congestion You connect TO a socket = Everything sent ON THAT CONNECTION goes to same place. doesn't received directly; only "connected_sockets" receive TCP (with windows, retransmission) connection-oriented stream-oriented reliability: timeout & retransmission sliding windows congestion? ================================================== Chapter 2 Direct links: Read 2.1: basic ideas "as a network node, a workstation runs at memory speeds, not CPU speeds" 2.2: Problem with NRZ. Manchester and 4B/5B NRZ: 0=lo, 1=hi NRZI: 0=notransition, 1=transition Manchester: add clock pulse between each 0/1