RINA research results - NGP forum - SDN World Congress 2017
RINA tales: results from experimental
research on a radically simple
approach to networking
Eduard Grasa, Fundació i2CAT, H2020 ARCFIRE
NGP Forum, The Hague, October 2017
What is architecture?
• “The style of design and method of construction of buildings and
other physical structures”
• Architecture provides a set of patterns and methodology that
guides building designers in carrying out their task
• The same architecture is used to design many different
buildings with different requirements
– Architecture captures the rules and patterns that are invariant with
respect to the specific requirements of each building
3
Elements of the gothic architecture
Grand, Tall Designs, Which Swept
Upwards With Height and Grace
These flying buttresses are a
feature of gothic architecture. The Pointed Arch
The Vaulted Ceiling
Light, Airy Interiors
The Emphasis Upon the Decorative Style and the Ornate
4
Buildings of gothic architecture
City Hall
Palace
Cathedral Fish market
City gates 5
Network (protocol) architecture is …
• Network architecture provides a set of patterns and methodology that
guides network (protocol) designers in carrying out their task
• Network architecture captures the rules and patterns that are invariant
with respect to the specific requirements of each individual network
– General rules and patterns to provide distributed communication
services to any application over any physical media
Cellular networks Wireless networks Datacentre networks
ISP networks
6
What is the goal of RINA?
It is not about IP vs. non-IP protocols, problems are deeper!
• As much invariants as possible in the architecture, so that we can
minimize the number of protocols and maximize their commonality
Architecture:
patterns, invariants, building
blocks, methods
Protocols
Today:
• Architecture has too little
patterns/commonality, and
they are a bit broken
• Too many protocols, too little
commonality
Architecture:
patterns, invariants, building
blocks, methods
What we want:
• Architecture provides as much
invariants as possible
• Few protocols, sharing lots of
commonality
Protocols
8
RINA in 5 sentences
• Network architecture resulting from a fundamental theory of computer
networking
• Networking is InterProcess Communication (IPC) and only IPC. Unifies
networking and distributed computing: the network is a distributed application
that provides and manages IPC
• There is a single type of layer with programmable functions, that repeats as
many times as needed by the network designers: A Distributed IPC Facility
(DIF)
• All layers provide the same service: instances or communication (flows) to two
or more application instances, with certain characteristics (delay, loss, in-order-
delivery, etc). Layers isolate different scopes
• A layer is a resource allocator that allocates the layer’s resources (memory in
buffers, scheduling capacity, bandwidth) to competing flows
9
1
2
3
4
5
6
Separation of mechanism from policy
11
IPC API
Data Transfer Data Transfer Control Layer Management
SDU Delimiting
Data Transfer
Relaying and
Multiplexing
SDU Protection
Retransmission
Control
Flow Control
RIB
Daemon
RIB
CDAP
Parser/Generator
CACEP
Enrollment
Flow Allocation
Resource Allocation
Routing
Authentication
State
Vector
State
Vector
State
Vector
Data TransferData Transfer
Retransmission
Control
Retransmission
Control
Flow ControlFlow Control
Namespace
Management
Security
Management
• All layers have the same mechanisms and 2 protocols (EFCP for data transfer, CDAP
for layer management), programmable via policies.
– All data transfer and layer management functions are programmable!
• Don’t specify/implement protocols, only policies
– Re-use common layer structure, re-use policies across layers
• This approach greatly simplifies the network structure, minimizing the management
overhead and the cost of supporting new requirements, new physical media or new
applications
EFCP
Naming and addressing
12
Name Indicates Property RINA IP
Application name What Location independent Yes No
Node address Where Location dependent, route
independent
Yes No
Point of Attachment How to get there Route dependent Yes Yes (twice: IP,
MAC)
Congestion control in the Recursive Internetwork
Architecture (IEEE ICC 2016)
• RINA can solve the Internet c.c.
Problems by:
– Breaking up the end to end control
loop in shorter ones
– Controlling flow aggregates inside
the network and
– Enabling the deployment of arbitrary
controllers per DIF
… we have shown that congestion control in RINA
“naturally” exhibits properties of various
improvements that have been made to the Internet
(e.g. PEPs), without inheriting the problems that
come from imposing these mechanisms on an
architecture that was not made for them … 14
Seamless renumbering in RINA: automate address
changes without breaking flows! (EUCNC 2017)
• Seamless renumbering enablers:
– Flows are associations between
application names, not addresses
– Addresses are just temporary
synonyms of IPCP names
• Dynamic network renumbering
(merge address spaces), mobility
… the complete naming and addressing architecture
embodied by RINA allows RINA networks to be
renumbered live, without significantly impacting the
performance perceived by existing flows or impairing
the ability to crate new ones …
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45
VPN 1: s14 - s24
VPN2 : s18 - s28
VPN3: s31 - s41
VPN4: s35 -s45
rina-echo-meflowsbetweennodes
Applica on RTT (ms) vs. renumbering frequency
Every [30, 60] s
Every [60, 120] s
Every [120, 240] s
No renumbering
0 10 20 30 40 50 60 70 80 90 100
VPN 1: s14 - s24
VPN2 : s18 - s28
VPN3: s31 - s41
VPN4: s35 -s45
rina-tgenflowsbetweennodes
Applica on goodput (Mbps) vs. renumbering frequency
Every [30, 60] s
Every [60, 120] s
Every [120, 240] s
No renumbering
15
Benefits of Topological Routing Policies in RINA-
enabled large-scale DCs (IEEE Globecom 2016)
• Optimize forwarding/routing strategy
to DC topology
– Regular topology: encode location in
addresses
– Forwarding tables only need to store
neighbor @s & exceptions
– Routing algorithm just computes
exceptions on failures
… these policies use the knowledge of the DCN
topological characteristics for superior efficiency and
scalability, achieving fast and 100% successful
forwarding decisions in the non-failure scenario with
merely neighboring node information …
16
Simplifying multi-layer network managemnt with
RINA (TNC 2016)
• Number of models required to
manage the network is lower
– All layers have the same structure
and building blocks
– Only 2 protocol frameworks and a
number of policies in each layer
– Single protocol required for net.
management, with common object
model
… The commonality offered by the RINA layers,
together with a consistent QoS and security models
followed by all layers from the application to the wire
allows RINA to minimize the number of management
models required to represent all layers and protocols … 17
Assessing the security of a clean-slate Internet architecture (IEEE ICNP 2012)
Patterns in Network security: an analysis of architectural complexity in securing RINA
networks (master thesis, 2012)
• Benefits of RINA security model
– Protect layers instead of protocols
(less policies, re-usable across
layers, lower cost of security)
– Network addresses not exposed to
apps, no well-known ports
– Scope as a native construct
– Decoupling port allocation and
syncrhonization
… we show how, without the aid of cryptographic
techniques, the bare-bones architecture of RINA can
resist most of the security attacks faced by TCP/IP …
... RINA delivers on security requirements with less
complexity in terms of number of protocols, flows and
distinct mechanisms … 18
Mobility management in RINA networks: experimental
validation of arch. properties (submitted to IEEE WCNC 2018)
• Mobility management in RINA:
– Application names are stable
– Addresses at each layer reflect location for
efficient forwarding
– Renumber when mobile host moves out of
a subnetwork
– Use multiple layers of different scope to
contain and scale mobility
– No tunnels or special protocols required
… managing mobility in RINA networks not only is
simpler and easier to scale compared to the Internet
situation, but also that no special protocols or
mechanisms need to be added to RINA in order to
support mobility … 19
Research, open source, standards
20
• Current research projects
– FP7 PRISTINE (2014-2016) http://ict-pristine-eu
– H2020 ARCFIRE (2016-2017) http://ict-arcfire.eu
– Norwegian project OCARINA(2016-2021)
– BU RINA team http://csr.bu.edu/rina
• Open source implementations
– IRATI (Linux OS, C/C++, kernel components, policy framework, RINA over X)
http://github.com/irati/stack
– RINASim (RINA simulator, OMNeT++)
– ProtoRINA (Java, RINA over UDP, quick prototyping)
• Key RINA standardization activities
– Pouzin Society (experimental specs) http://pouzinsociety.org
– ISO SC6 WG7 (2 new projects: Future Network – Architectures, Future Network- Protocols)
– ETSI Next Generation Protocols ISG
1
2
3
4
1
2
3
1
2
3
Thanks for your attention!
http://ict-arcfire.eu
http://pouzinsociety.org
21
Editor's Notes
Layers are resource allocators, provide IPC services over a certain scope, they all have the same functions