EECS 122: Introduction to Computer Networks Network Service and Applications Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776 Katz, Stoica F04 1 Overview • • Taxonomy of Communication Networks Services and Applications Katz, Stoica F04 2 Taxonomy of Communication Networks Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Circuit-Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network Katz, Stoica F04 3 Broadcast vs. Switched Communication Networks Broadcast Communication Networks - Information transmitted by any node is received by every other node in the network • Examples: usually in LANs (Ethernet, WiFi) - Problem: coordinate the access of all nodes to the shared communication medium (Multiple Access Problem) Switched Communication Networks - Information transmitted to a sub-set of designated nodes • Examples: WANs (Telephony Network, Internet) - Problem: how to forward information to intended node(s)? • Done by special nodes (e.g., routers, switches) executing routing protocols Katz, Stoica F04 4 Taxonomy of Communication Networks Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Circuit-Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network Katz, Stoica F04 5 Circuit Switching Three phases 1. circuit establishment 2. data transfer 3. circuit termination If circuit not available: “Busy signal” Examples - Telephone networks ISDN (Integrated Services Digital Networks) Katz, Stoica F04 6 Telegraph Network Alexander Graham Bell - 1876: Demonstrates the telephone at US Centenary Exhibition in Philadelphia Katz, Stoica F04 7 Telephone Network Almon Brown Strowger (1839 - 1902) - 1889: Invents the “girl-less, cuss-less” telephone system, aka the mechanical switching system Katz, Stoica F04 8 Timing in Circuit Switching Host 1 Node 1 Node 2 Host 2 processing delay at Node 1 propagation delay between Host 1 and Node 1 Circuit Establishment propagation delay between Host 2 and Node 1 Data Transmission DATA Circuit Termination Katz, Stoica F04 9 Circuit Switching Node (switch) in a circuit switching network incoming links Node outgoing links Katz, Stoica F04 10 Circuit Switching: Multiplexing/Demultiplexing Frames Slots = 0 1 2 3 4 5 0 1 2 3 4 5 Time divided in frames and frames into slots Relative slot position inside a frame determines to which conversation data belongs - E.g., slot 0 belongs to red conversation Requires synchronization between sender and receiver— surprisingly difficult! In case of non-permanent conversations - Needs to dynamically bind a slot to a conservation - How to do this? If a conversation does not use its circuit the capacity is lost! Katz, Stoica F04 11 Taxonomy of Communication Networks Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Circuit-Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network Katz, Stoica F04 12 Packet Switching Data sent as formatted bit-sequences (Packets) Packets have following structure: Header Data Trailer • Header and Trailer carry control information (e.g., destination address, check sum) Each packet traverses the network from node to node along some path (Routing) At each node the entire packet is received, stored briefly, and then forwarded to the next node (Store-and-Forward Networks) Typically no capacity is allocated for packets Katz, Stoica F04 13 Packet Switching Node in a packet switching network incoming links Node outgoing links Memory Katz, Stoica F04 14 Packet Switching: Multiplexing/Demultiplexing Data from any conversation can be transmitted at any given time - Single conversation can use the entire link capacity if it is alone How to tell them apart? - Use meta-data (header) to describe data Katz, Stoica F04 15 Taxonomy of Communication Networks Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Circuit-Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network Katz, Stoica F04 16 Datagram Packet Switching Each packet is independently switched - Each packet header contains destination address No resources are pre-allocated (reserved) in advance Example: IP networks Katz, Stoica F04 17 Timing of Datagram Packet Switching Host 1 transmission time of Packet 1 at Host 1 Node 1 Packet 1 Host 2 Node 2 propagation delay between Host 1 and Node 2 Packet 2 Packet 1 Packet 3 processing delay of Packet 1 at Node 2 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 Katz, Stoica F04 18 Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Node 6 Node 7 Host E Node 4 Katz, Stoica F04 19 Taxonomy of Communication Networks Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Circuit-Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network Katz, Stoica F04 20 Virtual-Circuit Packet Switching Hybrid of circuit switching and packet switching - Data is transmitted as packets - All packets from one packet stream are sent along a pre-established path (=virtual circuit) Guarantees in-sequence delivery of packets However, packets from different virtual circuits may be interleaved Example: ATM networks Katz, Stoica F04 21 Virtual-Circuit Packet Switching Communication with virtual circuits takes place in three phases 1. VC establishment 2. data transfer 3. VC disconnect Note: packet headers don’t need to contain the full destination address of the packet Katz, Stoica F04 22 Timing of Virtual-Circuit Packet Switching Host 1 Node 1 Host 2 Node 2 propagation delay between Host 1 and Node 1 VC establishment Packet 1 Packet 2 Packet 1 Data transfer Packet 3 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 VC termination Katz, Stoica F04 23 Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Node 6 Node 7 Host E Node 4 Katz, Stoica F04 24 Packet-Switching vs. Circuit-Switching Most important advantage of packet-switching over circuit switching: Exploitation of statistical multiplexing: - Efficient bandwidth usage; ratio between peek and average rate is 3:1 for audio, and 15:1 for data traffic However, packet-switching must handle congestion: - More complex routers - Harder to provide good network services (e.g., delay and bandwidth guarantees) In practice they are combined: - IP over SONET, IP over Frame Relay Katz, Stoica F04 25 Overview • Taxonomy of Communication Networks Services and Applications Katz, Stoica F04 26 The Internet Protocol (IP) Problem: - Many different network technologies - e.g., Ethernet, Token Ring, ATM, Frame Relay, etc. - How can you hook them together? • n x n translations? IP was invented to glue them together - n translations - Minimal requirements (datagram) The Internet is founded on IP - “IP over everything” Katz, Stoica F04 27 Addressing Every Internet host has an IP address - e.g., 67.114.133.15 Packets include destination address - Network is responsible for routing packet to address Host-view: Network Sourc e Destination Katz, Stoica F04 28 IP-centric View Host C Host D Host A Router 1 Router 2 Router 3 Router 5 Host B Router 6 Router 7 Host E Router 4 Katz, Stoica F04 29 Physical View A big mess! Every “link” could be a whole network of ATM, frame relay, ethernet, DSL, etc. Beauty of IP: you can ignore these different network technologies In many networks, IP is used only at the edge Katz, Stoica F04 30 Back to IP Host C Host D Host A Router 1 Router 2 Router 3 Router 5 Host B Router 6 Router 7 Host E Router 4 Katz, Stoica F04 31 Routing Routers have “routing tables” - Tables mapping each destination with an outgoing link - Requires that routing table is highly compressible! - Implications for address assignment, mobility, etc. Routing decisions made packet-by-packet - Routers keep no connection state Question: Why have the network do routing? - Why not the hosts? - Compare delivery-by-hand to FedEx Katz, Stoica F04 32 Internet Service • “Best-Effort” service - No guarantees about packet delivery - Hosts must cope with loss and delay Why this service model? - Why not guarantee no loss and low delay? Katz, Stoica F04 33 Domain Name Service (DNS) Humans/applications use machine names - e.g., www.cs.berkeley.edu Network (IP) uses IP addresses - e.g., 67.114.112.23 DNS translates between the two - An overlay service in its own right - Global distribution of name-to-IP address mappings—a kind of content distribution system as well - Unsung hero of the Internet Katz, Stoica F04 34 File Transfer (FTP, SCP, etc.) Get file from soup.cs.berkeley.edu Get file Your PC file soup.cs.berkeley.edu Get address for soup.cs.berkeley.edu 67.132.22.5 DNS Katz, Stoica F04 35 Email Email message exchange is similar to previous example, except Exchange is between mail servers DNS gives name of mail server for domain Katz, Stoica F04 37 Web Get www.icir.org/file.html Your PC Proxy Get file.html file.html www.icir.org Get address for www.icir.org 67.132.22.5 DNS Katz, Stoica F04 38 Caching Caches can be visible or transparent Visible: - Client is configured to ask cache Transparent: - Cache intercepts packet on its way to web server - Example of a “application-aware middlebox” - Violates purity of architecture, but are prevalent... Katz, Stoica F04 39 Content Distribution Network (CDN) How to get closest copy of replicated content? CDNs have mirror servers distributed globally CDN customers allow CDN to run their DNS “Smart” DNS server returns results based on requester’s IP address Katz, Stoica F04 40 Gnutella (P2P) Overlay Network Dashed lines are “virtual links” Katz, Stoica F04 41 Gnutella (cont’d) User asks for file (by metadata) Each host sends request to its “neighbors” in overlay network Responses sent back to original requesting node Many variations on P2P file sharing..... Katz, Stoica F04 42 Overlay Networks Create a set of “virtual links” between hosts Communication between neighbors on overlay is done by IP But the overlay can use different routing, or application-specific processing, at overlays nodes IP is often overlay on circuit-switched network - App-specific networks increasingly overlaid on IP Katz, Stoica F04 43 Architecture The assignment of tasks and knowledge Who does what, and where is the state kept? How they do it: algorithms and implementation Katz, Stoica F04 44 Internet Architecture Routers do routing, and almost nothing else - No application-specific functions Hosts do all application-specific processing Allowed wide variety of applications to flourish on Internet Katz, Stoica F04 45