In this document, “an initial specification and a proof of concept implementation” of the techniques proposed in the previous document, “draft specification”, are presented. The goal is to show how the proposed techniques in the previous document can be implemented in RINA as a proof of concept, what their performance improvement is over other similar methods (if applicable), and what future directions are. The activities performed in D3.2 are centered around three main areas of i) programmable congestion control; ii) unification of connection-oriented and connectionless resource allocation in support of multiple levels of service; and iii) topological addressing to bound routing table sizes. This document also specifies the investigation results of these techniques as some initial policies in RINA.
In the first chapter, programmable congestion control, we will specify some new policies on how to implement a simple congestion control mechanism behaving like TCP. Then we will enhance it with an aggregate pushback mechanism. To compare it with other similar methods, we implemented Split-TCP, which is the most similar method in the Internet to our implementation in RINA. We show that RINA’s congestion control performs similar to Split-TCP, and both outperform TCP. The second part of chapter one discusses a practical use-case of the application of RINA’s programmable congestion control policies for the DC use case. Specific congestion detection and mitigation policies are proposed for the isolation of multiple tenant DIFs sharing the resources provided by the DC-Fabric DIF.
In chapter 2, two aspects of resource allocation in a DIF are explored: multiplexing and exploiting multiple equal-cost paths. The first part of chapter 2 discusses the Cherish/ Urgency multiplexing scheme, by which it is possible to provide strict differential delay and loss guarantees to different flows provided by a DIF. We first present this multiplexing approach in the context of the more general ΔQ framework. Next we analyze how this multiplexing approach can be decomposed into the different RMT policies, propose a specification for those policies and perform an initial performance evaluation using RINAsim. The second part of the chapter is dedicated to exploring a QoS-aware multi-path routing approach in the context of the datacentre networking use case. The fact that a DIF is aware of the QoS requirements of the flows provided to the applications using the DIF opens the door to more effective and dynamic multipath strategies than the traditional Equal Cost Multi Path (ECMP) approach.
In chapter 3, Topological Addressing to Bound Routing Table Sizes, we present new generic architectures for routing and addressing tailored to cope with the different PRISTINE use cases requirements in terms of scalability, reliability and efficiency. Moreover, these architectures are designed to benefit from RINA’s recursive architecture. A couple of routing policies have been implemented and tested along with the proposed architectures in order to examine the performance of applying RINA to the use cases, specifically the distributed clouds use case. Simulation results show that a significant improvement of the routing table size is achieved.