Title: A quick tutorial on
1A quick tutorial on IP Router design Optics and
Routing Seminar October 10th, 2000
Nick McKeown nickm_at_stanford.edu http//www.stanfor
d.edu/nickm
2Outline
- Where IP routers sit in the network
- What IP routers look like
- What do IP routers do?
- Some details
- The internals of a best-effort router
- Lookup, buffering and switching
- The internals of a QoS router
- Can optics help?
3Outline (next time)
- The way routers are really built.
- Evolution of their internal workings.
- What limits their performance.
- The effect that DWDM is having on switch/router
design. - The way the network is built today.
- Discussion The scope for optics
4Outline
- Where IP routers sit in the network
- What IP routers look like
- What do IP routers do?
- Some details
- The internals of a best-effort router
- Lookup, buffering and switching
- The internals of a QoS router
- Can optics help?
5The Internet is a mesh of routers (in theory)
IP Core router
The Internet Core
IP Edge Router
6What do they look like?
Access routers e.g. ISDN, ADSL
Core ATM switch
Core router e.g. OC48c POS
7Basic Architectural Componentsof an IP Router
Routing Protocols
Routing Table
Control Plane
Datapath per-packet processing
Switching
Forwarding Table
8Per-packet processing in an IP Router
- 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., decrement TTL,
update header checksum. - 4. Send packet to the outgoing port(s).
- 5. Buffer packet in the queue.
- 6. Transmit packet onto outgoing link.
9Outline
- Where IP routers sit in the network
- What IP routers look like
- What do IP routers do?
- Some details
- The internals of a best-effort router
- Lookup, buffering and switching
- The internals of a QoS router
- Can optics help?
10Basic Architectural ComponentsDatapath
per-packet processing
2. Interconnect
1. Ingress
3. Egress
Forwarding Table
Forwarding Decision
Forwarding Table
Forwarding Decision
Forwarding Table
Forwarding Decision
11Forwarding Engine
Packet
header
payload
Router
Routing Lookup Data Structure
Destination Address
Outgoing Port
Forwarding Table
Dest-network
Port
65.0.0.0/8
3
128.9.0.0/16
1
149.12.0.0/19
7
12The Search Operation is not a Direct Lookup
(Outgoing port, label)
(Incoming port, label)
Memory
Address
Data
IP addresses 32 bits long ? 4G entries
13The Search Operation is also not an Exact Match
Search
Exact match search search for a key in a
collection of keys of the same length.
Relatively well studied data structures
- Hashing
- Balanced binary search trees
14Example Forwarding Table
Prefix length
IP prefix 0-32 bits
142.12.0.0/19
128.9.0.0/16
65.0.0.0/8
0
232-1
224
65.0.0.0
65.255.255.255
15Prefixes can Overlap
Longest matching prefix
128.9.176.0/24
128.9.16.0/21
128.9.172.0/21
142.12.0.0/19
65.0.0.0/8
128.9.0.0/16
0
232-1
Routing lookup Find the longest matching prefix
(aka the most specific route) among all prefixes
that match the destination address.
16Difficulty of Longest Prefix Match
128.9.176.0/24
128.9.172.0/21
128.9.16.0/21
142.12.0.0/19
128.9.0.0/16
65.0.0.0/8
17Lookup Rate Required
40B packets (Mpps)
Line-rate (Gbps)
Line
Year
1.94
0.622
OC12c
1998-99
7.81
2.5
OC48c
1999-00
31.25
10.0
OC192c
2000-01
125
40.0
OC768c
2002-03
18Size of the Forwarding Table
Number of Prefixes
95
96
97
98
99
00
Year
- Source http//www.telstra.net/ops/bgptable.html
19Basic Architectural ComponentsDatapath
per-packet processing
2. Interconnect
1. Ingress
3. Egress
Forwarding Table
Forwarding Decision
Forwarding Table
Forwarding Decision
Forwarding Table
Forwarding Decision
20InterconnectsTwo basic techniques
Input Queueing
Output Queueing
Usually a non-blocking switch fabric (e.g.
crossbar)
Usually a fast bus
21InterconnectsOutput Queueing
Individual Output Queues
Centralized Shared Memory
1
2
N
1
2
N
22InterconnectsCentralized Shared Memory
- Numerous work has proven and made possible
- Fairness
- Delay Guarantees
- Delay Variation Control
- Loss Guarantees
- Statistical Guarantees
Input 1
Output 1
Output 2
Input 2
Large, single dynamically allocated memory
buffer N writes per cell time N reads per
cell time. Limited by memory bandwidth.
Input N
Output N
23Output QueueingHow fast can we make centralized
shared memory?
5ns SRAM
Shared Memory
- 5ns per memory operation
- Two memory operations per packet
- Therefore, up to 160Gb/s
- In practice, closer to 80Gb/s
1
2
N
200 byte bus
24InterconnectsInput Queueing with Crossbar
Arbiter
Data In
Data Out
configuration
25Input QueueingHead of Line Blocking
Delay
Load
100
26Head of Line Blocking
27Input QueueingVirtual output queues
28Input QueueingVirtual Output Queues
Delay
Load
100
29Input QueueingVirtual output queues
Arbiter
30Other Non-Blocking FabricsClos Network
31Other Non-Blocking FabricsClos Network
32Other Non-Blocking FabricsSelf-Routing Networks
000
000
001
001
010
010
011
011
100
100
101
101
110
110
111
111
33Other Non-Blocking FabricsSelf-Routing Networks
The Non-blocking Batcher Banyan Network
Bitonic Sorter
Self-Routing Network
3
7
7
7
7
7
7
000
7
2
5
0
4
6
6
001
5
3
2
5
5
4
5
010
2
5
3
1
6
5
4
011
6
6
1
3
0
3
3
100
0
1
0
4
3
2
2
101
1
0
6
2
1
0
1
110
4
4
4
6
2
2
0
111
- Fabric can be used as scheduler.
- Batcher-Banyan network is blocking for multicast.
34Outline
- Where IP routers sit in the network
- What IP routers look like
- What do IP routers do?
- Some details
- The internals of a best-effort router
- Lookup, buffering and switching
- The internals of a QoS router
- Can optics help?
35Basic Architectural Components
Routing Protocols
Routing Table
Control Plane
Datapath per-packet processing
Switching
Forwarding Table
36Basic Architectural ComponentsDatapath
per-packet processing
2. Interconnect
1. Ingress
3. Egress
Forwarding Table
Classifier Table
Policing Access Control
Forwarding Decision
Forwarding Table
Classifier Table
Policing Access Control
Forwarding Decision
Forwarding Table
Classifier Table
Policing Access Control
Forwarding Decision
37Outline
- Where IP routers sit in the network
- What IP routers look like
- What do IP routers do?
- Some details
- The internals of a best-effort router
- Lookup, buffering and switching
- The internals of a QoS router
- Can optics help?
38Can optics help?
- Cynical view
- A packet switch (e.g. an IP router) must have
buffering. - Optical buffering is not feasible.
- Therefore, optical routers are not feasible.
- Hence, optical switches are circuit switches
(e.g. TDM, space or Lambda switches).
39Can optics help?
- Open-minded view
- Optics seem ill-suited to processing intensive
functions, or where random access memory is
required. - Optics seems well-suited to bufferless,
reconfigurable datapaths.
40Can optics help?
Typical IP Router Linecard
Lookup Tables
Buffered or Bufferless Fabric
Packet Processing
Buffer Mgmt Scheduling
Physical Layer
Framing Maintenance
Buffer Mgmt Scheduling
Arbitration
OC192c linecard 10-30M gates 2Gbits of
memory 2 square feet gt10k cost
Backplane
41Can optics help?
- Linecard?
- The linecard is processing memory intensive.
- Interconnect?
- Arbitration is very processing intensive.
- The fabric can be a bufferless datapath
- How fast can an optical datapath be
reconfigured?
42Outline for next time
- The way IP routers are really built.
- Evolution of their internal workings.
- What limits their performance.
- The effect that DWDM is having on switch/router
design. - The way the network is built today.
- Discussion The scope for optics