rina overview and ongoing research in ec-funded projects, iso sc6 wg7

51
Investigating RINA as an Alternative to TCP/IP Future Network Architectures Recursive Internet Architecture (RINA) Dimitri Staessens Ghent Uni. iMinds (BE) Francesco Salvestrini Nextworks s.r.l. (IT) Miquel Tarzan Fundació i2CAT (ES) 1

Upload: irati-project

Post on 20-Jun-2015

449 views

Category:

Internet


2 download

DESCRIPTION

Overview of RINA and relevant research activities in EC-funded projects presented at the London ISO SC6, WG7 meeting.

TRANSCRIPT

Page 1: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Investigating RINA as an Alternative to TCP/IP

Future Network Architectures

Recursive Internet Architecture (RINA) Dimitri Staessens – Ghent Uni. iMinds (BE)

Francesco Salvestrini – Nextworks s.r.l. (IT)

Miquel Tarzan – Fundació i2CAT (ES)

1

Page 2: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Challenges faced by (Inter)network

engineers

• explosion in the complexity of the overall system (hundreds of protocols and thousands of standards documents)

• weak security

• scalability issues with the routing system – (IPv6/BGP multihoming)

– Mobile end-users

• no QoS support

2

Page 3: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

The Internet is a live environment

• ever growing customer base

• ever growing number of devices

• new and more demanding services

• RAD of services • fast deployment

• “whac-a-mole” approach

to problemsolving

3

Page 4: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

RINA

A brief introduction to the Recursive Internet Architecture

4

Page 5: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Mgt. Tasks

Application Process

Components

• Application specific tasks

• Management tasks

Application Specific Tasks

Rendering Game engine

Memory mgt

Task scheduling

Mechanism

• Static, invariant parts

Policy

• Dynamic, variant parts

• occurs in pairs – Sender

– Receiver

IPC RIB

5

Page 6: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Distributed Application

X

Y

X X

Y X X X

Processing system: hardware and software capable of executing programs as Application Processes that can coordinate via shared memory (“test and set”) Computing system: a collection of processing systems under the same management domain with no restrictions on connectivity 6

Page 7: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Mgt. Tasks

Application Process

Components

• Application specific tasks

• Management tasks

• IPC Management tasks – DIF Allocator: Finds remote

application processes

– IRM: manages DA requests

– Multiplexing: SDU’s from different tasks

– SDU protection: Integrity and security

IPC Resource Manager

DIF Allocator SDU

Protection

Multiplexing

IPC Mgt. Tasks

Application Specific Tasks

Rendering Game engine

Memory mgt

Task scheduling

IPC RIB

7

Page 8: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Distributed Applications Provide

IPC services

host host Edge router Edge router Internal AS router

X Y Common Distributed Application Protocol

8

Page 9: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Common Distributed Application

Protocol (CDAP)

• Perform operations on RIB objects

– Create/Delete

– Read/Write

– Start/Stop

• But what about different applications?

– The objects they manipulate

– Control and sequencing of operations

– …

10

Page 10: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Distributed Applications Provide

IPC services

host host Edge router Edge router Internal AS router

X Y

A1 A2 B1 B2

C2 C1 E1 E2

F1 F2 F3 F4

D1 D3 D2

11

Page 11: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Effectively extending the IPC model

12

Page 12: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

IPC API

• APs communicate using a port, identified by a portId

• 6 operations:

– int _registerApp(appName, List<difName>)

– portId _allocateFlow(destAppName, List<QoSParams>)

– int _write(portId, sdu)

– sdu _read(portId)

– int _deallocate(portId)

– int _unregisterApp(appName, List<difName>)

• QoSParams are defined in a technology-agnostic way

– Bandwidth-related, delay, jitter, in-order-delivery, loss rates, …

13

Page 13: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

The IPC process

IPC

Process

IPC API

Data Transfer Data Transfer Control Layer Management

SDU Delimiting

Data Transfer

Relaying and Multiplexing

SDU Protection

Transmission Control

Retransmission Control

Flow Control

RIB Daemon

RIB CDAP Parser/Generator

CACEP

Enrollment

Flow Allocation

Resource Allocation

Forwarding Table Generator

Authentication

State V

ecto

r State

Ve

ctor

State V

ecto

r

Data Transfer Data Transfer

Transmission Control

Transmission Control

Retransmission Control

Retransmission Control

Flow Control Flow Control

Appl.

Process

IPC Resource

Mgt.

DIF Allocator

SDU Protecti

on

Multiplexing

IPC Mgt. Tasks

Other Mgt. Tasks

Application Specific Tasks •Authentication of all processes •RIB Daemon manages state objects •EFCP protocol performs SDU transport

14

Page 14: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Error and Flow Control Protocol

• DTP

– Fragmentation

– Reassembly

– Sequencing

– Concatenation

– Separation

• DTCP

– Transmission control

– Retransmission control

– Flow control

• Loosely coupled by a state vector

• Based on Delta-t

15

Page 15: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Delta-t (Watson, 1981)

• Developed at L.Livermore labs, unique approach.

– Assumes all connections exist all the time.

– keep caches of state on ones with recent activity

• Watson proves that the conditions for distributed synchronization are met if and only if 3 timers are bounded:

– Maximum Packet Lifetime: MPL

– Maximum number of Retries: R

– Maximum time before Ack: A

• That no explicit state synchronization, i.e. hard state, is necessary. – SYNs, FINs are unnecessary

• 1981:Watson shows that TCP has all three timers and more.

16

Page 16: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

RMT

17

Page 17: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Shims

• Wrap a technology with the IPC API

– Physical medium

– Legacy technology

• Ethernet

• IP

– Hypervisors

• Not required to add functionality

• So it’s an “incomplete” DIF

18

Page 18: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Basic concept of RINA

19

Page 19: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Bootstrapping a RINA network

host host Edge router Edge router Internal AS router

X Y

A1 A2 B1 B2

C2 C1 D2 D1 D3 E1 E2

F1 F2 F3 F4

20

Page 20: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Architectural Model

DIF

System (Host)

IPC

Process

Shim IPC

Process

Mgmt

Agemt

System (Router)

Shim IPC

Process

Shim IPC

Process

IPC

Process

Mgmt

Agemt

System (Host)

IPC

Process

Shim IPC

Process

Mgmt

Agemt

Appl.

Process

Shim DIF

over TCP/UDP

Shim DIF

over Ethernet

Appl.

Process

IPC API

Data Transfer Data Transfer Control Layer Management

SDU Delimiting

Data Transfer

Relaying and Multiplexing

SDU Protection

Transmission Control

Retransmission Control

Flow Control

RIB Daemon

RIB CDAP Parser/Generator

CACEP

Enrollment

Flow Allocation

Resource Allocation

Forwarding Table Generator

Authentication

State V

ecto

r State

Ve

ctor

State V

ecto

r

Data Transfer Data Transfer

Transmission Control

Transmission Control

Retransmission Control

Retransmission Control

Flow Control Flow Control

IPC Resource

Mgt.

DIF Allocator

SDU Protecti

on

Multiplexing

IPC Mgt. Tasks

Other Mgt. Tasks

Application Specific Tasks

Increasing timescale (functions performed less often) and complexity 21

Page 21: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

PROTOTYPES

22

Page 22: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Pre-existing prototypes

• The first RINA prototype dates back in 2012

• This first implementation was a joint development of BU, i2CAT and WIT-TSSG – Targeting the validation of the theory and specs

– Java based, user-space

• TRIA LLC (US) built another (closed-source) prototype (C based, user-space)

• Later: – EC funded FP7 IRATI and PRISTINE projects to advance the research on RINA

– GEANT showed interest in RINA as well, funding the IRINA project

23

Page 23: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

FP7 IRATI – OVERVIEW

24

Page 24: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

IRATI - Introduction

• FP7 Project – Jan 2013 to Dec 2014 (2 years)

• 4 partners

– [Research] Fundació Privada i2CAT (Spain)

– [Research] iMinds VZW(Belgium)

– [SME] Nextworks s.r.l. (Italy)

– [Industry] Interoute (UK/Italy)

– [Academia] Boston University (US)

25

Page 25: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

IRATI – Objectives

• IRATI’ objectives: 1. Enhancement of the RINA architecture reference model and specifications,

focusing on DIFs over Ethernet

2. RINA open source prototype over Ethernet for a UNIX-like OS 3. Experimental validation of RINA and comparison against TCP/IP

4. RINA prototype for Hypervisors

5. Interoperability with the PSOC RINA prototype over UDP/IP 6. Provide feedback to OFELIA in regards to the prototyping of a clean slate

architecture

• The project targets the design and implementation of core functionalities at processing system level: – IPC Process / IPC Manager daemons

– Transport and management layer

• Software-wise, the project: – Built a RINA SW prototype from scratch [ready]

– Release it as FOSS [end of October] – tries to build up an Open Source community around the prototype

26

Page 26: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

IRATI - Design decisions & fast/slow paths

• We split the RINA architecture in different “lanes”

– Stringent timings → Fast-path → kernel-space [TRANSPORT LAYERS]

– loose timings → Slow-path → user-space [MANAGEMENT LAYERS]

• Placing SW components on different lanes, depending on their timing

requirements

User Kernel

User Kernel

1

IPC Process Daemon IPC Process

Daemon

Application Application

Application Application

N

M

User Kernel

1

IPC Manager Daemon

Kernel

Application

IPC Process Daemon

27

Page 27: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

FP7 IRATI – KERNEL SPACE (THE TRANSPORT LAYERS)

28

Page 28: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

The kernel-space HL SW arch

API Mux/Demux

KIPCM

IPCP Factories

KFA

EFCP RMT PFT

Normal IPC P.

Fram

ewo

rk

RNL

Netlink syscalls

User space

shim-eth-vlan

RINA-ARP

shim-dummy

kernel IPCP Instances

29

Page 29: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

KIPCM & KFA

Normal IPCP

EFCP

RMT

OUT IN

KIPCM KFA

PDU-FWD-T

User space

syscalls Netlink

Shim IPCP

• The KIPCM – Manages the lifecycle the IPC Processes and KFA

– Abstract IPC Process instances

• Same API for all the IPC Processes

• Regardless the type

• maps: ipc-process-id → ipc-process-instance

• The KFA – Manages ports and flows

– Ports

• Flow handler

• Port ID Manager

– Flows

• maps: port-id → ipc-process-instance

• KIPCM + KFA

• Decouple user-interface from IPC Processes

• Are the Initial point where “recursion” is transformed into “iteration”

30

Page 30: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

IPC Process Instances & Factories

• There are two “major” types of IPC Processes: – Normal (EFCP + RMT …)

– Shims

• The interface is the same regardless of their type

• Each IPC Process implements its “core” details: – Normal IPC Processes:

• The stack provides the implementation for all of them

– Shim IPC Processes:

• Each Shim IPC Processes provide its implementation

• IPC Process instances are created via “templates”, instantiated by IPC Process Factories (OOD/OOP)

31

Page 31: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

IRATI – The Shims IPCs

• The shims are the “lowest” components in the stack

• They have one interface:

– North-Bound: The IPC API (as all the other IPC Processes)

• They wrap the underlying technology (e.g. 802.1Q)

• There are currently 4 shims available:

– shim-eth-vlan:

• As defined in the spec, runs over 802.1Q

– shim-hv:

• Targets hypervisor-based environments (KVM/Qemu and Xen)

• Allows removing unnecessary layering commonly used in traditional VM/HV environments (e.g.

bridges, virtual-NICs), such layers ease the adoption BUT:

– Reduce performances

– Increase maintenance costs

– shim-tcp-udp

• Targets RINA over TCP/UDP

– shim-dummy:

• Not a “real” shim, it’s for debugging/testing purposes

• It’s a sort of “loopback” shim (i.e. confined into a single host)

32

Page 32: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Normal IPC Process - instance

EFCP Container - instance

(S|P)DUs workflows

NetlinkSession EFCP Instance

RMT - instance

PDU-FWD-T

Core O

I

Shim IPC Process instance

Normal IPC Process - instance

EFCP Container - instance

NetlinkSession EFCP Instance

RMT - instance

PDU-FWD-T

Core

I

O

Shim IPC Process instance

KIPCM / KFA

User space

User space

Queue Queue

Queue

Queue Queue

Queue

DTP DTCP

DT

DTP DTCP

DT

KIPCM / KFA

33

Page 33: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

FP7 IRATI – USER SPACE (LAYER MANAGEMENT)

34

Page 34: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

IPC Process & IPC Manager daemons

• IPC Manager Daemon (as an OS process) – Manages the IPC Processes lifecycle

– Broker between applications and IPC Processes

– Local management agent

– DIF Allocator client (to search for applications not available through local DIFs)

• IPC Process Daemon (as an OS process) – Layer Management components of the IPC Process

• RIB Daemon, RIB

• CDAP parsers/generators

• CACEP

• Enrollment

• Flow Allocation

• Resource Allocation

• PDU Forwarding Table Generation

• Security Management

• These daemons:

– Run as separate OS processes

– Rely on a common framework (librina)

35

Page 35: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

User space HL SW arch

Application A

Application A

Normal IPC Process (Layer Management)

Kernel

User space

Netlink sockets

IPC Process Daemon

RIB & RIB Daemon

librina

Resource allocation

Flow allocation

Enrollment

PDU Forwarding

Table Generation

System calls Netlink sockets

Sysfs

IPC Manager Daemon

RIB & RIB Daemon

librina

Mgmt agent

DIF Allocator

Main logic

System calls

Netlink sockets

Sysfs

Application A

librina

Application logic

System calls

Netlink sockets

1

N

M

36

Page 36: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Prototype’ performances

37

Page 37: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

FP7 PRISTINE – OVERVIEW

38

Page 38: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

PRISTINE - Intro

• FP7 Project

– Starts Jan 2014, ends Dec 2016 (3 years)

– 15 Partners (Research, SMEs and Industry)

39

Page 39: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

PRISTINE - Objectives

• Design and implement the innovative internals of the RINA

architecture that include the programmable functions for:

• security of content and application processes,

• supporting QoS and congestion control in aggregated levels,

providing protection and resilience, facilitating more efficient

topological routing

• multi-layer management for handling configuration,

performance and security.

• Demonstrate the applicability and benefits of this approach and

its built-in functions in three use-cases

• Datacenter, Distributed cloud, Carrier network

40

Page 40: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

PRISTINE – (SW) Outcomes

• PRISTINE will be: – Developing a Software Development Kit (SDK):

• From the IRATI prototype sources-base

• Enable to customize the behaviour of the DIFs

• Allow to plug-in/out policies dynamically – Policies in the transport layer – Policies in the management layers

– Developing innovative policies • New policies, defined in the project will be: developed, tested and

integrated

– Developing the first DIF Management System (DMS) • Manages the DIFs in multiple Processing Systems (same administrative

domain)

– IPC Process and IPC Manager daemons enhancements • Management Agent

– Coordinates the loading/installation/removal/unloading of policies in the Processing System

• Reliability aspects

• Measurements

• Performances

• …

41

Page 41: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

GEANT3+ IRINA – OVERVIEW

42

Page 42: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

IRINA - Intro

• Investigating RINA as the next generation GEANT and

NREN network architecture (IRINA)

• GEANT3+ project

– Starts Oct 2013, ends March 2015 (18 months)

• 4 Partners:

– [Research] iMinds VZW(Belgium)

– [Research] Fundació Privada i2CAT (Spain)

– [Research] Waterford Institute of Technology –

Telecommunications Software & Systems Group (Ireland)

– [SME] Nextworks s.r.l. (Italy)

43

Page 43: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

IRINA - Objectives

• Proposes to study RINA as the foundation of the next generation NREN and GEANT network architectures.

• Targets the following goals: – Make a comparative study of RINA vs. the current networking SoTA and

the most relevant clean-slate architectures under research.

– Perform a use-case study of how RINA could be better used in the NREN scenario • considering different deployment options, and illustrating the benefits that

RINA can bring in terms of multi-homing, mobility, quality of service, programmability, virtualization and network management.

– Showcase a lab trial of the use-case study • Utilizing a customized version of the FP7 IRATI stack, and the experimental

facilities contributed by the project partners.

– Involve the NREN and GEANT community in the different steps of the project, in order to discuss the project approach, the findings and to get valuable feedback. • The organization of a network architectures workshop in cooperation with

GN3+ JRA1 will be a key instrument to achieve this objective.

44

Page 44: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

IRINA – Overview/Objectives

45

Page 45: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

STANDARDISATION

46

Page 46: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

ISO and RINA

• RINA addresses concerns identified by FN:

“Even though the current Internet is such an essential infrastructure, we see that there are many concerns about

the following technical aspects of the current Internet,

including IP based networks: scalability, ubiquity, security,

robustness, mobility, heterogeneity, Quality of Service (QoS), re-configurability, context-awareness, manageability,

economics, etc.”

47

Page 47: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

RINA specifications status (I)

• RINA IPC Specification Reference Model

– Basic concept of distributed systems

– Distributed applications

– Distributed InterProcess Communication (IPC API)

• DAF Base Specifications

– Common Application Establishment Phase

– Common Distributed Application Protocol

– IPC Resource Manager Specification

– DIF Allocator Specification

48

Page 48: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

RINA specifications status (II)

• DIF Base Specifications – Data Transfer Service Definition

– Specification template for a Generic DIF Delimiting module

– Error and Flow Control Protocol Specification (DTP + DTCP)

– Relaying and Multiplexing Task Specification

– Specification Template for a DIF SDU Protection Module

– Specification Template for a Generic DIF SDU Protection Module

– Basic Enrollment Specification

– Flow Allocator Specification

49

Page 49: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

RINA specifications status (and III)

• Policy Specifications

– CRC 16 SDU protection module

– DIF HDLC like SDU protection

– DIF TCP UDP like SDU protection module

– Retransmission timer expiry policy for a TCP like DIF

– Round Trip Time (RTT) estimator policy for a TCP like DIF

– Delimiting module for operating over the public Internet

– Delimiting module for demo DIF

• Pro-forma for policy specifications

– No need to standardise everything

50

Page 50: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Shims

• Shim-eth-vlan

• Shim-tcp-udp

• Shim-hv

51

Page 51: RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7

Upcoming workshops

• Globecom Workshop “Alternatives to TCP/IP”

– 8-12 December, Austin TX US

• RINA workshop

– 28-29 January 2015, Ghent Belgium

• TERENA TNC 2015

– 15-18 June, Porto, Portugal

• Summer school ~ August 2015

52