Icon
Icon
Icon
Icon
Icon
Icon

MRT (Multithreaded Routing Toolkit)

10:16 AM
0 comments


The MRT Project is a monolithic multithreaded routing engine (MRTd) that was developed under a research grant at the University of Michigan. It contains multiprotocol IPv4/IPv6 routing daemons and accompanying analysis and simulation tools. The following list presents some useful details about the software:

Version— MRT 2.2.2a, a partnership between the University of Michigan and Merit Network

Architecture— Monolithic routing engine

Resources— http://www.mrtd.net

Feature Description of MRT
MRT supports BGP4/4+, RIPng, RIPv2, DVMRP, and PIM-DM. The tool uses Cisco IOS Software-like CLI syntax.

Installation of MRT
To get a working MRTd system, follow these steps:

Download the binary rpm package for Linux. I was unable to compile it from source on Linux.


Install on Linux via rpm -Uhv mrt-2.2.2a-1.386.rpm, on BSD systems via the ports tree or from sources (pkg_add mrtd-2.2.2a.tgz).


Add the following entry to /etc/services:


mrtd
5674/tcp # MRT Routing Daemon





Run mrtd -f /etc/mrtd.conf or via the start script /etc/rc.d/init.d/mrtd (-n for no modification of kernel routing table).


You can direct log output to a file, which you define in the configuration file (insert debug all /var/log/mrtd.log).


Configure via Telnet interface (type telnet 127.0.0.1 mrtd).


Maturity, Scalability, and Stability of MRT
Although it is no longer actively maintained, the MRT package is mature and scalable. It is used in some labs in combination with GateD and Zebra/Quagga.

The Bird Project
Bird is a routing daemon primarily developed for the Linux operating system. The following list presents some useful details about the software:

Version— Bird 1.0.8 (by Charles University; Prague, Czech Republic; Mathematics and Physics Department)

Architecture— Monolithic routing daemon

Resources— http://bird.network.cz

Feature Description of Bird
The Bird daemon supports IPv4/v6, BGPv4, RIPv2, OSPFv2 (IPv4 only), static routes, and multiple routing tables on Linux. Its configuration syntax is similar to GateD and offers a powerful filter language.

Installation of Bird
The following installation steps are rather straightforward, but they might assist those of you who are unfamiliar with UNIX installation procedures:

Get and extract source archive bird-1.0.8.tar.gz and the documentation bird-doc-1.0.8.tar.gz.
cd to the Bird source directory.
Check configuration options: ./configure --help
Type: ./configure -with-protocols='ospf rip pipe static bgp'
Type: make
Type: make install
Check bird -? for options.
To fire up the demon, type: bird
The default configuration file is /usr/local/etc/bird.conf.
Access bird via the birdc client. Type: birdc-?
Maturity, Scalability, and Stability of Bird
I have had only a brief look at the package without interoperability testing. It compiles without a glitch on my Linux platform with IPv6 disabled. IPv6 caused troubles. The architecture itself looks sound.
The XORP Project
XORP is a fairly young but ambitious and promising private research initiative using either traditional UNIX kernel forwarding or the MIT Click Modular Router Project (http://www.pdos.lcs.mit.edu/click/). The first implementation step appears to be focused on edge devices. It is both suitable for research and production environments and is approaching a milestone release 1.0 in summer 2004. The following list presents some useful details about the software:
Version— 0.5, alpha developed by The International Computer Science Institute (ICSI) in Berkeley, California
Architecture— eXtensible Open Router Platform software
Resources— http://www.xorp.org
Feature Description of XORP
XORP supports both IPv4 and IPv6. Currently, BGPv4 (IPv4), OSPFv2 (IPv4), PIM-SM/IGMPv1/v2 (IPv4), as well as SNMP support are implemented. The CLI is similar to GateD. The current OSPFv2 implementation is based on John Moy's reference work (http://www.ospf.org).
The MIT Click Modular Router Project
Click is a fast and modular software router developed by MIT consisting of an interconnected collection (a graph) of modules (elements) controlling every aspect of the router's operation. New elements can be added via a C++ interface. Do not confuse these elements with protocol daemons such as in Zebra; this is an entirely different architecture. A router configuration is written in the Click router configuration language providing the glue between logically connected elements. Such a Click router configuration can either be run at the user level, using a driver program, or via a Linux kernel module.
XORP Installation
The following installation steps are rather straightforward, but they might assist those of you who are unfamiliar with UNIX installation procedures:
Get and extract source archive xorp-0.5.tar.gz, and cd to the XORP source directory.
Check configuration options: ./configure --help
Type: ./configure
Type: make
Type: make install
Configuration tasks and component administration are done via the xorp_rtrrngr and xorpsh programs.
Maturity, Scalability, and Stability of XORP
The architectural design as well as the rapid evolution process of XORP looks promising. I did not test the package beyond simple compilation, starting and accessing the tools, and reading the architectural design documents—with the exception of the standalone multicast tools, which were tested in Chapter 14. XORP is a strong candidate for elaborate discussion in a second edition of this book.
Multicast Routing Daemons: mrouted and pimd
The mrouted and pimd daemons are discussed in great detail in Chapter 14, an entire chapter dedicated to the UNIX multicast world of standards, protocols, and routing. The multicast examples in Chapter 14 cover the USC pimd, mrouted, and the XORP pimd daemons.

If You Enjoyed This Post Please Take a Second To Share It.

You Might Also Like

Stay Connected With Free Updates

Subscribe via Email

teaser