aboutsummaryrefslogtreecommitdiff
path: root/content/docs/irmd.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/docs/irmd.md')
-rw-r--r--content/docs/irmd.md90
1 files changed, 0 insertions, 90 deletions
diff --git a/content/docs/irmd.md b/content/docs/irmd.md
deleted file mode 100644
index f6b60bd..0000000
--- a/content/docs/irmd.md
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: "Creating layers"
-author: "Dimitri Staessens"
-description: "IRMd"
-date: 2019-07-23
-#type: page
-draft: false
----
-
-The most important structure in recursive networks are the layers,
-that are built op from [elements](/docs/elements/) called
-Inter-Process Communication Processes (IPCPs). (Note again that the
-layers in recursive networks are not the same as layers in the OSI
-model).
-
-<center>
-{{<figure class="fl w-90"
- src="/images/creating_layers.jpg">}}
-</center>
-
-Now, the question is, how do we build these up these layers? IPCPs are
-small programs (think of small virtual routers) that need to be
-started, configured and managed. This functionality is usually
-implemented in some sort of management daemon. Current RINA
-implementations call it the *IPC manager*, Ouroboros calls it the
-__IPC Resource Management daemon__ or __IRMd__ for short. The IRMd
-lies at the heart of each system that is participating in an Ouroboros
-network, implementing the core function primitives. It serves as the
-entry point for the system/network administrator to manage the network
-resources.
-
-We will describe the functions of the Ouroboros IRMd with the
-Ouroboros commands for illustration and to make things a bit more
-tangible.
-
-The first set of primitives, __create__ (and __destroy__), allow
-creating IPCPs of a given *type*. This just runs the process without
-any further configuration. At this point, that process is not part of
-any layer.
-
-```
-$ irm ipcp create type unicast name my_ipcp
-$ irm ipcp list
-+---------+----------------------+------------+----------------------+
-| pid | name | type | layer |
-+---------+----------------------+------------+----------------------+
-| 7224 | my_ipcp | unicast | Not enrolled |
-+---------+----------------------+------------+----------------------+
-```
-
-The example above creates a unicast IPCP and gives that IPCP a name
-(we called it "my_ipcp"). A listing of the IPCPs in the system shows
-that the IPCP is running as process 7224, and it is not part of a
-layer ("*Not enrolled*").
-
-To create a new functioning network layer, we need to configure the
-IPCP, using a primitive called __bootstrapping__. Bootstrapping sets a
-number of configuration optionss for the layer (such as the routing
-algorithm to use) and activates the IPCP to allow it to start
-providing flows. The Ouroboros command line allows creating an IPCP
-with some default values, that are a bit like a vanilla IPv4 network:
-32-bit addresses and shortest-path link-state routing.
-
-```
-$ irm ipcp bootstrap name my_ipcp layer my_layer
-$ irm ipcp list
-+---------+----------------------+------------+----------------------+
-| pid | name | type | layer |
-+---------+----------------------+------------+----------------------+
-| 7224 | my_ipcp | unicast | my_layer |
-+---------+----------------------+------------+----------------------+
-```
-
-Now we have a single node-network. In order to create a larger
-network, we connect and configure new IPCPs using a third primitive
-called __enrollment__. When enrolling an IPCP in a network, it will
-create a flow (using a lower layer) to an existing member of the
-layer, download the bootstrapping information, and use it to configure
-itself as part of this layer.
-
-The final primitive is the __connect__ (and __disconnect__)
-primitive. This allows to create *adjacencies* between network nodes.
-
-An example of how to create a small two-node network is given in
-[tutorial 2](/docs/tutorials/tutorial-2/)
-
----
-Changelog:
-
-2019-07-23: Initial version