440 likes | 760 Views
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
E N D
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 SwitchedCommunication Network BroadcastCommunication Network Packet-SwitchedCommunication Network Circuit-SwitchedCommunication Network Virtual Circuit Network Datagram 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 SwitchedCommunication Network BroadcastCommunication Network Packet-SwitchedCommunication Network Circuit-SwitchedCommunication Network Virtual Circuit Network Datagram Network
Circuit Switching • Three phases • 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
Circuit Establishment Data Transmission Circuit Termination 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 propagation delay between Host 2 and Node 1
Circuit Switching • Node (switch) in a circuit switching network Node incoming links outgoing links
Circuit Switching: Multiplexing/Demultiplexing • 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! Frames 0 1 2 4 5 0 1 2 4 5 3 3 Slots =
Taxonomy of Communication Networks • Communication networks can be classified based on the way in which the nodes exchange information: Communication Network SwitchedCommunication Network BroadcastCommunication Network Packet-SwitchedCommunication Network Circuit-SwitchedCommunication Network Virtual Circuit Network Datagram 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 Node 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 SwitchedCommunication Network BroadcastCommunication Network Packet-SwitchedCommunication Network Circuit-SwitchedCommunication Network Virtual Circuit Network Datagram 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
Packet 1 Packet 1 Packet 1 Packet 2 Packet 2 Packet 2 Packet 3 Packet 3 Packet 3 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 processing delay of Packet 1 at Node 2
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 SwitchedCommunication Network BroadcastCommunication Network Packet-SwitchedCommunication Network Circuit-SwitchedCommunication Network Virtual Circuit Network Datagram 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
Packet 1 Packet 1 Packet 1 Packet 2 Packet 2 Packet 2 Packet 3 Packet 3 Packet 3 Timing of Virtual-Circuit Packet Switching Host 1 Host 2 Node 1 Node 2 propagation delay between Host 1 and Node 1 VC establishment Data transfer 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 Destination Source
IP-centric View Host C Host D Host A Router 1 Router 2 Router 3 Router 5 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 • 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
Web Get www.icir.org/file.html Proxy Your PC 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: • 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
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