Ouroboros Functional Layering: Difference between revisions

From Ouroboros
Jump to navigation Jump to search
Line 21: Line 21:
** Automated-Repeat Request (retransmission of lost packets)
** Automated-Repeat Request (retransmission of lost packets)
** Flow control
** Flow control
Flow allocation, authentication and symmetric key distribution are implemented using a '''2-way handshake''' each. If the MTU allows, these 3 exchanges can be piggybacked in a single 2-way exchange, so within a single Round-Trip Time.


=== Network End-to-End layer / Flow Allocator ===
=== Network End-to-End layer / Flow Allocator ===

Revision as of 09:57, 13 October 2023

Under contruction This page is under construction  

Unicast model

Ouroboros network model - Unicast

Unicast API

The Unicast API provides the interface for an application to create, manage and destroy unicast flows and read and write from and to these flows. The API is network-agnostic and provides application primitives for synchronous and asynchronous Inter-Process Communication. It supports message-based and (byte)stream-based communication.

Application End-to-End layer

The application end-to-end layer provides the functionality to make data transmission reliable and secure, if required. The application end-to-end layer can provide the following operations:

  • Encryption (Public key or symmetric key)
  • Authentication (validation/verification of certificate chains, HMAC)
  • Integrity (hash-based checks such as CRC32)
  • Reliability, implemented by the FRCP protocol
    • Fragmentation
    • In order delivery
    • Discarding duplicate packets
    • Automated-Repeat Request (retransmission of lost packets)
    • Flow control

Flow allocation, authentication and symmetric key distribution are implemented using a 2-way handshake each. If the MTU allows, these 3 exchanges can be piggybacked in a single 2-way exchange, so within a single Round-Trip Time.

Network End-to-End layer / Flow Allocator

Network Forwarding layer

Transmission layer

Broadcast model

Ouroboros network model - Broadcast

Broadcast API

Network Flooding layer

Relation to TCP/IP model

Ouroboros network model vs TCP/IP model

Relation to Location/Identifier split

Ouroboros network model vs Loc/Id split

Relation to Recursive Internet Architecure (RINA)

Ouroboros network model vs RINA model