Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS162 Operating Systems and Systems Programming Lecture 13 Packet Switching March 7, 2011 Ion Stoica

Similar presentations


Presentation on theme: "CS162 Operating Systems and Systems Programming Lecture 13 Packet Switching March 7, 2011 Ion Stoica"— Presentation transcript:

1 CS162 Operating Systems and Systems Programming Lecture 13 Packet Switching March 7, 2011 Ion Stoica http://inst.eecs.berkeley.edu/~cs162

2 Lec 13.2 3/7Ion Stoica CS162 ©UCB Spring 2011 Goals for Today Communication network taxonomy –Circuit switching –Packet switching Statistical multiplexing Note: Some slides and/or pictures in the following are adapted from notes by Vern Paxson, and Randy Katz.

3 What Global (non-digital) Communication Network Do You Use Every Day? Roughly speaking, how does it work?

4 Lec 13.4 3/7Ion Stoica CS162 ©UCB Spring 2011 Postal System Write address Put stamp Close envelop Drop letter Take letter to local post office Verify postage “Route” letter Take letter to destination’s postal office Check destination address Take letter to destination Check address Open envelope

5 What’s Another Such Network That You Use Every Day?

6 Lec 13.6 3/7Ion Stoica CS162 ©UCB Spring 2011 Examples of Other Information Networks Fire signalsSending messages by birds

7 Lec 13.7 3/7Ion Stoica CS162 ©UCB Spring 2011 Other Network Examples

8 Lec 13.8 3/7Ion Stoica CS162 ©UCB Spring 2011 Communication networks can be classified based on the way in which the nodes exchange information: Taxonomy of Communication Networks Communication Network

9 Lec 13.9 3/7Ion Stoica CS162 ©UCB Spring 2011 Communication networks can be classified based on the way in which the nodes exchange information: Taxonomy of Communication Networks Communication Network Broadcast Communication Network

10 Lec 13.10 3/7Ion Stoica CS162 ©UCB Spring 2011 Information transmitted by any node is received by every other node in the network –Examples? –Usually in LANs (Local Area Networks) »E.g., Ethernet (classical), WiFi »E.g., lecture! What problems does this raise? Problem #1: limited range Problem #2: privacy of communication Problem #3: coordinating access to the shared communication medium (Multiple Access Problem) Broadcast Communication Networks

11 Lec 13.11 3/7Ion Stoica CS162 ©UCB Spring 2011 Communication networks can be classified based on the way in which the nodes exchange information: Taxonomy of Communication Networks Communication Network Switched Communication Network Broadcast Communication Network

12 Lec 13.12 3/7Ion Stoica CS162 ©UCB Spring 2011 Information transmitted along a path of intermediary nodes (“routers” or “switches”) Basic issue: how the routers figure out the next hop along the path Switched Communication Networks

13 Lec 13.13 3/7Ion Stoica CS162 ©UCB Spring 2011 Communication networks can be classified based on the way in which the nodes exchange information: Taxonomy of Communication Networks Communication Network Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network

14 Lec 13.14 3/7Ion Stoica CS162 ©UCB Spring 2011 Circuit Switching (e.g., Phone Network) Establish: source creates circuit to destination –Nodes along the path store connection info –Nodes generally reserve resources for the connection –If circuit not available: “Busy signal” Transfer: source sends data over the circuit –No destination address, since nodes know path Teardown: source tears down circuit when done

15 Lec 13.15 3/7Ion Stoica CS162 ©UCB Spring 2011 Circuit Switching Node (switch) in a circuit switching network incoming linksoutgoing links Node How does the node connect the incoming link to the outgoing?

16 Lec 13.16 3/7Ion Stoica CS162 ©UCB Spring 2011 Telephone Network Alexander Graham Bell –1876: Demonstrates the telephone at US Centenary Exhibition in Philadelphia

17 Lec 13.17 3/7Ion Stoica CS162 ©UCB Spring 2011 17 Circuit Switching With Human Operator

18 Lec 13.18 3/7Ion Stoica CS162 ©UCB Spring 2011 Telephone Network Almon Brown Strowger (1839 - 1902) –1889: Invents the “girl-less, cuss-less” telephone system -- the mechanical switching system

19 Lec 13.19 3/7Ion Stoica CS162 ©UCB Spring 2011 Timing in Circuit Switching Host 1Host 2 Switch 1Switch 2 time

20 Lec 13.20 3/7Ion Stoica CS162 ©UCB Spring 2011 Timing in Circuit Switching Circuit Establishment Host 1Host 2 Switch 1Switch 2 propagation delay between Host 1 and Switch1 time

21 Lec 13.21 3/7Ion Stoica CS162 ©UCB Spring 2011 Timing in Circuit Switching Circuit Establishment Host 1Host 2 Switch 1Switch 2 propagation delay between Host 1 and Switch1 Transmission delay time

22 Lec 13.22 3/7Ion Stoica CS162 ©UCB Spring 2011 Timing in Circuit Switching Circuit Establishment Host 1Host 2 Switch 1Switch 2 propagation delay between Host 1 and Switch1 Transmission delay time

23 Lec 13.23 3/7Ion Stoica CS162 ©UCB Spring 2011 Timing in Circuit Switching Circuit Establishment Host 1Host 2 Switch 1Switch 2 propagation delay between Host 1 and Switch1 propagation delay between Host 1 and Host 2 Transmission delay time

24 Lec 13.24 3/7Ion Stoica CS162 ©UCB Spring 2011 Timing in Circuit Switching Information Circuit Establishment Transfer Host 1Host 2 Switch 1Switch 2 propagation delay between Host 1 and Switch1 propagation delay between Host 1 and Host 2 Transmission delay time

25 Lec 13.25 3/7Ion Stoica CS162 ©UCB Spring 2011 Timing in Circuit Switching Information Circuit Establishment Transfer Circuit Teardown Host 1Host 2 Switch 1Switch 2 propagation delay between Host 1 and Switch1 propagation delay between Host 1 and Host 2 Transmission delay time

26 Lec 13.26 3/7Ion Stoica CS162 ©UCB Spring 2011 Circuit Switching Node (switch) in a circuit switching network incoming linksoutgoing links Node How do the black and red circuits share the outgoing link?

27 Lec 13.27 3/7Ion Stoica CS162 ©UCB Spring 2011 Circuit Switching: Multiplexing a Link Time-division –Each circuit allocated certain time slots Frequency-division –Each circuit allocated certain frequencies time frequency time

28 Lec 13.28 3/7Ion Stoica CS162 ©UCB Spring 2011 Time-Division Multiplexing/Demultiplexing Time divided into frames; frames into slots Relative slot position inside a frame determines to which circuit data belongs –E.g., slot 0 belongs to red circuit Requires synchronization between sender and receiver— surprisingly non-trivial! In case of non-permanent circuits –Need to dynamically bind a slot to a circuit –How to do this? If sender does not send data the circuit’s capacity is lost! Frames 012 3 45012 3 45 Slots =

29 Lec 13.29 3/7Ion Stoica CS162 ©UCB Spring 2011 Administrivia Midterm next lecture: –Wednesday, March 9 th –Closed book, one page cheat sheet (both sides) Midterm Topics: Everything up to last lecture (excluding “Introduction to Networking”), March 2 nd Review session: Today 6-8pm (306 Soda Hall)

30 Lec 13.30 3/7Ion Stoica CS162 ©UCB Spring 2011 5min Break

31 Lec 13.31 3/7Ion Stoica CS162 ©UCB Spring 2011 Communication networks can be classified based on the way in which the nodes exchange information: Taxonomy of Communication Networks Communication Network Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network Packet-Switched Communication Network

32 Lec 13.32 3/7Ion Stoica CS162 ©UCB Spring 2011 Packet Switching Data sent as chunks of formatted bit-sequences (Packets) Packets have following structure: »Header and Trailer carry control information (e.g., destination address, checksum) Each packet traverses the network from node to node along some path (routing) based on header info Usually, once a node receives the entire packet, it stores it (hopefully briefly) and then forwards it to the next node (Store-and-Forward Networks) HeaderData Trailer (sometimes)

33 Lec 13.33 3/7Ion Stoica CS162 ©UCB Spring 2011 Packet Switching Node in a packet switching network incoming linksoutgoing links Node Memory

34 Lec 13.34 3/7Ion Stoica CS162 ©UCB Spring 2011 Packet Switching: Multiplexing/Demultiplexing Data from any flow can be transmitted at any given time –Single flow can use the entire link capacity if it is alone How to tell them apart? –Use meta-data (header) to describe data Note: for packet switching we use flow (instead of circuit) to denote packets sent by a sender to a receiver

35 Lec 13.35 3/7Ion Stoica CS162 ©UCB Spring 2011 Communication networks can be classified based on the way in which the nodes exchange information: Taxonomy of Communication Networks Communication Network Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network Packet-Switched Communication Network Datagram Network

36 Lec 13.36 3/7Ion Stoica CS162 ©UCB Spring 2011 Datagram Packet Switching Each packet is independently switched –Each packet header contains full destination address No resources are pre-allocated (reserved) in advance Leverages “statistical multiplexing” (or stat-muxing) –Essentially: “chances are good that packets from different flows won’t all arrive at the same time, so we can get by without enough capacity for all of them at their peak transmission rate” –Assuming independence of traffic sources, can compute probability that there is enough capacity Example: IP networks; postal system

37 Lec 13.37 3/7Ion Stoica CS162 ©UCB Spring 2011 Statistical Multiplexing Use trivial time-driven simulation to illustrate statistical multiplexing Probabilistically generate the bandwidth of a flow at each time unit, e.g., –With probability 0.2, bandwidth is 6 –With probability 0.8, bandwidth is 1 Average bandwidth, avg=0.2*6 + 0.8*1 = 2 peak/avg = 6/2 = 3

38 Lec 13.38 3/7Ion Stoica CS162 ©UCB Spring 2011 One Flow peak=6 avg=2 peak / avg = 3

39 Lec 13.39 3/7Ion Stoica CS162 ©UCB Spring 2011 Two Flows agg_peak=7 agg_avg=3.75 agg_peak / agg_avg = 7/3.75 = 1.86 (agg_avg = average of aggregate bandwidth) (agg_peak=maximum value of aggregate bandwidth)

40 Lec 13.40 3/7Ion Stoica CS162 ©UCB Spring 2011 50 Flows agg_peak=135 agg_avg=105.25 agg_peak / agg_avg = 7/3.75 = 135/105.25 = 1.28

41 Lec 13.41 3/7Ion Stoica CS162 ©UCB Spring 2011 Statistical Multiplexing (cont’d) As number of flows increases, agg_peak/agg_avg decreases –For 1000 flows, peak/avg = 2125/2009=1.057 Q: What does this mean? A: Multiplexing a large enough number of flows “eliminates” burstiness –Use average bandwidth to provision capacity, instead of peak bandwidth –E.g., For 1000 flows »Average of aggregate bandwidth = 2,000 »Sum of bandwidth peaks = 6,000

42 Lec 13.42 3/7Ion Stoica CS162 ©UCB Spring 2011 Timing of Datagram Packet Switching Packet 1 Host 1Host 2 Node 1Node 2 propagation delay between Host 1 and Node 1

43 Lec 13.43 3/7Ion Stoica CS162 ©UCB Spring 2011 Timing of Datagram Packet Switching Packet 1 Host 1Host 2 Node 1Node 2 propagation delay between Host 1 and Node 1 transmission time of Packet 1 at Host 1

44 Lec 13.44 3/7Ion Stoica CS162 ©UCB Spring 2011 Packet 1 Timing of Datagram Packet Switching Packet 1 processing delay of Packet 1 at Node 2 Host 1Host 2 Node 1Node 2 propagation delay between Host 1 and Node 1 transmission time of Packet 1 at Host 1

45 Lec 13.45 3/7Ion Stoica CS162 ©UCB Spring 2011 Packet 1 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 Timing of Datagram Packet Switching Packet 1 Packet 2 Packet 3 processing delay of Packet 1 at Node 2 Host 1Host 2 Node 1Node 2 propagation delay between Host 1 and Node 1 transmission time of Packet 1 at Host 1

46 Lec 13.46 3/7Ion Stoica CS162 ©UCB Spring 2011 Datagram Packet Switching Host A Host B Host E Host D Host C Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7

47 Lec 13.47 3/7Ion Stoica CS162 ©UCB Spring 2011 Datagram Packet Switching Host A Host B Host E Host D Host C Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7

48 Lec 13.48 3/7Ion Stoica CS162 ©UCB Spring 2011 Datagram Packet Switching Host A Host B Host E Host D Host C Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7

49 Lec 13.49 3/7Ion Stoica CS162 ©UCB Spring 2011 Communication networks can be classified based on the way in which the nodes exchange information: Taxonomy of Communication Networks Communication Network Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network A hybrid of circuits and packets; headers include a “circuit identifier” established during a setup phase

50 Lec 13.50 3/7Ion Stoica CS162 ©UCB Spring 2011 Advantages of Circuit Switching Guaranteed bandwidth –Predictable communication performance Simple abstraction –Reliable communication channel between hosts –No worries about lost or out-of-order packets Simple forwarding –Forwarding based on time slot or frequency –No need to inspect a packet header Low per-packet overhead –Forwarding based on time slot or frequency –No IP (and TCP/UDP) header on each packet

51 Lec 13.51 3/7Ion Stoica CS162 ©UCB Spring 2011 Disadvantages of Circuit Switching Wasted bandwidth –Bursty traffic leads to idle connection during silent period –Unable to achieve gains from “statistical multiplexing” Blocked connections –Connection refused when resources are not sufficient –Unable to offer “okay” service to everybody Connection set-up delay –No communication until the connection is set up –Unable to avoid extra latency for small data transfers Network state –Network nodes must store per-connection information –Unable to avoid per-connection storage and state –This makes failures more disruptive!

52 Lec 13.52 3/7Ion Stoica CS162 ©UCB Spring 2011 Packet-Switching vs. Circuit- Switching Critical advantage of packet-switching over circuit switching: Exploitation of statistical multiplexing Another: since routers don’t know about individual flows, when a router or link fails, it’s: Easy to fail over to a different path A third: easier for different parties to link their networks together because they’re not promising to reserve resources for one another However, packet-switching must handle congestion: –More complex routers –Harder to provide good network services (e.g., delay and bandwidth guarantees)

53 Lec 13.53 3/7Ion Stoica CS162 ©UCB Spring 2011 Summary Packet switching: –Store and forward: a packet is stored at routers before being forwarded –Each packet can take a different path –No resource reservation: leverage statistical multiplexing Circuit switching: –Set-up path in advance –Reserve resources for each connection Statistically multiplexing: –Peak aggregate bandwidth much lower than sum of the peak of individual connections


Download ppt "CS162 Operating Systems and Systems Programming Lecture 13 Packet Switching March 7, 2011 Ion Stoica"

Similar presentations


Ads by Google