RNA: Recursive Network Architecture

Exploring Layer Interactions

 

About

The Recursive Network Architecture (RNA) explores the relationship of layering to protocol and network architecture. RNA examines the implications of using a single, tunable protocol for different layers of the protocol stack, reusing basic protocol operations across different protocol layers to avoid reimplementation. The primary goal of this work is to encourage cleaner cross-layer interaction and to support dynamic service composition, and to gain an understanding of how layering affects architecture.

Publications  

Touch, J., and Pingali, V. K., "The RNA Metaprotocol" in Proc. IEEE ICCCN (Future Internet Architectures and Protocols track), St. Thomas, Virgin Islands, August 2008. Paper: (PDF)

Touch, J., Wang. Y., and Pingali, V., "A Recursive Network Architecture," ISI Technical Report ISI-TR-2006-626, October 2006. Paper: (PDF, HTML)

Related Work

Braden, R., Faber, T., Handley, M., "From Protocol Stack to Protocol Heap -- Role-Based Architecture". HotNets-I, Princeton, NJ, October 2002. Paper: (PS, PDF), Slides: (PS, PDF)

Wang, Y., Touch, J., and Silvester, J.,  "A Unified Model for End Point Resolution and Domain Conversion for Multi-Hop, Multi-Layer Communication," ISI Technical Report ISI-TR-590, June 2004. Paper: (PDF)

Source

The first release is v0.9 (July 2008). It is distributed as a patch to Click Modular Router software.

Files

RNA v0.9 Patch to Click 1.5.0
README.RNA

Platform Support

This release has been tested only on FreeBSD (6.2) though it should work with minor modification on other FreeBSD versions and UNIX platforms such as Linux that Click supports.

Instructions

Download the click source (version 1.5.0) and apply the metaprotocol patch. In the near future this patch will be migrated to the 1.6 version of Click. Click source may be downloaded from Click website.

$ fetch http://read.cs.ucla.edu/click/click-1.5.0.tar.gz
$ tar zxvf click-1.5.0.tar.gz

Apply the RNA patch.

$ fetch http://www.isi.edu/rna/rna-metaprotocol-v0.9.patch
$ cd <clickdir>
$ patch -p1 < ../rna-metaprotocol-v0.9.patch

Compile and execute.

$ make -f Makefile.RNA configure-rna
$ make -f Makefile.RNA compile
$ cd <clickdir>
$./userlevel/click ./conf/<config-file>

Multiple configuration files may have to run to simulate multiple stacks.

People


Acknowledgements

This work was partly supported by the NSF (Grant No. CNS-0626788) project. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.