Ouroboros Functional Layering: Difference between revisions
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
This page is under construction
Unicast model
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.