Glossary: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Under construction}} | {{Under construction}} | ||
;Automated Repeat-reQuest (ARQ) | |||
:Packets are identified by a sequence number and acknowledged by the receiver. Lost packets are retransmitted, usually after receiving a number of duplicate ACKs or a certain timeout. | |||
;Bind | |||
:The action of associating a name with a program or process. A process bound to a name will respond to incoming flow allocation requests for that name in that system. If a program is bound to a name, all subsequently instantiated processes will be bound to that name. | |||
;Broadcast Flow | ;Broadcast Flow | ||
:A broadcast flow is the abstraction for a packet stream that is sent from a source node to | :A broadcast flow is the abstraction for a packet stream that is sent from a source node to a set of nodes. A Broadcast Flow is implemented by a Broadcast Layer. | ||
;Broadcast IPCP | ;Broadcast IPCP | ||
:A type of IPCP that is used to build Broadcast Layers | :A type of IPCP that is used to build Broadcast Layers. | ||
;Broadcast Layer | ;Broadcast Layer | ||
Line 10: | Line 16: | ||
;Connection | ;Connection | ||
: | :Shared state between two protocol machines. | ||
;Connection establishment | ;Connection establishment | ||
Line 19: | Line 25: | ||
;Enrollment | ;Enrollment | ||
:The action of adding an IPCP or a set of IPCPs to a Layer. | :The action of adding an IPCP or a set of IPCPs to a Layer as an active member. | ||
;Flow | ;Flow | ||
Line 25: | Line 31: | ||
;Flow Allocation | ;Flow Allocation | ||
:The process of creating a flow between two processes. | :The process of [[Flow Allocation|creating a flow between two processes]]. | ||
;Flow Allocator | ;Flow Allocator | ||
Line 40: | Line 46: | ||
;IPC | ;IPC | ||
:See Inter-Process Communication | :See Inter-Process Communication. | ||
;IPCP | ;IPCP | ||
:See Inter-Process Communication Process | :See Inter-Process Communication Process. | ||
;IRMd | |||
:See Inter-Process Communication Resource Management Daemon. | |||
;Inter-Process Communication | ;Inter-Process Communication (IPC) | ||
: | : | ||
;Inter-Process Communication Process | ;Inter-Process Communication Process (IPCP) | ||
: | : | ||
;Inter-Process Communication Resource Management Daemon (IRMd) | |||
:The IRMd is the central daemon that performs management functions for Ouroboros. It listens for management commands such as creating/destroying IPCPs, bootstrapping and enrolling IPCPs, binding programs and processes to service names and registering names with an IPCP. | |||
;IP fragmentation problem | |||
:Retransmission logic is handled by TCP, so the loss of an single IP datagram results in the retransmission of all the fragments constituting a (potentially much larger) TCP frame, instead of just this lost datagram. | |||
;Layer / layer | ;Layer / layer | ||
:The Ouroboros model is subdivided in [[Ouroboros Functional Layering|layers]] (lowercase), with similar intent as the TCP/IP model (5 layers) or OSI (7 layers) model which it aims to improve upon. | :The Ouroboros model is subdivided in [[Ouroboros Functional Layering|layers]] (lowercase), with similar intent as the TCP/IP model (5 layers) or OSI (7 layers) model which it aims to improve upon. | ||
:Ouroboros is [[ | :Ouroboros is [[Network_Layering|multi-Layered]] (capitalized), allowing networks to overlay each other. There are 2 types of Layers: Unicast Layers and Broadcast Layers, consisting of Unicast IPCPs and Broadcast IPCPs respectively. Note that they can't be mixed (a Unicast IPCP can't enroll with a Broadcast IPCP), but it is of course possible for a program to implement both the Unicast and Broadcast IPCP functionality. The different use of ''layer/Layer'' can be initially confusing, and have considered other options such as ''stratum'', but for the time being, we stick to Layer / layer. | ||
;Name | |||
:''also known as '''Service Name''' | |||
:A non-descript string of characters in some namespace that can be bound to a program or process. | |||
;Process | ;Process | ||
Line 63: | Line 82: | ||
;Raw Flow | ;Raw Flow | ||
:A best-effort Unicast Flow between two peers without any QoS guarantees. | :A best-effort Unicast Flow between two peers without any QoS guarantees. | ||
;RINA | |||
:[[Recursive InterNetwork Architecture]] | |||
;Routing | ;Routing |
Latest revision as of 06:08, 22 July 2024
This page is under construction
- Automated Repeat-reQuest (ARQ)
- Packets are identified by a sequence number and acknowledged by the receiver. Lost packets are retransmitted, usually after receiving a number of duplicate ACKs or a certain timeout.
- Bind
- The action of associating a name with a program or process. A process bound to a name will respond to incoming flow allocation requests for that name in that system. If a program is bound to a name, all subsequently instantiated processes will be bound to that name.
- Broadcast Flow
- A broadcast flow is the abstraction for a packet stream that is sent from a source node to a set of nodes. A Broadcast Flow is implemented by a Broadcast Layer.
- Broadcast IPCP
- A type of IPCP that is used to build Broadcast Layers.
- Broadcast Layer
- A Layer consisting of Broadcast IPCPs.
- Connection
- Shared state between two protocol machines.
- Connection establishment
- EFCP
- The protocol inside RINA IPCPs that is responsible for enabling IPC. It is a 2-component protocol consisting of the Data Transfer Protocol (DTP) and a Data Transfer Control protocol (DTCP) which share a state vector.
- Enrollment
- The action of adding an IPCP or a set of IPCPs to a Layer as an active member.
- Flow
- A flow is the abstraction for a packet stream between a number of application processes. Ouroboros makes a clear distinction between Unicast flows and Broadcast flows.
- Flow Allocation
- The process of creating a flow between two processes.
- Flow Allocator
- The component in the IPCP that is responsible for flow allocation, managing flow state and congestion avoidance.
- Flow Descriptor
- A handle used by an application to manipulate and read/write from/to flows, similar to a file descriptor for files.
- Flooding
- The algorithm that takes a packet on the incoming flow and then sends it out on all other (outgoing) flows. Flooding is the main algorithm implemented by the Data Transfer component of a Broadcast IPCP.
- Forwarding
- Any algorithm that takes as input a destination address and gives as output a set of flows. The forwarding algorithm is the main algorithm in the Data Transfer component of the unicast IPCP.
- IPC
- See Inter-Process Communication.
- IPCP
- See Inter-Process Communication Process.
- IRMd
- See Inter-Process Communication Resource Management Daemon.
- Inter-Process Communication (IPC)
- Inter-Process Communication Process (IPCP)
- Inter-Process Communication Resource Management Daemon (IRMd)
- The IRMd is the central daemon that performs management functions for Ouroboros. It listens for management commands such as creating/destroying IPCPs, bootstrapping and enrolling IPCPs, binding programs and processes to service names and registering names with an IPCP.
- IP fragmentation problem
- Retransmission logic is handled by TCP, so the loss of an single IP datagram results in the retransmission of all the fragments constituting a (potentially much larger) TCP frame, instead of just this lost datagram.
- Layer / layer
- The Ouroboros model is subdivided in layers (lowercase), with similar intent as the TCP/IP model (5 layers) or OSI (7 layers) model which it aims to improve upon.
- Ouroboros is multi-Layered (capitalized), allowing networks to overlay each other. There are 2 types of Layers: Unicast Layers and Broadcast Layers, consisting of Unicast IPCPs and Broadcast IPCPs respectively. Note that they can't be mixed (a Unicast IPCP can't enroll with a Broadcast IPCP), but it is of course possible for a program to implement both the Unicast and Broadcast IPCP functionality. The different use of layer/Layer can be initially confusing, and have considered other options such as stratum, but for the time being, we stick to Layer / layer.
- Name
- also known as Service Name
- A non-descript string of characters in some namespace that can be bound to a program or process.
- Process
- In the Ouroboros framework, the instantiation of a program. It is logically identified by a local Process Identifier (PID), which on POSIX systems maps directly to the process ID (pid).
- Program
- In the Ouroboros framework, the code (for instance a compiled binary or a script) that can be executed as a Process.
- Raw Flow
- A best-effort Unicast Flow between two peers without any QoS guarantees.
- Routing
- Any algorithm that can construct a distance function to all other nodes in a Unicast Layer. The literature discerns at least 3 classes of Routing algorithms: geometric, link-state and distance/path-vector.
- The output of a routing algorithm is needed to construct a forwarding algorithm. The routing algorithm is the main algorithm in the routing component of the unicast IPCP.
- Unenrollment
-
- The action of removing an IPCP or a set of IPCPs to a Layer.
- Unicast Flow
- A unicast flow is a point-to-point packet stream between two processes. A flow is identified at each end by a flow descriptor. A unicast flow is implemented as a network flow between two unicast IPCPs. A network flow is identified by a 4-tuple <source address, source EID, destination address, destination EID>. The Endpoint Identifiers (EIDs) are agreed upon during Flow Allocation. A Unicast Flow is not implying an application protocol.
- Unicast IPCP
- Unicast Layer
- Whatevercast
- A proposed RINA concept for the unification of unicast, anycast, multicast and broadcast. The RINA DIF will resolve the correct set of destination nodes based on the whatevercast name and a set of rules associated with it. Our attempt at implementing whatevercast led to us formulating the Ouroboros multicast conjecture.