1 / 19

A Comparative Study of Extensible Routers

A Comparative Study of Extensible Routers. Yitzchak Gottlieb. Extensibility: Why?. New Services Packet taggers Firewalls Filters Network Overlays Old Routers Can’t support new protocols and services. Extensibility: How?. Software routers Easy to change Hard to change correctly

sunila
Télécharger la présentation

A Comparative Study of Extensible Routers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Comparative Study of Extensible Routers Yitzchak Gottlieb

  2. Extensibility: Why? • New Services • Packet taggers • Firewalls • Filters • Network Overlays • Old Routers • Can’t support new protocols and services

  3. Extensibility: How? • Software routers • Easy to change • Hard to change correctly • Hard to write from scratch • Hard to extend • Extensible software routers • Easy to extend correctly

  4. Extensibility: Who? • Scout • Princeton University • Stand-alone, SILK • Click • MIT • Linux Kernel Module • Router Plugins (Crossbow) • Washington U St. L, ETH Zürich, Ascom • BSD Hack

  5. ICMP IP ARP ARP ETH ETH eth0 eth1 Scout • Path orientation • Modularity • Modules • Stages • Classifier Hierarchy • Extensiblity • Write a new module • Create a path through it

  6. Click • Modular • Typed interface • Push • Pull • Small elements • Small tasks • Millions and millions...

  7. Router Plugins (Crossbow) • BSD Core • Plugins = LKMs • Gates • Between Stages • Fixed Number • Keys • Fixed fields • Wildcards • Fast algorithm

  8. How To Choose? • Choose Scout • Might be slightly biased • 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 • Basis for comparison • Abstracts away implementation • Simple • Few components • Comprehensible • Powerful • Models behavior in all three systems

  10. C S F Model: The Players • Queues • FIFO • Classifiers • One to many • Schedulers • Many to one • Forwarders • One to one

  11. C S F F Putting It Together: Scout • Classify first ask questions later • Each path is a forwarder • Multiple stages • Scheduler packets after processing

  12. F C S Putting It Together: Click • Each element does a little of everything • Pull elements must specify schedulers • Push elements must specify classifiers • All elements forward

  13. F F C F C S F Putting It Together: Plugins Plugins Gate IP Code • Each gate classifies • FIFO scheduler between sections • IP forwarders connect gates • Or maybe...

  14. Comparing Extensible Routers • Extensibility • Classifiers • Schedulers • Forwarders • Process Scheduling • Flow Isolation

  15. Extensibility: Two approaches • Outside the architecture • Extend the fixed pieces • Why use extensible routers • Within the architecture • Insert • Replace • Program • Parameterize • Add Code

  16. Extending Components

  17. Writing New Forwarders • Click • Small (Null element: 8 lines) • May need several • Router Plugins • Bigger (Null plugin: 98 lines) • Restricted use • Scout • Very big (Null module: 200 lines) • Powerful

  18. Other Points of Comparison • Process scheduling • Scout—by path after classification • Click—push until queue, pull from queue • Crossbow—as packets arrive • Flow isolation • Scout—paths separate • Click/Crossbow—all packets are the same

  19. Conclusion • Each system is different • Fundamental strengths and weaknesses • Each application is different • New protocol vs. minor improvement • The model is a tool • Match application with system’s model

More Related