wiki:GeniNetworkStitching

Version 3 (modified by Aaron Helsinger, 14 years ago) (diff)

--

Network Stitching

A key architectural question for GENI has been how to connect the resources provided by multiple aggregates into a coherent network. The key objective is to enable automated and realtime network stitching for slices which span multiple aggregates. Ethernet VLANs have been identified as the initial network technology to provide slice level inter-aggregate connections and isolation. However, there are many architecture and design decisions still required. These include, how do you select the VLAN IDs to use and inform all necessary aggregates? How do you handle external networks which may be in between two GENI Aggregates of interest? Is the network stitching service a shared service which coordinates across aggregates, or are aggregates responsible for coordinating amongst themselves, or a hybrid model? How is stitching related information described and shared ?

This question was the topic of one of the four software engineering meetings at GEC10. Details are on the meeting page.

GEC10 meeting

GEC10 Stitching Engineering Meeting

At GEC10, there was a community discussion of how to reserve network connections between aggregates. (http://groups.geni.net/geni/wiki/GEC10Stitching). This is a summary of the results of that session.

Tom Lehman of ISI presented a common stitching architecture proposal. By the end of the meeting, the community agreed to this architecture. We agreed that many details are left to discuss, and we hope to formally accept a stitching API at GEC11.

The architecture is based on a common schema and 6 functions, fully described here: http://geni.maxgigapop.net/twiki/bin/view/GENI/NetworkStitching. Tom Lehman also outlined various deployment choices. Each alternative would locate those functions in ways that map the architecture to how things are currently done in ProtoGENI, Orca, and OpenFlow.

Community Agreement

The session concluded with community agreement on three points:

  • GENI stitching will follow the described architecture
  • Details will be worked out
  • Next steps as outlined below

Next steps

  • Schema: Jon Duerig of ProtoGENI is iterating on a PG-compatible stitching schema that preserves ION compatibility.
  • Functions: The community will continue discussion points as described below, particularly working out how chain & tree interoperate, and working though some use cases.
  • API to be proposed for adoption at GEC11
  • Interoperability demonstration at GEC12

Architecture Summary

The architecture and information model is inspired by IETF GMPLS and PCE (https://datatracker.ietf.org/wg/ccamp, https://datatracker.ietf.org/wg/pce/) adapted to the GENI environment. This proposal starts mostly at layer 2. The key thing is to view aggregates as a topology. Aggregates must advertise connection points in an RSpec in a common format to permit functions to compute paths across aggregates.

There are 6 components in the architecture:

  • stitching resource elements
  • schema
  • topology service
  • path computation function
  • workflow function
  • AM API extension