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
Overview Taxonomy of Communication Networks Services and Applications
Taxonomy of Communication Networks Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Circuit-Switched Communication Network Datagram Network Virtual Circuit Network
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
Taxonomy of Communication Networks Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Circuit-Switched Communication Network Datagram Network Virtual Circuit Network
Circuit Switching Three phases If circuit not available: “Busy signal” circuit establishment data transfer circuit termination If circuit not available: “Busy signal” Examples Telephone networks ISDN (Integrated Services Digital Networks)
Telegraph Network Alexander Graham Bell 1876: Demonstrates the telephone at US Centenary Exhibition in Philadelphia
Telephone Network Almon Brown Strowger (1839 - 1902) 1889: Invents the “girl-less, cuss-less” telephone system, aka the mechanical switching system
Timing in Circuit Switching Host 1 Host 2 Node 1 Node 2 DATA processing delay at Node 1 propagation delay between Host 1 and Node 1 Circuit Establishment Data Transmission Circuit Termination propagation delay between Host 2 and Node 1
Circuit Switching Node (switch) in a circuit switching network incoming links Node outgoing links
Circuit Switching: Multiplexing/Demultiplexing Frames Slots = 1 2 3 4 5 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!
Taxonomy of Communication Networks Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Circuit-Switched Communication Network Datagram Network Virtual Circuit Network
Packet Switching Data sent as formatted bit-sequences (Packets) Packets have following structure: 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 Header Data Trailer
Packet Switching Node in a packet switching network incoming links outgoing links Memory
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
Taxonomy of Communication Networks Communication networks can be classified based on the way in which the nodes exchange information: Communication Network Switched Communication Network Broadcast Communication Network Packet-Switched Communication Network Circuit-Switched Communication Network Datagram Network Virtual Circuit Network
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
Timing of Datagram Packet Switching Host 1 Host 2 Node 1 Node 2 propagation delay between Host 1 and Node 2 transmission time of Packet 1 at Host 1 Packet 1 Packet 2 Packet 3 processing delay of Packet 1 at Node 2 Packet 1 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3
Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Host E Node 7 Node 6 Node 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 Broadcast Communication Network Packet-Switched Communication Network Circuit-Switched Communication Network Datagram Network Virtual Circuit Network
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
Virtual-Circuit Packet Switching Communication with virtual circuits takes place in three phases VC establishment data transfer VC disconnect Note: packet headers don’t need to contain the full destination address of the packet
Timing of Virtual-Circuit Packet Switching Host 1 Host 2 Node 1 Node 2 propagation delay between Host 1 and Node 1 VC establishment Packet 1 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 Data transfer Packet 1 Packet 2 Packet 3 VC termination
Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Host E Node 7 Node 6 Node 4
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
Overview Taxonomy of Communication Networks Services and Applications
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”
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 Source Destination
IP-centric View Host C Host D Host A Router 1 Router 2 Router 3 Host B Host E Router 7 Router 6 Router 4
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
Back to IP Host C Host D Host A Router 1 Router 2 Router 3 Router 5 Host B Host E Router 7 Router 6 Router 4
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
Internet Service “Best-Effort” service Why this service model? No guarantees about packet delivery Hosts must cope with loss and delay Why this service model? Why not guarantee no loss and low delay?
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
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
Email Email message exchange is similar to previous example, except Exchange is between mail servers DNS gives name of mail server for domain
Get www.icir.org/file.html 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
Caching Caches can be visible or transparent Visible: Transparent: 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...
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
Dashed lines are “virtual links” Gnutella (P2P) Overlay Network Dashed lines are “virtual links”
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.....
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
Architecture The assignment of tasks and knowledge Who does what, and where is the state kept? How they do it: algorithms and implementation
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