Switching An Engineering Approach to Computer Networking.

Slides:



Advertisements
Similar presentations
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Advertisements

1 ELEN 602 Lecture 18 Packet switches Traffic Management.
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.
Switching Units.
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.
Switching Units.
Lecture 5#1#1 הודעה לשבוע הבא !  שבוע הבא אני לא נימצא  המתרגל ניר אנדלמן יעביר את השיעור  לא ילמד חומר חדש  נוכחות רשות !
ATM Networks An Engineering Approach to Computer Networking.
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.
Chapter 10 Switching Fabrics. Outline Physical Interconnection Physical box with backplane Individual blades plug into backplane slots Each blade contains.
EE 122: Router Design Kevin Lai September 25, 2002.
Oct 2004 Principles of Communication Networks 1 Source books D. Bertsekas and R. Gallager. Data Networks, 2 nd Ed., P- H. S. Keshav. An Engineering.
CS 268: Lecture 12 (Router Design) Ion Stoica March 18, 2002.
Switch and Router Architectures. 2 What is it all about? n How do we move traffic from one part of the network to another? n Connect end-systems to switches,
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering.
8.1 Chapter 8 Switching Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Router Architectures An overview of router architectures.
Localized Asynchronous Packet Scheduling for Buffered Crossbar Switches Deng Pan and Yuanyuan Yang State University of New York Stony Brook.
Chapter 4 Queuing, Datagrams, and Addressing
Computer Networks Switching Professor Hui Zhang
Data Communications and Networking
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.
1 Copyright © Monash University ATM Switch Design Philip Branch Centre for Telecommunications and Information Engineering (CTIE) Monash University
Router Architecture Overview
Delivery, Forwarding, and Routing of IP Packets
Queueing and Scheduling Traffic is moved by connecting end-systems to switches, and switches to each other Traffic is moved by connecting end-systems to.
Multiplexing FDM & TDM. Multiplexing When two communicating nodes are connected through a media, it generally happens that bandwidth of media is several.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
EEC4113 Data Communication & Multimedia System Chapter 7: Network Layer by Muhazam Mustapha, October 2011.
Final Chapter Packet-Switching and Circuit Switching 7.3. Statistical Multiplexing and Packet Switching: Datagrams and Virtual Circuits 4. 4 Time Division.
Forwarding.
21-Dec-154/598N: Computer Networks Cell Switching (ATM) Connection-oriented packet-switched network Used in both WAN and LAN settings Signaling (connection.
Circuit Switching Circuit switching networks,
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
Introducing a New Concept in Networking Fluid Networking S. Wood Nov Copyright 2006 Modern Systems Research.
Ch 8. Switching. Switch  Devices that interconnected with each other  Connecting all nodes (like mesh network) is not cost-effective  Some topology.
Based on An Engineering Approach to Computer Networking/ Keshav
Lecture Note on Switch Architectures. Function of Switch.
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,
Spring 2000CS 4611 Router Construction Outline Switched Fabrics IP Routers Extensible (Active) Routers.
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.
1 Kyung Hee University Chapter 8 Switching. 2 Kyung Hee University Switching  Switching  Switches are devices capable of creating temporary connections.
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 3: Packet Switching (overview)
Chapter 8 Switching Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Buffer Management and Arbiter in a Switch
Addressing: Router Design
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Chapter 4: Network Layer
Chapter 3 Part 3 Switching and Bridging
What’s “Inside” a Router?
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Bridges and Extended LANs
Principles of Communication Networks
Switching Techniques.
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
An Engineering Approach to Computer Networking
An Engineering Approach to Computer Networking
Chapter 4: Network Layer
Presentation transcript:

Switching An Engineering Approach to Computer Networking

What is it all about? How do we move traffic from one part of the network to another? How do we move traffic from one part of the network to another? Connect end-systems to switches, and switches to each other Connect end-systems to switches, and switches to each other Data arriving to an input port of a switch have to be moved to one or more of the output ports Data arriving to an input port of a switch have to be moved to one or more of the output ports

Types of switching elements Telephone switches Telephone switches  switch samples Datagram routers Datagram routers  switch datagrams ATM switches ATM switches  switch ATM cells

Classification Packet vs. circuit switches Packet vs. circuit switches  packets have headers and samples don’t Connectionless vs. connection oriented Connectionless vs. connection oriented  connection oriented switches need a call setup  setup is handled in control plane  setup is handled in control plane by switch controller   connectionless switches deal with self-contained datagrams

Other switching element functions Participate in routing algorithms Participate in routing algorithms  to build routing tables Resolve contention for output trunks Resolve contention for output trunks  scheduling Admission control Admission control  to guarantee resources to certain streams We’ll discuss these later We’ll discuss these later Here we focus on pure data movement Here we focus on pure data movement

Requirements Capacity of switch is the maximum rate at which it can move information, assuming all data paths are simultaneously active Capacity of switch is the maximum rate at which it can move information, assuming all data paths are simultaneously active Primary goal: maximize capacity Primary goal: maximize capacity  subject to cost and reliability constraints Circuit switch must reject call if can’t find a path for samples from input to output Circuit switch must reject call if can’t find a path for samples from input to output  goal: minimize call blocking Packet switch must reject a packet if it can’t find a buffer to store it awaiting access to output trunk Packet switch must reject a packet if it can’t find a buffer to store it awaiting access to output trunk  goal: minimize packet loss Don’t reorder packets Don’t reorder packets

A generic switch

Outline Circuit switching Circuit switching Packet switching Packet switching  Switch generations  Switch fabrics  Buffer placement  Multicast switches

Circuit switching Moving 8-bit samples from an input port to an output port Moving 8-bit samples from an input port to an output port Recall that samples have no headers Recall that samples have no headers Destination of sample depends on time at which it arrives at the switch Destination of sample depends on time at which it arrives at the switch  actually, relative order within a frame We’ll first study something simpler than a switch: a multiplexor We’ll first study something simpler than a switch: a multiplexor

Multiplexors and demultiplexors Most trunks time division multiplex voice samples Most trunks time division multiplex voice samples At a central office, trunk is demultiplexed and distributed to active circuits At a central office, trunk is demultiplexed and distributed to active circuits Synchronous multiplexor Synchronous multiplexor  N input lines  Output runs N times as fast as input

More on multiplexing Demultiplexor Demultiplexor  one input line and N outputs that run N times slower  samples are placed in output buffer in round robin order Neither multiplexor nor demultiplexor needs addressing information (why?) Neither multiplexor nor demultiplexor needs addressing information (why?) Can cascade multiplexors Can cascade multiplexors  need a standard  example: DS hierarchy in the US and Japan

Inverse multiplexing Takes a high bit-rate stream and scatters it across multiple trunks Takes a high bit-rate stream and scatters it across multiple trunks At the other end, combines multiple streams At the other end, combines multiple streams  resequencing to accommodate variation in delays Allows high-speed virtual links using existing technology Allows high-speed virtual links using existing technology

A circuit switch A switch that can handle N calls has N logical inputs and N logical outputs A switch that can handle N calls has N logical inputs and N logical outputs  N up to 200,000 In practice, input trunks are multiplexed In practice, input trunks are multiplexed  example: DS3 trunk carries 672 simultaneous calls Multiplexed trunks carry frames = set of samples Multiplexed trunks carry frames = set of samples Goal: extract samples from frame, and depending on position in frame, switch to output Goal: 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  demultiplex, switch, multiplex

Call blocking Can’t find a path from input to output Can’t find a path from input to output Internal blocking Internal blocking  slot in output frame exists, but no path Output blocking Output blocking  no slot in output frame is available Output blocking is reduced in transit switches Output blocking is reduced in transit switches  need to put a sample in one of several  need to put a sample in one of several slots going to the desired next hop

Time division switching Key idea: when demultiplexing, position in frame determines output trunk Key idea: when demultiplexing, position in frame determines output trunk Time division switching interchanges sample position within a frame: time slot interchange (TSI) Time division switching interchanges sample position within a frame: time slot interchange (TSI)

How large a TSI can we build? Limit is time taken to read and write to memory Limit is time taken to read and write to memory For 120,000 circuits For 120,000 circuits  need to read and write memory once every 125 microseconds  each operation takes around 0.5 ns => impossible with current technology Need to look to other techniques Need to look to other techniques

Space division switching Each sample takes a different path thoguh the swithc, depending on its destination Each sample takes a different path thoguh the swithc, depending on its destination

Crossbar Simplest possible space-division switch Simplest possible space-division switch Crosspoints Crosspoints can be turned on or off For multiplexed inputs, need a switching schedule (why?) Internally nonblocking   but need N 2 crosspoints   time taken to set each crosspoint grows quadratically   vulnerable to single faults (why?)

Multistage crossbar In a crossbar during each switching time only one crosspoint per row or column is active In a crossbar during each switching time only one crosspoint per row or column is active Can save crosspoints if a crosspoint can attach to more than one input line (why?) Can save crosspoints if a crosspoint can attach to more than one input line (why?) This is done in a multistage crossbar This is done in a multistage crossbar Need to rearrange connections every switching time Need to rearrange connections every switching time

Multistage crossbar Can suffer internal blocking Can suffer internal blocking  unless sufficient number of second-level stages Number of crosspoints < N 2 Number of crosspoints < N 2 Finding a path from input to output requires a depth-first-search Finding a path from input to output requires a depth-first-search Scales better than crossbar, but still not too well Scales better than crossbar, but still not too well  120,000 call switch needs ~250 million crosspoints

Time-space switching Precede each input trunk in a crossbar with a TSI Precede each input trunk in a crossbar with a TSI Delay samples so that they arrive at the right time for the space division switch’s schedule Delay samples so that they arrive at the right time for the space division switch’s schedule

Time-space-time (TST) switching Allowed to flip samples both on input and output trunk Allowed to flip samples both on input and output trunk Gives more flexibility => lowers call blocking probability Gives more flexibility => lowers call blocking probability

Outline Circuit switching Circuit switching Packet switching Packet switching  Switch generations  Switch fabrics  Buffer placement  Multicast switches

Packet switching In a circuit switch, path of a sample is determined at time of connection establishment In a circuit switch, path of a sample is determined at time of connection establishment No need for a sample header--position in frame is enough No need for a sample header--position in frame is enough In a packet switch, packets carry a destination field In a packet switch, packets carry a destination field Need to look up destination port on-the-fly Need to look up destination port on-the-fly Datagram Datagram  lookup based on entire destination address Cell Cell  lookup based on VCI Other than that, very similar Other than that, very similar

Repeaters, bridges, routers, and gateways Repeaters: at physical level Repeaters: at physical level Bridges: at datalink level (based on MAC addresses) (L2) Bridges: at datalink level (based on MAC addresses) (L2)  discover attached stations by listening Routers: at network level (L3) Routers: at network level (L3)  participate in routing protocols Application level gateways: at application level (L7) Application level gateways: at application level (L7)  treat entire network as a single hop  e.g mail gateways and transcoders Gain functionality at the expense of forwarding speed Gain functionality at the expense of forwarding speed  for best performance, push functionality as low as possible

Port mappers Look up output port based on destination address Look up output port based on destination address Easy for VCI: just use a table Easy for VCI: just use a table Harder for datagrams: Harder for datagrams:  need to find longest prefix match  e.g. packet with address  entries: ( *, 3), ( *, 4), ( , 2) A standard solution: trie A standard solution: trie

Tries Two ways to improve performance Two ways to improve performance  cache recently used addresses in a CAM  move common entries up to a higher level (match longer strings)

Blocking in packet switches Can have both internal and output blocking Can have both internal and output blocking Internal Internal  no path to output Output Output  trunk unavailable Unlike a circuit switch, cannot predict if packets will block (why?) Unlike a circuit switch, cannot predict if packets will block (why?) If packet is blocked, must either buffer or drop it If packet is blocked, must either buffer or drop it

Dealing with blocking Overprovisioning Overprovisioning  internal links much faster than inputs Buffers Buffers  at input or output Backpressure Backpressure  if switch fabric doesn’t have buffers, prevent packet from entering until path is available Parallel switch fabrics Parallel switch fabrics  increases effective switching capacity

Outline Circuit switching Circuit switching Packet switching Packet switching  Switch generations  Switch fabrics  Buffer placement  Multicast switches

Three generations of packet switches n Different trade-offs between cost and performance n Represent evolution in switching capacity, rather than in technology u With same technology, a later generation switch achieves greater capacity, but at greater cost All three generations are represented in current products All three generations are represented in current products

First generation switch Most Ethernet switches and cheap packet routers Most Ethernet switches and cheap packet routers Bottleneck can be CPU, host-adaptor or I/O bus, depending Bottleneck can be CPU, host-adaptor or I/O bus, depending

Example First generation router built with 133 MHz Pentium First generation router built with 133 MHz Pentium  Mean packet size 500 bytes  Interrupt takes 10 microseconds, word access take 50 ns  Per-packet processing time takes 200 instructions = µs Copy loop Copy loop register <- memory[read_ptr] memory [write_ptr] <- register read_ptr <- read_ptr + 4 write_ptr <- write_ptr + 4 counter <- counter -1 if (counter not 0) branch to top of loop 4 instructions + 2 memory accesses = ns 4 instructions + 2 memory accesses = ns Copying packet takes 500/4 * = µs; interrupt 10 µs Copying packet takes 500/4 * = µs; interrupt 10 µs Total time = µs => speed is Mbps Total time = µs => speed is Mbps Amortized interrupt cost balanced by routing protocol cost Amortized interrupt cost balanced by routing protocol cost

Second generation switch Port mapping intelligence in line cards Port mapping intelligence in line cards ATM switch guarantees hit in lookup cache ATM switch guarantees hit in lookup cache Ipsilon IP switching Ipsilon IP switching  assume underlying ATM network  by default, assemble packets  if detect a flow, ask upstream to send on a particular VCI, and install entry in port mapper => implicit signaling

Third generation switches Bottleneck in second generation switch is the bus (or ring) Bottleneck in second generation switch is the bus (or ring) Third generation switch provides parallel paths (fabric) Third generation switch provides parallel paths (fabric)

Third generation (contd.) Features Features  self-routing fabric  output buffer is a point of contention  unless we arbitrate access to fabric  potential for unlimited scaling, as long as we can resolve contention for output buffer

Outline Circuit switching Circuit switching Packet switching Packet switching  Switch generations  Switch fabrics  Buffer placement  Multicast switches

Switch fabrics Transfer data from input to output, ignoring scheduling and buffering Transfer data from input to output, ignoring scheduling and buffering Usually consist of links and switching elements Usually consist of links and switching elements

Crossbar Simplest switch fabric Simplest switch fabric  think of it as 2N buses in parallel Used here for packet routing: crosspoint is left open long enough to transfer a packet from an input to an output Used here for packet routing: crosspoint is left open long enough to transfer a packet from an input to an output For fixed-size packets and known arrival pattern, can compute schedule in advance For fixed-size packets and known arrival pattern, can compute schedule in advance Otherwise, need to compute a schedule on-the-fly (what does the schedule depend on?) Otherwise, need to compute a schedule on-the-fly (what does the schedule depend on?)

Buffered crossbar What happens if packets at two inputs both want to go to same output? What happens if packets at two inputs both want to go to same output? Can defer one at an input buffer Can defer one at an input buffer Or, buffer crosspoints Or, buffer crosspoints

Broadcast Packets are tagged with output port # Packets are tagged with output port # Each output matches tags Each output matches tags Need to match N addresses in parallel at each output Need to match N addresses in parallel at each output Useful only for small switches, or as a stage in a large switch Useful only for small switches, or as a stage in a large switch

Switch fabric element Can build complicated fabrics from a simple element Can build complicated fabrics from a simple element Routing rule: if 0, send packet to upper output, else to lower output Routing rule: if 0, send packet to upper output, else to lower output If both packets to same output, buffer or drop If both packets to same output, buffer or drop

Features of fabrics built with switching elements NxN switch with bxb elements has elements with elements per stage NxN switch with bxb elements has elements with elements per stage Fabric is self routing Fabric is self routing Recursive Recursive Can be synchronous or asynchronous Can be synchronous or asynchronous Regular and suitable for VLSI implementation Regular and suitable for VLSI implementation

Banyan Simplest self-routing recursive fabric Simplest self-routing recursive fabric (why does it work?) (why does it work?) What if two packets both want to go to the same output? What if two packets both want to go to the same output?  output blocking

Blocking Can avoid with a buffered banyan switch Can avoid with a buffered banyan switch  but this is too expensive  hard to achieve zero loss even with buffers Instead, can check if path is available before sending packet Instead, can check if path is available before sending packet  three-phase scheme  send requests  inform winners  send packets Or, use several banyan fabrics in parallel Or, use several banyan fabrics in parallel  intentionally misroute and tag one of a colliding pair  divert tagged packets to a second banyan, and so on to k stages  expensive  can reorder packets  output buffers have to run k times faster than input

Sorting Can avoid blocking by choosing order in which packets appear at input ports Can avoid blocking by choosing order in which packets appear at input ports If we can If we can  present packets at inputs sorted by output  remove duplicates  remove gaps  precede banyan with a perfect shuffle stage  then no internal blocking For example, [X, 010, 010, X, 011, X, X, X] -(sort)-> [010, 011, 011, X, X, X, X, X] -(remove dups)-> [010, 011, X, X, X, X, X, X] -(shuffle)-> [010, X, 011, X, X, X, X, X] For example, [X, 010, 010, X, 011, X, X, X] -(sort)-> [010, 011, 011, X, X, X, X, X] -(remove dups)-> [010, 011, X, X, X, X, X, X] -(shuffle)-> [010, X, 011, X, X, X, X, X] Need sort, shuffle, and trap networks Need sort, shuffle, and trap networks

Sorting Build sorters from merge networks Build sorters from merge networks Assume we can merge two sorted lists Assume we can merge two sorted lists Sort pairwise, merge, recurse Sort pairwise, merge, recurse

Merging

Putting it together- Batcher Banyan What about trapped duplicates? What about trapped duplicates?  recirculate to beginning  or run output of trap to multiple banyans (dilation)

Effect of packet size on switching fabrics A major motivation for small fixed packet size in ATM is ease of building large parallel fabrics A major motivation for small fixed packet size in ATM is ease of building large parallel fabrics In general, smaller size => more per-packet overhead, but more preemption points/sec In general, smaller size => more per-packet overhead, but more preemption points/sec  At high speeds, overhead dominates! Fixed size packets helps build synchronous switch Fixed size packets helps build synchronous switch  But we could fragment at entry and reassemble at exit  Or build an asynchronous fabric  Thus, variable size doesn’t hurt too much Maybe Internet routers can be almost as cost-effective as ATM switches Maybe Internet routers can be almost as cost-effective as ATM switches

Outline Circuit switching Circuit switching Packet switching Packet switching  Switch generations  Switch fabrics  Buffer placement  Multicast switches

Buffering All packet switches need buffers to match input rate to service rate All packet switches need buffers to match input rate to service rate  or cause heavy packet loses Where should we place buffers? Where should we place buffers?  input  in the fabric  output  shared

Input buffering (input queueing) No speedup in buffers or trunks (unlike output queued switch) No speedup in buffers or trunks (unlike output queued switch) Needs arbiter Needs arbiter Problem: head of line blocking Problem: head of line blocking  with randomly distributed packets, utilization at most 58.6%  worse with hot spots

Dealing with HOL blocking Per-output queues at inputs Per-output queues at inputs Arbiter must choose one of the input ports for each output port Arbiter must choose one of the input ports for each output port How to select? How to select? Parallel Iterated Matching Parallel Iterated Matching  inputs tell arbiter which outputs they are interested in  output selects one of the inputs  some inputs may get more than one grant, others may get none  if >1 grant, input picks one at random, and tells output  losing inputs and outputs try again Used in DEC Autonet 2 switch Used in DEC Autonet 2 switch

Output queueing Don’t suffer from head-of-line blocking Don’t suffer from head-of-line blocking But output buffers need to run much faster than trunk speed (why?) But output buffers need to run much faster than trunk speed (why?) Can reduce some of the cost by using the knockout principle Can reduce some of the cost by using the knockout principle  unlikely that all N inputs will have packets for the same output  drop extra packets, fairly distributing losses among inputs

Shared memory Route only the header to output port Route only the header to output port Bottleneck is time taken to read and write multiported memory Bottleneck is time taken to read and write multiported memory Doesn’t scale to large switches Doesn’t scale to large switches But can form an element in a multistage switch But can form an element in a multistage switch

Datapath: clever shared memory design Reduces read/write cost by doing wide reads and writes Reduces read/write cost by doing wide reads and writes 1.2 Gbps switch for $50 parts cost 1.2 Gbps switch for $50 parts cost

Buffered fabric Buffers in each switch element Buffers in each switch element Pros Pros  Speed up is only as much as fan-in  Hardware backpressure reduces buffer requirements Cons Cons  costly (unless using single-chip switches)  scheduling is hard

Hybrid solutions Buffers at more than one point Buffers at more than one point Becomes hard to analyze and manage Becomes hard to analyze and manage But common in practice But common in practice

Outline Circuit switching Circuit switching Packet switching Packet switching  Switch generations  Switch fabrics  Buffer placement  Multicast switches

Multicasting Useful to do this in hardware Useful to do this in hardware Assume portmapper knows list of outputs Assume portmapper knows list of outputs Incoming packet must be copied to these output ports Incoming packet must be copied to these output ports Two subproblems Two subproblems  generating and distributing copes  VCI translation for the copies

Generating and distributing copies Either implicit or explicit Either implicit or explicit Implicit Implicit  suitable for bus-based, ring-based, crossbar, or broadcast switches  multiple outputs enabled after placing packet on shared bus  used in Paris and Datapath switches Explicit Explicit  need to copy a packet at switch elements  use a copy network  place # of copies in tag  element copies to both outputs and decrements count on one of them  collect copies at outputs Both schemes increase blocking probability Both schemes increase blocking probability

Header translation Normally, in-VCI to out-VCI translation can be done either at input or output Normally, in-VCI to out-VCI translation can be done either at input or output With multicasting, translation easier at output port (why?) With multicasting, translation easier at output port (why?) Use separate port mapping and translation tables Use separate port mapping and translation tables Input maps a VCI to a set of output ports Input maps a VCI to a set of output ports Output port swaps VCI Output port swaps VCI Need to do two lookups per packet Need to do two lookups per packet