27
IRATI objectives, outcomes and lessons learned The IRATI project: objectives, outcomes and lessons learned 3 rd international RINA Workshop. Ghent. January 2015 Eduard Grasa (Fundació i2CAT) on behalf of the IRATI team

Irati goals and achievements - 3rd RINA Workshop

Embed Size (px)

Citation preview

Page 1: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned

The IRATI project: objectives, outcomes and lessons learned

3rd international RINA Workshop. Ghent. January 2015

Eduard Grasa (Fundació i2CAT) on behalf of the IRATI team

Page 2: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives and outcomes 2

Quick facts about the project

• What? Main goals– To advance the state of the art of RINA towards an architecture

reference model and specifications that are closer to enable implementations deployable in production scenarios.

– The design and implementation of a RINA prototype on top of Ethernet will enable the experimentation and evaluation of RINA in comparison to TCP/IP.

Budget

Total Cost 1.126.660 €

EC Contribution 870.000 €

Duration 2 years

Start Date 1st January 2013

External Advisory Board

Juniper Networks, ATOS, Cisco Systems, TRIA Network Systems

5 activities:

WP1: Project management

WP2: Arch., Use cases and Req.

WP3: SW Design and Implementation

WP4: Deployment into OFELIA

WP5: Dissemination, Standardisation and Exploitation

Who? 5 partners

From 2014

Page 3: Irati goals and achievements - 3rd RINA Workshop

3

Main goals

• Linux/OS RINA implementation over Ethernet, which can be a platform for research and future RINA-based products

IRATI objectives, outcomes and lessons learned

1

• Experimental evaluation of the RINA implementation and comparison with the TCP/IP networking stack

2

• Advance the SotA of RINA specifications: work out new ones, debug and enhance existing ones

3

• Increase RINA awareness in sci/tech community and contribute to the development of its standardization strategy

4

Page 4: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 4

LINUX/OS RINA IMPLEMENTATION1

Page 5: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 5

• … but can also be the basis of RINA-based products– Tightly integrated with the Operating System– Capable of being optimized for high performance– Enables future hardware offload of some functions– Capable of seamlessly supporting existing applications– IP over RINA

RINA implementation goals

• Build a platform that enables RINA experimentation …– Flexible, adaptable (host, interior router, border router)– Modular design– Programmable– RINA over X (Ethernet, TCP, UDP, USB, shared memory,

etc.)– Support for native RINA applications

1

2

3

4

5

1

2

3

4

5

Page 6: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 6

Some decisions and tradeoffs

Decision Pros Cons

Linux/OS vs other Operating systems

Adoption, Community, Stability, Documentation, Support

Monolithic kernel (RINA/ IPC Model may be better suited to micro-kernels)

User/kernel splitvs user-space only

IPC as a fundamental OS service, access device drivers, hardware

offload, IP over RINA, performance

More complex implementation and

debuggingC/C++

vs Java, Python, … Native implementation Portability, Skills to master language (users)

Multiple user-space daemons vs single one

Reliability, Isolation between IPCPs and IPC Manager

Communication overhead, more complex impl.

Soft-irqs/tasklets vs. workqueues (kernel)

Minimize latency and context switches of data going through the

“stack”More complex kernel

locking and debugging

Page 7: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 7

High-level software arch.

Page 8: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 8

Open source IRATI

• IRATI github side• http://irati.github.io/stack

• Hosts code, docs, issues• Installation guide• Experimenters (tutorials)

• Developers (software arch)

• Mailing list for users and developers• [email protected]

• Procedures to contribute under discussion, doc ongoing

Page 9: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 9

Planned contributions to (open) IRATI

Open IRATI

FP7 IRATI project• Merge last contributions (new kernel workflow, DTCP, DU Protection, fixes) Feb/March 2015

FP7 PRISTINE project• Software Development Kit (RPI)• Simple configuration tools• Management Agent• Enhanced CDAP and RIB libraries• Several IPCP Policies• Bug fixes• Faux sockets? Network Manager?Contribs during 2015 and 1H 2016

G3+ OC winner IRINA project• Traffic generation modules for test apps, bug fixesApril/May 2015

You• Lots to do! Let’s talk!

Page 10: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 10

EXPERIMENTAL EVALUATION OF THE RINA IMPLEMENTATION2

Page 11: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 11

Comparison to TCP/IPNot an excuse, but …

• What is a meaningful comparison today?

– Raw performance

– Stability/bugs

Contributors Time Specs Deployed

RINA Prototype 8-10 (partial) 1.5 years Experimental IRATI

Linux networking stack 100s 20+ years Stable for years Millions of systems

– Structure/complexity of implementation

– Flexibility/adaptability of design

– Programmability of implementation

– Application interface

Page 12: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 12

RSVPDaemon

VPN software

Structure and flexibility (RINA vs TCP/IP)

• RINA: As many IPCPs as you wish; single point of management of the stack; configurable to be a router or a host; no protocols -> policies

• TCP/IP stack: TCP/UDP over IP over Ethernet (fixed configuration). If routing or resource reservation external software has to be added; if more layers VPN software has to be added; disperse config utils

IPCP(data transfer)

IPCP(layer mgmt)

Shim IPCP

IPC Manager

App

KIPCM

App

Sockets

TCP/UDP

IP / Ethernet

Traffic control

Config. toolsRoutingDaemon

Page 13: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 13

RSVPDaemon

VPN software

Programmability (RINA vs TCP/IP)

• RINA: Policies programmable in each IPCP: delimiting, EFCP syntax, flow control, rtx. control, addressing, routing, resource allocation, multipexing, authentication, authorization, TTL, encryption, CRC, etc.

• TCP/IP stack: Fixed syntax, protocols not programmable, have to develop full new protocols to try new things (* with OF now you can “program” the forwarding table)

IPCP(data transfer)

IPCP(layer mgmt)

Shim IPCP

IPC Manager

App

KIPCM

App

Sockets

TCP/UDP

IP / Ethernet

Traffic control

Config. toolsRoutingDaemon

Page 14: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 14

How to setup an experimentMaster the config file!

Instantiation of IPCPs Shim DIF config

Normal DIF config, routing

Normal DIF config, EFCP

1 Login to the node

2 Edit config file

3 Start IPC Manager

Page 15: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 15

Improving node configuration..

• Today• Manual editing of the config

files at each node -> time consuming and error-prone

• Tomorrow (short-term)• Standalone tool to generate

configuration files (PRISTINE)• RINA Plugin Infrastructure

(RPI) Tooling (PRISTINE)

• Tomorrow (mid-term)• RINA Configuration via

Network Management System (PRISTINE)

Page 16: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 17

Some early results

• Performance evaluation of the RINA implementation– IEEE Globecom 2014. Achieves line-rate over GigE link.

• Deliverable D4.3 (to be published next few weeks)– Influence of credit (constant policy) in throughput

– Effect of adding parallel flows on throughput

– Prototype CPU and memory resource utilization

– Study of retransmission control behavior at various loss rates (immediate ACK policy vs. A-timer policy) with parallel flows

– Validation and performance evaluation of shim DIF over TCP/UDP and shim DIF over Hypervisors

– Evaluation of SDU Protection policies (CRC and TTL)

– Study on interop requirements with TRIA Network Systems prototype

1

2

3

4

5

1

6

7

Page 17: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 18

ADVANCE STATE OF THE ART OF RINA SPECIFICATIONS3

Page 18: Irati goals and achievements - 3rd RINA Workshop

• Source MAC @ (6 bytes)– Source shim IPC Process address

• Destination MAC @ (6 bytes)– Destination shim IPC Process address

• IEEE 802.1Q tag (2 bytes)– DIF name

• Ethertype (2 bytes)– 0x0D1F

19

Shim DIF over Ethernet

Ethernet II PCI Application data

• Minimum length: 42 bytes (46 if 802.1Q not present)

• Maximum length: 1500 bytes

Shim DIF over 802.1QUse of the Ethernet frame

T-5 Alternatives to TCP/IP

Page 19: Irati goals and achievements - 3rd RINA Workshop

Investigating RINA as an Alternative to TCP/IP 20

Shim DIF over 802.1QEnvironment

Page 20: Irati goals and achievements - 3rd RINA Workshop

T-5 Alternatives to TCP/IP 21

Shim DIF over TCP/UDP

• Wraps an IP network with the DIF IPC API

• Two QoS cubes possible: reliable and in-order-delivery of flows (TCP), unreliable (UDP)

– More could be possible depending on the capabilities of the underlying IP network

• IPCP name is mapped to an IP address and a port number– Using proprietary procedures or leveraging DNS (via SRV records)

IPCP a.1

IPCP b.1

Shim DIF over IP networks

IP layer

UDP Port:2524UDP Port:2524

Shim IPCP X.1

Shim IPCP Y.1

IP: 4.3.2.1 IP: 5.3.5.8

2 5

Flow

Page 21: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 22

Shim DIF for HyperVisors

• Allow a VM to communicate with its Main Environment (Host OS for type 2 HV or privileged VM for type 1 HVs), using shared memory mechanisms

Type 2 HyperVisor

Type 1 HyperVisor

Page 22: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 23

Link-state routing policy

RIB Daemon

Resource Allocator

PDU Forwarding Table Generator

Events

N-1 flow allocatedN-1 flow deallocated

N-1 flow downN-1 flow up

Neighbor B invoked write operation on object X

CDAP

Incoming CDAP messages from neighbor IPC Processes

CDAP

Outgoing CDAP messages to neighbor IPC Processes

Invoke write operation on object X to neighbor A

Update knowledge on N-

1 flow statePropagate

knowledge on N-1 flow state

Recompute forwarding table

PDU Forwarding Table

Relaying and Multiplexing Task

Lookup PDU Forwarding table to select output N-1

flow for each PDU

4321

N-1 Flows to nearest neighbors

IPC Process

Enrollment Task

Events

Enrollment completed successfully

Page 23: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 24

INCREASE RINA AWARENESS AND STANDARDS STRATEGY4

Page 24: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 25

Some reactions to the RINA message

• Disseminating RINA can be challenging sometimes …

Skepticism If it’s so nice, why it is not implemented yet?

Not mainstream? Don’t care

Page 25: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 26

Some tips for disseminating RINA

• RINA is a new architecture, not a single point solution. Position RINA as a better toolbox to allow architects/designers to design better networks. – Benefits of RINA are easier to understand when you take a

systems view.

• Explain relationship of RINA with hot topics such as SDN, NFV, 5G, ICN– In order to create initial interest and provide some context

• We need to work out specific use cases of how RINA could be used in certain environments– See IRINA NRENs and GEANT use case – to be published

soon

Page 26: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned 27

Standards: PSOC and ISO

• Need for a forum that is the authoritative source for the RINA specifications and keeps them up to date– Must be formed by people that is interested in moving

RINA forward and are experts in the topic -> cannot be established SDOs (have their own agendas)

– PSOC talk later this afternoon by John Day

• ISO SC6 WG 7 (Future Networks)– RINA presented last October, received with interest– Opportunity to bring RINA as one of this group’s projects;

very long process but may be worth– It may work to do the RINA standards within PSOC, take

them to ISO for approval and international recognition

Page 27: Irati goals and achievements - 3rd RINA Workshop

IRATI objectives, outcomes and lessons learned

Questions?Thanks to all the IRATI crew!

http://irati.eu