Content deleted Content added
Cowmoose21 (talk | contribs) init |
Lakun.patra (talk | contribs) m bad link repair, added orphan, uncategorised tags, typo(s) fixed: Telefonica → Telefónica, et al → et al. using AWB |
||
Line 1:
{{Orphan|date=March 2015}}
The '''Recursive InterNetwork Architecture (RINA)''' is a computer [[network architecture]] that unifies [[distributed computing]] and [[telecommunications]]. RINA's fundamental principle is that [[computer network]]ing is just [[Inter-Process Communication]] or IPC. RINA reconstructs the overall structure of the [[Internet]], forming a model that comprises a single repeating layer, the DIF (Distributed IPC Facility), which is the minimal set of components required to allow distributed IPC between application processes. RINA inherently supports mobility, [[multihoming|multi-homing]] and [[Quality of Service]] without the need for extra mechanisms, provides a secure and programmable environment, motivates for a more competitive marketplace, and allows for a seamless adoption.
==History and Motivation==
The principles behind RINA were first presented by [[
From the early days of telephony to the present, the [[telecommunications]] and computing industries have evolved significantly. However, they have been following separate paths, without achieving full integration that can optimally support [[distributed computing]]; the paradigm shift from [[telephony]] to distributed applications is still not complete. Telecoms have been focusing on connecting devices, perpetuating the telephony model where devices and applications are the same. A look at the current [[Internet protocol suite]] shows many symptoms of this thinking
* The network routes data between interfaces of computers, as the public switched telephone network switched calls between phone terminals. However, it is not the source and destination ''interfaces'' that wish to communicate, but the distributed ''applications''.
Line 13 ⟶ 14:
Several attempts have been made to propose architectures that overcome the current Internet limitations, under the umbrella of the [[Future Internet]] research efforts. However, most proposals argue that requirements have changed, and therefore the [[Internet]] is no longer capable to cope with them. While it is true that the environment in which the technologies that support the [[Internet]] today live is very different from when they where conceived in the late 1970s, changing requirements are not the only reason behind the Internet's problems related to multihoming, mobility, security or QoS to name a few. The root of the problems may be attributed to the fact the current [[Internet]] is based on a tradition focused on keeping the original [[ARPANET]] demo working and fundamentally unchanged, as illustrated by the following paragraphs.
'''1972. Multi-homing not supported by the ARPANET'''. In 1972 the [[Tinker Air Force Base]] wanted connections to two different IMPs ([[Interface Message Processors]], the predecessors of today's routers) for redundancy. [[ARPANET]] designers realized that they couldn't support this feature because host addresses were the addresses of the IMP port number the host was connected to (borrowing from telephony). To the [[ARPANET]], two interfaces of the same host had different addresses, therefore it had no way of knowing that they belong to the same host. The solution was obvious: as in operating systems, a logical address space naming the nodes (hosts and routers) was required on top of the physical interface address space. However, the implementation of this solution was left for future work, and it is still not done today: “''IP addresses of all types are assigned to interfaces, not to nodes''”
'''1978. [[Transmission Control Protocol]] (TCP) split from the [[Internet Protocol]] (IP).''' Initial TCP versions performed the error and flow control (current TCP) and relaying and multiplexing (IP) functions in the same protocol. In 1978 TCP was split from IP, although the two layers had the same scope. This would not be a problem if: i) the two layers were independent and ii) the two layers didn't contain repeated functions. However none of both is right: in order to operate effectively IP needs to know what TCP is doing. IP fragmentation and the workaround of MTU discovery that TCP does in order to avoid it to happen is a clear example of this issue. In fact, as early as in 1987 the networking community was well aware of the IP fragmentation problems, to the point of considering it harmful
'''1981. Watson's fundamental results ignored'''. Richard Watson in 1981 provided a fundamental theory of reliable transport
'''1983. Internetwork layer lost, the Internet ceases to be an Internet'''. Early in 1972 the International Network Working Group (INWG) was created to bring together the nascent network research community. One of the early tasks it accomplished was voting an international network transport protocol, which was approved in 1976
[[File:INWG-arch.png|thumb|350px|Figure1. The Internet architecture as seen by the INWG]]
Line 25 ⟶ 26:
'''1983. First opportunity to fix addressing missed'''. The need for application names and distributed directories that mapped application names to internetwork addresses was well understood since mid 1970s. They were not there at the beginning since it was a major effort and there were very few applications, but they were expected to be introduced once the “host file” was automated (the host file was centrally maintained and mapped human-readable synonyms of addresses to its numeric value). However, application names were not introduced and DNS, the [[Domain Name System]], was designed and deployed, continuing to use well-known ports to identify applications. The advent of the web and [[HTTP]] caused the need for application names, introducing [[URLs]]. However the URL format ties each application instance to a physical interface of a computer and a specific transport connection (since the URL contains the DNS name of an IP interface and TCP port number), making multi-homing and mobility very hard to achieve.
'''1986. [[Congestion collapse]] takes the Internet by surprise'''. Despite the fact that the problem of congestion control in datagram networks had been known since the very beginning (in fact there had been several publications during the 70s and early 80s
'''1992. Second opportunity to fix addressing missed'''. In 1992 the [[Internet Architecture Board]] (IAB) produced a series of recommendations to resolve the scaling problems of the [[IPv4]] based Internet: address space consumption and routing information explosion. Three types of solutions were proposed: introduce CIDR ([[Classless Inter-Domain Routing]]) to mitigate the problem, design the next version of IP (IPv7) based on [[CLNP]] (ConectionLess Network Protocol) and continue the research into naming, addressing and routing
There are still more wrong decisions that have resulted in long-term problems for the current Internet, such as:
* In 1988 IAB recommended using the [[Simple Network Management Protocol]] (SNMP) as the initial network management protocol for the Internet to later transition to the object-oriented approach of the [[Common Management Information Protocol]] (CMIP)
* Since [[IPv6]] didn’t solve the multi-homing problem and naming the node was not accepted, the major theory pursued by the field is that the IP address semantics are overloaded with both identity and ___location information, and therefore the solution is to separate the two, leading to the work on [[Locator/Identifier Separation Protocol]] (LISP). However all approaches based on LISP have scaling problems <ref name="lispis">D. Meyer and D. Lewis. Architectural implications of Locator/ID separation. Draft Meyer Loc Id implications, january 2009</ref> because i) it is based on a false distinction (identity vs. ___location) and ii) it is not routing packets to the end destination (LISP is using the locator for routing, which is an interface address; therefore the multi-homing problem is still there)
* The recent discovery of [[bufferbloat]] due to the use of large buffers in the network. Since the beginning of the 80s it was already known that the buffer size should be the minimal to damp out transient traffic bursts
* The inability to provide efficient solutions to security problems such as authentication, access control, integrity and confidentiality, since they were not part of the initial design. As stated in <ref>D. Clark, L. Chapin, V. Cerf, R. Braden and R. Hobby. Towards the Future Internet Architecture. RFC 1287 (Informational), December 1991</ref> “''experience has shown that it is difficult to add security to a protocol suite unless it is built into the architecture from the beginning''”.
Line 72 ⟶ 73:
* Stacking DIFs on top of each other allows networks to be built from smaller and more manageable layers of limited scope. This divide-and-conquer strategy gives providers more resource management options than just over-provisioning. It also provides the basis for operating subnetworks at much higher utilization than in the current Internet.
* RINA leverages the well-known concept of separating mechanism from policy in operating systems
* DIFs can be configured to not only provide the fundamental services of the traditional networking lower layers but also the services of application relaying (e.g. mail distribution and similar services), [[transaction processing]], [[content distribution]] and [[peer-to-peer]]. This removes the barrier created by the Transport Layer in the current Internet, opening potential new markets for ISPs to provide IPC services directly to their customers leveraging their expertise in resource management of lower layers.
Line 79 ⟶ 80:
==RINA compared to [[TCP/IP]]==
===Structure===
While in [[operating systems]] layers are a convenience - a way to achieve modularity - in networks layers are a necessity, since in networks there is distributed shared state of different scopes. Layers are the tool for isolating distributed shared state of different scopes, nothing else is required. The current Internet architecture uses a layered architecture with a fixed number of layers, every layer having the responsibility of a different function, as depicted in Figure 4 (functional layering).
Line 84 ⟶ 86:
[[File:TCPIP-arch.png|thumb|350px|Figure 4. Functional layering of the TCP/IP architecture]]
The current architecture just provides two scopes: data link (scope of layers 1 and 2), and global (scope of layers 3 and 4). However, layer 4 is just implemented in the hosts, therefore the “network side” of the Internet ends at layer 3. This means that the current Internet is able to handle a network with heterogeneous physical links, but it is not designed to handle heterogeneous networks, although this is supposed to be its operation. To be able to do it, it would require an “Internetwork” scope, which is now missing
With an internetwork layer none of this would be necessary: inter-___domain routing would happen at the internetwork layer, while intra-___domain routing within each network would occur at each respective network layer. NATs would not be required since each network could have its own internal address space; only the addresses in the internetwork layer would have to be common. Moreover, congestion could be confined to individual networks, instead of having to deal with it at a global scope as it is done today. The internetwork layer was there in previous internetwork architectures, for example, the INWG architecture depicted in Figure 3, which was designed in 1976. It was somehow lost when the [[Network Control Program]] was phased out ant the Internet officially started in 1983.
Line 103 ⟶ 105:
With this naming structure, support for mobility and multi-homing is inherent, if the properties for the names are chosen with care: application names are ___location-independent to allow an application to move around, node addresses are ___location-dependent but route-independent. PoA addresses are by nature route-dependent. Applying this naming scheme to RINA, with recursive layers, an interesting observation can be made: mapping application names to node addresses is the same mapping than mapping node addresses to PoAs. In other words, for any layer N, nodes at the layer N+1 are applications and nodes at the layer N-1 are points of attachment, making this relationship relative.
The [[Locator/Identifier Separation Protocol]] (LISP or Loc/ID split) <ref name="lisp">D. Farinacci, V. Fuller, D. Meyer, and D. Lewis. Locator/ID Separation Protocol (LISP). Draft IETF LISP 18, december 2011</ref> has been proposed by [[IETF]] as a solution to issues as the scalability of the routing system. LISP main argument is that the semantics of the IP address are overloaded being to be both locator and identifier of an endpoint. LISP proposes to address this issue by separating the IP address into a locator part, which is hierarchical, and an identifier, which is flat. However this is a false distinction: in Computer Science it is impossible to locate something without identifying it and to identify something without locating it, since all the names are using for locating an object within a context
RINA adopts and extends Saltzer’s model by supporting internetworks, and making it recursive. It has a complete naming and addressing schema, providing names for the basic entities of the network (nodes, PoAs and applications). As a consequence RINA supports mobility and multi-homing inherently <ref>V. Ishakian, J. Akinwuni, F. Esposito, I. Matta, "On supporting mobility and multihoming in recursive internet architectures". Computer Communications, Volume 35, Issue 13, July 2012, pages 1561-1573</ref>
===Protocol Design===
A protocol can effectively serve different applications with a wide range of requirements as long as this is the goal from the beginning of the protocol design. In RINA, policy and mechanism are separated, resulting in a framework than can be fine-tuned through policy specification. The mechanism of a protocol may be tightly bound, such as the headers of a data transfer packet, or loosely bound, as in some control and acknowledgment messages. The use of common mechanisms in conjunction with different policies, rather than the use of separate protocols brings greater flexibility
By separating mechanism and policy, RINA dramatically simplifies networking. There is no longer a different set of modules and protocols for each capability in each layer. Instead, the elements of the DIF combine to accomplish functions that have previously required a multitude of individual specifications. The implications of this are significant: rather than hundreds of handcrafted protocols each with their own optimizations, there is a consistent repeating structure of two protocols (an application protocol, a data transfer protocol) and a common header and roughly a half dozen modules. In this approach there is thus far less to go wrong. A single replicable layer of a half dozen or so modules can be much more effectively engineered to be free of bugs and security holes than the literally hundreds of protocols in conventional Internetworking. Furthermore, the inherently constrained nature of policies makes it possible to circumscribe their side effects and ensure their proper behaviour. It is possible to define properties of policies that can be proved or tested that ensure proper behaviour.
The basis of the data transfer control protocol in RINA is the Delta-T protocol
By separating mechanism from policy, RINA dramatically reduces the number of protocols required in the architecture, while still allowing each layer to be customized to provide different levels of quality of service. Applying Watson’s theory of separating port allocation from synchronisation enables simpler, more robust and more reliable data transfer protocols.
Line 121 ⟶ 123:
[[File:RINA-sec.png|thumb|350px|Figure 6. Placement of security functions in the RINA architecture.]]
'''Resiliency to data transport attacks'''. IPCP (node) addresses are internal to a DIF and not exposed to applications, data connections are dynamically assigned connection-endpoint ids (CEP-ids) that are bound to dynamically assigned ports. Bodappati et al.
'''DIFs are securable containers, no firewalls are necessary'''. Small et al. <ref>J. Small, J. Day, L. Chitkushev, “Threat analysis of Recursive Inter-Network Architecture Distributed Inter-Process Communication Facilities”. Boston University Technical Note.
'''Complexity of RINA security is lower than that of the current Internet security'''. This is a consequence of the different approach to each of the architectures: the system design approach adopted by the RINA architecture, is based on identifying the proper placement of all the functions within the architecture - in contrast to the disorganized evolution of the Internet “protocol-suite” which leads to unnecessary redundancy and complexity. This is particularly evident in comparing the number of protocols and mechanisms required to add security to both RINA and the Internet: Small<ref>J. Small. “Patterns in Network Security: An analysis of architectural complexity in securing Recrusive Inter-Network Architecture Networks”. Master thesis, 2012. Boston University Library</ref> showed that the current Internet security had for 4-5 times the overhead of RINA security. Less overhead means not only less cost but also more effective security, since complexity is the worst enemy of security <ref>B. Schneier, “Complexity the worst enemy of Security”. Computer World, December 2012.</ref>
Line 132 ⟶ 134:
'''Greater robustness and more effective response to change.''' Response to change is far faster thanks to load balancing, quicker convergence due to much smaller routing table sizes, more responsive flow management, and, on the manpower side, simpler and more effective operational management. RINA provides all of the flexibility and survivability of connectionless networking while supporting all the service capabilities of connection-oriented networking. Data flows under hostile environments are far more reliable due to highly tuneable, situation-specific policies. As new demands arise, systems can be quickly reconfigured to accommodate them simply by configuring new policies.
'''A more competitive marketplace'''. The particular “best-effort” architecture adopted by the Internet does relegate providers to a commodity business. The Transport Layer (TCP) effectively seals the providers off in the lower layers with IP providing a best-effort service. This implies that everyone must do the same thing or nearly so, leaving little room for differentiation and competition and relegates them to a commodity business. RINA creates the robust feedback needed for a healthy marketplace
[[File:RINA-Internets.png|thumb|350px|Figure 7. Multiple RINA networks supporting several internetworks.]]
Line 139 ⟶ 141:
==Research projects==
From the publishing of the PNA book in 2008 until 2014 a lot of RINA research and development work has been done. There is a clear need for an international authority that coordinates the different ongoing activities, make sure their results are integrated in the basic reference model but at the same time are able to incorporate new knowledge or fix inconsistencies. An informal group known as the Pouzin Society (PSOC) <ref>Pouzin Society website: http://www.pouzinsociety.org</ref>– named after [[Louis Pouzin]]
===BU Research Team===
The RINA research team at Boston University <ref>Boston University’s RINA research team website: http://csr.bu.edu/rina</ref> is lead by John Day. BU has been awarded a number of grants from the [[National Science Foundation]] in order to continue investigating the fundamentals of RINA, develop an open source prototype implementation over UDP/IP for Java <ref>ProtoRINA github site: https://github.com/ProtoRINA/users/wiki</ref> and experiment with it on top of the GENI infrastruct
===FP7 IRATI===
IRATI <ref>The FP7 IRATI project website: http://irati.eu</ref> is an FP7-funded project with 5 partners: i2CAT, Nextworks, iMinds, Interoute and Boston University, whose main goal is to produce an open source RINA implementation for the Linux OS on top of Ethernet
===FP7 PRISTINE===
PRISTINE <ref>The FP7 PRISTINE project website: http://ict-pristine.eu</ref> is an FP7-funded project with 15 partners: WIT-TSSG, i2CAT, Nextworks,
===GEANT3+ Open Call winner IRINA===
Line 156 ⟶ 158:
{{reflist|colwidth=30em}}
==External
* RINA Education page at the IRATI website, available online at http://irati.eu/education/
* RINA document repository run by the TSSG, available online at http://rina.tssg.org
* RINA tutorial at the IEEE Globecom 2014 conference, available online at http://www.slideshare.net/irati-project/rina-tutorial-ieee-globecom-2014
{{Uncategorized|date=March 2015}}
|