OSPF Offloading: The HELLO Protocol
Download
Report
Transcript OSPF Offloading: The HELLO Protocol
OSPF Offloading: The
HELLO Protocol
A First Step Toward Distributed
Heterogeneous Offloading
Speaker: Mary Bond
Introduction: The Challenge
Control Plane with Control Processor
Backplane
Blade 1
Exam ple C ontrol Flow
Blade 2
Blade 3
Exam ple D ata F low
Traditional IP router architecture incorporates single
centralized control processor
Scalability issues are real
Large amount of I/O bandwidth required across
backplane
The Future of
Network Forwarding Devices
Line Card
LC Control
Processor
LC Control
Processor
Offload
Processing
FP Processing
FP Processing
Line Card
Control Blade
Fabric or
Backplane
Global Exception Handling
Forwarding Path
LC Control
Processor
Processing Card
Control Processor
FP Processing
LC Control
Processor
Line Card
The Protocol Offload Solution:
Long Term Goal
Distribute functionality by protocol offloading
to forwarding plane blades
Design a generalized framework for
offloading protocols
The Approach:
– Examine offloading possibilities of many routing
protocols
– Use collective results to design offloading
framework
OSPF: A Brief Overview
Router 1
Link state vector
algorithm
Distribute data by
flooding
Amount of data passed
reduced via area
grouping
External data
advertised, separate
Router 3
from link state data
Example Area
Network 1
Designated
Router
Router 2
Network 2
Router 4
OSPF: A Brief Overview
Router 1
HELLO packets used to
acquire neighbors
HELLO protocol elects
designated router
Link state ads (LSAs)
reflect adjacencies
LSAs flooded reliably
Link state database is
collection of LSAs from
every router in area
Example Area
Network 1
Designated
Router
Router 2
Network 2
Router 3
Router 4
OSPF Offloading:
The HELLO Protocol
Two primary OSPF data
structures:
– Interfaces
– Neighbors
Interface algorithms:
– HELLO
– Designated Router
Election
Neighbor algorithms:
– Database Distribution
– Link State Updates
– Routing Table Calculation
Interface and Neighbor
Finite State Machines
DR
InterfaceUp and
P2P or VL
Down
Point-to-Point
NeighborChange
InterfaceUp
Waiting
BackupSeen
WaitTimer
?
Backup
NeighborChange
UnloopInd
Loopback
DROther
Attempt
Full
Start
2-Way
Hello
Received
Exchange
Down
1-Way
Received
Hello
Received
Init
ExStart
2-Way
Received
Negotiation
Done
Empty
Exchange LSR
Done
NonEmpty
LSR
Loading
Communication Between
GOSPF and OOSPF
Synchronizing Data Structure Fields
Starting/Stopping HELLO Timers
Instigating FSM Transitions
Triggering Link State Advertisements
Updating Designated Router (or Backup)
Instigating sending of HELLO Packets
GOSPF and OOSPF Proxies
GOSPF and OOSPF communicate via
proxies
Remote procedure calls are transparent
TCP connection
General
OSPF
Proxy
O-OSPF
IA32
TCP/IP Socket
Communication
StrongARM
Offloaded
OSPF
Proxy
G-OSPF
The RPC Class
Provides general framework for
communication between proxies
Child classes inherit from RPC class,
one for each remote procedure call
Child classes correspond to specific
functions (called remotely) between
GOSPF and OOSPF
Offloaded OSPF, IXP Architecture
IA32 Architecture
G-OSPF
Control
Plane
TCP
Socket
Forwarding
Plane
O-OSPF
FP Module
Remaining
OSPF
Packets
StrongARM
TCP/IP
Stack
HELLO
Packets
Packet
Handler
Stack
ACE
Micro
Engrines
Ingress
L3
Forwarder
Egress
Conclusions
Future control plane processing
presents a bottleneck issue
Protocol offloading is a possible solution
This project was a first step toward
studying the offloading of control plane
routing protocols.
Thank you!