📄 platform.tex
字号:
% -*- mode: latex; tex-main-file: "pospaper.tex" -*-\section{Low-level Platform and APIs} The low-level platform needs to provide OS support to the routingprotocols, including memory management and scheduling. This can bestbe provided by taking an existing stable open-source operating systemas the base development platform rather than developing a complete OSfrom scratch, and we aim to support both FreeBSD and Linux as viableXORP OSes.Whilst the original Unix forwarding code can be used, our preferredapproach is to replace it with a modular forwarding path based on theClick modular router architecture~\cite{click}. Unlike at the higherlevel, where we care strongly about robustness and extensibility, inthe forwarding path we care strongly about performance andextensibility. Robustness is still important, but solutions such asmemory protection that serve well for higher level functionality arenot acceptable in the forwarding path. Robustness here comes throughsimplicity, and through re-use of well tested and well understoodsoftware.Click unambiguously satisfies these requirements. A Click forwarding pathis built at run-time from a large collection of very simple composiblesoftware elements, configured using a declarative definition of thedesired plumbing, and organized around the flow of packets.Click forwarding paths are extensible in two key ways:\begin{itemize}\item Existing defined elements can by interposed into a forwardingpath to add new functionality.\item New Click elements can be created, loaded as kernel modules, andthen plumbed in to the forwarding path.\end{itemize}The ability to add new functionality into almost any place in theforwarding path, even at runtime, is a very powerful extensionmechanism. It's applicability for researchers should be obvious, butthis is also a very useful capability in a production router. Forexample, if a network administrator needs to keep some trafficstatistics on a very specific subset of the traffic, it is simple todefine a new classifier that matches that traffic and insert it intothe relevant place in the forwarding path where it can maintain therelevant packet counts.When we need to use hardware assistance to improve performance, Clickshould aid the integration of such hardware. It is a fairly naturalprocess whereby some parts of the forwarding patch and performed inwhat to other Click elements look like just another element, but infact are a shim to special purpose hardware. However our initialimplementation does not target advanced platforms due to our limitedresources.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -