a 50-gb/s ip router 참고논문 : craig partridge et al. [ ieee/acm ton, june 1998 ]

Post on 12-Jan-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

A 50-Gb/s IP Router

참고논문 : Craig Partridge et al. [ IEEE/ACM ToN, June 1998 ]

MGR --- multi-gigabit router

Performance 32 MPPS forwarding rates

(1000b/packet) 50 Gb/s of full-duplex backplane

capacity rate and bandwidth

2~10 times faster than high-performance routers available at that time

Why and How?

Outline Router Architecture Major Innovations Architectures

Line Card Design Forwarding Engines Switched BUS Network Processor Routing/Forwarding Tables

Summary

Why MGR is needed Several multi-gigabit networking

technologies have emerged: ATM/SONET, Optical WDM, Fiber

Channel… Thus requires

Multi-gigabit IP routers Multi-Gigabit Router is especially

useful for integrating ATM into the Internet

Router Architecture

Routing Engines

Packets In Packets OutPacket Forwarding Engines

Router Architecture Any problems if we design MGR ?

Routing Engines

Packets In Packets OutPacket Forwarding Engines

bottleneck?

Bus speed?

MGR architecture

InnovationsFive major innovations

I. each forwarding engine has a complete set of routing tables (100KB for 50K routes)

mis-hit causes 1000 times slow

II. crossbar switched backplane parallelism of a switch

III. separate forwarding engines and line cards instead of one board

not sure one board is enough to fit two functions flexibility

Innovations

Five major innovationsIV. placing forwarding engines on

separate cards link-layers/abstract link-layer header format share forwarding engines/robust

V. QoS processing in the router line-speed QoS classify packets scheduling in outbound line card

MGR Outline

What’s Following Line Card Design Forwarding Engines Crossbar Switch BUS Network Processor Managing Routing and Forwarding

Tables

Line Card Design One Line Card (total cards: 15)

16 interfaces (total < 2.5Gb/s)

Disjoint inbound/outbound Processing Inbound Packet Processing Outbound Packet Processing

Line Card Design --- inbound

Inbound Packet Processing Simple, 64-Byte pages

1st page (Header) to forwarding engine Updated page replaces 1st page

Two situations Multicasts ATM

Line Card Design --- outbound

Outbound Packet Processing Assemble pages to packet Pass to line card’s QoS processor

VLIW programmable state machine Event-driven

Arrival of packet event Transmission interface’s ready event Allocation of bandwidth changes event Timer event

Forwarding Engines - processor

Alpha 21164 Processor 64-bit 32-Register Super-scalar RISC First level cache (Instruction & Data)

(8kB) 2048 Instructions Enough to do key routing function

On-chip secondary cache (96kB) 12,000 entry cache (64bit), hit-rate >=95%

Tertiary cache (up to 16M) Two banks, complete forwarding table

Forwarding Engines - hardware

Read from FIFO Writes to inbound/outbound line

card.

Forwarding Engines - software

Performance 85 instructions in common case No less than 42 cycles Peak forwarding speed of 9.8 MPPS

per forwarding engines

Forwarding Engines - software Three stages for fast path through

Check header/length/option/load route No checksum here

May lookup the route if not match, may update TTL/checksum

Write back the TTL/checksum/routing information

Link-layer information Flow classifier

( Why? )

21% increasing cycles to pay to check for a rare error

Forwarding Engines - software Special cases

Header whose destination misses in the route cache

Headers with errors Header with IP options Datagrams that must be fragmented Multicast datagrams

Goal Frequent and easy-handled packets are done in

the Alpha Otherwise, are pushed of to network processor

Forwarding Engines - software Instruction Mix

Forwarding Engines – Abstract link layer header Summary link-layer information for forwarding engine

and line cards Advantages: keep forwarding engine and its code

simple.

Switched BUS Switched BUS / Shared BUS

Point-to-Point switch, crossbar Point-to-Multicast ???

Input-queued switch Allocation Algorithm

Maximize throughput at the expense of predictable latency

Switched BUS

Allocator The heart of the high-speed switch in

MGR

Network Processor Routing Processing/Complicated

processing on packet Commercial PC motherboard with PCI

interface 1.1 NetBSD release of UNIX

Public source code Customize IP code More free software on UNIX

Routing/Forwarding Tables Routing tables

Network processor Forwarding Tables

Forwarding engines Routing Tables Forwarding Tables

Small forwarding tables for forwarding engine Two banks of memory in Forwarding Engines Decouple two operations

Processing routing updates Actual updating of forwarding tables

Summary More than fast enough

Keep up with the latest transmission technologies at that time

Two important contributions It is feasible for MGR

Examine every datagram header Eliminate doubts

router technology could not keep up with the high-speed networks

Questions?

Thank You

top related