1 katz, stoica f04 eecs 122: introduction to computer networks network service and applications...
Post on 21-Dec-2015
214 views
TRANSCRIPT
1Katz, Stoica F04
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
2Katz, Stoica F04
Overview
• Taxonomy of Communication Networks• Services and Applications
3Katz, Stoica F04
Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Network
SwitchedCommunication
Network
BroadcastCommunication
Network
Circuit-Switched
Communication Network
Packet-Switched
Communication Network
Datagram Network
Virtual Circuit Network
4Katz, Stoica F04
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
Broadcast vs. Switched Communication Networks
5Katz, Stoica F04
Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Network
SwitchedCommunication
Network
BroadcastCommunication
Network
Circuit-Switched
Communication Network
Packet-Switched
Communication Network
Datagram Network
Virtual Circuit Network
6Katz, Stoica F04
Circuit Switching
Three phases1. circuit establishment
2. data transfer
3. circuit termination
If circuit not available: “Busy signal” Examples
- Telephone networks
- ISDN (Integrated Services Digital Networks)
7Katz, Stoica F04
Telegraph Network
Alexander Graham Bell- 1876: Demonstrates the telephone at US Centenary
Exhibition in Philadelphia
8Katz, Stoica F04
Telephone Network
Almon Brown Strowger (1839 - 1902)- 1889: Invents the “girl-less, cuss-less” telephone
system, aka the mechanical switching system
9Katz, Stoica F04
Timing in Circuit Switching
DATA
Circuit Establishment
Data Transmission
Circuit Termination
Host 1 Host 2Node 1 Node 2
propagation delay between Host 1 and Node 1
propagation delay between Host 2 and Node 1
processing delay at Node 1
10Katz, Stoica F04
Circuit Switching
Node (switch) in a circuit switching network
incoming links outgoing linksNode
11Katz, Stoica F04
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 3 4 5 0 1 2 3 4 5Slots =
12Katz, Stoica F04
Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Network
SwitchedCommunication
Network
BroadcastCommunication
Network
Circuit-Switched
Communication Network
Packet-Switched
Communication Network
Datagram Network
Virtual Circuit Network
13Katz, Stoica F04
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
14Katz, Stoica F04
Packet Switching
Node in a packet switching network
incoming links outgoing linksNode
Memory
15Katz, Stoica F04
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
16Katz, Stoica F04
Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Network
SwitchedCommunication
Network
BroadcastCommunication
Network
Circuit-Switched
Communication Network
Packet-Switched
Communication Network
Datagram Network
Virtual Circuit Network
17Katz, Stoica F04
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
18Katz, Stoica F04
Packet 1
Packet 2
Packet 3
Packet 1
Packet 2
Packet 3
Timing of Datagram Packet Switching
Packet 1
Packet 2
Packet 3
processing
delay of Packet 1 at Node 2
Host 1 Host 2Node
1Node
2
propagationdelay betweenHost 1 and Node 2
transmission time of Packet 1at Host 1
19Katz, Stoica F04
Datagram Packet Switching
Host A
Host BHost E
Host D
Host C
Node 1 Node 2
Node 3
Node 4
Node 5
Node 6 Node 7
20Katz, Stoica F04
Communication networks can be classified based on the way in which the nodes exchange information:
Taxonomy of Communication Networks
Communication Network
SwitchedCommunication
Network
BroadcastCommunication
Network
Circuit-Switched
Communication Network
Packet-Switched
Communication Network
Datagram Network
Virtual Circuit Network
21Katz, Stoica F04
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
22Katz, Stoica F04
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
23Katz, Stoica F04
Packet 1
Packet 2
Packet 3
Packet 1
Packet 2
Packet 3
Timing of Virtual-Circuit Packet Switching
Packet 1
Packet 2
Packet 3
Host 1 Host 2Node
1Node
2
propagation delay between Host 1 and Node 1VC
establishment
VCtermination
Datatransfer
24Katz, Stoica F04
Datagram Packet Switching
Host A
Host BHost E
Host D
Host C
Node 1 Node 2
Node 3
Node 4
Node 5
Node 6 Node 7
25Katz, Stoica F04
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
26Katz, Stoica F04
Overview
• Taxonomy of Communication Networks Services and Applications
27Katz, Stoica F04
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”
28Katz, Stoica F04
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:
Source Destination
Network
29Katz, Stoica F04
IP-centric View
Host A
Host BHost E
Host D
Host C
Router 1 Router 2
Router 3
Router 4
Router 5
Router 6 Router 7
30Katz, Stoica F04
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
31Katz, Stoica F04
Back to IP
Host A
Host BHost E
Host D
Host C
Router 1 Router 2
Router 3
Router 4
Router 5
Router 6 Router 7
32Katz, Stoica F04
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
33Katz, Stoica F04
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?
34Katz, Stoica F04
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
35Katz, Stoica F04
File Transfer (FTP, SCP, etc.)
Get file from soup.cs.berkeley.edu
DNS
soup.cs.berkeley.eduGet address for soup.cs.berkeley.edu 67.132.22.5
Get file
file
Your PC
37Katz, Stoica F04
Email message exchange is similar to previous example, except
Exchange is between mail servers DNS gives name of mail server for domain
38Katz, Stoica F04
Web
Get www.icir.org/file.html
DNS
www.icir.orgGet address for
www.icir.org 67.132.22.5
Get file.html
file.html
Your PC Proxy
39Katz, Stoica F04
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...
40Katz, Stoica F04
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
41Katz, Stoica F04
Gnutella (P2P)
Overlay Network
Dashed lines are “virtual links”
42Katz, Stoica F04
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.....
43Katz, Stoica F04
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
44Katz, Stoica F04
Architecture
The assignment of tasks and knowledge
Who does what, and where is the state kept?
How they do it: algorithms and implementation
45Katz, Stoica F04
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