Ouroboros: Difference between revisions
Line 5: | Line 5: | ||
Ouroboros is a prototype packet-switched network. It is based on a [[Ouroboros Model|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 micro-services architecture applied to the network itself''. | Ouroboros is a prototype packet-switched network. It is based on a [[Ouroboros Model|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 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 | 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 in-flight data; 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. | 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. |
Revision as of 14:01, 28 October 2023
This page is under construction
Summary
Ouroboros is a prototype packet-switched network. It is based on a 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 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 in-flight data; 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