Understanding Networked Applications: A First Course Chapter 20 by David G. Messerschmitt Outline • Industry structure • Communication link characteristics • Mitigating the impact of a link: – Compression – Caching – Mobile code Understanding Networked Applications 2 A First Course Industry Structure • At the link layer, bits are bits – Voice over IP – IP over voice • New technologies for access links • Deregulation • Turbulent times ahead Understanding Networked Applications 3 A First Course IP over Voice Public telephone network Computer w/modem Computer w/modem Gateway Internet Understanding Networked Applications 4 A First Course Voice over IP Public telephone network Plain old telephone Gateway IP telephone Internet Understanding Networked Applications 5 A First Course Understanding Networked Applications: A First Course Communication Link by David G. Messerschmitt Simplest link: fiber optics Speed of light Pulse of light = “1” Understanding Networked Applications Absence of pulse = “0” 7 A First Course Key Concepts • Bitrate – bits accepted per unit of time • Transmission time – Time to get all bits transmitted on link • Propagation delay – Time for each bit to reach destination • Message latency – transmission time + propagation delay Understanding Networked Applications 8 A First Course Conveyer belt analogy Bits waiting to be sent = “0” = “1” Conveyer belt Bits that have already been received Constant speed Understanding Networked Applications 9 A First Course Conveyer belt parameters Conveyer belt Speed = predetermined by Einstein Length = predetermined by distance Size of block Where we have Bits communicated per block control Understanding Networked Applications 10 A First Course Determinants of Propagation Time • Speed of propagation – speed of conveyor belt – limited by medium • Distance – length of conveyor belt – closer is faster • Remember: this is one link – Routers/switches introduce extra delay Understanding Networked Applications 11 A First Course Determinants of Bitrate • Bandwidth – size of blocks on conveyor belt – how rapidly the signal changes • Spectral efficiency – number of bits written on each block – how many distinguishable signal levels – depends on s/n ratio of medium • Popular usage: Bandwidth = bitrate Understanding Networked Applications 12 A First Course Ways to increase bitrate Make blocks smaller and put them on belt faster Conveyer belt Use blocks with more shades of gray (more bits per block) Conveyer belt Understanding Networked Applications 13 A First Course Wavelength division multiplexing (WDM) Stack blocks with different colors Conveyer belt Today in commercial use: 40 wavelengths, each at 10 Gbps Understanding Networked Applications 14 A First Course Numerical parameters B = Bitrate = rate bits put on belt Conveyer belt = Propagation delay = distance/speed B = Bitrate x delay = # bits in transit Understanding Networked Applications 15 A First Course The Graphical Version Transmit time Message latency Message in transit Propagation latency Distance Time Understanding Networked Applications 16 A First Course Message latency Message latency = Time to transmit message (m/B) + Time for last bit to reach destination () These two components are equal when Message length = bitrate x delay (m = B) Understanding Networked Applications 17 A First Course Bitrate-limited case Propagation delay-limited delay Understanding Networked Applications 18 A First Course m << B Entire message in transit most of the time m >>B Only part of message in transit at any time Propagation delay-limited Bitrate-limited Time Understanding Networked Applications Distance 19 A First Course Two situations • Bitrate limited – Increasing bit rate decreases message latency – True for long messages • Propagation delay limited – Increasing bit rate has little impact on message latency – True to short messages • Over time, with technology advances, we become delay limited! Understanding Networked Applications 20 A First Course B = number of bits in transit Bitrate (b/s) 28.8 kb/s Distance 1.5 Mb/s 622 Mb/s Across chip <<1 b <<1 b <<1 One meter <<1 b <<1 b 5 Across U.S.A. 891 b 4780 b 19 Mb Halfway around world 4460 b 239 kb 96 Mb Large! Assumption: v = c/2 = 1.5 x 108 meters/sec) Understanding Networked Applications 21 A First Course Physical Media • Wired – fiber optics – coax – twisted pair (copper) • Wireless – Terrestrial radio – Satellite (long propagation delays) Understanding Networked Applications 22 A First Course Fundamental limitation • Over time – Bitrates increase with electronics and fiber optics advances – Message latencies become delay-limited – Further technological advances have little impact on application performance • Exception: wireless Understanding Networked Applications 23 A First Course Mitigating communication bottlenecks • Bitrate-limited regime – Compression • Delay-limited regime – Caching – Mobile code – In the future, these techniques will be very important Understanding Networked Applications 24 A First Course Compression • Lossless – Typically 2x or 3x • Lossy (but imperceptible) – Easily 10x for audio and 100x for video – Discards perceptually unimportant information • Important for today’s bitrate-limited regime Understanding Networked Applications 25 A First Course Caching Communication bottleneck Remote data being accessed Future references (where Local cache possible) Predictive caching becomes very important in the delay-limited regime Understanding Networked Applications 26 A First Course Mobile code Send code Communication bottleneck Execute locally Mobile code is especially useful to enable faster interaction in the delay limited regime Understanding Networked Applications 27 A First Course 1 0 1 1 Bitrate-limited case 1 0 1 0 0 0 1 0 1 Propagation delay-limited delay 1011101000101 Understanding Networked Applications 28 A First Course Understanding Networked Applications: A First Course Supplements by David G. Messerschmitt Series2 Time Period T Frequency f = 1/T Understanding Networked Applications 30 A First Course Symbol interval 11 10 10 11 10 10 11 Time 01 01 00 11 10 11 10 10 11 10 Time 01 01 00 Understanding Networked Applications 31 A First Course Ethernet Hosts Bus Switch Tree Broadcast Understanding Networked Applications 32 A First Course Web server Filter HTML or XML Wireless access protocol Proxy WML Understanding Networked Applications 33 A First Course Access time S 2C C Hit rate H S-2C 1 S-C S = 100C H = 0.989 Understanding Networked Applications 34 A First Course