XORP: An eXtensible Open Router Platform

International Computer Science Institute

The Project

• Started January 2001

• Sponsors – Intel

– National Science Foundation (Award ANI-0129541)

– DARPA (Control Plane)

Objective

• To replace edge routers with commodity PCs running XORP thus enabling innovation and research.

– A low end router (350Mhz MIPS processor) performing software forwarding. Will only forward 4000 packets per second.

– A high end PC with dual PCI busses can forward 700000 packets per second.

Deployments

• PlanetLab testbed for DARPA control plane project (June - September 2004)

Architecture

4

Design 1

• Object oriented design in C++.

• Each routing protocol is a separate process.

• XORP’s own interprocess communication (XRLs). – Processes can be run on any host.

– Routing protocols under development can be isolated on separate host.

– XRLs can be invoked from scripting languages allowing easy testing.

Design 2

• All routing/forwarding interactions with the operating system are performed through the Forwarding Engine Abstraction(FEA).

– Allows distributed or offboard forwarding.

– Simplifies porting to new operating systems.

– Eases construction of a XORP simulation environment.

• The router manager is a fully configurable entity that is responsible for process management.

Extensibility

• One of the major goals of the project is extensibility. – Allowing deployment in testbeds such as PlanetLab.

– Enabling Research in new or current protocols.

Suported Platforms

• FreeBSD

• Linux

• Mac OS X 10.3 (no FEA)

Completed Components

• BGP4+, Full AFI/SAFI support (IPv6 - Multicast), missing route filters

• PIM-SM, IGMP (v1 and v2) / MLD (IPv6) v1

• RIPv2 and RIPng

• SNMP using net-snmp – BGP-4 mib (RFC 1657).

Expected end of 2004

• Integration with Click and Planetlab for DARPA control plane project.

• Route filters.

• Porting of John Moy’s OSPF code completed.

• IS-IS implementation with basic functionality.

Possible Future Work

• Firewall integration (forwarding filters)

• Intel network processor (IXP2400) port.

• Distributed router.

Possible Future Research

• Security (integration with intrusion detection systems)

• XORP Simulation environment.

– An environment that allows the development of new protocols or features. With the added benefit that the same code will work with a real XORP router.

• Next generation routing protocols.

Why choose XORP?

• 1.0 Release Candidate (June 3rd)

• Full IPv6 and Multicast support

• Designed for extensibility

• Ideal research platform

• Multiprocess architecture allows construction of distributed routers

• Architecture supports high performance network processors

Summary

A XORP based PC router will out perform low end routers. The proprietary router market will be opened up enabling

innovation and research.

www.xorp.org