<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>ow: Building Virtual Private Networks with MPLS and OpenFlow</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>santiago.vidal</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>jorge.amaro</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>eviotti</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>giachino</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>gramping@ ng.edu.uy</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Uruguay</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>Control and Data Plane separation is a well established networking paradigm, fuelled by the raising of Software De ned Networking (SDN), which foresee the implementation of complex, valuable network behaviour over commodity hardware. The Academic Network of Uruguay (in spanish Red Academica Uruguaya - RAU ) comprises several universities, research centres and government institutions; RAU is planning a major upgrade, and SDN is a candidate technology to tackle present and future requirements. To test the feasibility of this approach, we built a RAU2 network prototype composed of NetFPGA based routers over 10G optical links. Over this infrastructure we developed RAUow, a network control application on top of the Ryu SDN controller, which combines OpenFlow and MPLS to implement network services conforming to RAU evolution requirements. In this paper we analyze the deployment and scalability of VPN services over RAU2 prototype.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>RAU is planning a major upgrade, seeking for a boost
on coverage and capacity, focused on exibility for the
deployment of new, evolved network services. RAU is
built over typical leased line infrastructure provided
Copyright c by the paper's authors. Copying permitted for
private and academic purposes.</p>
      <p>Spring School on Networks, Santiago, Chile, 21-11-2016,
published at http://ceur-ws.org
by ANTEL, the public telecommunications operator,
which also provides inter-domain connectivity with the
commercial Internet; RAU is part of RedCLARA1,
responsible for the implementation and management of
the network infrastructure that interconnects the
National Research and Education Networks (NRENs) of
Latin America, and provides connectivity with global
academic networks such as GEANT in Europe and
Internet2 in USA. RAU is a multi-tenant infrastructure,
shared by universities, research centres and
government institutions. Therefore, tra c isolation is a
major requirement, which leads to the implementation of
Virtual Private Networks (VPNs) and/or slicing.</p>
      <p>The rest of the paper is organized as follows: in next
section 2 we review some related work, while
providing some insights about the RAU ow application in
section 3. Scalability is analyzed in section 4, closing
with a discussion and some directions for future work.
2</p>
      <p>Related work
MPLS is the basic building block for Layer 2 and Layer
3 VPNs; while MPLS data plane is quite simple, and
open source implementations have been around for
more than 15 years2, the control plane has become
increasingly complex, and therefore costly. The typical
Label Switch Router (LSR), implements both
forwarding and control plane in the box, which comprises
distributed routing protocols such as OSPF or IS-IS for
routing information gathering and dissemination,
distributed signaling and label distribution mechanisms
such as RSVP-TE and LDP, and also MP-BGP (Multi
Protocol BGP) for actual VPN routing
implementation, as de ned by well established IETF standards.</p>
    </sec>
    <sec id="sec-2">
      <title>1Online: http://www.redclara.net/</title>
      <p>2Online:
http://sourceforge.net/projects/mplslinux/, updated by https://github.com/i-maravic/
MPLS-Linux</p>
      <sec id="sec-2-1">
        <title>Tra c Classi cation</title>
      </sec>
      <sec id="sec-2-2">
        <title>Path Computation</title>
      </sec>
      <sec id="sec-2-3">
        <title>Label distribution and LSP signalling</title>
      </sec>
      <sec id="sec-2-4">
        <title>Maintenance routine</title>
      </sec>
      <sec id="sec-2-5">
        <title>Legacy</title>
        <p>Per-node FEC</p>
        <p>
          OpenFlow, proposed by McKeown et al. [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] as an
standardized interface to add and remove ow entries
in a generic Ethernet switch with an internal
owtable, established a foundation for the implementation
of the SDN idea: a vendor-independent protocol which
de nes syntax and semantics for the programmability
of the switch by an external/third party controller.
In our previous work [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] we reviewed early e orts to
implement MPLS forwarding, which has been
incorporated as part of OpenFlow speci cation since version
1.3.
        </p>
        <p>
          Regarding VPN implementation, the model
proposed by Suzuki et al. [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] follows the IETF L3 VPN
speci cation, implementing the route dissemination in
a per-customer, centralized BGP instance running in
the SDN controller using the Quagga routing suite; in
this proposal, the VPN tunnels are implemented
using VLAN tags, but the authors foresee to migrate to
MPLS.
        </p>
        <p>
          The Community Connection (CoCo) project3
proposes an on-demand SDN-based Layer 3 VPN
implementation [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], which follows the same approach:
MPBGP information is exchanged among external
\CoCo Agents", while the forwarding is also implemented
using VLAN tags. The deployment is targeted for
sharing resources among the research community, and
therefore is particularly interesting for our use case;
the authors include some scalability evaluation which
partially inspired our work.
        </p>
        <p>
          The OPEN proposal [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] centralizes all control plane
functionality in the SDN controller, and claims to
eliminate the need of distributed protocols to implement
MPLS-based services. Our approach is similar, but we
maintain the IGP (OSPF) as a basic building block for
our solution.
3
        </p>
        <p>
          RAU ow design and implementation
In light of RAU requirements, and considering our
previous experience and related work, we designed
3Online:
https://blog.surf.nl/en/coco-anexploration-of-software-defined-networking/
and built our own open-source switch-router, named
RAUswitch (Figure 1), made using a standard x86
motherboard with PCIe bus and NetFPGA4 10G
networking cards, running the Quagga routing suite over
Linux OS, therefore supporting legacy routing
protocols such as OSPF, which provides dynamic
topology discovery and routing information dissemination,
which is gathered by the SDN controller to deploy L2
and L3 VPNs5, as described in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
        <p>RAU ow is a network control application which
permits to de ne basic services based on MPLS, for
instance Layer 2 Virtual Private Wire Service (VPWS),
and Layer 3 VPN services. Besides MPLS
forwarding (label PUSH, POP and SWAP operations), the
implementation of VPN services requires other
fundamental functionalities, such as i) tra c classi
cation, ii) a path computation mechanism, iii) MPLS
label distribution and Label Switched Path (LSP)
signalling mechanisms, and iv) a maintenance routine
in response to network dynamics. In addition, MAC
ethertype transparency must be supported in L2
services, while IP addressing overlapping and transparent
per-customer routing instances must be supported for
L3 VPN services.</p>
        <p>Table 1 is a summary of the di erences between
RAU ow and legacy MPLS. Note that RAU ow VPN</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4Online: http://netfpga.org/</title>
      <p>5Updated code and documentation is freely available at:
https://github.com/ProyectoRRAP
implementation does not use MP-BGP, which is an
extra advantage for three reasons: i) complex BGP
conguration is avoided, ii) CPU and memory usage are
reduced, and iii) BGP messaging churn is completely
eliminated.
4</p>
      <p>Proof of concept and scalability
analysis
We successfully built and performed functional
testing of RAU ow over the RAU2 physical testbed,
composed by four RAUswitches connected by a full-mesh
of 10Gbps optical links, also verifying the maintenance
procedure (i.e. re-routing after link failure). The
testing scenarios included i) multi-site L3 VPN (one
customer), ii) multi-site L3 VPN (two customers with
overlapping IP addresses), and iii) point to point L2
Pseudo Wire with VLAN support.</p>
      <p>
        The physical testbed size prevents to run scalability
tests, and therefore we ported the complete
environment6 over the well-known Mininet emulator [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>In the emulated environment, we deployed three
representative topologies: i) a basic 4-node full mesh
topology, emulating the physical testbed, ii) a small
11-node topology and iii) a medium 45-node topology,
both taken from \The Internet Topology Zoo"7. Over
these topologies, we rst re-run the relevant functional
tests, and then we explored the setup time for a new
VPN. The results are shown in Tables 2 and 3. In a
second series of tests, we con gure new VPN services
cummulatively, measuring both the RAM consumed
and the setup time. The results are shown in Figures
2 and 3.</p>
      <p>Presumably, the main factors which explain these
results are the time consumed by the controller to
compute the shortest paths, and the time taken by the
conguration of every node in the chosen paths; further
and ner grain experiments are needed to con rm such
intuition, for instance measuring the breakdown of the
controller time across the above mentioned phases.</p>
      <p>6Updated code and documentation is freely available at:
https://github.com/santiagovidal/P2015_44
7Online: http://www.topology-zoo.org/
)B 3
K
n
i
(
roy 2
m
e
M 1
4
0
1;000
)s 800
m
i(n 600
e
m
iT 400
p
u
t
eS 200
0
105</p>
      <p>Layer 2 VPN</p>
      <p>Layer 3 VPN
0
3;000 6;000 9;000 12;000 15;000</p>
      <p># of VPNs
We built a testbed using commodity hardware which
suports MPLS-based network services using a
centralized, SDN-based control plane. We completely ported
the testbed to an emulated environment, which
permits to test scalability and facilitates the development
of new features. Our preliminar scalability assessment
reveals an acceptable behaviour, supporting tens of
thousands of services whit linear growth of setup time
and consumption of controller resources.</p>
      <p>
        A fair quantitative comparison against legacy
MPLS is di cult to execute, since open source MPLS
implementations, which can be emulated under the
same environment as RAU ow, are far less e cient
than industrial ones. Meanwhile, further scalability
testing is being acomplished, while we explore new
services and features, emphasizing that SDN adoption
would de nitively be hybrid and progressive, calling
for the emergence of new technical and business
models to facilitate the transition, as stated by Vissicchio
et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>N.</given-names>
            <surname>McKeown</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Anderson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Balakrishnan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Parulkar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Peterson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rexford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Shenker</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Turner</surname>
          </string-name>
          . Openow:
          <article-title>Enabling innovation in campus networks</article-title>
          .
          <source>SIGCOMM Comput. Commun. Rev.</source>
          ,
          <volume>38</volume>
          (
          <issue>2</issue>
          ):
          <volume>69</volume>
          {
          <fpage>74</fpage>
          ,
          <string-name>
            <surname>Mar</surname>
          </string-name>
          .
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>E. Gramp n</surname>
          </string-name>
          , M. Giachino,
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Amaro</surname>
          </string-name>
          , and
          <string-name>
            <surname>E. Viotti.</surname>
          </string-name>
          <article-title>RAU2 testbed: A network prototype for evolved service experimentation</article-title>
          .
          <source>In LANOMS 2015</source>
          , pages
          <fpage>107</fpage>
          {
          <fpage>108</fpage>
          ,
          <string-name>
            <surname>Oct</surname>
          </string-name>
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K. H. SUZUKI</given-names>
            <surname>Kazuya</surname>
          </string-name>
          .
          <article-title>An OpenFlow Controller for Reducing Operational Cost of IP-VPNs</article-title>
          .
          <source>NEC Technical Journal</source>
          ,
          <volume>8</volume>
          (
          <issue>2</issue>
          ):
          <volume>49</volume>
          {
          <fpage>52</fpage>
          ,
          <string-name>
            <surname>April</surname>
          </string-name>
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R. van der</given-names>
            <surname>Pol</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Gijsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Zuraniewski</surname>
          </string-name>
          , D. F. C. Roma~o, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kaat</surname>
          </string-name>
          .
          <article-title>Assessment of SDN technology for an easyto-use VPN service</article-title>
          .
          <source>Future Generation Computer Systems</source>
          ,
          <volume>56</volume>
          :
          <fpage>295</fpage>
          {
          <fpage>302</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Das</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sharafat</surname>
          </string-name>
          , G. Parulkar, and
          <string-name>
            <given-names>N.</given-names>
            <surname>McKeown</surname>
          </string-name>
          .
          <article-title>MPLS with a simple open control plane</article-title>
          .
          <source>In Optical Fiber Communication Conference and Exposition (OFC/NFOEC)</source>
          ,
          <year>2011</year>
          , pages
          <issue>1{3</issue>
          ,
          <string-name>
            <surname>March</surname>
          </string-name>
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>B.</given-names>
            <surname>Lantz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Heller</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>McKeown</surname>
          </string-name>
          .
          <article-title>A network in a laptop: Rapid prototyping for software-de ned networks</article-title>
          .
          <source>In Proc. of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks, Hotnets-IX, pages 19:1{19:6</source>
          , New York, NY, USA,
          <year>2010</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Vissicchio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Vanbever</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Bonaventure</surname>
          </string-name>
          .
          <article-title>Opportunities and research challenges of hybrid software de ned networks</article-title>
          .
          <source>SIGCOMM Comput. Commun. Rev.</source>
          ,
          <volume>44</volume>
          (
          <issue>2</issue>
          ):
          <volume>70</volume>
          {
          <fpage>75</fpage>
          ,
          <string-name>
            <surname>Apr</surname>
          </string-name>
          .
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>