routers: forwardingee122/sp06/lecturenotes/... · 2006-02-28 · 1 routers: forwarding eecs 122:...

18
1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of California Berkeley February 23, 2006 EECS122 Lecture 12 (AKP) 2 Router Architecture Overview Two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwarding datagrams from incoming to outgoing link Interconnection fabric

Upload: others

Post on 25-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

1

Routers: ForwardingEECS 122: Lecture 13

Department of Electrical Engineering and Computer Sciences

University of California

Berkeley

February 23, 2006 EECS122 Lecture 12 (AKP) 2

Router Architecture Overview

Two key router functions:

� run routing algorithms/protocol (RIP, OSPF, BGP)

� forwarding datagrams from incoming to outgoing link

Interconnection

fabric

Page 2: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

2

February 23, 2006 EECS122 Lecture 12 (AKP) 3

Today: Focus on Forwarding Datagrams

� Input Ports

� Output Ports

� Interconnection Fabric

� Forwarding Process

� Datagrams: Lookups

� (Virtual Circuit next lecture)

� Examples of Routers

February 23, 2006 EECS122 Lecture 12 (AKP) 4

Input Port Functions

Decentralized switching:� given datagram dest., lookup output port

using forwarding table in input port memory

� goal: complete input port processing at ‘line speed’

� queuing: if datagrams arrive faster than forwarding rate into switch fabric

Physical layer:bit-level reception

Data link layer:e.g., Ethernet

Page 3: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

3

February 23, 2006 EECS122 Lecture 12 (AKP) 5

Output Ports

February 23, 2006 EECS122 Lecture 12 (AKP) 6

Queuing Functions� Buffer management: decide when and

which packet to drop

� Scheduler: decide when and which

packet to transmit

11

22

1

2

SchedulerBuffer

Page 4: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

4

February 23, 2006 EECS122 Lecture 12 (AKP) 7

Output Queued Router� Only output interfaces

store packets

� Advantage

� Easy to design algorithms: only one congestion point

input interface output interface

Fabric

February 23, 2006 EECS122 Lecture 12 (AKP) 8

Output Queued Routers

Page 5: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

5

February 23, 2006 EECS122 Lecture 12 (AKP) 9

Output Queued Router� Only output interfaces

store packets

� Advantage

� Easy to design algorithms: only one congestion point

� Disadvantage

� Requires a speedup of a factor of N, where N is the number of interfaces �not feasible for large N

input interface output interface

Fabric

February 23, 2006 EECS122 Lecture 12 (AKP) 10

Input Queues

� Only input interfaces store packets

� Advantages� Easy to build

� Simple algorithms

input interface output interface

Fabric

Page 6: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

6

February 23, 2006 EECS122 Lecture 12 (AKP) 11

Input Queues: Head-of-line Blocking

� The packet at the head of an input queue cannot be transferred, thus blocking the following packets

Output 1

Output 2

Output 3

Input 1

Input 2

Input 3

Cannot be transferred because of output contention

Cannot be transferred because of HOL blocking

Wastes router capacity

February 23, 2006 EECS122 Lecture 12 (AKP) 12

Input Queues

� Only input interfaces store packets

� Advantages� Easy to build

� Simple algorithms

� Disadvantages� HOL Blocking

� Need a speedup that eliminates HOL but does not create output queues…

� About 2 suffices…

input interface output interface

Fabric

Page 7: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

7

February 23, 2006 EECS122 Lecture 12 (AKP) 13

Advanced Queuing Functions� Packet classification: map each packet to a predefined class

� use to implement more sophisticated services (e.g., QoS)

� Flow: a subset of packets between any two endpoints in the network

1

2

Scheduler

class 1

class 2

class n

Classifier

Buffer

management

February 23, 2006 EECS122 Lecture 12 (AKP) 14

Three types of switching fabrics

Page 8: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

8

February 23, 2006 EECS122 Lecture 12 (AKP) 15

Route

TableCPU

LineCard

BufferMemory

LineCard

MAC

BufferMemory

LineCard

MAC

BufferMemory

FwdingCache

FwdingCache

FwdingCache

MAC

Buffer

Memory

•Typically < 5Gb/s aggregate

capacity

•Limited by shared bus

•1 Gbps bus, Cisco 1900: sufficient

speed for access and enterprise

routers (not regional or backbone)

Slide by Nick McKeown

Shared Bus Fabrics

February 23, 2006 EECS122 Lecture 12 (AKP) 16

Route

TableCPU

Buffer

Memory

LineInterface

MAC

LineInterface

MAC

LineInterface

MAC

Typically < 0.5Gbps aggregate capacityLimited by rate of shared memory

Shared Backplane

Line Interface

CPU

Mem

ory

Slide by Nick McKeown

Shared Memory Based Fabrics

Page 9: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

9

February 23, 2006 EECS122 Lecture 12 (AKP) 17

LineCard

MAC

LocalBuffer

Memory

CPUCard

LineCard

MAC

LocalBuffer

Memory

Switched Backplane

Line Interface

CPU

Mem

ory FwdingTable

RoutingTable

FwdingTable

Typically < 50Gbps aggregate capacity Slide by Nick McKeown

Switched Fabrics

February 23, 2006 EECS122 Lecture 12 (AKP) 18

Switched Fabrics

� Overcome bus bandwidth limitations

� Banyan networks, other interconnection nets initially

developed to connect processors in multiprocessor

� Advanced design: fragmenting datagram into fixed

length cells, switch cells through the fabric.

� Cisco 12000: switches Gbps through the

interconnection network

Page 10: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

10

February 23, 2006 EECS122 Lecture 12 (AKP) 19

Example: Crossbar Switches

� Basic Idea

� N2 switching points

� not scalable

� Engineering Idea

� It is very unlikely that more than L packets will want to go to the same output port simultaneously

� How many switching points can we save for fixed L?

February 23, 2006 EECS122 Lecture 12 (AKP) 20

The Knockout Concentrator

� Goal: If there are greater than L packets that want to

go to the same destination, pick L in a fair manner.

� Organize the switching elements as if they are

implementing a multi-round tournament

� A game consists of two players and the winner is selected at random (at a switching element)

� The winner moves on to the next round, while the loser plays a “consolation” rank

� The top L players are selected.

Page 11: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

11

February 23, 2006 EECS122 Lecture 12 (AKP) 21

Knockout Switch Concentrator

D

1 2 3 4

Outputs

Inputs

D

D

D

D D

D

D

D D

D

D

D

D

D = delay elements to insure

all packets exit at same time

What is the complexity?

How many 2X2 elements for fixed L?

February 23, 2006 EECS122 Lecture 12 (AKP) 22

Why have multiple rounds?

� Example: N=8, L=4

� After one round, there are four winners and

four losers

� Why not just pick the winners and drop the

losers?

Page 12: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

12

February 23, 2006 EECS122 Lecture 12 (AKP) 23

Example

D

1 2 3 4

Outputs

Inputs

D

D

D

D D

D

D

D D

D

D

D

D

D = delay elements to insure

all packets exit at same time

Stopping after the first round

would mean that two packets are

dropped even though all four

Should be delivered

February 23, 2006 EECS122 Lecture 12 (AKP) 24

The Forwarding Decision Process

� Datagram Routing: Each packet is independently

forwarded at each router

� Must look up IP address ranges

� Virtual Circuit Routing:

� call setup, teardown for each call before data can flow

� each packet carries VC identifier (not destination host address)

� every router on source-dest path maintains “state” for each passing connection

� link, router resources (bandwidth, buffers) may be allocated

to VC (dedicated resources = predictable service)

Page 13: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

13

February 23, 2006 EECS122 Lecture 12 (AKP) 25

Datagram Route Lookup

� Longest Prefix Match

� Not easy to do at line speeds!

� It is useful to think of the search process as a

traversal of a special kind of labeled tree

called a Trie

February 23, 2006 EECS122 Lecture 12 (AKP) 26

Trees and Tries

Binary Search Tree

< >

< > < >

log2 N

N entries

Binary Search Trie

0 1

0 1 0 1

111010

Nick Mckeown

Page 14: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

14

February 23, 2006 EECS122 Lecture 12 (AKP) 27

Simple Tries and LPM

� The routing table entry is a variable length

prefix

� E.g. 01111111 00001111 0000100100 for 128.23.9.0/26

� A balanced tree won’t work

� Variable number of steps required

February 23, 2006 EECS122 Lecture 12 (AKP) 28

LPM in IP RoutersBinary tries

Example Prefixes

a) 00001b) 00010c) 00011d) 001e) 0101f) 011g) 100h) 1010i) 1100j) 11110000

e

f g

h i

j

0 1

a b c

d

Nick Mckeown

Page 15: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

15

February 23, 2006 EECS122 Lecture 12 (AKP) 29

LPM in IP Routers“Patricia” trie

Example Prefixes

a) 00001b) 00010c) 00011d) 001e) 0101f) 011g) 100h) 1010i) 1100j) 11110000

e

f g

h i

j Skip 51000

0 1

a b c

d

Nick Mckeown

February 23, 2006 EECS122 Lecture 12 (AKP) 30

Router Performance

� Goal: To work at line speed� Depends on interfaces

� Throughput is difficult to quantify� Depends on traffic flow

� Traffic flow is hard to model

� Packets per second hard to quantify� IP packets are of variable size

� Routers at different parts of the network have different characteristics

Page 16: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

16

February 23, 2006 EECS122 Lecture 12 (AKP) 31

0,1

1

10

100

1000

10000

1985 1990 1995 2000

Sp

ec

95

Int

CP

U r

es

ult

s

Why we Need Faster Routers 1: To prevent routers from being the bottleneck

0,1

1

10

100

1000

10000

1985 1990 1995 2000

Fib

er

Cap

acit

y (

Gb

it/s

)

TDM DWDM

Packet processing Power Link Speed

2x / 18 months 2x / 7 months

Source: SPEC95Int & David Miller, Stanford.

Slide by Nick McKeown

February 23, 2006 EECS122 Lecture 12 (AKP) 32

POP with smaller routers

Why we Need Faster Routers 2: To reduce cost, power & complexity of Data Centers

POP with large routers

� Ports: Price >$100k, Power > 400W. � It is common for 50-60% of ports to be for interconnection.

Slide by Nick McKeown

Page 17: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

17

February 23, 2006 EECS122 Lecture 12 (AKP) 33

Example: Wide Area Routers

Cisco GSR 12416 Juniper M160

6ft

19”

2ft

Capacity: 160Gb/sPower: 4.2kW

3ft

2.5ft

19”

Capacity: 80Gb/s

Power: 2.6kW

Slide by Nick McKeown

Both HaveCrossbar Fabrics

February 23, 2006 EECS122 Lecture 12 (AKP) 34

Examples: Cisco 7600

� MAN-WAN Router

� Up to 128 Gbps with Crossbar

Fabric

� 10Mbps – 10Gbps LAN

Interfaces

� Various WAN Interfaces

� Many QoS features and interfaces

Page 18: Routers: Forwardingee122/sp06/LectureNotes/... · 2006-02-28 · 1 Routers: Forwarding EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of

18

February 23, 2006 EECS122 Lecture 12 (AKP) 35

Examples: Cisco cat 6500

� From LAN to Access

� 48 to 576 10/100 Ethernet Interfaces

� 10 GigEth, OC-3, OC-12, OC-48, ATM

� QoS, Security

� Load Balancing; VPN

� Up to 128Gbps (with crossbar)

� L4-7 Switching

� IP Telephony (E1, T1, inline-power Ethernet)

� SNMP, RMON

OC-n: Optical carriern = 51.84Mbs