Presentation is loading. Please wait.

Presentation is loading. Please wait.

Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,

Similar presentations


Presentation on theme: "Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,"— Presentation transcript:

1 Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar, Stanford University Slides used with permission from authors. © 1999-2000. All rights reserved by authors.

2 Copyright 1999. All Rights Reserved2 Outline Introduction: What is a Packet Switch? Packet Lookup and Classification: Where does a packet go next? Switching Fabrics: How does the packet get there?

3 Copyright 1999. All Rights Reserved3 Introduction What is a Packet Switch? Basic Architectural Components Some Example Packet Switches

4 Copyright 1999. All Rights Reserved4 Basic Architectural Components Datapath: per-packet processing Forwarding Decision Forwarding Decision Forwarding Decision Forwarding Table Forwarding Table Forwarding Table Interconnect Output Scheduling 1. 2. 3.

5 Copyright 1999. All Rights Reserved5 Where high performance packet switches are used Enterprise WAN access & Enterprise Campus Switch - Carrier Class Core Router - ATM Switch - Frame Relay Switch The Internet Core Edge Router

6 Copyright 1999. All Rights Reserved6 Some Example Packet Switches Packet switches exist for different networking technologies –Internet: IP protocol suite –Ethernet: Ethernet switches –ATM (Asynchronous Transfer Mode): ATM switch –MPLS (Multiprotocol label switching): MPLS switch There are many similarities in the architecture of the switches

7 Copyright 1999. All Rights Reserved7 Packet Lookup Where does a packet go next? ATM and MPLS switches –Direct Lookup Bridges and Ethernet switches –Associative Lookup –Hashing IP Routers –Patricia trees/tries

8 Copyright 1999. All Rights Reserved8 Lookup in an ATM Switch Lookup cell VCI/VPI in VC table. Replace old VCI/VPI with new. Forward cell to outgoing interface. Transmit cell onto link.

9 Copyright 1999. All Rights Reserved9 Lookup in an Ethernet Switch Lookup frame DA in forwarding table. –If known, forward to correct port. –If unknown, broadcast to all ports. Learn SA of incoming frame. Forward frame to outgoing interface. Transmit frame onto link.

10 Copyright 1999. All Rights Reserved10 Lookup in an IP Router Lookup packet DA in forwarding table. –If known, forward to correct port. –If unknown, drop packet. Decrement TTL, update header Cksum. Forward packet to outgoing interface. Transmit packet onto link.

11 Copyright 1999. All Rights Reserved11 ATM and MPLS Switches Direct Lookup VCI Address Memory Data (Port, VCI)

12 Copyright 1999. All Rights Reserved12 Bridges and Ethernet Switches Associative Lookups Network Address Associated Data Associative Memory or CAM Search Data 48 log 2 N Associated Data Hit? Address { Advantages: Simple Disadvantages Slow High Power Small Expensive

13 Copyright 1999. All Rights Reserved13 Bridges and Ethernet Switches Hashing Hashing Function Memory Address Data Search Data 48 log 2 N Associated Data Hit? Address { 16

14 Copyright 1999. All Rights Reserved14 Lookups Using Hashing An example Hashing Function CRC-16 16 #1#2#3#4 #1#2 #1#2#3 Linked lists Memory Search Data 48 log 2 N Associated Data Hit? Address {

15 Copyright 1999. All Rights Reserved15 IP Router Lookup IPv4 unicast destination address based lookup Dstn Addr Next Hop ---- DestinationNext Hop Forwarding Table Next Hop Computation Forwarding Engine Incoming Packet HEADERHEADER

16 Copyright 1999. All Rights Reserved16 IP Routers Lookup 128.9.16.14 128.9/16 128.9.16/20 128.9.176/20 128.9.19/24 128.9.25/24 142.12/19 65/8 PrefixPort 3 5 2 7 10 1 3 Lookup time Storage space Update time Preprocessing time Longest Prefix Matching

17 Copyright 1999. All Rights Reserved17 Ternary CAMs 10.0.0.0R1 10.1.0.0R2 10.1.1.0R3 10.1.3.0R4 255.0.0.0 255.255.0.0 255.255.255.0 255.255.255.25510.1.3.1R4 ValueMask Priority Encoder Next Hop Associative Memory

18 Copyright 1999. All Rights Reserved18 Binary Tries Example Prefixes a) 00001 b) 00010 c) 00011 d) 001 e) 0101 f) 011 g) 100 h) 1010 i) 1100 j) 11110000 a b c d e f g h i j 01

19 Copyright 1999. All Rights Reserved19 Patricia Tree Skip=5 j a bc d e fg 0 1 h i Example Prefixes a) 00001 b) 00010 c) 00011 d) 001 e) 0101 f) 011 g) 100 h) 1010 i) 1100 j) 11110000

20 Copyright 1999. All Rights Reserved20 Switching Fabrics: How does the packet get there? Output and Input Queueing Output Queueing Input Queueing Other non-blocking fabrics

21 Copyright 1999. All Rights Reserved21 Basic Architectural Components Datapath: per-packet processing Forwarding Decision Forwarding Decision Forwarding Decision Forwarding Table Forwarding Table Forwarding Table Interconnect Output Scheduling 1. 2. 3.

22 Copyright 1999. All Rights Reserved22 Interconnects Two basic techniques Input Queueing Output Queueing Usually a non-blocking switch fabric (e.g. crossbar) Usually a fast bus

23 Copyright 1999. All Rights Reserved23 Interconnects Output Queueing Individual Output QueuesCentralized Shared Memory Memory b/w = (N+1).R 1 2 N Memory b/w = 2N.R 1 2 N

24 Copyright 1999. All Rights Reserved24 Output Queueing How fast can we make centralized shared memory? Shared Memory 200 byte bus 5ns SRAM 1 2 N 5ns per memory operation Two memory operations per packet Therefore, up to 160Gb/s In practice, closer to 80Gb/s

25 Copyright 1999. All Rights Reserved25 Switching Fabrics Output and Input Queueing Output Queueing Input Queueing –Scheduling algorithms –Other non-blocking fabrics –Combining input and output queues –Multicast traffic

26 Copyright 1999. All Rights Reserved26 Input Queueing with Crossbar configuration Data In Data Out Scheduler Memory b/w = 2R

27 Copyright 1999. All Rights Reserved27 Input Queueing Head of Line Blocking Delay Load 58.6% 100%

28 Copyright 1999. All Rights Reserved28 Head of Line Blocking

29 Copyright 1999. All Rights Reserved29

30 Copyright 1999. All Rights Reserved30

31 Copyright 1999. All Rights Reserved31 Input Queueing Virtual output queues

32 Copyright 1999. All Rights Reserved32 Input Queues Virtual Output Queues Delay Load 100%

33 Copyright 1999. All Rights Reserved33 Input Queueing Scheduler Memory b/w = 2R Can be quite complex!

34 Copyright 1999. All Rights Reserved34 Input Queueing Scheduling 1 2 1 2 1 2 1 2

35 Copyright 1999. All Rights Reserved35 Wave Front Arbiter Scheduling Algorithm RequestsMatch 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

36 Copyright 1999. All Rights Reserved36 Wave Front Arbiter RequestsMatch

37 Copyright 1999. All Rights Reserved37 Other Non-Blocking Fabrics Clos Network

38 Copyright 1999. All Rights Reserved38 Other Non-Blocking Fabrics Clos Network Expansion factor required = 2-1/N (but still blocking for multicast)

39 Copyright 1999. All Rights Reserved39 Other Non-Blocking Fabrics Self-Routing Networks 000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111

40 Copyright 1999. All Rights Reserved40 Other Non-Blocking Fabrics Self-Routing Networks 3 7 5 2 6 0 1 4 7 2 3 5 6 1 0 4 7 5 2 3 1 0 6 4 7 0 5 1 3 4 2 6 7 4 5 6 0 3 1 2 7 6 4 5 3 2 0 2 7 6 5 4 3 2 1 0 000 001 010 011 100 101 110 111 Batcher SorterSelf-Routing Network The Non-blocking Batcher Banyan Network Fabric can be used as scheduler. Batcher-Banyan network is blocking for multicast.


Download ppt "Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,"

Similar presentations


Ads by Google