Download presentation
Presentation is loading. Please wait.
Published byJoseph Parrish Modified over 8 years ago
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.