View
3
Download
0
Category
Preview:
Citation preview
EE 122: Router DesignKevin Lai
September 25, 2002
laik@cs.berkeley.edu 2
Routers
.
.. ...
A router consists- A set of input interfaces at which packets arrive- A set of output interfaces from which packets depart- Some form of interconnect connecting inputs to outputs
Router implements two main functions- Forward packet to corresponding output interface- Manage bandwidth and buffer space resources
laik@cs.berkeley.edu 3
What a Router Looks Like
6ft
19”
2ft
Capacity: 160Gb/sPower: 4.2kW
3ft
2.5ft
Cisco GSR 12416 Juniper M16019”
Capacity: 80Gb/sPower: 2.6kW
Slide by Nick McKeown
laik@cs.berkeley.edu 4
Why Understand Router Design
Many companies make switches and routers- e.g., Cisco, Juniper, Nortel
Many other devices have a similar structure- e.g., PC’s internal interconnect, multi-processor
interconnectSwitch design dictates what can be done at higher layers
- e.g., per flow state is expensive,the need to minimize per packet processing time
laik@cs.berkeley.edu 5
Why Do We Need Faster Routers?
1. To prevent routers becoming the bottleneck in the Internet.
2. To increase POP capacity, and to reduce cost, size and power.
laik@cs.berkeley.edu 6
Why we Need Faster Routers 1: To prevent routers from being the bottleneck
0,1
1
10
100
1000
10000
1985 1990 1995 2000
Spec
95In
t CPU
resu
lts
0,1
1
10
100
1000
10000
1985 1990 1995 2000
Fibe
r Cap
acity
(Gbi
t/s)
TDM DWDM
Packet processing Power
2x / 18 months 2x / 7 months
Link Speed
Source: SPEC95Int & David Miller, Stanford.
Slide by Nick McKeown
laik@cs.berkeley.edu 7
Why we Need Faster Routers 2: To reduce cost, power & complexity of POPs
POP with large routers POP with smaller routers
Ports: Price >$100k, Power > 400W. It is common for 50-60% of ports to be for interconnection.
Slide by Nick McKeown
laik@cs.berkeley.edu 8
Requirements
Power- generates heat, costs money- < 5kW
Size- space costs money- < 2m3
BandwidthPorts
- number of external linksPriceSome customers want
- Multicast- Quality of Service
laik@cs.berkeley.edu 9
Generic Router Architecture
Input and output interfaces are connected through an interconnectA interconnect can be implemented by
- Shared memory • low capacity routers (e.g.,
PC-based routers)- Shared bus
• Medium capacity routers- Point-to-point (switched) bus
• High capacity routers
input interface output interface
Inter-connect
laik@cs.berkeley.edu 10
First Generation Routers
RouteTableCPU Buffer
Memory
LineInterface
MAC
LineInterface
MAC
LineInterface
MAC
Typically <0.5Gb/s aggregate capacity
Shared Backplane
Line Interface
CPU
Memory
Slide by Nick McKeown
laik@cs.berkeley.edu 11
Second Generation Routers
RouteTableCPU Buffer
Memory
LineCard
BufferMemory
LineCard
MAC
BufferMemory
LineCard
MAC
BufferMemory
FwdingCache
FwdingCache
FwdingCache
MAC
Typically <5Gb/s aggregate capacitySlide by Nick McKeown
laik@cs.berkeley.edu 12
Third Generation Routers
LineCard
MAC
LocalBuffer
Memory
CPUCard
LineCard
MAC
LocalBuffer
Memory
FwdingTable
RoutingTable
FwdingTable
Switched Backplane
Line Interface
CPUMemory
Typically <50Gb/s aggregate capacity
Slide by Nick McKeown
laik@cs.berkeley.edu 13
Speedup
C – input/output link capacityRI – maximum rate at which an input interface can send data into interconnectRO – maximum rate at which an output can read data from interconnectB – maximum aggregate interconnect transfer rateInterconnect speedup: B/CInput speedup: RI/COutput speedup: RO/C
input interface output interface
Inter-connect
RI ROBC C
laik@cs.berkeley.edu 14
Typical Functions Performed by Input Interface on Data Path
Packet forwarding: decide to which output interface to forward each packet based on the information in packet header
- examine packet header- lookup in forwarding table- update packet header
laik@cs.berkeley.edu 15
Typical Functions Performed by Output Interface
Buffer management: decide when and which packet to dropScheduler: decide when and which packet to transmit
1
2
SchedulerBuffer
laik@cs.berkeley.edu 16
Typical Functions Performed by Output Interface (cont’d)
1
2
Scheduler
flow 1
flow 2
flow n
Classifier
Buffer management
Packet classification: map each packet to a predefined flow/connection (for datagram forwarding)
- use to implement more sophisticated services (e.g., QoS)
Flow: a subset of packets between any two endpoints in the network
laik@cs.berkeley.edu 17
Interconnect
Point-to-point switch allows to simultaneouslytransfer a packet between any two disjoint pairs of input-output interfacesGoal: come-up with a schedule that
- Provide Quality of Service- Maximize router throughput
Challenges:- Address head-of-line blocking at inputs- Resolve input/output speedups contention- Avoid packet dropping at output if possible
Note: packets are fragmented in fix sized cells at inputs and reassembled at outputs
laik@cs.berkeley.edu 18
Output Queued (OQ) Routers
input interface output interface
Backplane
RO
Only output interfaces store packetsAdvantages
- Easy to design algorithms: only one congestion point
Disadvantages- Requires an output speedup
of N, where N is the number of interfaces not feasible C
laik@cs.berkeley.edu 19
Input Queueing (IQ) RoutersOnly input interfaces store packetsAdvantages
- Easy to built • Store packets at inputs if
contention at outputs - Relatively easy to design algorithms
• Only one congestion point, but not output…
• need to implement backpressureDisadvantages
- Hard to achieve utilization 1 (due to output contention, head-of-line blocking)
• However, theoretical and simulation results show that for realistic traffic an input/output speedup of 2 is enough to achieve utilizations close to 1
input interface output interface
Backplane
RO C
laik@cs.berkeley.edu 20
Head-of-line Blocking
The cell at the head of an input queue cannot be transferred, thus blocking the following cells
Cannot betransferred because output buffer overflow
Cannot be transferred because is blocked by red cell
Input 1 Output 1
Input 2 Output 2
Input 3 Output 3
laik@cs.berkeley.edu 210% 20% 40% 60% 80% 100%Load
Dela
yA Router with Input Queues
Head of Line Blocking
The best that any queueing system can
achieve.
2 2 58%− ≈Slide by Nick McKeown
laik@cs.berkeley.edu 22
Solution to Avoid Head-of-line Blocking
Maintain at each input N virtual queues, i.e., one per output
Input 1Output 1
Output 2Input 2
Output 3
Input 3
laik@cs.berkeley.edu 23
Combined Input-Output Queueing (CIOQ) Routers
Both input and output interfaces store packetsAdvantages
- Easy to built • Utilization 1 can be achieved
with limited input/output speedup (<= 2)
Disadvantages- Harder to design algorithms
• Two congestion points• Need to design flow control
input interface output interface
Backplane
RO C
Recommended