A quick tutorial on IP Router design

21
1 A quick tutorial on IP Router design 2 Outline 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?

Transcript of A quick tutorial on IP Router design

Page 1: A quick tutorial on IP Router design

1

1

H i g h P e r f o r m a n c eS w i t c h i n g a n d R o u t i n g

A quick tutorial on IP Router design

2

Outline• 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?

Page 2: A quick tutorial on IP Router design

2

3

Outline (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

4

Outline• 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?

Page 3: A quick tutorial on IP Router design

3

5

The Internet is a mesh of routers (in theory)

The Internet Core

IP Core router

IP Edge Router

6

What do they look like?

Access routerse.g. ISDN, ADSL

Core routere.g. OC48c POS

Core ATM switch

Page 4: A quick tutorial on IP Router design

4

7

Basic Architectural Componentsof an IP Router

Control Plane

Datapath”per-packet processing

SwitchingForwardingTable

RoutingTable

Routing Protocols

8

Per-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.

Page 5: A quick tutorial on IP Router design

5

9

Outline• 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?

10

Basic Architectural ComponentsDatapath: per-packet processing

2. Interconnect 3. EgressForwarding

Table

ForwardingDecision

1. Ingress

ForwardingTable

ForwardingDecision

ForwardingTable

ForwardingDecision

Page 6: A quick tutorial on IP Router design

6

11

Forwarding Engine

headerpayloadPacket

Router

Destination Address

Outgoing Port

Dest-network PortForwarding Table

Routing Lookup Data Structure

65.0.0.0/8128.9.0.0/16

149.12.0.0/19

31

7

12

The Search Operation is not a Direct Lookup

(Incoming port, label)

Address

Memory

Data

(Outgoing port, label)

IP addresses: 32 bits long ⇒ 4G entries

Page 7: A quick tutorial on IP Router design

7

13

The Search Operation is also notan Exact Match Search

• Hashing • Balanced binary search trees

Exact match search: search for a key in a collection of keys of the same length.

Relatively well studied data structures:

14

0 224 232-1

128.9.0.0/16

65.0.0.0

142.12.0.0/19

65.0.0.0/8

65.255.255.255

Example Forwarding Table

7142.12.0.0/191128.9.0.0/16

365.0.0.0/8

Outgoing PortDestination IP Prefix

IP prefix: 0-32 bits

Prefix length

128.9.16.14

Page 8: A quick tutorial on IP Router design

8

15

Prefixes can Overlap

128.9.16.0/21128.9.172.0/21

128.9.176.0/24

Routing lookup: Find the longest matching prefix (aka the most specific route) among all prefixes that match the destination address.

0 232-1

128.9.0.0/16142.12.0.0/1965.0.0.0/8

128.9.16.14

Longest matching prefix

16

8

32

24

Prefixes

Pref

ix L

engt

h

128.9.0.0/16142.12.0.0/19

65.0.0.0/8

Difficulty of Longest Prefix Match

128.9.16.14

128.9.172.0/21

128.9.176.0/24

128.9.16.0/21

Page 9: A quick tutorial on IP Router design

9

17

Lookup Rate Required

12540.0OC768c2002-0331.2510.0OC192c2000-017.812.5OC48c1999-001.940.622OC12c1998-99

40B packets (Mpps)

Line-rate (Gbps)

LineYear

DRAM: 50-80 ns, SRAM: 5-10 ns

31.25 Mpps ⇒ 33 ns

18

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

100000

Size of the Forwarding Table

Source: http://www.telstra.net/ops/bgptable.html

95 96 97 98 99 00Year

Num

ber

of P

refi

xes

10,000/year

Page 10: A quick tutorial on IP Router design

10

19

Basic Architectural ComponentsDatapath: per-packet processing

2. Interconnect 3. EgressForwarding

Table

ForwardingDecision

1. Ingress

ForwardingTable

ForwardingDecision

ForwardingTable

ForwardingDecision

20

InterconnectsTwo basic techniques

Input Queueing Output Queueing

Usually a non-blockingswitch fabric (e.g. crossbar)

Usually a fast bus

Page 11: A quick tutorial on IP Router design

11

21

InterconnectsOutput Queueing

Individual Output Queues Centralized Shared Memory

Memory b/w = (N+1).R

1

2

N

Memory b/w = 2N.R

1

2

N

22

Output 2

Output N

InterconnectsCentralized Shared Memory

Large, single dynamically allocated memory buffer:N writes per “cell” timeN reads per “cell” time.

Limited by memory bandwidth.

Input 1 Output 1

Input N

Input 2

Numerous work has proven and made possible:– Fairness– Delay Guarantees– Delay Variation Control– Loss Guarantees– Statistical Guarantees

Page 12: A quick tutorial on IP Router design

12

23

Output QueueingHow fast can we make centralized shared memory?

SharedMemory

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

24

InterconnectsInput Queueing with Crossbar

configuration

Dat

a In

Data Out

Arbiter

Memory b/w = 2R

Page 13: A quick tutorial on IP Router design

13

25

Input QueueingHead of Line Blocking

Delay

Load58.6% 100%

26

Head of Line Blocking

Page 14: A quick tutorial on IP Router design

14

27

Input QueueingVirtual output queues

28

Input QueueingVirtual Output Queues

Delay

Load100%

Page 15: A quick tutorial on IP Router design

15

29

Input QueueingVirtual output queues

Arbiter

Memory b/w = 2R

Complex!

30

Other Non-Blocking FabricsClos Network

Page 16: A quick tutorial on IP Router design

16

31

Other Non-Blocking FabricsClos Network

Expansion factor required = 2-1/N

32

Other Non-Blocking FabricsSelf-Routing Networks

000001

010011

100101

110111

000001

010011

100101

110111

Page 17: A quick tutorial on IP Router design

17

33

Other Non-Blocking FabricsSelf-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

000001010011100101110111

Bitonic Sorter Self-Routing Network

The Non-blocking Batcher Banyan Network

• Fabric can be used as scheduler. •Batcher-Banyan network is blocking for multicast.

34

Outline• 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?

Page 18: A quick tutorial on IP Router design

18

35

Basic Architectural Components

OutputScheduling

Control Plane

Datapath”per-packet processing

SwitchingForwardingTable

ReservationAdmissionControl Routing

Table

Routing Protocols

Policing& AccessControl

PacketClassification

Ingress EgressInterconnect

1. 2. 3.

36

Basic Architectural ComponentsDatapath: per-packet processing

2. Interconnect 3. EgressForwarding

TableClassifier

Table

Policing &AccessControl

ForwardingDecision

1. Ingress

ForwardingTable

ClassifierTable

Policing &AccessControl

ForwardingDecision

ForwardingTable

ClassifierTable

Policing &AccessControl

ForwardingDecision

Limitation: Memory b/w Limitation: Interconnect b/w Power & Arbitration

Limitation: Memory b/w

Page 19: A quick tutorial on IP Router design

19

37

Outline• 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?

38

Can optics help?

Cynical view:1. A packet switch (e.g. an IP router) must

have buffering.2. Optical buffering is not feasible.3. Therefore, optical routers are not

feasible.4. Hence, “optical switches” are circuit

switches (e.g. TDM, space or Lambda switches).

Page 20: A quick tutorial on IP Router design

20

39

Can 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.

40

Can optics help?

PhysicalLayer

Framing&

Maintenance

PacketProcessing

Buffer Mgmt&

Scheduling

Buffer Mgmt&

Scheduling

Buffer& StateMemory

Buffer& StateMemory

Typical IP Router Linecard

OC192c linecard:~10-30M gates~2Gbits of memory~2 square feet>$10k cost

LookupTables

Backplane

Buffered orBufferless

Fabric

Arbitration

Page 21: A quick tutorial on IP Router design

21

41

Can 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?

42

Outline 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