Title: EECS 122: Introduction to Computer Networks Network Service and Applications
1EECS 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
2Overview
- Taxonomy of Communication Networks
- Services and Applications
3Taxonomy 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
4Broadcast 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
5Taxonomy 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
6Circuit Switching
- Three phases
- circuit establishment
- data transfer
- circuit termination
- If circuit not available Busy signal
- Examples
- Telephone networks
- ISDN (Integrated Services Digital Networks)
7Telegraph Network
- Alexander Graham Bell
- 1876 Demonstrates the telephone at US Centenary
Exhibition in Philadelphia
8Telephone Network
- Almon Brown Strowger (1839 - 1902)
- 1889 Invents the girl-less, cuss-less
telephone system, aka the mechanical switching
system
9Timing 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
10Circuit Switching
- Node (switch) in a circuit switching network
Node
incoming links
outgoing links
11Circuit Switching Multiplexing/Demultiplexing
Frames
0
1
2
3
4
5
0
1
2
3
4
5
Slots
- 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
receiversurprisingly 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!
12Taxonomy 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
13Packet 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
14Packet Switching
- Node in a packet switching network
Node
incoming links
outgoing links
Memory
15Packet 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
16Taxonomy 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
17Datagram Packet Switching
- Each packet is independently switched
- Each packet header contains destination address
- No resources are pre-allocated (reserved) in
advance - Example IP networks
18Timing 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
19Datagram 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
20Taxonomy 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
21Virtual-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
22Virtual-Circuit Packet Switching
- Communication with virtual circuits takes place
in three phases - VC establishment
- data transfer
- VC disconnect
- Note packet headers dont need to contain the
full destination address of the packet
23Timing 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
24Datagram 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
25Packet-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 31 for audio, and 151 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
26Overview
- Taxonomy of Communication Networks
- Services and Applications
27The 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
28Addressing
- 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
29IP-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
30Physical 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
31Back 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
32Routing
- 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
33Internet 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?
34Domain 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
mappingsa kind of content distribution system as
well - Unsung hero of the Internet
35File 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
36Question
- Why isnt the network in this picture?
- Network just delivers (or not) packets to their
destination - It plays no other role in application
- Obvious concept now, but novel at the time
- Compare to phone switches
- Makes it both harder and easier for applications
- Hosts more complex, applications less efficient
- Long-term flexibility
37Email
- Email message exchange is similar to previous
example, except - Exchange is between mail servers
- DNS gives name of mail server for domain
38Web
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
39Caching
- 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...
40Content 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
requesters IP address
41Gnutella (P2P)
Overlay Network
Dashed lines are virtual links
42Gnutella (contd)
- 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.....
43Overlay 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
44Architecture
- The assignment of tasks and knowledge
- Who does what, and where is the state kept?
- How they do it algorithms and implementation
45Internet 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
46Different Application Requirements
- Delay
- Interactive audio/video low per-packet delay
- Large file transfer per-packet delay unimportant
- Bandwidth
- High-quality video needs lots of bandwidth
- Low-quality audio needs little
- Loss
- Applications respond to loss very differently
47Requirements for File Transfer
- Size of transfers differ wildly
- Vast majority of transfers are small
- But most bytes are in the large transfers
- Mice vs elephants
- Small transfers
- Care about per-packet delay, not about bandwidth
- Large transfers
- Care about bandwidth, not per-packet delay
48Host-centric vs Data-centric
- Most early Internet applications were
host-centric - FTP file exchange between hosts
- Email exchange between email servers
- Audio/Video stream between hosts
- Users knew the host they wanted to contact, and
used DNS to figure out the IP address of the
relevant host. - Some modern applications are data-centric
- Web I want www.cnn.com, but I dont care which
host it comes from - Gnutella I know the song title, but not who has
it - What is the right data-centric architecture?