1EE 122: Network ApplicationsKevin LaiAug 28, [email protected] 2Network FunctionalityNetwork 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 experienceGeneralization of Amdahl’s Law from computer architecture- Also applies to metrics other than timeenhancedenhancedenhancednewoldoverallspeedupfractionfractiontimeexecutiontimeexecutionSpeedup+−==)1([email protected] 3Network Applicationshow networks affect users- buy stock in networking companies, work for networking companies- use network applicationsneed to understand application requirements- to build useful networks- to understand why networks are built the way they are- to understand why some ideas [email protected] 4Different Network Applicationstelephony (making a phone call)sending emailweb browsing- buying something- reading newssending instant messagesfile sharingplaying a distributed game watching/listening to streaming [email protected] 5Requirements of the Network throughputlatency cost- compatibility with existing equipment usually lowers cost qualifications- distribution: mean, worst-case- in small bursts / all the timeease of programmabilityrouting- unicast, multicast, [email protected] 6Web Browsing Network RequirementsTransfer 1KB-100KB files- e.g., HTML file, JPEG image Depends on size of content at sites visitedNews oriented sizes (e.g., www.nytimes.com)- Average throughput 32Kb/s – 1Mb/s- Average latency 100 – 250ms- Average loss < 10%Flat rate $20-$50/[email protected] 7Telephony Network Requirements Stream data at 9.6Kb/s – 128Kb/s- an encoded audio signalWired- Worst case throughput 64Kb/s – 128Kb/s- Worst case latency 100ms – 125ms- Loss < 1%- $.01-$.10/minuteMobile- Worst case throughput 9.6Kb/s – 128Kb/s- Worst case latency 100ms – 250ms- Loss < 10%- $.10-$1/[email protected] 8File Sharing RequirementsTransfer 3MB – 600MB file- MP3 audio file, MPEG video fileInbound throughput 128Kb/s – 10Mb/sOutbound throughput 128Kb/s – ? Mb/sFlat rate $20-$50/[email protected] 9Distributed Game Requirementse.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/sLatency 0ms – 250msFlat rate $20-$50/[email protected] 10Comparing ApplicationsResearch 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 gamingOtherwise, little uniformity in application [email protected] 11Designing for RequirementsGiven 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 [email protected] 12Network Service ModelSpecifies what the network does for an application- leaves the rest to the applicationExamples- 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, maybeWhich model satisfies which application?What model do existing networks [email protected] 13Service Model PhilosophiesProvide 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 applicationsPut only the most basic functionality in- e.g., internet- invert above [email protected] 14Service Model PhilosophiesSimpler has predominated (so far)Reduced Instruction Set Computing (RISC) analogyLessFunctionalityMoreFunctionality-IntegratedServices-Asynchronous Transfer Mode (ATM)-DifferentiatedServices-Multicast-Explicit CongestionNotification (ECN)-Best effort [email protected] 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 [email protected] 16SharingMany users of same application using networkUsers of different applications using networkHow to do resource allocation?- resources: bandwidth, memory, CPU cyclesNot all packets are created equal- IP telephony packet must be delivered with low delay- File sharing packet can be delayedNot 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)[email protected] 17Replacing Network ModelEvery service model developed so far has eventually become obsolete- service model optimizes for a particular application mix- application mix changesNetwork 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 linesHow to implement new network service model on top of existing network- solution: overlay
View Full Document