docs: updates to reformat and adjust documentation in regards to using specific services
This commit is contained in:
parent
0053ddb57d
commit
15df06d834
9 changed files with 114 additions and 58 deletions
|
@ -1,8 +1,5 @@
|
||||||
# BIRD Internet Routing Daemon
|
# BIRD Internet Routing Daemon
|
||||||
|
|
||||||
* Table of Contents
|
|
||||||
{:toc}
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The [BIRD Internet Routing Daemon](https://bird.network.cz/) is a routing
|
The [BIRD Internet Routing Daemon](https://bird.network.cz/) is a routing
|
||||||
|
@ -30,6 +27,7 @@ sudo apt-get install bird
|
||||||
|
|
||||||
You can download BIRD source code from its
|
You can download BIRD source code from its
|
||||||
[official repository.](https://gitlab.labs.nic.cz/labs/bird/)
|
[official repository.](https://gitlab.labs.nic.cz/labs/bird/)
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
|
@ -37,6 +35,7 @@ su
|
||||||
make install
|
make install
|
||||||
vi /etc/bird/bird.conf
|
vi /etc/bird/bird.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
The installation will place the bird directory inside */etc* where you will
|
The installation will place the bird directory inside */etc* where you will
|
||||||
also find its config file.
|
also find its config file.
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
# EMANE Services
|
# EMANE Services
|
||||||
|
|
||||||
* Table of Contents
|
|
||||||
{:toc}
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
EMANE related services for CORE.
|
EMANE related services for CORE.
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
# FRRouting
|
# FRRouting
|
||||||
|
|
||||||
* Table of Contents
|
|
||||||
{:toc}
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
FRRouting is a routing software package that provides TCP/IP based routing services with routing protocols support such as BGP, RIP, OSPF, IS-IS and more. FRR also supports special BGP Route Reflector and Route Server behavior. In addition to traditional IPv4 routing protocols, FRR also supports IPv6 routing protocols. With an SNMP daemon that supports the AgentX protocol, FRR provides routing protocol MIB read-only access (SNMP Support).
|
FRRouting is a routing software package that provides TCP/IP based routing services with routing protocols support such
|
||||||
|
as BGP, RIP, OSPF, IS-IS and more. FRR also supports special BGP Route Reflector and Route Server behavior. In addition
|
||||||
|
to traditional IPv4 routing protocols, FRR also supports IPv6 routing protocols. With an SNMP daemon that supports the
|
||||||
|
AgentX protocol, FRR provides routing protocol MIB read-only access (SNMP Support).
|
||||||
|
|
||||||
FRR (as of v7.2) currently supports the following protocols:
|
FRR (as of v7.2) currently supports the following protocols:
|
||||||
|
|
||||||
* BGPv4
|
* BGPv4
|
||||||
* OSPFv2
|
* OSPFv2
|
||||||
* OSPFv3
|
* OSPFv3
|
||||||
|
@ -26,11 +27,13 @@ FRR (as of v7.2) currently supports the following protocols:
|
||||||
## FRRouting Package Install
|
## FRRouting Package Install
|
||||||
|
|
||||||
Ubuntu 19.10 and later
|
Ubuntu 19.10 and later
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo apt update && sudo apt install frr
|
sudo apt update && sudo apt install frr
|
||||||
```
|
```
|
||||||
|
|
||||||
Ubuntu 16.04 and Ubuntu 18.04
|
Ubuntu 16.04 and Ubuntu 18.04
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo apt install curl
|
sudo apt install curl
|
||||||
curl -s https://deb.frrouting.org/frr/keys.asc | sudo apt-key add -
|
curl -s https://deb.frrouting.org/frr/keys.asc | sudo apt-key add -
|
||||||
|
@ -38,25 +41,35 @@ FRRVER="frr-stable"
|
||||||
echo deb https://deb.frrouting.org/frr $(lsb_release -s -c) $FRRVER | sudo tee -a /etc/apt/sources.list.d/frr.list
|
echo deb https://deb.frrouting.org/frr $(lsb_release -s -c) $FRRVER | sudo tee -a /etc/apt/sources.list.d/frr.list
|
||||||
sudo apt update && sudo apt install frr frr-pythontools
|
sudo apt update && sudo apt install frr frr-pythontools
|
||||||
```
|
```
|
||||||
|
|
||||||
Fedora 31
|
Fedora 31
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo dnf update && sudo dnf install frr
|
sudo dnf update && sudo dnf install frr
|
||||||
```
|
```
|
||||||
|
|
||||||
## FRRouting Source Code Install
|
## FRRouting Source Code Install
|
||||||
|
|
||||||
Building FRR from source is the best way to ensure you have the latest features and bug fixes. Details for each supported platform, including dependency package listings, permissions, and other gotchas, are in the developer’s documentation.
|
Building FRR from source is the best way to ensure you have the latest features and bug fixes. Details for each
|
||||||
|
supported platform, including dependency package listings, permissions, and other gotchas, are in the developer’s
|
||||||
|
documentation.
|
||||||
|
|
||||||
FRR’s source is available on the project [GitHub page](https://github.com/FRRouting/frr).
|
FRR’s source is available on the project [GitHub page](https://github.com/FRRouting/frr).
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git clone https://github.com/FRRouting/frr.git
|
git clone https://github.com/FRRouting/frr.git
|
||||||
```
|
```
|
||||||
|
|
||||||
Change into your FRR source directory and issue:
|
Change into your FRR source directory and issue:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
./bootstrap.sh
|
./bootstrap.sh
|
||||||
```
|
```
|
||||||
Then, choose the configuration options that you wish to use for the installation. You can find these options on FRR's [official webpage](http://docs.frrouting.org/en/latest/installation.html). Once you have chosen your configure options, run the configure script and pass the options you chose:
|
|
||||||
|
Then, choose the configuration options that you wish to use for the installation. You can find these options on
|
||||||
|
FRR's [official webpage](http://docs.frrouting.org/en/latest/installation.html). Once you have chosen your configure
|
||||||
|
options, run the configure script and pass the options you chose:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
./configure \
|
./configure \
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
|
@ -68,8 +81,11 @@ Then, choose the configuration options that you wish to use for the installation
|
||||||
--enable-watchfrr \
|
--enable-watchfrr \
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
After configuring the software, you are ready to build and install it in your system.
|
After configuring the software, you are ready to build and install it in your system.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
make && sudo make install
|
make && sudo make install
|
||||||
```
|
```
|
||||||
|
|
||||||
If everything finishes successfully, FRR should be installed.
|
If everything finishes successfully, FRR should be installed.
|
||||||
|
|
|
@ -1,13 +1,21 @@
|
||||||
# NRL Services
|
# NRL Services
|
||||||
|
|
||||||
* Table of Contents
|
|
||||||
{:toc}
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The Protean Protocol Prototyping Library (ProtoLib) is a cross-platform library that allows applications to be built while supporting a variety of platforms including Linux, Windows, WinCE/PocketPC, MacOS, FreeBSD, Solaris, etc as well as the simulation environments of NS2 and Opnet. The goal of the Protolib is to provide a set of simple, cross-platform C++ classes that allow development of network protocols and applications that can run on different platforms and in network simulation environments. While Protolib provides an overall framework for developing working protocol implementations, applications, and simulation modules, the individual classes are designed for use as stand-alone components when possible. Although Protolib is principally for research purposes, the code has been constructed to provide robust, efficient performance and adaptability to real applications. In some cases, the code consists of data structures, etc useful in protocol implementations and, in other cases, provides common, cross-platform interfaces to system services and functions (e.g., sockets, timers, routing tables, etc).
|
The Protean Protocol Prototyping Library (ProtoLib) is a cross-platform library that allows applications to be built
|
||||||
|
while supporting a variety of platforms including Linux, Windows, WinCE/PocketPC, MacOS, FreeBSD, Solaris, etc as well
|
||||||
|
as the simulation environments of NS2 and Opnet. The goal of the Protolib is to provide a set of simple, cross-platform
|
||||||
|
C++ classes that allow development of network protocols and applications that can run on different platforms and in
|
||||||
|
network simulation environments. While Protolib provides an overall framework for developing working protocol
|
||||||
|
implementations, applications, and simulation modules, the individual classes are designed for use as stand-alone
|
||||||
|
components when possible. Although Protolib is principally for research purposes, the code has been constructed to
|
||||||
|
provide robust, efficient performance and adaptability to real applications. In some cases, the code consists of data
|
||||||
|
structures, etc useful in protocol implementations and, in other cases, provides common, cross-platform interfaces to
|
||||||
|
system services and functions (e.g., sockets, timers, routing tables, etc).
|
||||||
|
|
||||||
|
Currently, the Naval Research Laboratory uses this library to develop a wide variety of protocols.The NRL Protolib
|
||||||
|
currently supports the following protocols:
|
||||||
|
|
||||||
Currently the Naval Research Laboratory uses this library to develop a wide variety of protocols.The NRL Protolib currently supports the following protocols:
|
|
||||||
* MGEN_Sink
|
* MGEN_Sink
|
||||||
* NHDP
|
* NHDP
|
||||||
* SMF
|
* SMF
|
||||||
|
@ -19,11 +27,14 @@ Currently the Naval Research Laboratory uses this library to develop a wide vari
|
||||||
|
|
||||||
## NRL Installation
|
## NRL Installation
|
||||||
|
|
||||||
In order to be able to use the different protocols that NRL offers, you must first download the support library itself. You can get the source code from their [NRL Protolib Repo](https://github.com/USNavalResearchLaboratory/protolib).
|
In order to be able to use the different protocols that NRL offers, you must first download the support library itself.
|
||||||
|
You can get the source code from their [NRL Protolib Repo](https://github.com/USNavalResearchLaboratory/protolib).
|
||||||
|
|
||||||
## Multi-Generator (MGEN)
|
## Multi-Generator (MGEN)
|
||||||
|
|
||||||
Download MGEN from the [NRL MGEN Repo](https://github.com/USNavalResearchLaboratory/mgen), unpack it and copy the protolib library into the main folder *mgen*. Execute the following commands to build the protocol.
|
Download MGEN from the [NRL MGEN Repo](https://github.com/USNavalResearchLaboratory/mgen), unpack it and copy the
|
||||||
|
protolib library into the main folder *mgen*. Execute the following commands to build the protocol.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd mgen/makefiles
|
cd mgen/makefiles
|
||||||
make -f Makefile.{os} mgen
|
make -f Makefile.{os} mgen
|
||||||
|
@ -32,16 +43,22 @@ make -f Makefile.{os} mgen
|
||||||
## Neighborhood Discovery Protocol (NHDP)
|
## Neighborhood Discovery Protocol (NHDP)
|
||||||
|
|
||||||
Download NHDP from the [NRL NHDP Repo](https://github.com/USNavalResearchLaboratory/NCS-Downloads/tree/master/nhdp).
|
Download NHDP from the [NRL NHDP Repo](https://github.com/USNavalResearchLaboratory/NCS-Downloads/tree/master/nhdp).
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo apt-get install libpcap-dev libboost-all-dev
|
sudo apt-get install libpcap-dev libboost-all-dev
|
||||||
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.8.0/protoc-3.8.0-linux-x86_64.zip
|
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.8.0/protoc-3.8.0-linux-x86_64.zip
|
||||||
unzip protoc-3.8.0-linux-x86_64.zip
|
unzip protoc-3.8.0-linux-x86_64.zip
|
||||||
```
|
```
|
||||||
|
|
||||||
Then place the binaries in your $PATH. To know your paths you can issue the following command
|
Then place the binaries in your $PATH. To know your paths you can issue the following command
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
echo $PATH
|
echo $PATH
|
||||||
```
|
```
|
||||||
Go to the downloaded *NHDP* tarball, unpack it and place the protolib library inside the NHDP main folder. Now, compile the NHDP Protocol.
|
|
||||||
|
Go to the downloaded *NHDP* tarball, unpack it and place the protolib library inside the NHDP main folder. Now, compile
|
||||||
|
the NHDP Protocol.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd nhdp/unix
|
cd nhdp/unix
|
||||||
make -f Makefile.{os}
|
make -f Makefile.{os}
|
||||||
|
@ -49,7 +66,9 @@ make -f Makefile.{os}
|
||||||
|
|
||||||
## Simplified Multicast Forwarding (SMF)
|
## Simplified Multicast Forwarding (SMF)
|
||||||
|
|
||||||
Download SMF from the [NRL SMF Repo](https://github.com/USNavalResearchLaboratory/nrlsmf) , unpack it and place the protolib library inside the *smf* main folder.
|
Download SMF from the [NRL SMF Repo](https://github.com/USNavalResearchLaboratory/nrlsmf) , unpack it and place the
|
||||||
|
protolib library inside the *smf* main folder.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd mgen/makefiles
|
cd mgen/makefiles
|
||||||
make -f Makefile.{os}
|
make -f Makefile.{os}
|
||||||
|
@ -57,7 +76,10 @@ make -f Makefile.{os}
|
||||||
|
|
||||||
## Optimized Link State Routing Protocol (OLSR)
|
## Optimized Link State Routing Protocol (OLSR)
|
||||||
|
|
||||||
To install the OLSR protocol, download their source code from their [NRL OLSR Repo](https://github.com/USNavalResearchLaboratory/nrlolsr). Unpack it and place the previously downloaded protolib library inside the *nrlolsr* main directory. Then execute the following commands:
|
To install the OLSR protocol, download their source code from
|
||||||
|
their [NRL OLSR Repo](https://github.com/USNavalResearchLaboratory/nrlolsr). Unpack it and place the previously
|
||||||
|
downloaded protolib library inside the *nrlolsr* main directory. Then execute the following commands:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd ./unix
|
cd ./unix
|
||||||
make -f Makefile.{os}
|
make -f Makefile.{os}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
# Quagga Routing Suite
|
# Quagga Routing Suite
|
||||||
|
|
||||||
* Table of Contents
|
|
||||||
{:toc}
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
Quagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms, particularly FreeBSD, Linux, Solaris and NetBSD. Quagga is a fork of GNU Zebra which was developed by Kunihiro Ishiguro.
|
Quagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix
|
||||||
The Quagga architecture consists of a core daemon, zebra, which acts as an abstraction layer to the underlying Unix kernel and presents the Zserv API over a Unix or TCP stream to Quagga clients. It is these Zserv clients which typically implement a routing protocol and communicate routing updates to the zebra daemon.
|
platforms, particularly FreeBSD, Linux, Solaris and NetBSD. Quagga is a fork of GNU Zebra which was developed by
|
||||||
|
Kunihiro Ishiguro.
|
||||||
|
The Quagga architecture consists of a core daemon, zebra, which acts as an abstraction layer to the underlying Unix
|
||||||
|
kernel and presents the Zserv API over a Unix or TCP stream to Quagga clients. It is these Zserv clients which typically
|
||||||
|
implement a routing protocol and communicate routing updates to the zebra daemon.
|
||||||
|
|
||||||
## Quagga Package Install
|
## Quagga Package Install
|
||||||
|
|
||||||
|
@ -17,10 +18,13 @@ sudo apt-get install quagga
|
||||||
## Quagga Source Install
|
## Quagga Source Install
|
||||||
|
|
||||||
First, download the source code from their [official webpage](https://www.quagga.net/).
|
First, download the source code from their [official webpage](https://www.quagga.net/).
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo apt-get install gawk
|
sudo apt-get install gawk
|
||||||
```
|
```
|
||||||
|
|
||||||
Extract the tarball, go to the directory of your currently extracted code and issue the following commands.
|
Extract the tarball, go to the directory of your currently extracted code and issue the following commands.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
# Software Defined Networking
|
# Software Defined Networking
|
||||||
|
|
||||||
* Table of Contents
|
|
||||||
{:toc}
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
Ryu is a component-based software defined networking framework. Ryu provides software components with well defined API that make it easy for developers to create new network management and control applications. Ryu supports various protocols for managing network devices, such as OpenFlow, Netconf, OF-config, etc. About OpenFlow, Ryu supports fully 1.0, 1.2, 1.3, 1.4, 1.5 and Nicira Extensions. All of the code is freely available under the Apache 2.0 license.
|
Ryu is a component-based software defined networking framework. Ryu provides software components with well defined API
|
||||||
|
that make it easy for developers to create new network management and control applications. Ryu supports various
|
||||||
|
protocols for managing network devices, such as OpenFlow, Netconf, OF-config, etc. About OpenFlow, Ryu supports fully
|
||||||
|
1.0, 1.2, 1.3, 1.4, 1.5 and Nicira Extensions. All of the code is freely available under the Apache 2.0 license.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
# Security Services
|
# Security Services
|
||||||
|
|
||||||
* Table of Contents
|
|
||||||
{:toc}
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The security services offer a wide variety of protocols capable of satisfying the most use cases available. Security services such as IP security protocols, for providing security at the IP layer, as well as the suite of protocols designed to provide that security, through authentication and encryption of IP network packets. Virtual Private Networks (VPNs) and Firewalls are also available for use to the user.
|
The security services offer a wide variety of protocols capable of satisfying the most use cases available. Security
|
||||||
|
services such as IP security protocols, for providing security at the IP layer, as well as the suite of protocols
|
||||||
|
designed to provide that security, through authentication and encryption of IP network packets. Virtual Private
|
||||||
|
Networks (VPNs) and Firewalls are also available for use to the user.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Libraries needed for some of the security services.
|
Libraries needed for some security services.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo apt-get install ipsec-tools racoon
|
sudo apt-get install ipsec-tools racoon
|
||||||
|
@ -71,7 +71,9 @@ sudo cp pki/dh.pem $KEYDIR/dh1024.pem
|
||||||
|
|
||||||
Add VPNServer service to nodes desired for running an OpenVPN server.
|
Add VPNServer service to nodes desired for running an OpenVPN server.
|
||||||
|
|
||||||
Modify [sampleVPNServer](https://github.com/coreemu/core/blob/master/package/examples/services/sampleVPNServer) for the following
|
Modify [sampleVPNServer](https://github.com/coreemu/core/blob/master/package/examples/services/sampleVPNServer) for the
|
||||||
|
following
|
||||||
|
|
||||||
* Edit keydir key/cert directory
|
* Edit keydir key/cert directory
|
||||||
* Edit keyname to use generated server name above
|
* Edit keyname to use generated server name above
|
||||||
* Edit vpnserver to match an address that the server node will have
|
* Edit vpnserver to match an address that the server node will have
|
||||||
|
@ -80,7 +82,9 @@ Modify [sampleVPNServer](https://github.com/coreemu/core/blob/master/package/exa
|
||||||
|
|
||||||
Add VPNClient service to nodes desired for acting as an OpenVPN client.
|
Add VPNClient service to nodes desired for acting as an OpenVPN client.
|
||||||
|
|
||||||
Modify [sampleVPNClient](https://github.com/coreemu/core/blob/master/package/examples/services/sampleVPNClient) for the following
|
Modify [sampleVPNClient](https://github.com/coreemu/core/blob/master/package/examples/services/sampleVPNClient) for the
|
||||||
|
following
|
||||||
|
|
||||||
* Edit keydir key/cert directory
|
* Edit keydir key/cert directory
|
||||||
* Edit keyname to use generated client name above
|
* Edit keyname to use generated client name above
|
||||||
* Edit vpnserver to match the address a server was configured to use
|
* Edit vpnserver to match the address a server was configured to use
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
# Utility Services
|
# Utility Services
|
||||||
|
|
||||||
* Table of Contents
|
## Overview
|
||||||
{:toc}
|
|
||||||
|
|
||||||
# Overview
|
|
||||||
|
|
||||||
Variety of convenience services for carrying out common networking changes.
|
Variety of convenience services for carrying out common networking changes.
|
||||||
|
|
||||||
The following services are provided as utilities:
|
The following services are provided as utilities:
|
||||||
|
|
||||||
* UCARP
|
* UCARP
|
||||||
* IP Forward
|
* IP Forward
|
||||||
* Default Routing
|
* Default Routing
|
||||||
|
@ -25,15 +23,19 @@ The following services are provided as utilities:
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
To install the functionality of the previously metioned services you can run the following command:
|
To install the functionality of the previously metioned services you can run the following command:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo apt-get install isc-dhcp-server apache2 libpcap-dev radvd at
|
sudo apt-get install isc-dhcp-server apache2 libpcap-dev radvd at
|
||||||
```
|
```
|
||||||
|
|
||||||
## UCARP
|
## UCARP
|
||||||
|
|
||||||
UCARP allows a couple of hosts to share common virtual IP addresses in order to provide automatic failover. It is a portable userland implementation of the secure and patent-free Common Address Redundancy Protocol (CARP, OpenBSD's alternative to the patents-bloated VRRP).
|
UCARP allows a couple of hosts to share common virtual IP addresses in order to provide automatic failover. It is a
|
||||||
|
portable userland implementation of the secure and patent-free Common Address Redundancy Protocol (CARP, OpenBSD's
|
||||||
|
alternative to the patents-bloated VRRP).
|
||||||
|
|
||||||
Strong points of the CARP protocol are: very low overhead, cryptographically signed messages, interoperability between different operating systems and no need for any dedicated extra network link between redundant hosts.
|
Strong points of the CARP protocol are: very low overhead, cryptographically signed messages, interoperability between
|
||||||
|
different operating systems and no need for any dedicated extra network link between redundant hosts.
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
|
|
|
@ -1,36 +1,48 @@
|
||||||
# XORP routing suite
|
# XORP routing suite
|
||||||
|
|
||||||
* Table of Contents
|
|
||||||
{:toc}
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
XORP is an open networking platform that supports OSPF, RIP, BGP, OLSR, VRRP, PIM, IGMP (Multicast) and other routing protocols. Most protocols support IPv4 and IPv6 where applicable. It is known to work on various Linux distributions and flavors of BSD.
|
XORP is an open networking platform that supports OSPF, RIP, BGP, OLSR, VRRP, PIM, IGMP (Multicast) and other routing
|
||||||
|
protocols. Most protocols support IPv4 and IPv6 where applicable. It is known to work on various Linux distributions and
|
||||||
|
flavors of BSD.
|
||||||
|
|
||||||
XORP started life as a project at the ICSI Center for Open Networking (ICON) at the International Computer Science Institute in Berkeley, California, USA, and spent some time with the team at XORP, Inc. It is now maintained and improved on a volunteer basis by a core of long-term XORP developers and some newer contributors.
|
XORP started life as a project at the ICSI Center for Open Networking (ICON) at the International Computer Science
|
||||||
|
Institute in Berkeley, California, USA, and spent some time with the team at XORP, Inc. It is now maintained and
|
||||||
|
improved on a volunteer basis by a core of long-term XORP developers and some newer contributors.
|
||||||
|
|
||||||
XORP's primary goal is to be an open platform for networking protocol implementations and an alternative to proprietary and closed networking products in the marketplace today. It is the only open source platform to offer integrated multicast capability.
|
XORP's primary goal is to be an open platform for networking protocol implementations and an alternative to proprietary
|
||||||
|
and closed networking products in the marketplace today. It is the only open source platform to offer integrated
|
||||||
|
multicast capability.
|
||||||
|
|
||||||
XORP design philosophy is:
|
XORP design philosophy is:
|
||||||
|
|
||||||
* modularity
|
* modularity
|
||||||
* extensibility
|
* extensibility
|
||||||
* performance
|
* performance
|
||||||
* robustness
|
* robustness
|
||||||
This is achieved by carefully separating functionalities into independent modules, and by providing an API for each module.
|
This is achieved by carefully separating functionalities into independent modules, and by providing an API for each
|
||||||
|
module.
|
||||||
|
|
||||||
XORP divides into two subsystems. The higher-level ("user-level") subsystem consists of the routing protocols. The lower-level ("kernel") manages the forwarding path, and provides APIs for the higher-level to access.
|
XORP divides into two subsystems. The higher-level ("user-level") subsystem consists of the routing protocols. The
|
||||||
|
lower-level ("kernel") manages the forwarding path, and provides APIs for the higher-level to access.
|
||||||
|
|
||||||
User-level XORP uses multi-process architecture with one process per routing protocol, and a novel inter-process communication mechanism called XRL (XORP Resource Locator).
|
User-level XORP uses multi-process architecture with one process per routing protocol, and a novel inter-process
|
||||||
|
communication mechanism called XRL (XORP Resource Locator).
|
||||||
|
|
||||||
The lower-level subsystem can use traditional UNIX kernel forwarding, or Click modular router. The modularity and independency of the lower-level from the user-level subsystem allows for its easily replacement with other solutions including high-end hardware-based forwarding engines.
|
The lower-level subsystem can use traditional UNIX kernel forwarding, or Click modular router. The modularity and
|
||||||
|
independency of the lower-level from the user-level subsystem allows for its easily replacement with other solutions
|
||||||
|
including high-end hardware-based forwarding engines.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
In order to be able to install the XORP Routing Suite, you must first install scons in order to compile it.
|
In order to be able to install the XORP Routing Suite, you must first install scons in order to compile it.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo apt-get install scons
|
sudo apt-get install scons
|
||||||
```
|
```
|
||||||
|
|
||||||
Then, download XORP from its official [release web page](http://www.xorp.org/releases/current/).
|
Then, download XORP from its official [release web page](http://www.xorp.org/releases/current/).
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
http://www.xorp.org/releases/current/
|
http://www.xorp.org/releases/current/
|
||||||
cd xorp
|
cd xorp
|
||||||
|
|
Loading…
Reference in a new issue