Network EE 122: Network Applications Kevin Lai Aug 28, 2002 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 Amdahl s Law from computer architecture Speedup overall execution _ time = execution _ time old new = (1 fraction 1 fraction ) + speedup - Also applies to metrics other than time laik@cs.berkeley.edu 2 Network Applications Different Network 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 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 laik@cs.berkeley.edu 3 laik@cs.berkeley.edu 4 1
Requirements of the Network Web Browsing Network Requirements 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 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 < 10% laik@cs.berkeley.edu 5 laik@cs.berkeley.edu 6 Telephony Network Requirements File Sharing 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 < 1% - $.01-$.10/minute Mobile - Worst case throughput 9.6Kb/s 128Kb/s - Worst case latency 100ms 250ms - Loss < 10% - $.10-$1/minute Transfer 3MB 600MB file - MP3 audio file, MPEG video file Inbound throughput 128Kb/s 10Mb/s Outbound throughput 128Kb/s? Mb/s laik@cs.berkeley.edu 7 laik@cs.berkeley.edu 8 2
Distributed Game Requirements Comparing Applications e.g., WarCraft III, Quake III, EverQuest - unlimited number of players stream data about player s state - e.g., location in the world, appearance, items carried, units controlled, etc. Throughput 128Kb/s? Mb/s Latency 0ms 250ms 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 laik@cs.berkeley.edu 9 laik@cs.berkeley.edu 10 Designing for Requirements Network Service Model 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 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? laik@cs.berkeley.edu 11 laik@cs.berkeley.edu 12 3
Service Model Philosophies Service Model Philosophies More Less More Less 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 laik@cs.berkeley.edu 13 -Integrated Services -Asynchronous Transfer Mode (ATM) -Differentiated Services -Multicast -Explicit Congestion Notification (ECN) Simpler has predominated (so far) Reduced Instruction Set Computing (RISC) analogy -Best effort delivery -Ethernet -Unicast laik@cs.berkeley.edu 14 Implementing service model Sharing 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 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) laik@cs.berkeley.edu 15 laik@cs.berkeley.edu 16 4
Replacing 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: 100 s 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 laik@cs.berkeley.edu 17 5