Comp 343/443 Fall 2008, 25EP-602, 4:15-6:45 Class 1: History,etc, Packet switching. Layering. Basic services: stream, request/reply loss v delay tolerance bandwidth v propagation delay headers Sketch of Ethernet, IP, routing, UDP, TCP, ports Readings: 1.1, 1.2, 1.3, 1.5 Class 2: Basics of network programming: sockets Ch 2: links Readings: 1.4, 2.1, 2.2, 2.3, 2.4, 2.5 Class 3: Ch 2: encodings, checksums Abstract sliding windows Class 4: Ethernet physical level Switched Ethernet; switch learning datagram forwarding ;; Demo of fixing port # to receive in wclient.java ;; Discussion of duplicated REQ, dallying, old-late-duplicates Class 5: Datagram v Virtual Circuit IP. fragmentation & routing.. subnets, including variable-sized masks Distance-Vector intro Class 6: Slow convergence for DV routing ARP TCP connection management; state diagram connection creation for TCP Building stateful connections on top of stateless layers TCP: timewait, sequence numbering Class 7: Virtual Circuits Source Routing Framing; error detection/correction ICMP, ping &traceroute DHCP Class 8: TCP timeouts IP addressing models; CIDR IP large-scale routing: geographical v provider Midterm exam (~ 1 hour) Class 9: TCP almost-to-Tahoe TCP congestion avoidance More routing issues: SPF, BGP, uses of BGP Class 10:Lingering routing issues, NAT TCP extensions, RPC, T/TCP, NFS TCP Tahoe, Reno ns simulation Greediness of TCP Fairness of TCP cwnd = k / sqrt(P); TCP-friendliness Class 11:multiple IP addrs is norm: web, localhost, lan, ... HighSpeed TCP & the problems necessitating it TFRC Realtime protocols: RTP, VOIP Timing: PacketPairs DecBIT ECN - set one bit to indicate ECN-awareness, other to indicate congestion RED - Random Early Drop TCP Vegas RSVP, IntegratedServices Fair Queuing RED, RIO RPC: Sun, BLAST/CHAN Error-CORRECTING codes correction on project: you don't have to stick with wumppkt.INITTIMEOUT how to compare IP addrs problem with ERROR ctor: need (short) overall structure Class 12: Class 13: Class 14: Final Exam: Dec 10, 2008 ================================================================ Class 1 READ: 1.1, 1.2, 1.3, and 1.5 READ: "A brief overview of networks", web page READ: 2.1-2.3 (skim; this material is tricky) Chapter 1 Network requirements: www/http: file transfers VOIP (Voice (telephone) over IP) network video, 5 250x200 frames/sec, 4 bytes/pixel = 1mB/sec! Well, we can probably manage with 1 byte/pixel Still, with video compression at 10-30-fold, compression becomes part of the network infrastructure. 1.2.1: connectivity v links links: point-to-point v multiple-access you need links to get connectivity, though they alone don't guarantee connectivity; you may also need SWITCHES They work at different levels of abstraction: the cloud model connectivity requires some mechanism (global?) of *addressing* Also switching/routing, usually via store&forward mechanism. Addressing and Routing together unicast v multicast/broadcast 1.2.2: sharing circuit switching: not very practical packets; packet switching packets carry a destination ADDRESS. max packet size as a sharing requirement (also plays role in error handling; ok to lose one packet) packet switching also accomodates *bursty traffic* rather well: an idle station doesn't consume any link resources. Packet switching automatically implements MULTIPLEXING on links. Demultiplexor is the destaddr. PORT NUMBERS allow demultiplexing of multiple streams to same dest. other sharing strategies: STDM: time slicing (popular with voice, where per-connection bandwidth is *fixed*) Phone network optical lines are built around STDM. FDM: like cable-tv channels; not as efficient; obsolete Some of these still appear in cellular telephony (where they still make sense); GSM is a form of STDM; the old AMPS was a form of FDM. switch issues: store-and-forward! queuing, congestion, drop, FIFO, droptail, random-drop, round-robin Sidebar: LANs, MANs, SANs, WANs 1.2.3: common services Reliable bi-directional channel: TCP just read and write; network fixes packet loss and reordering FTP v NFS: file transfer v filesystem sharing FTP & Telnet are obsolete, but are still the canonical examples. New replacements: SFTP/scp, ssh bursty v steady, reliable v loss-tolerant request/reply v message stream delay-indifferent v delay-sensitive delay-sensitive, loss-intolerant is very bad! voice/video requirements jitter NOT DONE: reliability: 4 things that can go wrong: bit errors: typical rate 1 in 10^7 bit-burst errors, eg due to a refrigerator turning on packet drops (eg in queues) backhoes, switch failure and other catastrophic damage 1.3: Layering & Protocols headers HHP - host-to-host protocol (eg IP) RRP - request-reply protocol Layering and architecture (P&D 1.3) (a method of *abstraction*) Levels: 5-level TCP/IP model, 7-level ISO model, summary of levels 5. Application (OSI divides this into Application/Presentation/Session Presentation: compression, byte conversions, encryption Session: local echo, buffering, access rights, billing, portmap 4. Transport (reliable streams; process endpoints) 3. Network (machine endpoints; routing & delivery issues) (BIG) 2. Network interface (eg logical ethernet) (small) 1. Physical (e.g. physical ethernet) HHP/RRP layers; protocol *graphs*, encapsulation (1.3) See Figure 1.14 for an IP graph Multiplexing / Demultiplexing Issues: Robustness & connectedness - can everyone reach everyone else? performance - # of users, demand for bandwidth Internetworking between different protocols (TCP/IP, NetBios, SNA, ...) Scalability -- can a network grow? handling growth of the Internet Authentication and privacy How can one endpoint tell if someone is who they claim to be? trusted hosts v. passwords v. public-key systems interception, modification, spoofing Gateways and routing - how to handle this efficiently management - How can managers detect & fix problems; plan for growth continuous v. bursty traffic options: quality-of-service, real-time performance, multicast, acctg. ============= defer parts if necessary 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 ============================================================================= Sketch of each layer in TCP/IP Ethernet: basic LAN. multiple-access coax versus HUBS (not switches, not yet) everything-is-really-broadcast Network Interfaces & physical addrs; addr uniqueness privacy implications; bandwidth implications packet address format b'cast address uses of b'cast multicast Switched Ethernet: changes lots of the sharing rules (NOT DONE) Other links: NOT DONE week 1 DSL Cable modem Satellite DS1 = T1 = 1.544 Mbps = 1544 Kbps = 24 * 64 Kbps + 8Kbps framing basic voice: 8KBps. 24 voice bytes + 1 framing bit DS3 = T3 = 44.736Mbps STS-1: 51.840 Mbps, aka OC-1 STS-3: 155.520 Mbps = 3*STS-1, aka OC-3 STS-12: 622.080 = 12*STS-1 STS-48 STS-192, 9.9 Gbps ... STS-3072, 159 Gbps STS = SYNCHRONOUS Transport Signal ATM IP: *barely* started week 1 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 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 Uses: TCP: telnet, http/ftp UDP: voice/video. Why? ===============================================================================