CS 457 - Lecture 2 Network Performance Fall 2011
How Is the Link Shared? Circuit Switched or Packet Switched Circuit switching dedicate link bandwidth & switch capacity to each “call” Requires call setup Guaranteed performance Packet switching Packet: small chunks of data Send packets as soon as link available Switch receives a full packet then forwards it towards the destination How to share the same physical network Guaranteed performance means exactly the defined performance, not the best performance Some hosts may want to send faster than some others Packet switching buffers data -> delay
Circuit Switching: FDM and TDM Example: 2 users FDM frequency time network resources (e.g., bandwidth) divided into “pieces” pieces allocated to calls Notice that one must send at constant rate to fully use the allocated resource; otherwise it is wasted. May not matter to you, but may matter to others who want to go faster than the allocated rate. Another problem: bursty behavior of most data sources resource piece idle if not used by owning call (no sharing) dividing link bandwidth into “pieces” frequency division time division Two simple multiple access control techniques. Circuit switching net has no memory Problems: - Idle channels - Reject further users when the system full TDM frequency time
Packet Switching: Statistical Multiplexing Store-and-forward Packet switch can temporarily buffer up packets Introduces queueing delay Packets get dropped when the queue is full
How Many Users Can Share? Given 1 megabits/sec (1 Mbps) link Assume each user: User send 100,000 bits/sec when “active” User is active 10% of time 100% of capacity used if 10 active users. Circuit-switching: Link can support 10 users Packet Switching: Link can support 35 users Prob.(n > 10) 0.0004 Great for bursty data resource sharing no call setup Excessive congestion: packet delay and loss protocols needed for reliable data transfer, congestion control Q: How to provide circuit-like behavior to less flexible applications? performance (delay/thruput) bounds needed for audio/video apps still a developing area….sometimes it is network problem and sometimes application (chapter 6) 1 Mbps link
Circuit Switching Performance Given 1 megabits/sec (1 Mbps) link Divided into 10 distinct slices (TDM or FDM) No Interaction between users Potential bandwidth for my connection is 1 Mbps/10 = 100,000 bps How long to send 4 Mb file? 4 Mb / 100,000 bps = 40 sec Plus some delay to setup connection Assume 1 seconds Total of 41 seconds Throughput = 97,560 bps How long to send 100,000b file? 100,000b / 100,000bps = 1 sec Total of 2 seconds Throughput = 50,000 bps Great for bursty data resource sharing no call setup Excessive congestion: packet delay and loss protocols needed for reliable data transfer, congestion control Q: How to provide circuit-like behavior to less flexible applications? performance (delay/thruput) bounds needed for audio/video apps still a developing area….sometimes it is network problem and sometimes application (chapter 6) 1 Mbps link
Packet Switching Performance = L / R Transmission R = link bandwidth (bps) L = packet length (bits) Propagation d = length of physical link s = propagation speed in medium (~2x108 m/sec) Queueing = #packets in queue X transmission time of each packet = d/s transmission A propagation C B queueing
Delay on A Single Link Relevant Specifications Assumptions Bandwidth: R = 1 Mbps Packet Size: L = 1000 bits Link length: d = 100 km Propagation Speed: s = 2.0 x 10^8 m/sec (typical fiber) Assumptions qlength = 2 Packets in queue when our packet arrives Total Delay = transmit + prop + queue = (L/R) + (d/s) + (qlength * L/R) = (1000/1000000) + (100000/2 x 10^8) + (2*1000/1000000) = 3.5 ms
Some Comments about Units Bits or Bytes Bits denoted by “b” Bytes denoted by “B” Mb = megabits while MB = megabytes Kb = kilobits while KB = kilobytes How big is K and M? It depends…. Mega = 2^20, Kilo = 2^10 Mega = 10^6, Kilo = 10^3 Bandwidth uses powers of 10 Tied to MHz which is 10^6 hertz So bandwidth of 1 Mbps = 10^ bits per second Messages use powers of 2 Tied to computer memory measures in powers of 2 So packet/file/message of 1 Mb = 2^20 bits
Example Problem Find total time to transfer a file assuming File size is 1.5 MB, RTT is 80 ms, Packet size is 1KB Initial 2*RTT “handshake” before sending data Bandwidth is 10 Mbps and packets sent continuously Total Time to get all bytes to receiver is: Handshake + transmit + prop 2*RTT + FileSize/R + ½ RTT 2 * 80 ms + 1.5 MB/ 10 Mbps + ½ 80 ms 160 ms + 12,582.912 b/ 10,000,000 b/s + 40 ms approx 1.458 seconds
Network latency Time to send a packet from point A to point B 2 1 3 A: my laptop B: www.cnn.com Time to send a packet from point A to point B sum of delays across each hop along the path RTT: round-trip-time
Bandwidth and Latency Bandwidth matters L large => L/R dominates Increasing R reduces latency Prop delay matters L small => L/R also small Increasing R has no impact
Examples Link Type Bandwidth Distance RTT BW x Delay Dial-up 56Kb/s 10Km 87 ms 5 bits Wireless Lan 54Mb/s 50m 0.33ms 18 bits Satellite 45 Mb/s 33,000 Km 230 ms 10 Mb Cross-country fiber 10Gb/s 4,000 Km 40 ms 400 Mb
Store and Forward (1/2) Example: L = 8000 bits (1000bytes) R = 2 Mbps Delay(A-B) = 3L/R = 12 msec Store and Forward: Entire packet must arrive at router before it can be transmitted on next link: Let dqueue = dprop = 0 Takes dtrans = L/R seconds to transmit (push out) packet of L bits on to link of R bps
Application Performance Application input to network Traffic data rate Traffic pattern (bursty or constant bit rate) Traffic target (multipoint or single destination, mobile or fixed) Network service delivered to application Delay sensitivity Loss sensitivity What the application delivers to the network? What the application needs from the network: a target data rate, target latencies etc. Talk about each one of these and how it affects network design. What kinds of tradeoff can we do? How traffic burstiness affects the aggregate characteristics; in turn, how are applications affected by delay and loss. Explain burstiness.
Email, Reliable File Transfer Loss sensitive Not delay sensitive relative to round trip times Point-to-point Bursty Eg. FTP. Cannot tolerate loss, can tolerate modest amounts of delay, not inherently bursty, but because of some control algorithms… Analogy of humans transferring (taking dictation). Other characteristics: large packet sizes etc.
Remote Login Loss sensitive Delay sensitive Bursty Point to point Subject to interactive constraints Can tolerate up to several hundreds of milliseconds Bursty Point to point
Network Audio Relatively low bandwidth Delay variance sensitive Digitized samples, packetized Delay variance sensitive Loss tolerant Possibly multipoint, long duration sessions Natural limit to number of simultaneous senders
Network Video High bandwidth Compressed video, bursty Loss tolerance function of compression Delay tolerance a function of interactivity Possibly multipoint Larger number of simultaneous sources
Web Transactional traffic Loss (bug?) tolerant Delay sensitive Short requests, possibly large responses Loss (bug?) tolerant Delay sensitive Human interactivity Point-to-point (multipoint is asynchronous)