The following lines explain the PRISTINE scientific and technical objects, designed to address the challenges introduced in the last section. Before going into them, it is important to clarify what will be the baseline of the project’s work. PRISTINE will not be developing a RINA prototype from scratch, but adopt the prototype of RINA over Ethernet and IP under development by the FP7 IRATI project as the basis for its implementation work. The objectives of PRISTINE are very complementary to those of IRATI, which is just focused on developing a basic RINA implementation.
Objective 1. RINA Software Development Kit: making the network programmable. Design and develop a Software Development Kit for the PRISTINE implementation of RINA, that enables programmers to effectively exploit in reality all the theoretical customization capabilities provided by RINA. The SDK will define a set of APIs into each of the components of an IPC Process, allowing developers to modify the behavior of the DIFs in terms of data transfer, forwarding, authentication, access control, resource allocation and so on. PRISTINE will modify the IRATI project implementation to allow extension modules to be plugged in and out of the prototype.
Objective 2. Programmable congestion control for effective data transfer. Research, design and implement the mechanisms and algorithms that allow each DIF to explicitly detect congestion generated within the DIF, and take the appropriate measures to quickly react against it. Control loops with different characteristics will be designed, tailored to the requirements of PRISTINE’s use cases. The interactions between the control loops at different DIFs will be analyzed. The different congestion control solutions will be incorporated into the prototype through the use of the SDK.
Objective 3. Distributed resource allocation strategies to support multiple levels of service. Investigate and program a set of distributed resource allocation techniques that enable a DIF to provide different levels of service to honour the requirements of different applications. This techniques will leverage the capabilities that RINA provides in terms of allowing applications to express their desired level of service and the theory unifying connection oriented and connectionless resource allocation. The interaction between distributed resource allocation and congestion control techniques within a DIF will be investigated. The SDK will be used to plug the extensions into the prototype.
Objective 4. Topological addressing as an enabler of efficient routing. Research and develop topological addressing schemes and its associated routing mechanisms, in order to minimize the size of the forwarding tables within DIFs. Topological address spaces reflect an abstraction of a connectivity graph within a layer, therefore the forwarding decision can be taken by examining the destination address and the addresses of the directly attached routers. PRISTINE will investigate what topologies for address spaces make sense, are easily maintained, and scale for the three use cases of the PRISTINE project. Development activities will be carried out through the SDK.
Objective 5. Authentication, access control and encryption for secure DIFs. Investigate, design and implement different strategies to perform authentication, access control and encryption as required by the three PRISTINE scenarios. Security is an integral part of an IPC Process and does not need to be handled in separate subsystems such as firewalls. Application access control, symmetric/assymetric key-based authentication protocols and encryption mechanisms will be investigated and adapted to RINA through the use of the SDK.
Objective 6. Security coordination within a DIF: self-management, attack identification and mitigation. Research and program techniques that enable a DIF to coordinate its internal security mechanisms in a distributed an autonomous way. Management and distribution of credentials, as well as logging and analyzing the key events related to security are the most important issues that will be addresses by this objective. The analyzed information will be used to decide if a DIF is being attacked, and to take measures to protect from the attack. The developed extensions will be incorporated into the prototype through the SDK.
Objective 7. Multi-homing and self-healing as the basis for resilient networks. Investigate and develop routing algorithms and routing information dissemination strategies that optimally exploit RINA’s support of multi-homing for load-balancing and rapid recovery of failures. Distributed resource allocation techniques will also be used in order to re-create the connectivity graph of the DIF, effectively recovering from malfunctioning links or IPC Processes. All the extensions will be plugged in the prototype through the use of the SDK.
Objective 8. Multi-layer DIF Management System (DMS) for integrated network management. Design and develop a DMS capable of managing multiple DIFs (layers) at once. The commonality provided by RINA allows multi-layer management to be vastly simplified; thus opening the door to more robust, dynamic, responsive and cheaper network management operations. The DMS developed within PRISTINE will take care of configuration, performance and security management.
Objective 9. Trials of the project use cases: deploying PRISTINE’s solutions in the real world. Demonstrate the benefits of the RINA architecture and PRISTINE’s solutions by trialing the project use cases in realistic conditions. PRISTINE will bundle the different solutions into three packages, one for each use cases (detailed in the next section), and showcase the technical and business impact of the project results through different trials over a rich infrastructure composed by partner’s resources and relevant FIRE facilities.
Objective 10. RINA Simulator to understand the behaviour of extensions at scale. Design and develop an OMNeT++ based RINA simulator, utilizing part of the IRATI implementation source code as an input. The simulator is a secondary objective, but a useful tool for RINA research. Within PRISTINE it will enable researchers to understand how the solutions for the different problem areas behave at scale.