SlideShare a Scribd company logo
1 of 44
Open Source Routing:
 The Next Frontier
         OSCON
      Emerging Topics
               Atanu Ghosh
              atanu@xorp.org


  International Computer Science Institute




                                             XORP - eXtensible Open Router Platform – p.1/30
Overview
Why Open Source Routing?




                           XORP - eXtensible Open Router Platform – p.2/30
Overview
Why Open Source Routing?
eXtensible Open Routing Platform (XORP) project
history




                                       XORP - eXtensible Open Router Platform – p.2/30
Overview
Why Open Source Routing?
eXtensible Open Routing Platform (XORP) project
history
Licensing policy




                                       XORP - eXtensible Open Router Platform – p.2/30
Overview
Why Open Source Routing?
eXtensible Open Routing Platform (XORP) project
history
Licensing policy
Design philosophy




                                       XORP - eXtensible Open Router Platform – p.2/30
Overview
Why Open Source Routing?
eXtensible Open Routing Platform (XORP) project
history
Licensing policy
Design philosophy
Architecture




                                       XORP - eXtensible Open Router Platform – p.2/30
Overview
Why Open Source Routing?
eXtensible Open Routing Platform (XORP) project
history
Licensing policy
Design philosophy
Architecture
Development Status




                                       XORP - eXtensible Open Router Platform – p.2/30
Overview
Why Open Source Routing?
eXtensible Open Routing Platform (XORP) project
history
Licensing policy
Design philosophy
Architecture
Development Status
Future directions




                                       XORP - eXtensible Open Router Platform – p.2/30
Why Open Source Routing?
Many open source alternatives to proprietary solutions
exist
   OSes in the form of UNIX . . .
   Databases MySQL . . .
   Web servers Apache . . .
   Browsers Mozilla . . .
   IP PBXes Asterisk . . .
   ...




                                         XORP - eXtensible Open Router Platform – p.3/30
Why Open Source Routing?
Routing dominated by proprietary solutions
Stifling both innovation and research
Locking customers into high cost single vendor
solutions
Compare to proprietary operating systems of the past
Hardware and software no longer tied together




                                         XORP - eXtensible Open Router Platform – p.4/30
Why Open Source Routing?
Open source routing enables:
  Innovation
  Research
  Reduces cost
  Router applications




                               XORP - eXtensible Open Router Platform – p.5/30
XORP Project History
Project started 2001 at ICSI
Initially funded by INTEL
Followed by NSF, DARPA, Microsoft, Vyatta and Google
Goal: robust platform for production and research
Both goals have been met
  Commercially supported version of XORP available
  Many research projects using XORP




                                         XORP - eXtensible Open Router Platform – p.6/30
Licensing policy
BSD style license not GNU license
BSD style license less restrictive
Main difference no requirement to return code
  Upside XORP can be used without revealing
  proprietary interfaces
  Downside no requirement to return bug fixes or
  enhancements
No restrictions on commercial adoption




                                         XORP - eXtensible Open Router Platform – p.7/30
Design philosophy
Designed for extensibility
  At process level and within processes
Object oriented design
Code should be easy to understand and extend
  Programmed in C++ to enforce interfaces
  Extensive use of kdoc




                                          XORP - eXtensible Open Router Platform – p.8/30
Testing
Testing taken very seriously
Test code exists for all components
   Regression tests run every night on different
   platforms
   Tests range from simple unit tests to full BGP feeds




                                          XORP - eXtensible Open Router Platform – p.9/30
IPv6 and Multicast
IPv6 and Multicast taken as seriously as IPv4 and
Unicast
IPv6 and IPv4 versions of a protocol are developed
together




                                        XORP - eXtensible Open Router Platform – p.10/30
Design philosophy - BGP4
              BGP Plumbing

               RibIn     Filter   Cache
 Peer                                     NhLookup                          Filter   Cache      RibOut           Peer
               Table     Table    Table
 Handler                                  Table                             Table    Table      Table            Handler

               RibIn     Filter   Cache
 Peer                                     NhLookup   Decision      Fanout   Filter   Cache      RibOut           Peer
               Table     Table    Table
 Handler                                  Table      Table         Table    Table    Table      Table            Handler


               RibIn     Filter   Cache
 IpcRib                                   NhLookup                          Filter   Cache      RibOut           IpcRib
               Table     Table    Table
 Handler                                  Table                             Table    Table      Table            Handler



XRLs to                                               NextHop                                                  XRLs to
RIB process                                           Resolver                                                 RIB process




                                                     XRLs to
                                                     RIB process




                                                                                        XORP - eXtensible Open Router Platform – p.11/30
Design philosophy - OSPF

            External Routes




     Peer      Area Router      Peer
    Peer     Area Router       Peer
   Peer     Area Router       Peer




             Routing Table




                XRLs to
                RIB process




                                   XORP - eXtensible Open Router Platform – p.12/30
Architecture
                                       Management Processes

    IPC              router               CLI               SNMP
    finder           manager



   BGP4+
                                                          PIM−SM


   OSPF                          RIB


     RIP                                                IGMP/MLD

                                                      Multicast Routing
    IS−IS                        FEA

Unicast Routing

             Forwarding Engine
                                                Click Elements
    RIB = routing information base
    FEA = forwarding engine abstraction




                                                                    XORP - eXtensible Open Router Platform – p.13/30
XORP IPC mechanism
XRLs modelled on URLs
finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1




                                                              XORP - eXtensible Open Router Platform – p.14/30
XORP IPC mechanism
XRLs modelled on URLs
finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1
IPC mechanism: finder, xudp, snmp, ...




                                                              XORP - eXtensible Open Router Platform – p.14/30
XORP IPC mechanism
XRLs modelled on URLs
finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1
        Module/procss name: fea, rib, bgp




                                                              XORP - eXtensible Open Router Platform – p.14/30
XORP IPC mechanism
XRLs modelled on URLs
finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1
            Interface name: fea, routing-process, ...




                                                              XORP - eXtensible Open Router Platform – p.14/30
XORP IPC mechanism
XRLs modelled on URLs
finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1
                Version number




                                                              XORP - eXtensible Open Router Platform – p.14/30
XORP IPC mechanism
XRLs modelled on URLs
finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1
                    Method name: delete_address4, get_mtu, ...




                                                              XORP - eXtensible Open Router Platform – p.14/30
XORP IPC mechanism
XRLs modelled on URLs
finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1
                                 Arguments




                                                              XORP - eXtensible Open Router Platform – p.14/30
XORP IPC mechanism
XRLs modelled on URLs
finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1

Library marshals arguments, implements transport handles responses




                                                              XORP - eXtensible Open Router Platform – p.14/30
XORP IPC mechanism
XRLs modelled on URLs
finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1

Library marshals arguments, implements transport handles responses

XRLs are represented in text form
    Processes described by XRLs in template files
    XRLs callable from scripts




                                                              XORP - eXtensible Open Router Platform – p.14/30
Router applications
Routing process special case of router application
Routing applications added with no code changes
  Third parties can provide routing protocols
  Identical to XORP provided protocols




                                         XORP - eXtensible Open Router Platform – p.15/30
Adding a router application
Step 1 Create template
...
protocols {
  ospf4 {
  ...
    router-id {
      ...
%set: xrl quot;$(ospf4.tname)/ospfv2/0.1/set_router_id?id:ipv4=$(@)quot;;
    }
...

Step 2 Provide executable




                                                XORP - eXtensible Open Router Platform – p.16/30
Router manager
Parses template files
Parses config file
...
protocols {
    ospf4 {
        router-id: 10.10.10.10
...

Starts configured processes
Send configuration XRLs
finder://ospfv2/ospfv2/0.1/set_router_id?id:ipv4=10.10.10.10




                                                XORP - eXtensible Open Router Platform – p.17/30
Template files
Describes router application to system
Command line tool (xorpsh) also reads template files
  No code changes to command line tool
  Third party web based command tool exists




                                         XORP - eXtensible Open Router Platform – p.18/30
Architecture

                                                                   Management Processes



Separate processes
                                IPC              router               CLI               SNMP
                                finder           manager




  Not single monolithic        BGP4+
                                                                                      PIM−SM



  process                      OSPF                          RIB




  Processes can be run on
                                 RIP                                                IGMP/MLD

                                                                                  Multicast Routing


  distributed hosts
                                IS−IS                        FEA

                            Unicast Routing

                                         Forwarding Engine
                                                                            Click Elements
                                RIB = routing information base
                                FEA = forwarding engine abstraction




                                            XORP - eXtensible Open Router Platform – p.19/30
Architecture

                                                                     Management Processes



Only FEA interacts with OS
                                  IPC              router               CLI               SNMP
                                  finder           manager




  No OS dependencies in          BGP4+
                                                                                        PIM−SM



  routing processes              OSPF                          RIB




  Simplifies porting
                                   RIP                                                IGMP/MLD

                                                                                    Multicast Routing
                                  IS−IS                        FEA

  FEA can run on forwarding   Unicast Routing



  hardware
                                           Forwarding Engine
                                                                              Click Elements
                                  RIB = routing information base
                                  FEA = forwarding engine abstraction




                                              XORP - eXtensible Open Router Platform – p.20/30
Development Status
XORP runs on a number of platforms:
  DragonFlyBSD,FreeBSD,NetBSD,OpenBSD
  Linux
  Mac OS X
  Microsoft Windows
Cross compiles on:
  IA-64, MIPS, PowerPC-603, Sparc64 and XScale




                                    XORP - eXtensible Open Router Platform – p.21/30
Development Status - RIP and RIPng
  RFC 2453 (RIP version 2)
  RFC 2082 (RIP-2 MD5 Authentication)
  RFC 2080 (RIPng for IPv6)




                                        XORP - eXtensible Open Router Platform – p.22/30
Development Status - BGP4
RFC 4271 (A Border Gateway Protocol 4 (BGP-4))
draft-ietf-idr-rfc2858bis-03.txt (Multiprotocol Extensions
for BGP-4)
RFC 2545 (Use of Multiprotocol Extensions for IPv6
Inter-Domain Routing)
RFC 3392 (Capabilities Advertisement with BGP-4)
RFC 1997 (BGP Communities Attribute)




                                           XORP - eXtensible Open Router Platform – p.23/30
Development Status - BGP4
RFC 2796 (BGP Route Reflection - An Alternative to
Full Mesh IBGP)
RFC 3065 (Autonomous System Confederations for
BGP)
RFC 2439 (BGP Route Flap Damping)
RFC 1657 (Definitions of Managed Objects for the
Fourth Version of the Border Gateway Protocol (BGP-4)
using SMIv2)




                                       XORP - eXtensible Open Router Platform – p.24/30
Development Status - OSPF
OSPFv2:
  RFC 2328 (OSPF Version 2)
  RFC 3101 (The OSPF Not-So-Stubby Area (NSSA)
  Option)
OSPFv3:
  draft-ietf-ospf-ospfv3-update-14.txt (OSPF for IPv6)




                                         XORP - eXtensible Open Router Platform – p.25/30
Development Status - PIM-SM
draft-ietf-pim-sm-v2-new-11.ps,txt
draft-ietf-pim-sm-bsr-03.ps,txt




                                     XORP - eXtensible Open Router Platform – p.26/30
Development Status - IGMP and MLD
   IGMP v1, v2, and v3:
     RFC 2236 (Internet Group Management Protocol,
     Version 2)
     RFC 3376 (Internet Group Management Protocol,
     Version 3)
   MLD v1 and v2:
     RFC 2710 (Multicast Listener Discovery (MLD) for
     IPv6)
     RFC 3810 (Multicast Listener Discovery Version 2
     (MLDv2) for IPv6)




                                          XORP - eXtensible Open Router Platform – p.27/30
Development Status - Summary
Most core protocols exist
Many of the protocols have been tested by UNH IOL
and with commercial test tools




                                       XORP - eXtensible Open Router Platform – p.28/30
Future directions
Hardware forwarding
Virtual routers
Distributed routers
Router applications
  Monitoring
  Security
  Billing
  ...




                                XORP - eXtensible Open Router Platform – p.29/30
www.xorp.org




               XORP - eXtensible Open Router Platform – p.30/30

More Related Content

What's hot

Programming Languages & Tools for Higher Performance & Productivity
Programming Languages & Tools for Higher Performance & ProductivityProgramming Languages & Tools for Higher Performance & Productivity
Programming Languages & Tools for Higher Performance & ProductivityLinaro
 
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...Shinya Takamaeda-Y
 
A study to Design and comparison of Full Adder using Various Techniques
A study to Design and comparison of Full Adder using Various TechniquesA study to Design and comparison of Full Adder using Various Techniques
A study to Design and comparison of Full Adder using Various TechniquesIOSR Journals
 
The Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerThe Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerSasha Goldshtein
 
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!Ray Jenkins
 
from Binary to Binary: How Qemu Works
from Binary to Binary: How Qemu Worksfrom Binary to Binary: How Qemu Works
from Binary to Binary: How Qemu WorksZhen Wei
 
New Process/Thread Runtime
New Process/Thread Runtime	New Process/Thread Runtime
New Process/Thread Runtime Linaro
 
Challenges in GPU compilers
Challenges in GPU compilersChallenges in GPU compilers
Challenges in GPU compilersAnastasiaStulova
 
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...Shinya Takamaeda-Y
 
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)Jeff Squyres
 
Exploring the Programming Models for the LUMI Supercomputer
Exploring the Programming Models for the LUMI Supercomputer Exploring the Programming Models for the LUMI Supercomputer
Exploring the Programming Models for the LUMI Supercomputer George Markomanolis
 

What's hot (20)

Programming Languages & Tools for Higher Performance & Productivity
Programming Languages & Tools for Higher Performance & ProductivityProgramming Languages & Tools for Higher Performance & Productivity
Programming Languages & Tools for Higher Performance & Productivity
 
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
 
A study to Design and comparison of Full Adder using Various Techniques
A study to Design and comparison of Full Adder using Various TechniquesA study to Design and comparison of Full Adder using Various Techniques
A study to Design and comparison of Full Adder using Various Techniques
 
The Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerThe Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF Primer
 
The Internals of "Hello World" Program
The Internals of "Hello World" ProgramThe Internals of "Hello World" Program
The Internals of "Hello World" Program
 
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!
 
from Binary to Binary: How Qemu Works
from Binary to Binary: How Qemu Worksfrom Binary to Binary: How Qemu Works
from Binary to Binary: How Qemu Works
 
New Process/Thread Runtime
New Process/Thread Runtime	New Process/Thread Runtime
New Process/Thread Runtime
 
Parallel HDF5
Parallel HDF5Parallel HDF5
Parallel HDF5
 
Challenges in GPU compilers
Challenges in GPU compilersChallenges in GPU compilers
Challenges in GPU compilers
 
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
 
tokyotalk
tokyotalktokyotalk
tokyotalk
 
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
 
LuaJIT
LuaJITLuaJIT
LuaJIT
 
Exploring the Programming Models for the LUMI Supercomputer
Exploring the Programming Models for the LUMI Supercomputer Exploring the Programming Models for the LUMI Supercomputer
Exploring the Programming Models for the LUMI Supercomputer
 
64-bit Android
64-bit Android64-bit Android
64-bit Android
 
Simulating TUM Drone 2.0 by ROS
Simulating TUM Drone 2.0  by ROSSimulating TUM Drone 2.0  by ROS
Simulating TUM Drone 2.0 by ROS
 
Lustre Best Practices
Lustre Best Practices Lustre Best Practices
Lustre Best Practices
 
Bm33388392
Bm33388392Bm33388392
Bm33388392
 
8086 alp
8086 alp8086 alp
8086 alp
 

Viewers also liked

Strengths Skills Knowledge Talents
Strengths Skills Knowledge TalentsStrengths Skills Knowledge Talents
Strengths Skills Knowledge TalentsLinkUp
 
Rotor insul test setup
Rotor insul test setupRotor insul test setup
Rotor insul test setupDonald Stephen
 
Project 3-volcanoes (2) (1)
Project 3-volcanoes (2) (1)Project 3-volcanoes (2) (1)
Project 3-volcanoes (2) (1)sutton9
 
Static Testing on Life Cycle Of Testing Process
Static Testing on Life Cycle Of Testing ProcessStatic Testing on Life Cycle Of Testing Process
Static Testing on Life Cycle Of Testing Processİbrahim ATAY
 

Viewers also liked (6)

Strengths Skills Knowledge Talents
Strengths Skills Knowledge TalentsStrengths Skills Knowledge Talents
Strengths Skills Knowledge Talents
 
Hyper Local Social Media Success
Hyper Local Social Media SuccessHyper Local Social Media Success
Hyper Local Social Media Success
 
Rotor insul test setup
Rotor insul test setupRotor insul test setup
Rotor insul test setup
 
Project 3-volcanoes (2) (1)
Project 3-volcanoes (2) (1)Project 3-volcanoes (2) (1)
Project 3-volcanoes (2) (1)
 
laboratorio 2 ms dos so
laboratorio 2 ms dos solaboratorio 2 ms dos so
laboratorio 2 ms dos so
 
Static Testing on Life Cycle Of Testing Process
Static Testing on Life Cycle Of Testing ProcessStatic Testing on Life Cycle Of Testing Process
Static Testing on Life Cycle Of Testing Process
 

Similar to Os Ghoshatanu

SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)Yuuki Takano
 
Bgpcep odl summit 2015
Bgpcep odl summit 2015Bgpcep odl summit 2015
Bgpcep odl summit 2015Giles Heron
 
Dynamische Routingprotokolle Aufzucht und Pflege - OSPF
Dynamische Routingprotokolle Aufzucht und Pflege - OSPFDynamische Routingprotokolle Aufzucht und Pflege - OSPF
Dynamische Routingprotokolle Aufzucht und Pflege - OSPFMaximilan Wilhelm
 
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...Linaro
 
ORTC Library - Introduction
ORTC Library - IntroductionORTC Library - Introduction
ORTC Library - IntroductionErik Lagerway
 
Tutorial: IPv6-only transition with demo
Tutorial: IPv6-only transition with demoTutorial: IPv6-only transition with demo
Tutorial: IPv6-only transition with demoAPNIC
 
ISP core routing project
ISP core routing projectISP core routing project
ISP core routing projectvishal sharma
 
Scaling the Container Dataplane
Scaling the Container Dataplane Scaling the Container Dataplane
Scaling the Container Dataplane Michelle Holley
 
ONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDXONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDXAPNIC
 
SRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-typeSRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-typeKentaro Ebisawa
 
Running Multiple XORP Instances In One Box
Running Multiple XORP Instances In One BoxRunning Multiple XORP Instances In One Box
Running Multiple XORP Instances In One BoxJiaqing Du
 
IPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-onIPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-onAPNIC
 
ConfigureTwo networks principle
ConfigureTwo networks principleConfigureTwo networks principle
ConfigureTwo networks principleDrAlneami
 
Networking interview questions
Networking interview questionsNetworking interview questions
Networking interview questionszahadath
 
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...Bowen Li
 
Optimization Techniques at the I/O Forwarding Layer
Optimization Techniques at the I/O Forwarding LayerOptimization Techniques at the I/O Forwarding Layer
Optimization Techniques at the I/O Forwarding LayerKazuki Ohta
 

Similar to Os Ghoshatanu (20)

SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
 
Bgpcep odl summit 2015
Bgpcep odl summit 2015Bgpcep odl summit 2015
Bgpcep odl summit 2015
 
Dynamische Routingprotokolle Aufzucht und Pflege - OSPF
Dynamische Routingprotokolle Aufzucht und Pflege - OSPFDynamische Routingprotokolle Aufzucht und Pflege - OSPF
Dynamische Routingprotokolle Aufzucht und Pflege - OSPF
 
PERFORMANCE EVALUATION OF RIP AND OSPF IN IPV6 USING OPNET 14.5 SIMULATOR
PERFORMANCE EVALUATION OF RIP AND OSPF IN IPV6 USING OPNET 14.5 SIMULATORPERFORMANCE EVALUATION OF RIP AND OSPF IN IPV6 USING OPNET 14.5 SIMULATOR
PERFORMANCE EVALUATION OF RIP AND OSPF IN IPV6 USING OPNET 14.5 SIMULATOR
 
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
 
ORTC Library - Introduction
ORTC Library - IntroductionORTC Library - Introduction
ORTC Library - Introduction
 
Tutorial: IPv6-only transition with demo
Tutorial: IPv6-only transition with demoTutorial: IPv6-only transition with demo
Tutorial: IPv6-only transition with demo
 
FD.io - The Universal Dataplane
FD.io - The Universal DataplaneFD.io - The Universal Dataplane
FD.io - The Universal Dataplane
 
ISP core routing project
ISP core routing projectISP core routing project
ISP core routing project
 
Scaling the Container Dataplane
Scaling the Container Dataplane Scaling the Container Dataplane
Scaling the Container Dataplane
 
ONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDXONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDX
 
SRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-typeSRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-type
 
OSPFv2 on IOS XR
OSPFv2 on IOS XROSPFv2 on IOS XR
OSPFv2 on IOS XR
 
DPDK KNI interface
DPDK KNI interfaceDPDK KNI interface
DPDK KNI interface
 
Running Multiple XORP Instances In One Box
Running Multiple XORP Instances In One BoxRunning Multiple XORP Instances In One Box
Running Multiple XORP Instances In One Box
 
IPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-onIPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-on
 
ConfigureTwo networks principle
ConfigureTwo networks principleConfigureTwo networks principle
ConfigureTwo networks principle
 
Networking interview questions
Networking interview questionsNetworking interview questions
Networking interview questions
 
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...
 
Optimization Techniques at the I/O Forwarding Layer
Optimization Techniques at the I/O Forwarding LayerOptimization Techniques at the I/O Forwarding Layer
Optimization Techniques at the I/O Forwarding Layer
 

More from oscon2007

J Ruby Whirlwind Tour
J Ruby Whirlwind TourJ Ruby Whirlwind Tour
J Ruby Whirlwind Touroscon2007
 
Solr Presentation5
Solr Presentation5Solr Presentation5
Solr Presentation5oscon2007
 
Os Fitzpatrick Sussman Wiifm
Os Fitzpatrick Sussman WiifmOs Fitzpatrick Sussman Wiifm
Os Fitzpatrick Sussman Wiifmoscon2007
 
Performance Whack A Mole
Performance Whack A MolePerformance Whack A Mole
Performance Whack A Moleoscon2007
 
Os Lanphier Brashears
Os Lanphier BrashearsOs Lanphier Brashears
Os Lanphier Brashearsoscon2007
 
Os Fitzpatrick Sussman Swp
Os Fitzpatrick Sussman SwpOs Fitzpatrick Sussman Swp
Os Fitzpatrick Sussman Swposcon2007
 
Os Berlin Dispelling Myths
Os Berlin Dispelling MythsOs Berlin Dispelling Myths
Os Berlin Dispelling Mythsoscon2007
 
Os Keysholistic
Os KeysholisticOs Keysholistic
Os Keysholisticoscon2007
 
Os Jonphillips
Os JonphillipsOs Jonphillips
Os Jonphillipsoscon2007
 
Os Urnerupdated
Os UrnerupdatedOs Urnerupdated
Os Urnerupdatedoscon2007
 

More from oscon2007 (20)

J Ruby Whirlwind Tour
J Ruby Whirlwind TourJ Ruby Whirlwind Tour
J Ruby Whirlwind Tour
 
Solr Presentation5
Solr Presentation5Solr Presentation5
Solr Presentation5
 
Os Borger
Os BorgerOs Borger
Os Borger
 
Os Harkins
Os HarkinsOs Harkins
Os Harkins
 
Os Fitzpatrick Sussman Wiifm
Os Fitzpatrick Sussman WiifmOs Fitzpatrick Sussman Wiifm
Os Fitzpatrick Sussman Wiifm
 
Os Bunce
Os BunceOs Bunce
Os Bunce
 
Yuicss R7
Yuicss R7Yuicss R7
Yuicss R7
 
Performance Whack A Mole
Performance Whack A MolePerformance Whack A Mole
Performance Whack A Mole
 
Os Fogel
Os FogelOs Fogel
Os Fogel
 
Os Lanphier Brashears
Os Lanphier BrashearsOs Lanphier Brashears
Os Lanphier Brashears
 
Os Tucker
Os TuckerOs Tucker
Os Tucker
 
Os Fitzpatrick Sussman Swp
Os Fitzpatrick Sussman SwpOs Fitzpatrick Sussman Swp
Os Fitzpatrick Sussman Swp
 
Os Furlong
Os FurlongOs Furlong
Os Furlong
 
Os Berlin Dispelling Myths
Os Berlin Dispelling MythsOs Berlin Dispelling Myths
Os Berlin Dispelling Myths
 
Os Kimsal
Os KimsalOs Kimsal
Os Kimsal
 
Os Pruett
Os PruettOs Pruett
Os Pruett
 
Os Alrubaie
Os AlrubaieOs Alrubaie
Os Alrubaie
 
Os Keysholistic
Os KeysholisticOs Keysholistic
Os Keysholistic
 
Os Jonphillips
Os JonphillipsOs Jonphillips
Os Jonphillips
 
Os Urnerupdated
Os UrnerupdatedOs Urnerupdated
Os Urnerupdated
 

Recently uploaded

Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Os Ghoshatanu

  • 1. Open Source Routing: The Next Frontier OSCON Emerging Topics Atanu Ghosh atanu@xorp.org International Computer Science Institute XORP - eXtensible Open Router Platform – p.1/30
  • 2. Overview Why Open Source Routing? XORP - eXtensible Open Router Platform – p.2/30
  • 3. Overview Why Open Source Routing? eXtensible Open Routing Platform (XORP) project history XORP - eXtensible Open Router Platform – p.2/30
  • 4. Overview Why Open Source Routing? eXtensible Open Routing Platform (XORP) project history Licensing policy XORP - eXtensible Open Router Platform – p.2/30
  • 5. Overview Why Open Source Routing? eXtensible Open Routing Platform (XORP) project history Licensing policy Design philosophy XORP - eXtensible Open Router Platform – p.2/30
  • 6. Overview Why Open Source Routing? eXtensible Open Routing Platform (XORP) project history Licensing policy Design philosophy Architecture XORP - eXtensible Open Router Platform – p.2/30
  • 7. Overview Why Open Source Routing? eXtensible Open Routing Platform (XORP) project history Licensing policy Design philosophy Architecture Development Status XORP - eXtensible Open Router Platform – p.2/30
  • 8. Overview Why Open Source Routing? eXtensible Open Routing Platform (XORP) project history Licensing policy Design philosophy Architecture Development Status Future directions XORP - eXtensible Open Router Platform – p.2/30
  • 9. Why Open Source Routing? Many open source alternatives to proprietary solutions exist OSes in the form of UNIX . . . Databases MySQL . . . Web servers Apache . . . Browsers Mozilla . . . IP PBXes Asterisk . . . ... XORP - eXtensible Open Router Platform – p.3/30
  • 10. Why Open Source Routing? Routing dominated by proprietary solutions Stifling both innovation and research Locking customers into high cost single vendor solutions Compare to proprietary operating systems of the past Hardware and software no longer tied together XORP - eXtensible Open Router Platform – p.4/30
  • 11. Why Open Source Routing? Open source routing enables: Innovation Research Reduces cost Router applications XORP - eXtensible Open Router Platform – p.5/30
  • 12. XORP Project History Project started 2001 at ICSI Initially funded by INTEL Followed by NSF, DARPA, Microsoft, Vyatta and Google Goal: robust platform for production and research Both goals have been met Commercially supported version of XORP available Many research projects using XORP XORP - eXtensible Open Router Platform – p.6/30
  • 13. Licensing policy BSD style license not GNU license BSD style license less restrictive Main difference no requirement to return code Upside XORP can be used without revealing proprietary interfaces Downside no requirement to return bug fixes or enhancements No restrictions on commercial adoption XORP - eXtensible Open Router Platform – p.7/30
  • 14. Design philosophy Designed for extensibility At process level and within processes Object oriented design Code should be easy to understand and extend Programmed in C++ to enforce interfaces Extensive use of kdoc XORP - eXtensible Open Router Platform – p.8/30
  • 15. Testing Testing taken very seriously Test code exists for all components Regression tests run every night on different platforms Tests range from simple unit tests to full BGP feeds XORP - eXtensible Open Router Platform – p.9/30
  • 16. IPv6 and Multicast IPv6 and Multicast taken as seriously as IPv4 and Unicast IPv6 and IPv4 versions of a protocol are developed together XORP - eXtensible Open Router Platform – p.10/30
  • 17. Design philosophy - BGP4 BGP Plumbing RibIn Filter Cache Peer NhLookup Filter Cache RibOut Peer Table Table Table Handler Table Table Table Table Handler RibIn Filter Cache Peer NhLookup Decision Fanout Filter Cache RibOut Peer Table Table Table Handler Table Table Table Table Table Table Handler RibIn Filter Cache IpcRib NhLookup Filter Cache RibOut IpcRib Table Table Table Handler Table Table Table Table Handler XRLs to NextHop XRLs to RIB process Resolver RIB process XRLs to RIB process XORP - eXtensible Open Router Platform – p.11/30
  • 18. Design philosophy - OSPF External Routes Peer Area Router Peer Peer Area Router Peer Peer Area Router Peer Routing Table XRLs to RIB process XORP - eXtensible Open Router Platform – p.12/30
  • 19. Architecture Management Processes IPC router CLI SNMP finder manager BGP4+ PIM−SM OSPF RIB RIP IGMP/MLD Multicast Routing IS−IS FEA Unicast Routing Forwarding Engine Click Elements RIB = routing information base FEA = forwarding engine abstraction XORP - eXtensible Open Router Platform – p.13/30
  • 20. XORP IPC mechanism XRLs modelled on URLs finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1 XORP - eXtensible Open Router Platform – p.14/30
  • 21. XORP IPC mechanism XRLs modelled on URLs finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1 IPC mechanism: finder, xudp, snmp, ... XORP - eXtensible Open Router Platform – p.14/30
  • 22. XORP IPC mechanism XRLs modelled on URLs finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1 Module/procss name: fea, rib, bgp XORP - eXtensible Open Router Platform – p.14/30
  • 23. XORP IPC mechanism XRLs modelled on URLs finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1 Interface name: fea, routing-process, ... XORP - eXtensible Open Router Platform – p.14/30
  • 24. XORP IPC mechanism XRLs modelled on URLs finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1 Version number XORP - eXtensible Open Router Platform – p.14/30
  • 25. XORP IPC mechanism XRLs modelled on URLs finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1 Method name: delete_address4, get_mtu, ... XORP - eXtensible Open Router Platform – p.14/30
  • 26. XORP IPC mechanism XRLs modelled on URLs finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1 Arguments XORP - eXtensible Open Router Platform – p.14/30
  • 27. XORP IPC mechanism XRLs modelled on URLs finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1 Library marshals arguments, implements transport handles responses XORP - eXtensible Open Router Platform – p.14/30
  • 28. XORP IPC mechanism XRLs modelled on URLs finder://fea/fea/1.0/add_address4?vif:txt=fxp0&addr:ipv4=10.0.0.1 Library marshals arguments, implements transport handles responses XRLs are represented in text form Processes described by XRLs in template files XRLs callable from scripts XORP - eXtensible Open Router Platform – p.14/30
  • 29. Router applications Routing process special case of router application Routing applications added with no code changes Third parties can provide routing protocols Identical to XORP provided protocols XORP - eXtensible Open Router Platform – p.15/30
  • 30. Adding a router application Step 1 Create template ... protocols { ospf4 { ... router-id { ... %set: xrl quot;$(ospf4.tname)/ospfv2/0.1/set_router_id?id:ipv4=$(@)quot;; } ... Step 2 Provide executable XORP - eXtensible Open Router Platform – p.16/30
  • 31. Router manager Parses template files Parses config file ... protocols { ospf4 { router-id: 10.10.10.10 ... Starts configured processes Send configuration XRLs finder://ospfv2/ospfv2/0.1/set_router_id?id:ipv4=10.10.10.10 XORP - eXtensible Open Router Platform – p.17/30
  • 32. Template files Describes router application to system Command line tool (xorpsh) also reads template files No code changes to command line tool Third party web based command tool exists XORP - eXtensible Open Router Platform – p.18/30
  • 33. Architecture Management Processes Separate processes IPC router CLI SNMP finder manager Not single monolithic BGP4+ PIM−SM process OSPF RIB Processes can be run on RIP IGMP/MLD Multicast Routing distributed hosts IS−IS FEA Unicast Routing Forwarding Engine Click Elements RIB = routing information base FEA = forwarding engine abstraction XORP - eXtensible Open Router Platform – p.19/30
  • 34. Architecture Management Processes Only FEA interacts with OS IPC router CLI SNMP finder manager No OS dependencies in BGP4+ PIM−SM routing processes OSPF RIB Simplifies porting RIP IGMP/MLD Multicast Routing IS−IS FEA FEA can run on forwarding Unicast Routing hardware Forwarding Engine Click Elements RIB = routing information base FEA = forwarding engine abstraction XORP - eXtensible Open Router Platform – p.20/30
  • 35. Development Status XORP runs on a number of platforms: DragonFlyBSD,FreeBSD,NetBSD,OpenBSD Linux Mac OS X Microsoft Windows Cross compiles on: IA-64, MIPS, PowerPC-603, Sparc64 and XScale XORP - eXtensible Open Router Platform – p.21/30
  • 36. Development Status - RIP and RIPng RFC 2453 (RIP version 2) RFC 2082 (RIP-2 MD5 Authentication) RFC 2080 (RIPng for IPv6) XORP - eXtensible Open Router Platform – p.22/30
  • 37. Development Status - BGP4 RFC 4271 (A Border Gateway Protocol 4 (BGP-4)) draft-ietf-idr-rfc2858bis-03.txt (Multiprotocol Extensions for BGP-4) RFC 2545 (Use of Multiprotocol Extensions for IPv6 Inter-Domain Routing) RFC 3392 (Capabilities Advertisement with BGP-4) RFC 1997 (BGP Communities Attribute) XORP - eXtensible Open Router Platform – p.23/30
  • 38. Development Status - BGP4 RFC 2796 (BGP Route Reflection - An Alternative to Full Mesh IBGP) RFC 3065 (Autonomous System Confederations for BGP) RFC 2439 (BGP Route Flap Damping) RFC 1657 (Definitions of Managed Objects for the Fourth Version of the Border Gateway Protocol (BGP-4) using SMIv2) XORP - eXtensible Open Router Platform – p.24/30
  • 39. Development Status - OSPF OSPFv2: RFC 2328 (OSPF Version 2) RFC 3101 (The OSPF Not-So-Stubby Area (NSSA) Option) OSPFv3: draft-ietf-ospf-ospfv3-update-14.txt (OSPF for IPv6) XORP - eXtensible Open Router Platform – p.25/30
  • 40. Development Status - PIM-SM draft-ietf-pim-sm-v2-new-11.ps,txt draft-ietf-pim-sm-bsr-03.ps,txt XORP - eXtensible Open Router Platform – p.26/30
  • 41. Development Status - IGMP and MLD IGMP v1, v2, and v3: RFC 2236 (Internet Group Management Protocol, Version 2) RFC 3376 (Internet Group Management Protocol, Version 3) MLD v1 and v2: RFC 2710 (Multicast Listener Discovery (MLD) for IPv6) RFC 3810 (Multicast Listener Discovery Version 2 (MLDv2) for IPv6) XORP - eXtensible Open Router Platform – p.27/30
  • 42. Development Status - Summary Most core protocols exist Many of the protocols have been tested by UNH IOL and with commercial test tools XORP - eXtensible Open Router Platform – p.28/30
  • 43. Future directions Hardware forwarding Virtual routers Distributed routers Router applications Monitoring Security Billing ... XORP - eXtensible Open Router Platform – p.29/30
  • 44. www.xorp.org XORP - eXtensible Open Router Platform – p.30/30