Switches Orchestrate Link Sharing • A switch is a computing device that allows many concurrent communications to share the network Communication Networks Switch 6.02 Fall 2010 Lecture #17 November 8, 2010 • Sharing, a fundamental problem • Switches: circuit and packet switching This structure is called a network topology • Packet bursts, queues, and Little’s law Baby Blues (Kirkman/Scott) Examples of Switches Inside a Big Data Center 802.11 Alcatel 7670 RSP access point TX8 Juniper TX8/T640 Avici TSR Lucent 5ESS telephone switch Cisco GSR 12416 This ¡is ¡an ¡example ¡of ¡a ¡“fat-‑tree” ¡topology ¡ 6ft x 2ft x 1.5ft 4.2 kW power 160 Gb/s cap. Source: Lumeta Corp. http://www.saschameinrath.com/files/Internet_map_labels.pdf 1
The World’s Undersea Data Networks Multi-Hop Networks How ¡to ¡deliver ¡data ¡between ¡any ¡two ¡computers? ¡(Rou@ng) ¡ How ¡can ¡we ¡communicate ¡informa@on ¡reliably? ¡(Transport) ¡ Source: Guardian newspaper, UK Two Very Different Ideas for Circuit Switching Designing Switched Networks • First establish a Callee Caller circuit between end • Circuit switching points • E.g., done when you • Used by classic telephone networks dial a phone number • Message propagates • Illusion of a dedicated link between (1) Establish from caller toward sender and receiver callee, establishing some state in each • Packet switching switch (2) DATA Communicate • Used by the Internet infrastructure • Then, ends send data (“talk”) to each other • (Phone networks also now moving to this Tear down (3) model) • After call, tear down • “Free for all” best-effort model (close) circuit • Remove state Example: Time Division Multiplexing TDM Shares Link Equally, But Has Limitations Switch Switch Time-slots Time-slots frames = 0 1 2 3 4 5 0 1 2 3 4 5 frames = 0 1 2 3 4 5 0 1 2 3 4 5 • Suppose link capacity is C bits/sec • Divide time into N frame times, each frame • Each communication requires R bits/sec belonging to a different conversation (color) • #frames in one “epoch” (one frame per communication) = • At most N concurrent conversations share link C/R • Setup: Allocate time-slot to conversation • Maximum number of concurrent communications is C/R • Add entry to table mapping (inlink,time-slot) • What happens if we have more than C/R communications? to (outlink,time_slot) • What happens if the communication sends less/more than R • Forwarding step at switch: consult table bits/sec? • When does this approach (not) work? Design is unsuitable when traffic arrives in bursts 2
Packet Switching Des@na@on ¡Address ¡ • Data is sent in packets • Each packet contains control information in a header Host 1 Host 2 • Destination address switch 1 switch 2 • Source address Hop ¡Limit ¡ • Other stuff Header Data • Switch forwards each packet by Source ¡Address ¡ looking up dest addr in a Packet 1 forwarding table Packet 2 Packet 1 Packet 3 • Receive, lookup, store in Packet 2 queue (if link busy), forward Packet 1 Packet 3 Packet 2 Length ¡ • No reservation of time slot: Packet 3 different communications can get different rates Why Packet Switching Works: Traffic ¡ Version ¡ Flow ¡Label ¡ Statistical Multiplexing Class ¡ Length ¡ Next ¡Header ¡ Hop ¡Limit ¡ IP Version 6 header Des@na@on ¡Address ¡ Source ¡Address ¡ Aggrega@ng ¡mul@ple ¡conversa@ons ¡smooths ¡usage ¡ ¡ Bytes ¡ Bytes ¡ 10 ms windows 100 ms windows v. ¡@me ¡ v. ¡@me ¡ Bytes ¡ Bytes ¡ 100 ms windows 1 second windows v. ¡@me ¡ v. ¡@me ¡ Traffic ¡in ¡34-‑101 ¡wireless ¡LAN ¡during ¡a ¡6.02 ¡lecture! ¡ No@ce ¡how ¡bursts ¡ ¡ No@ce ¡how ¡bursts ¡ ¡ become ¡smoother ¡ become ¡smoother ¡ (but ¡don’t ¡completely ¡ (but ¡don’t ¡completely ¡ disappear) ¡ disappear) ¡ 3
1 second windows Queues are Essential Queues Queues ¡absorb ¡packet ¡bursts ¡ 10 second windows They ¡are ¡a ¡“necessary ¡evil” ¡ Needed ¡to ¡absorb ¡bursts ¡ But ¡they ¡add ¡delay ¡by ¡making ¡packets ¡ ¡ ¡ ¡wait ¡un@l ¡link ¡is ¡available ¡ So ¡they ¡shouldn’t ¡be ¡too ¡big ¡ Little’s Law n(t) = # pkts at time t in queue E F G H H H A B C D E F G G H D D C F G H C E G H B D F B C D E F G H A t 0 T • Suppose T is large and that P packets are forwarded in that time • Let A = area under the n(t) curve from 0 to T • Then, rate = P/T; and mean number of pkts in queue, E[n] = A/T • How to calculate mean delay per packet? • A is aggregate delay weighted by each packet’s time in queue (why?) • So, mean delay per packet sent = A/P • Therefore, E[n] = rate * (mean delay) • For a given link rate, increasing queue size increases delay 4
Recommend
More recommend