Difference between revisions of "Archived-ONE"

From fd.io
Jump to: navigation, search
(Description)
m (Valderrv moved page ONE to Archived-ONE: The project has been archived)
 
(32 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
|shortname=one
 
|shortname=one
 
|jiraName=ONE
 
|jiraName=ONE
 +
|projectLead=[mailto:fcoras@cisco.com Florin Coras]
 
|committers=
 
|committers=
* Florin Coras
+
* [mailto:fcoras@cisco.com Florin Coras]
* Lorand Jakab
+
* [mailto:lojakab@cisco.com Lorand Jakab]
* Vina Ermagan
+
* [mailto:vermagan@cisco.com Vina Ermagan]
* Alberto Rodriguez
+
* [mailto:arnatal@ac.upc.edu Alberto Rodriguez Natal]
 +
 
 
}}
 
}}
  
 
==Description==
 
==Description==
Overlay Network Engine (ONE) is a project proposal for VPP to enable programmable dynamic Software Defined overlays.  ONE uses an extended LISP-based map-assisted control plane to dynamically lookup overlay-to-underlay address mappings, as well as forwarding policies, on demand and as packets arrive. This includes policies such as connectivity, encryption, traffic engineering and virtual topologies, access control, and service chaining.  The looked up mappings and forwarding policies are cached locally for a TTL period until they time out. The mapping and forwarding policy information is then used to encapsulate overlay packets towards their associated destinations or  next hops.
+
Overlay Network Engine (ONE) is a VPP project that enables programmable dynamic Software Defined overlays.  ONE uses an extended LISP-based map-assisted control plane to dynamically lookup overlay-to-underlay address mappings, as well as forwarding policies, on demand and as packets arrive. This includes policies such as connectivity, encryption, traffic engineering and virtual topologies, access control, and service chaining.  The looked up mappings and forwarding policies are cached locally for a TTL period until they time out. The mapping and forwarding policy information is then used to encapsulate overlay packets towards their associated destinations or  next hops.
  
 
ONE can use and operate a variety of encapsulation formats for the overlay including GRE, VXLAN-GPE (Generic Protocol Extension) [1], which is effectively merging VXLAN and LISP [2] encapsulations in a single format that supports multi-protocol payloads, etc. The control plane can be used to fetch the encapsulation capabilities of a destination as part of its mapping and forwarding policies.
 
ONE can use and operate a variety of encapsulation formats for the overlay including GRE, VXLAN-GPE (Generic Protocol Extension) [1], which is effectively merging VXLAN and LISP [2] encapsulations in a single format that supports multi-protocol payloads, etc. The control plane can be used to fetch the encapsulation capabilities of a destination as part of its mapping and forwarding policies.
Line 17: Line 19:
 
An external open SDN controller will be used as the mapping system to store and provide the mapping and forwarding policies.
 
An external open SDN controller will be used as the mapping system to store and provide the mapping and forwarding policies.
  
ONE can use IPsec based encryption to secure the overlay if needed. Cryptographic parameters, can be provisioned on demand.
+
==Get Involved==
 +
<!--
 +
* [[ONE/Meeting|Weekly ONE Meeting]].
 +
-->
 +
* [https://lists.fd.io/mailman3/lists/one-dev.lists.fd.io/ Join the ONE Mailing List].
 +
* [[IRC | Join fdio-one IRC channel]].
  
=== Data Plane Operations ===
+
== Start Here ==
 +
[https://wiki.fd.io/view/Project_Proposals/Overlay_Network_Engine Project Proposal]
  
ONE core data plane operations include:
+
[[VPP/Setting_Up_Your_Dev_Environment|Set Up Dev Environment]] - Explains how to set up a VPP development environment and the requirements for using the build tools
  
* Determining the location of the destination overlay endpoints (by using control plane lookups), encapsulating data packets to the right destination location, and forwarding these packets onto the underlay network.
+
== Documentation ==
  
* De-capsulating encapsulated packets and forwarding the packets towards their associated destinations in the overlay.
+
[[ONE/Termination Review | ONE/Termination Review]]
  
To enable dynamic encapsulation a local map cache is used that maps flows in the overlay to the location(s) (IP address in the underlay network) of the next hop, or the destination endpoint, depending on the mapping/forwarding policy defined in the mapping system.  
+
[https://drive.google.com/open?id=0B-8ck2oQS3ByTDNTdElNOEVZbzA ONE-LISP architecture]
The map cache would support generic mappings such that the programmable overlay services can be used by a variety of packets and protocols (e.g. L2, L3, NSH [3]) [4]. Multi-homing and load balancing as well as segmentation based on a VNI/IID will be supported.
+
  
The map cache is populated on demand using the LISP[4] map-request/map-reply protocol.
+
[[ONE/Command-line_Interface_CLI_Guide| Command-line Interface (CLI) Guide]]
  
=== Control Plane Operations ===
+
[[ONE/BI_and_VAT_Guide | Binary Interface and VAT Guide]]
  
ONE will use an extended LISP-based control plane to dynamically lookup the mapping and forwarding policy for overlay destinations, resulting in the location of the next hop associated with the flow in question. This mapping information is then cached in the map cache for future use. Changes/updates to the cached mappings may be pushed to VPP by the mapping system.
+
[[ONE/Restconf_Lisp_Guide | RESTCONF Guide (WIP)]]
  
==Get Involved==
+
== Tutorial ==
* [[ONE/Meeting|Weekly ONE Meeting]].
+
[[ONE/Functional_Tests_Guide | Run the ONE functional tests ]]
* [https://lists.fd.io/mailman3/lists/one-dev.lists.fd.io/ Join the CSIT Mailing List].
+
 
* [[IRC | Join fdio-one IRC channel]].
+
[[ONE/Simple_test_setup | Simple overlay setup for testing]]
  
==Scope==
+
[[ONE/RTR_setup | Re-encapsulating tunnel router setup]]
Project scope includes implementation of nodes that enable dynamic encapsulation and de-capsulation of data packets using different encapsulation formats, the map cache, and the LISP control plane for retrieval and update of the mapping and forwarding policies. The scope also includes integration with other components within VPP such as IPSec for encryption and NSH.
+
  
In more detail the scope will include:
+
[https://www.youtube.com/watch?v=ULqWiOh1LYc&list=PLWHpG2-3ZXXteDBrVaDhaT9w-58Uu33sK&index=13 Video tutorial: arch walkthrough, code dive and demo]
  
* Implementation of plugins/graph nodes to allow dynamic lookup and retrieval of mappings of network traffic to encapsulations for next hops (various encaps are supported and mapping system can determine the encap to use.) Various network traffic can be mapped, including L2, L3, NSH,...
+
== References ==
* Implementation of plugins/graph nodes to store/cache the retrieved mappings locally
+
*[1] https://tools.ietf.org/html/draft-ietf-nvo3-vxlan-gpe
* Implementation of plugins/graph nodes to carry out/apply the mappings for existing flows (match and encap)
+
*[2] https://tools.ietf.org/html/rfc6830
* Implementation of plugins/graph nodes to allow integration with other components including IPSec for encryption and NSH for service chaining
+
*[3] https://tools.ietf.org/html/draft-ietf-sfc-nsh
* Exporting APIs over NETCONF - using Honeycomb or other means defined by fd.io
+
*[4] https://tools.ietf.org/html/draft-ermagan-lisp-nsh
* Supporting tools, testing
+

Latest revision as of 20:29, 10 November 2020

ONE Facts

Project Lead: Florin Coras
Committers:

Repository: git clone https://gerrit.fd.io/r/one
Mailing List: one-dev@lists.fd.io
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews
Bugs: ONE bugs

Description

Overlay Network Engine (ONE) is a VPP project that enables programmable dynamic Software Defined overlays. ONE uses an extended LISP-based map-assisted control plane to dynamically lookup overlay-to-underlay address mappings, as well as forwarding policies, on demand and as packets arrive. This includes policies such as connectivity, encryption, traffic engineering and virtual topologies, access control, and service chaining. The looked up mappings and forwarding policies are cached locally for a TTL period until they time out. The mapping and forwarding policy information is then used to encapsulate overlay packets towards their associated destinations or next hops.

ONE can use and operate a variety of encapsulation formats for the overlay including GRE, VXLAN-GPE (Generic Protocol Extension) [1], which is effectively merging VXLAN and LISP [2] encapsulations in a single format that supports multi-protocol payloads, etc. The control plane can be used to fetch the encapsulation capabilities of a destination as part of its mapping and forwarding policies.

An external open SDN controller will be used as the mapping system to store and provide the mapping and forwarding policies.

Get Involved

Start Here

Project Proposal

Set Up Dev Environment - Explains how to set up a VPP development environment and the requirements for using the build tools

Documentation

ONE/Termination Review

ONE-LISP architecture

Command-line Interface (CLI) Guide

Binary Interface and VAT Guide

RESTCONF Guide (WIP)

Tutorial

Run the ONE functional tests

Simple overlay setup for testing

Re-encapsulating tunnel router setup

Video tutorial: arch walkthrough, code dive and demo

References