Driven by the requirements of the emerging applications and networks, the Internet has become an architectural patchwork of growing complexity which strains to cope with the changes. Moore's law prevented us from recognising that the problem does not hide in the high demands of today's applications but lies in the flaws of the Internet's original design. The Internet needs to move beyond TCP/IP to prosper in the long term, TCP/IP has outlived its usefulness.
The 5-layer TCP and 7-layer OSI models are taught as high-level frameworks in which the various protocols that are used in computer networks operate. These models provide valid insights in the organization of network functionalities and protocols; however, the difficulties to fit some crucial technologies within them hints that they don't provide a complete model for the organization of -- and relationships between -- different mechanisms in a computer network. Recently, a recursive model for computer networks was proposed, which organizes networks in layers that conceptually provide the same mechanisms through a common interface. Instead of defined by function, these layers are distinguished by scope. We report our research on a model for computer networks. Following a rigorous regime alternating design with the evaluation of its implications in an implementation, we converged on a recursive architecture, named Ouroboros. One of our main main objectives was to disentangle the fundamental mechanisms that are found in computer networks as much as possible. Its distinguishing feature is the separation of unicast and broadcast as different mechanisms, giving rise to two different types of layers. These unicast and broadcast layers can easily be spotted in today's networks. This article presents the concepts underpinning Ouroboros, details its organization and interfaces, and introduces the free software prototype. We hope the insights it provides can guide future network design and implementation.
European funded research into the Recursive Inter-Network Architecture (RINA) started with IRATI, which developed an initial prototype implementation for OS/Linux. IRATI was quickly succeeded by the PRISTINE project, which developed different policies, each tailored to specific use cases. Both projects were development-driven, where most experimentation was limited to unit testing and smaller scale integration testing. In order to assess the viability of RINA as an alternative to current network technologies, larger scale experimental deployments are needed. The opportunity arose for a project that shifted focus from development towards experimentation, leveraging Europe’s investment in Future Internet Research and Experimentation (FIRE+) infrastructures. The ARCFIRE project took this next step, developing a user-friendly framework for automating RINA experiments. This paper reports and discusses the implications of the experimental results achieved by the ARCFIRE project, using open source RINA implementations deployed on FIRE+ Testbeds. Experiments analyze the properties of RINA relevant to fast network recovery, network renumbering, Quality of Service, distributed mobility management, and network management. Results highlight RINA properties that can greatly simplify the deployment and management of real-world networks; hence, the next steps should be focused on addressing very specific use cases with complete network RINA-based networking solutions that can be transferred to the market.
IRATI is a open source implementation of RINA for OS/Linux systems that allows researchers and innovators to experiment with RINA networks. RINA is a new Internetwork architecture that supports without the need of extra mechanisms mobility, multi-homing and Quality of Service, provides a secure and configurable environment and allows for a seamless adoption. IRATI implements the core RINA protocols and multiple policies to customize such protocols to different environments. Policies can be developed via a Software Development Kit (SDK). IRATI provides an API for applications to natively use RINA IPC services, as well as multiple monitoring utilities and example applications.
A number of recent EU-funded projects have been investigating the Recursive Internet Architecture (RINA). IRATI built an initial prototype implementation, which was extended by the PRISTINE project towards technology demonstrators showing the feasibility of the architecture and demonstrating how RINA tackles security and reliability and how it can simplify network management. Currently, ARCFIRE sets out to evaluate realistic network scenarios, scaling up experiments in terms of numbers of nodes, services and running time. In this paper we present Rumba, a free open source experimentation framework developed within ARCFIRE in order to drastically reduce the time required to deploy and conduct such large experiments. Rumba is powerful yet easy to use. It provides a simple abstraction to model the RINA network as well as APIs for reserving testbed resources, installing the prototype, configuring and bootstrapping the recursive network, running the experiment scenario, collecting the results data and releasing the testbed resources. Rumba provides QEMU, jFed and emulab support to run experiments on a local machine or on various US and EU testbeds provided by GENI and FIRE+. Our experiences show that Rumba reduces the time required to configure and run large experiments using the RINA prototypes by several orders of magnitude.
Virtualization is an enabling technology that improves scalability, reliability, and flexibility. Virtualized networking is tackled by emulating or paravirtualizing network interface cards. This approach, however, leads to complexities (implementation and management) and has to conform to some limitations imposed by the Ethernet standard. RINA turns the current approach to virtualized networking on its head: instead of emulating networks to perform inter-process communication on a single processing system, it sees networking as an extension to local inter-process communication. In this article, we show how RINA can leverage a paravirtualization approach to achieve a more manageable solution for virtualized networking. We also present experimental results performed on IRATI, the reference open source implementation of RINA, which shows the potential performance that can be achieved by deploying our solution.
In Service-Oriented Architecture (SOA), dedicated intermediate nodes called load balancers are usually deployed in data centers (DC) in order to balance the load among multiple instances of an application service and to optimize the resource utilization. However, the addition of these nodes increases the installation and operational cost of DCs. These load balancers distribute incoming flows to multiple outgoing ports usually by hashing them. Several techniques are used in order to select the outgoing ports e.g. round robin, queue length, feedback from neighbors etc. Such load balancing approaches do not considergetting live feedback from the service end and therefore are not able to dynamically change the amount of allocated resources. In this paper, a distributed load management scheme isproposed for service oriented networks based on the currentInternet architecture. In this scheme, lightweight interconnected management agents are used to decide the availability for a particular service instance and help in optimal distribution of the flows. The proposed scheme can also be applied in other emerging internetworking architectures such as RINA.
In recent years, many new Internet architectures are being proposed to solve shortcomings in the current Internet. A lot of these new architectures merely extend the current TCP/IP architecture and hence do not solve the fundamental cause of these problems. The Recursive Internet Architecture (RINA) is a true new network architecture, developed from scratch, building on lessons learned in the past. RINA prototyping efforts have been ongoing since 2010, but a prototype on which a commercial RINA implementation can be built has not been developed yet. The goal of the IRATI research project is to develop and evaluate such a prototype in Linux/OS. This article focuses on the software design required to implement a network stack in Linux/OS. We motivate the placement of, and communication between, the different software components in either the kernel or user space. The first open source prototype of the IRATI implementation of RINA will be available in June 2014 for researchers, developers, and early adopters.
The Recursive InterNetwork Architecture (RINA) is a recently proposed network architecture based on first principles, which promises to solve a number of issues present in the current Internet such as the lack of inherent security. In this paper, we present the experimental evaluation of the first performance-oriented implementation of RINA, the IRATI stack. Our open source stack is designed for GNU/Linux Operating Systems, with key components developed in kernel space for optimal performance. After briefly introducing the architecture, we present the main features of the stack, give some details about the implementation and discuss some trade-offs that had to be taken into account. We present use case scenarios for the evaluation, which were implemented in a test environment, and present the performance, achieving a goodput close to line rate on a GbE link, even when multiple Distributed Inter Process Communication Facilities (DIFs) are stacked.
There is often a requirement to interface a new model to a legacy implementation by creating a shim between them to make the legacy appear as close to the new model as possible. This is a common exercise, usually fraught with frustrations, but here we find the exercise reveals fundamental aspects about nature of layers that were previously not well understood. Here we will be primarily concerned with creating a shim between RINA and IEEE 802.1q (VLANs). The Recursive InterNet Architecture (RINA) proposes a network architecture derived from the fundamentals of InterProcess Communication (IPC). This yields a recursively layered architecture of Distributed IPC Facilities (DIFs).
The Internet has been an enormous success and has seen an incredible growth. In order to keep the Internet working, lots of patches and hacks have been applied which work only temporary, and don’t solve fundamental problems. This has made research on network Architectures more a craft than a science. RINA, the Recursive InterNetwork Architecture, is a back to basics approach learning from the limitations of the current Interent and from the experience of other technologies in the past. A lot of the functional elements in RINA still need to be developed, among them the routing functionality. In computer networks, computers send packets of data to each other, instead of a stream of data. Each packet has to be relayed, or routed, until it reaches the destination computer. We will research different routing schemes in RINA, different ways of relaying the packet to the destination.
David W. Hutchison合作论文数Faculty of Science and Technology;Lancaster University;Computing Department1