Lecture Note on Switch Architectures. Function of Switch.

Slides:



Advertisements
Similar presentations
Router Internals CS 4251: Computer Networking II Nick Feamster Spring 2008.
Advertisements

Router Internals CS 4251: Computer Networking II Nick Feamster Fall 2008.
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
© Jörg Liebeherr ECE 1545 Packet-Switched Networks.
Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.
Router Architecture : Building high-performance routers Ian Pratt
Module 3.4: Switching Circuit Switching Packet Switching K. Salah.
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
Spring 2002CS 4611 Router Construction Outline Switched Fabrics IP Routers Tag Switching.
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 High Speed Router Design Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
CS 552 Computer Networks IP forwarding Fall 2004 Rich Martin (Slides from D. Culler and N. McKeown)
1 ENTS689L: Packet Processing and Switching Buffer-less Switch Fabric Architectures Buffer-less Switch Fabric Architectures Vahid Tabatabaee Fall 2006.
EE 122: Router Design Kevin Lai September 25, 2002.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Introduction.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering.
Router Architectures An overview of router architectures.
Router Architectures An overview of router architectures.
Chapter 4 Queuing, Datagrams, and Addressing
1 IP routers with memory that runs slower than the line rate Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford.
Computer Networks Switching Professor Hui Zhang
CS 552 Computer Networks IP forwarding Fall 2005 Rich Martin (Slides from D. Culler and N. McKeown)
ATM SWITCHING. SWITCHING A Switch is a network element that transfer packet from Input port to output port. A Switch is a network element that transfer.
TO p. 1 Spring 2006 EE 5304/EETS 7304 Internet Protocols Tom Oh Dept of Electrical Engineering Lecture 9 Routers, switches.
Router Architecture Overview
Data and Computer Communications Chapter 10 – Circuit Switching and Packet Switching (Wide Area Networks)
Data and Computer Communications Circuit Switching and Packet Switching.
Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Delivery, Forwarding, and Routing of IP Packets
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
ISLIP Switch Scheduler Ali Mohammad Zareh Bidoki April 2002.
CS 4396 Computer Networks Lab Router Architectures.
Final Chapter Packet-Switching and Circuit Switching 7.3. Statistical Multiplexing and Packet Switching: Datagrams and Virtual Circuits 4. 4 Time Division.
Forwarding.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
Ch 8. Switching. Switch  Devices that interconnected with each other  Connecting all nodes (like mesh network) is not cost-effective  Some topology.
1 IEX8175 RF Electronics Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
Univ. of TehranComputer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Muhammad Waseem Iqbal Lecture # 20 Data Communication.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Chapter 3 Part 3 Switching and Bridging
Chapter 4 Network Layer All material copyright
Buffer Management and Arbiter in a Switch
Addressing: Router Design
Chapter 4: Network Layer
Chapter 3 Part 3 Switching and Bridging
Chapter 4-1 Network layer
What’s “Inside” a Router?
Network Core and QoS.
Packet Switch Architectures
Implementing an OpenFlow Switch on the NetFPGA platform
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Chapter 3 Part 3 Switching and Bridging
Network Layer: Control/data plane, addressing, routers
Project proposal: Questions to answer
Chapter 4: Network Layer
Packet Switch Architectures
Network Core and QoS.
Presentation transcript:

Lecture Note on Switch Architectures

Function of Switch

Naive Way

Bus-Based Switch No buffering at input port processor (IPP) Output port processor (OPP) buffers cells Controller exchanges control message with terminals and other controller. Disadvantage: –Bus bandwidth is equal to sum of external link for non-blocking –IPPs and OPPs must operate at full bus bandwidth –Bus width increases with number of links

Centralized Bus Arbitration IPPs send requests to central arbiter Request may includes: –Priority –Waiting time –OPP destination(s) –Length of IPP queue Arbitration complexity is O(N^2) Distributed version is preferred, but may degrade throughput.

Bus Arbitration Using Rotating Daisy Chain Rotating token eliminates positional favoritism

Ring Switch Same bandwidth and complexity as bus switch Avoids capacitive loading of bus, allowing higher clock frequencies Control mechanisms –Token passing –Slotted ring with busy bit

Shared Buffer Switch Individual queues are rarely full. Shared memory needs two times of external link bandwidth Require less memory Better ability to handle burst traffic

Crossbar Switch

Output Buffering Efficient, but needs N time speed up internally.

Input Buffering Multiple packets simultaneously transmitted distinct outputs. Require sophisticated arbitration No speed up required Head-of-line blocking

Bi-partite Matching Require global information Complexity is O(N^(5/2)) Not suitable for hardware implementation May leads to starvation

Desired Arbitration Algorithms High throughput –Low backlog in each input queue –Close to 100% for each input and output Starvation free –No queue will be hold indefinitely Simple to implement

Options to Build High Performance Switches Bufferless crossbar Buffered crossbar Shared buffer

Bufferless Crossbar Centralized arbitrator is required –Arbitration complexity is O(N*N) –O(log 2 N) iterations of arbitration needed for high throughput Synchronization in all elements Single point failure: central arbitrator Complex line interface

Buffered Crossbar Simple scheduling algorithms –Ingress: O(1) –Egress: O(N) Inefficient use of memory –Memory linearly increased with number of ports

Shared Memory No central arbitrator needed Reduced memory requirements Distributed flow control Less timing constrains Simpler line card interface

Comparisons (1)

Comparison (2) Assume 10G for each port and packet size is 64 bytes.

Scaling Number of Ports Single larger switch is less expensive, more reliable, easier to maintain and offer better performance, but –O(n 2 ) complexity –Board-level buses limited by capacitive loading Port multiplexing Buffered multistage routing –Dynamic routing: Benes network –Static routing: Clos network Bufferless multistage routing –Deflection routing

Port Multiplexing High speed core can handles high speed links as well as low speed Sharing of common circuitry Reduced complexity in interconnection network Better queueing performance for bursty traffic Less fragmentation of bandwidth and memory

Dynamic Routing – Benes Network Network expanded by adding stages on left and right –2k-1 stages with d port switch elements supports d k ports Traffic distribution on first k-1 stages Routing on last k stages Internal load  external load Traffic maybe out of order: need re-sequencing

Static Routing - Clos network All traffic follows same path r  2d-1 to be strict non-blocking.

Deflection Routing

Basic Architectural Components: Forwarding Decision Forwarding Decision Forwarding Decision Forwarding Decision Forwarding Table Forwarding Table Interconnect Output Scheduling Forwarding Table

ATM Switches Direct Lookup VCI Address Memory Data (Port, VCI)

Hashing Function CRC Linked lists #1#2#3#4 #1#2 #1#2#3 Memory Search Data 48 log 2 N Associated Data Hit? Address { Ethernet Switches Hashing Advantages Simple Expected lookup time can be small Disadvantages Non-deterministic lookup time Inefficient use of memory

Per-Packet Processing in IP Routers 1. Accept packet arriving on an incoming link. 2. Lookup packet destination address in the forwarding table, to identify outgoing port(s). 3. Manipulate packet header: e.g., update header checksum. 4. Send packet to the outgoing port(s). 5. Classify and buffer packet in the queue. 6. Transmit packet onto outgoing link.

IP Router Lookup Destination Address Next Hop Link ---- DestinationNext Hop Forwarding Table Next Hop Computation Forwarding Engine Incoming Packet HEADERHEADER

payload Lookup and Forwarding Engine header Packet Router Destination Address Outgoing Port Forwarding Engine Lookup Data

Example Forwarding Table Destination IP PrefixOutgoing Port / / /197 IP prefix: 1-32 bits Prefix length

Multiple Matching / / /24 Routing lookup: Find the longest matching prefix (or the most specific route) among all prefixes that match the destination address / / / Longest matching prefix

Longest Prefix Matching Problem 2-dimensional search Prefix Length Prefix Value Performance Metrics Lookup time Storage space Update time Preprocessing time

Required Lookup Rates OC768c OC192c OC48c OC12c B packets (Mpps) Line-rate (Gbps) LineYear DRAM: ns, SRAM: 5-10 ns Mpps  33 ns

Size of Forward Table Year Number of Prefixes 10,000/year Renewed growth due to multi-homing of enterprise networks

Trees and Tries Binary Search Tree <> <><> log 2 N N entries Binary Search Trie

Typical Profile of Forward Table Prefix Length Number Most prefixes are 24-bits or shorter

Basic Architectural Components: Interconnect Forwarding Decision Forwarding Decision Forwarding Decision Forwarding Table Forwarding Table Interconnect Output Scheduling Forwarding Table

First-Generation Routers CPU Buffer Memory Line Interface DMA MAC Line Interface DMA MAC Line Interface DMA MAC

Second-Generation Routers CPU Buffer Memory Line Card DMA MAC LocalBufferMemory Line Card DMA MAC LocalBufferMemory Line Card DMA MAC LocalBufferMemory

Third-Generation Routers Line Card MAC Local Buffer Memory CPU Card Line Card MAC Local Buffer Memory

Switching Goals

Circuit Switches A switch that can handle N calls has N logical inputs and N logical outputs –N up to 200,000 Moves 8-bit samples from an input to an output port –Samples have no headers –Destination of sample depends on time at which it arrives at the switch In practice, input trunks are multiplexed –Multiplexed trunks carry frames, i.e., set of samples Extract samples from frame, and depending on position in frame, switch to output –each incoming sample has to get to the right output line and the right slot in the output frame

Blocking in Circuit Switches Can’t find a path from input to output Internal blocking –slot in output frame exists, but no path Output blocking –no slot in output frame is available

Time Division Switching Time division switching interchanges sample position within a frame: time slot interchange (TSI)

Scaling Issues with TSI

Space Division Switching Each sample takes a different path through the switch, depending on its destination

Time Space Switching

Time Space Time Switching

Packet Switches In a circuit switch, path of a sample is determined at time of connection establishment. No need for header. In a packet switch, packets carry a destination field or label. Need to look up destination port on-the-fly. –Datagram switches: lookup based on destination address –Label switches: lookup based on labels

Blocking in Packet Switches Can have both internal and output blocking Internal –no path to output Output –trunk unavailable Unlike a circuit switch, cannot predict if packets will block. If packet is blocked, must buffer or drop

Dealing with Blocking in Packet Switches Over-provisioning –internal links much faster than inputs Buffers –at input or output Backpressure –if switch fabric doesn’t have buffers, prevent packet from entering until path is available Parallel switch fabrics –increases effective switching capacity

Basic Architectural Components: Queuing, Classification Forwarding Decision Forwarding Decision Forwarding Decision Forwarding Table Forwarding Table Interconnect Output Scheduling Forwarding Table

Techniques in Queuing Input Queueing Output Queueing

Individual Output QueuesCentralized Shared Memory Memory b/w = (N+1).R 1 2 N Memory b/w = 2N.R 1 2 N

Input Queuing

Input Queueing Performance Delay Load 58.6% 100%

Virtual Output Queues at Input Delay Load 100%

Classification Action ---- PredicateAction Classifier (Policy Database) Packet Classification Forwarding Engine Incoming Packet HEADERHEADER

Multi-Field Packet Classification Given a classifier with N rules, find the action associated with the highest priority rule matching an incoming packet.