Download presentation
Presentation is loading. Please wait.
1
A Comparative Study of Extensible Routers Yitzchak Gottlieb
2
Extensibility: Why? 4 New Services –Packet taggers –Firewalls –Filters –Network Overlays 4 Old Routers –Can’t support new protocols and services
3
Extensibility: How? 4 Software routers –Easy to change Hard to change correctly –Hard to write from scratch –Hard to extend 4 Extensible software routers –Easy to extend correctly
4
Extensibility: Who? 4 Scout –Princeton University –Stand-alone, SILK 4 Click –MIT –Linux Kernel Module 4 Router Plugins (Crossbow) –Washington U St. L, ETH Zürich, Ascom –BSD Hack
5
ETH IP ETH eth0 Scout 4 Path orientation 4 Modularity –Modules –Stages 4 Classifier Hierarchy 4 Extensiblity –Write a new module –Create a path through it ICMP ARP eth1
6
Click 4 Modular –Typed interface Push Pull 4 Small elements –Small tasks –Millions and millions...
7
Router Plugins (Crossbow) 4 BSD Core –Plugins = LKMs 4 Gates –Between Stages –Fixed Number 4 Keys –Fixed fields –Wildcards –Fast algorithm
8
How To Choose? 4 Choose Scout –Might be slightly biased 4 Compare strength and weaknesses –Does your application fit its model? –Does it offer what you need? –Is it hard to program?
9
Modeling Extensible Routers 4 Basis for comparison –Abstracts away implementation 4 Simple –Few components –Comprehensible 4 Powerful –Models behavior in all three systems
10
Model: The Players 4 Queues –FIFO 4 Classifiers –One to many 4 Schedulers –Many to one 4 Forwarders –One to one F CS
11
Putting It Together: Scout SC FF 4 Classify first ask questions later 4 Each path is a forwarder –Multiple stages 4 Scheduler packets after processing
12
Putting It Together: Click F S C 4 Each element does a little of everything 4 Pull elements must specify schedulers 4 Push elements must specify classifiers 4 All elements forward
13
Putting It Together: Plugins SC F F F FC Gate Plugins 4 Each gate classifies 4 FIFO scheduler between sections 4 IP forwarders connect gates 4 Or maybe... IP Code
14
Comparing Extensible Routers 4 Extensibility –Classifiers –Schedulers –Forwarders 4 Process Scheduling 4 Flow Isolation
15
Extensibility: Two approaches 4 Outside the architecture –Extend the fixed pieces –Why use extensible routers 4 Within the architecture –Insert –Replace –Program Parameterize Add Code
16
Extending Components
17
Writing New Forwarders 4 Click –Small (Null element: 8 lines) –May need several 4 Router Plugins –Bigger (Null plugin: 98 lines) –Restricted use 4 Scout –Very big (Null module: 200 lines) –Powerful
18
Other Points of Comparison 4 Process scheduling –Scout—by path after classification –Click—push until queue, pull from queue –Crossbow—as packets arrive 4 Flow isolation –Scout—paths separate –Click/Crossbow—all packets are the same
19
Conclusion 4 Each system is different –Fundamental strengths and weaknesses 4 Each application is different –New protocol vs. minor improvement 4 The model is a tool –Match application with system’s model
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.