Ouroboros: Difference between revisions

From Ouroboros
Jump to navigation Jump to search
No edit summary
Line 13: Line 13:
= Objectives =
= Objectives =


== Mission ==
== Single point of Contact ==


== Vision ==
Flow allocator - authentication before first application byte


= Motivation =
== Single point of Configuration ==
 
Instead of having network configuration per application
 
== Configuration Portability ==

Revision as of 11:39, 28 October 2023

Under contruction This page is under construction  

Summary

Ouroboros is a prototype packet-switched network. It features a complete redesign of the current packet networking model – from the programming API almost to the wire. If we had to describe Ouroboros in a single sentence, it would be Ouroboros is a micro-services architecture applied to the network itself.

From an application perspective, an Ouroboros network is a “black box” with a simple application programming interface to request communication services. Ouroboros can provision a unicast flow - a (bidirectional) channel that delivers messages or a byte-stream with some requested operational parameters such as maximum delay and bandwidth, protection against packet loss and authentication of peers and encryption of data in flight; or it provides a broadcast flow to a set of joined programs.

From an administrative perspective, an Ouroboros network is a bunch of daemons that can be thought of as software routers (unicast) or software hubs (broadcast) that can be connected to each other; again through a simple management API.

While the prototype is not directly compatible with TCP/IP or POSIX sockets, it has interfaces and tools to run over Ethernet or UDP, or to create IP/Ethernet tunnels over Ouroboros by exposing tap or tun devices.

Objectives

Single point of Contact

Flow allocator - authentication before first application byte

Single point of Configuration

Instead of having network configuration per application

Configuration Portability