From Links to Networks Networks So far, we’ve learned + channel coding about tools to help = physical layer Hari Balakrishnan ([email protected]) us communicate over 6.02 Spring 2009 a point-to-point link Lecture #17 April 8, 2009 Your • Sharing, a fundamental problem Network • Switches: circuit and Here! • Queues to absorb traffic bursts • Understanding delays

Note: Lecture notes on course web site

Switches Orchestrate Link Sharing • A switch is a computing device that allows many concurrent communications to share the network

Switch

This structure is called a

An early “switched” network: The Mechanical Switch Almon Brown Strowger (1839 - 1902) • 1889: Invents the “girl-less, cuss-less” telephone system

Pics: Proc. Symp. on the Optical Telegraph, Stockholm, June ’94 • Chappe (1763-1805), “defense contractor”; 1st msg successfully sent in 1794 • Napoleon in power (1799): “Paris is quiet, and the good citizens are content.” • 1814: Extends from Paris to Belgium & Italy • 1840: 4000 miles, 556 stations, 8 main lines, 11 sublines, each hop ~10 km • Many modern techniques: framing, codes, redundant relays, message acks, priority messages, error notification, primitive encryption!

1 And switches today… 802.11 Alcatel 7670 RSP access point • First establish a circuit between end Caller Callee points TX8 • E.g., done when you dial a phone number • Message propagates Juniper TX8/T640 from caller toward (1) Establish callee, establishing some state in each Avici TSR switch (2) DATA Communicate • Then, ends send data 5ESS (“talk”) to each other telephone switch (3) Tear down Cisco GSR 12416 • After call, tear down 6ft x 2ft x 1.5ft (close) circuit 4.2 kW power 160 Gb/s cap. • Remove state

Example: Time Division A Different Approach: Packet Switching • Data is sent in packets Switch • Each packet contains control Time-slots information in a header Host 1 Host 2

• Destination address switch 1 switch 2 frames =0 1 2 3 4 5 0 1 2 3 4 5 • Source address • Other stuff

• Divide time into N frame times, each frame Header Data belonging to a different conversation (color) • Switch forwards each packet by • At most N concurrent conversations share link looking up dest addr in a Packet 1 Packet 2 • Setup: Allocate time-slot to conversation forwarding table Packet 1 Packet 3 • Add entry to table mapping (inlink,time-slot) • Receive, lookup, store in Packet 2 Packet 1 queue (if link busy), forward Packet 3 to (outlink,time_slot) Packet 2 • Forwarding step at switch: consult table • No reservation of time slot: Packet 3 • When does this approach (not) work? different communications can get different rates

Why Packet Switching Works: Statistical Multiplexing (“Statmux”) Understanding Little’s Law • Mean no. in queue = rate * mean delay • N = rate * delay

n(t) = # pkts at time t in queue H G H D F G H C D E F G H B C D E F G H A B C D E F G H A B C D E F G H 0 T t

• See notes for details

2