MIT OpenCourseWare http://ocw.mit.edu 6.033 Computer System Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. L9: Intro Network Systems Dina Katabi Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, Sam Madden, and Robert Morris What have you seen so far? Systems Naming systems Complexity Modularity Dtechnology/dt Gluing systems Client/service design Operating systems Enforced modularity Client/service with in a computer Performance Coping with bottlenecks Hierarchy Therac-25 File system name space X windows Eraser and Unix MapReduce Client/service using network client OS request network server OS • Sharing irrespective of geography • Strong modularity through geographic separation Network is a system too! domain-1 domain-3 domain-2 • Network consists of many networks, many links, many switches • Internet is a case study of successful network system Today’s topic: challenges • Economical: • Universality • Topology, Sharing, Utilization • Organizational • Routing, Addressing, Packets, Delay • Best-effort contract • Physical • Errors, speed of light, wide-range of parameters Circuit Switching • It’s the method used by the telephone network • A call has three phases: Establish circuit from end-to-end (“dialing”), Communicate, Close circuit (“tear down”). • If circuit not available: “busy signal” Boston Switch Caller LA Switch Callee processing delay at switch propagation delay between caller and and Boston switch (1) (2) DATA (3) Isochronous Multiplexing/Demultiplexing Switch interval frames = 0 1 2 3 4 5 0 1 2 3 4 5 One way for sharing a link is TDM: • A time interval is divided into n frames • Each frame carries the data of a particular conversation • E.g., frame 0 belongs to the red conversation Circuit Switching • • • • • • Assume link capacity is C bits/sec Each communication requires R bits/sec #frames = C/R Maximum number of concurrent communications is C/R What happens if we have more than C/R communications? What happens if the a communication sends less/more than R bits/sec? Æ Design is unsuitable for bursty communications Packet Switching • Used in the Internet • Data is sent in Packets (header contains control info, e.g., source and destination addresses) Header Host 1 Host 2 switch 1 Data • Per-packet routing • At each node the entire packet is received, buffered, and then forwarded) • No capacity is allocated transmission time of Packet 1 at Host 1 Packet 1 Packet 2 Packet 3 switch 2 propagation delay between Host 1 & Node 2 Packet 1 processing delay of Packet 1 at Node 2 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 Asynchronous Multiplexing/Demultiplexing Switch Queue • Multiplex using a queue • Switch need memory/buffer • Demultiplex using information in packet header • Header has destination • Switch has a forwarding table that contains information about which link to use to reach a destination Aggregate Internet Traffic Smooths 5-min average traffic rate at an MIT-CSAIL router Max In:12.2Mb/s Avg. In: 2.5Mb/s Max Out: 12.8Mb/s Avg. Out: 3.4 Mb/s Statistical multiplexing Best Effort No Guarantees: • Variable Delay (jitter) • Variable rate • Packet loss • Duplicates • Reordering Bits/s T W el m ire le ode ss m C Te DP lm D Te od em l. 2. mo Bl 5G de u m C etoo wire ab le th w less m od irele em ss /D SL 80 2. 11 T1 ba E t se he rn 80 2. In et 11 fra r b w ed ire le 80 ss 2. 11 a T Fa wire 3 st le Et ss G he ig r Et net h O C ern et O 48 C o 19 pt 2c ica 10 op l G ti Et cal he rn O et C 76 8 Networks are heterogeneous 1E+11 1E+10 1E+09 1E+08 1E+07 1E+06 100000 10000 1000 Link technology Normalized Growth since 1980 d(technology)/dt for networks 1,000,000 Highest Link Capacity 2x / 7 months 100,000 # Internet hosts 2x / 13.3 months 10,000 Aggregate Internet Traffic 2x / 12 months 1,000 100 10 Moore’s Law 2x / 18 months Bits/s per dollar 2x / 79 months (crude estimate) Speed of light 0x / 18 months! 1 1980 1983 1986 1989 1992 1995 1998 Thanks to Nick Mckeown @ Stanford for some of these data points 2001 Plan for studying network systems Sharing and challenges Layering 7.A Ethernet 7.B+C End-to-end Routing 7.D End-to-end reliability Congestion control 7.E Internet routing Network file system NATs 7.F