RNA – Recursive Network Architecture


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.


  1. Touch, “Recursion and the Transport Tussle”, PfLDNet 2010, Lancaster, PA, Nov. 2010.
  2. Touch, I. Baldine, R. Dutta., G. Finn, B. Ford, S. Jordan, D. Massey, A. Matta., C. Papadopoulos, P. Reiher, G. Rouskas, “A Dynamic Recursive Unified Internet Design (DRUID)”. Computer Networks, (to appear 2011). A local copy is available here.
  3. Van Meter, J. Touch, C. Horsman, “Recursive Quantum Repeater Networks,” Progress in Informatics, (to appear 2011).
  4. Touch, V. Pingali, “The RNA Metaprotocol,” Proc. IEEE International Conf. on Computer Comm. (ICCCN), Aug. 2008.
    (read this first)
  5. Touch, “From Shannon to Recursive Nets: Multihop/Multiparty Influences on Network Architecture,” IEEE Computer Communications Workshop (CCW), Lenox, MA, Oct. 2009.
  6. Touch, “Next Steps in Enabling A Virtual Internet,” IEEE Computer Communications Workshop (CCW), Lenox, MA, Oct. 2009.
  7. Pingali, J. Touch, “Dynamic Network Renaming using Space-Time Contexts,” (extended abstract and poster), Proc. IEEE Infocom 2007 Student Poster Session, May 2007
  8. Touch, “Recursive Network Architecture,” IEEE Workshop on Computer Communications (CCW), Pittsburgh PA, Feb. 2007.
  9. Wang, J. Touch, J. Sylvester, “Adding Selection into Protocol Stacks – Communication with Choices,” (ext. abstract, poster), Proc. IEEE ICNP Student Poster Session, Nov. 2006.
  10. Touch, Y. Wang, V. Pingali, “A Recursive Network Architecture,” ISI Technical Report ISI-TR-2006-626, Oct. 2006.


  • Recursive Networking,” invited presentation to the Asia Future Internet (AsiaFI) Summer School, Yokohama, Japan, August 2010.
  • Recursion in Networking,” invited keynote presentation at the Conference on Future Internet Technologies, Seoul, S. Korea, June 2010.
  • The Past, Present, and Future of Virtual Networks,” invited keynote presentation at IEEE FutureNet II Workshop at Globecom, Honolulu, Dec. 2009.
  • “The Science of Networking,” session chair at IEEE Computer Communications Workshop (CCW), Lenox, MA, Oct. 2009.
  • US Future Internet Research,” invited presentation to the ISOC Future Internet Research meeting, IETF Stockholm, July 2009.
  • Recursive Network Architecture,” invited presentation to the Future Internet Summer School, Univ. Bremen, July 2009.
  • Recursive Network Architecture” invited presentation  in the plenary panel on “Clean Slate Architectures” at Infocom, April 2009, Rio de Janiero.
  • Recursive Network Architecture” at Network Achitecture, Ascona, Switzerland, March 2009.
  • Other university talks:
    U Arizona Dec. 2010
    UC Irvine, Jan 2010
    Keio University
    , Nov. 2009
    University of Karlsruhe, Mar. 2009
    Colorado State University, Oct. 2008
    USC/ISI Round Table on Protocol Layering & Composition, Sep. 2008
    UCL (London), Sep. 2009

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)

Day, J., Patterns in Network Architecture: A Return to Fundamentals, Prentice Hall, 2008, which introduced “Network IPC”, later re-named RINA.

Boston University’s RINA project, based on J. Day’s Network IPC model (website)

The Pouzin Society (website for the RINA project, based on J. Day’s Network IPC model)

The X-Bone (website that led to RNA)


The current release is v1.0 (Jan 2009 and its Readme and Changes) and the previous release is v0.9 (July 2008, and its Readme). It is distributed as a patch to Click Modular Router software.

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.


Download the click source (version 1.6.0) and apply the metaprotocol patch. Click source may be downloaded from Click website.

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

Apply the RNA patch.

$ fetch http://www.isi.edu/rna/rna-metaprotocol-v1.0.patch
$ cd <clickdir>
$ patch -p1 < ../rna-metaprotocol-v1.0.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 be run to simulate multiple stacks.


    • Faculty – Joe Touch
    • Graduate Student – Venkata Pingali


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.