Title: Network Applications
1Network Applications
- Source Kevin Lai, EECS Berkeley
2Network Functionality
- Network functionality is only useful if it
benefits users - also applies to any computer system, but easier
to forget in networking - e.g., Is it worth it to upgrade a 56Kb/s modem
link in your network to 100Mb/s Ethernet? Only if
it significantly improves user experience - Generalization of Amdahls Law from computer
architecture - Also applies to metrics other than time
3Network Applications
- how networks affect users
- buy stock in networking companies, work for
networking companies - use network applications
- need to understand application requirements
- to build useful networks
- to understand why networks are built the way they
are - to understand why some ideas failed
4Different Network Applications
- telephony (making a phone call)
- sending email
- web browsing
- buying something
- reading news
- sending instant messages
- file sharing
- playing a distributed game
- watching/listening to streaming media
5Requirements of the Network
- throughput
- latency
- cost
- compatibility with existing equipment usually
lowers cost - qualifications
- distribution mean, worst-case
- in small bursts / all the time
- ease of programmability
- routing
- unicast, multicast, broadcast
6Web Browsing Network Requirements
- Transfer 1KB-100KB files
- e.g., HTML file, JPEG image
- Depends on size of content at sites visited
- News oriented sizes (e.g., www.nytimes.com)
- Average throughput 32Kb/s 1Mb/s
- Average latency 100 250ms
- Average loss lt 10
- Flat rate 20-50/month
7Telephony Network Requirements
- Stream data at 9.6Kb/s 128Kb/s
- an encoded audio signal
- Wired
- Worst case throughput 64Kb/s 128Kb/s
- Worst case latency 100ms 125ms
- Loss lt 1
- .01-.10/minute
- Mobile
- Worst case throughput 9.6Kb/s 128Kb/s
- Worst case latency 100ms 250ms
- Loss lt 10
- .10-1/minute
8File Sharing Requirements
- Transfer 3MB 600MB file
- MP3 audio file, MPEG video file
- Inbound throughput 128Kb/s 10Mb/s
- Outbound throughput 128Kb/s ? Mb/s
- Flat rate 20-50/month
9Distributed Game Requirements
- e.g., WarCraft III, Quake III, EverQuest
- unlimited number of players
- stream data about players state
- e.g., location in the world, appearance, items
carried, units controlled, etc. - Throughput 128Kb/s ? Mb/s
- Latency 0ms 250ms
- Flat rate 20-50/month
10Comparing Applications
- Research community consistently failed to predict
next popular application - predicted telnet actually email
- predicted ftp actually WWW
- predicted IP telephony actually instant
messaging - predicted streaming actually file sharing
- predicted streaming maybe distributed
gaming - Otherwise, little uniformity in application
requirements
11Designing for Requirements
- Given different application requirements, how to
design network that can run different
applications well? - define network service model
- implement service model on physical technology
- satisfy service model when multiple applications
and users are sharing network - replace obsolete service model
12Network Service Model
- Specifies what the network does for an
application - leaves the rest to the application
- Examples
- Establishes a circuit that guarantees 1Mb/s
from one node to another for .10/s - regardless of other traffic
- Deliver a packet from one node to another with a
delay of at most 100ms for .10/Mb - Deliver a packet with unknown delay for .10/Mb,
but less delay than people paying .05/Mb - Deliver a packet with unknown delay, maybe
- Which model satisfies which application?
- What model do existing networks provide?
13Service Model Philosophies
Less Functionality
More Functionality
- Provide functionality for existing popular
application - e.g., telephone network
- less work for application developers
- some functionality can only be provided by the
network - more expensive network
- per flow state
- not all applications may use functionality
- target applications may be replaced with new
applications - Put only the most basic functionality in
- e.g., internet
- invert above properties
14Service Model Philosophies
Less Functionality
More Functionality
-Integrated Services -Asynchronous Transfer Mode
(ATM)
-Best effort delivery -Ethernet -Unicast
-Differentiated Services -Multicast -Explicit
Congestion Notification (ECN)
- Simpler has predominated (so far)
- Reduced Instruction Set Computing (RISC) analogy
15Implementing service model
- How to implement service model on physical
medium? - e.g., Category 5 cabling, optical fiber, radio
waves - analog ? digital, digital ? analog
- encoding
- how to separate packets
- framing
- physical medium is subject to errors
- e.g., fading, multipath, microwave ovens, sun
spots, etc. - service model may specify higher reliability than
physical medium provides - reliability, error detection
16Sharing
- Many users of same application using network
- Users of different applications using network
- How to do resource allocation?
- resources bandwidth, memory, CPU cycles
- Not all packets are created equal
- IP telephony packet must be delivered with low
delay - File sharing packet can be delayed
- Not all users created equal
- some users pay more
- some users follow rules
- some do not for personal gain (selfish users)
- some do not just to be mean (malicious users)
17Replacing Network Model
- Every service model developed so far has
eventually become obsolete - service model optimizes for a particular
application mix - application mix changes
- Network is much harder to upgrade than other
systems - bad news 100s M nodes ? full upgrade takes
decades - good news use old network to bootstrap new
network - e.g., first Internet nodes used phone lines
- How to implement new network service model on top
of existing network - solution overlay networks