a software development kit to exploit rina...

33
An SDK to exploit RINA programmability A Software Development Kit to exploit RINA programmability Eduard Grasa (presenter), Vincenzo Maffione, Francesco Salvestrini, Leonardo Bergesio, Miquel Tarzan FP7 PRISTINE ICC 2016, Kuala Lumpur, May 24 th 2016

Upload: others

Post on 24-Sep-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

An SDK to exploit RINA programmability

A Software Development Kit to exploit RINA programmability

Eduard Grasa (presenter), Vincenzo Maffione, Francesco Salvestrini, Leonardo Bergesio, Miquel Tarzan

FP7 PRISTINE ICC 2016, Kuala Lumpur, May 24th 2016

Page 2: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

WHATISRINA?1

2

Page 3: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

RINA highlights

•  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 IPC

•  There is a single type of layer with programmable functions, that repeats as many times as needed by the network designers

•  All layers provide the same service: communication (flows) between two or more application instances, with certain characteristics (delay, loss, in-order-delivery, etc)

•  There are only 3 types of systems: hosts, interior and border routers. No middleboxes (firewalls, NATs, etc) are needed

•  Deploy it over, under and next to current networking technologies

1

2

3

4

5

6

3

Page 4: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

From the “TCP/IP” protocol suite …

•  Functional layers organized for modularity, each layer provides a different service to each other –  As the RM is applied to the real world, it proofs to be

incomplete. As a consequence, new layers are patched into the reference model as needed (layers 2.5, VLANs, VPNs, virtual network overlays, tunnels, MAC-in-MAC, etc.)

(Theory) (Prac.ce)

4

Page 5: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

… to the RINA architecture Single type of layer, consistent API, programmable policies

Host

Borderrouter InteriorRouter

DIF

DIF DIF

Borderrouter

DIFDIF

DIF(DistributedIPCFacility)

Host

AppA

AppB

ConsistentAPIthrough

layers

IPCAPI

DataTransfer DataTransferControl LayerManagement

SDUDelimiNng

DataTransfer

RelayingandMulNplexing

SDUProtecNon

RetransmissionControl

FlowControl

RIBDaemon

RIB

CDAPParser/Generator

CACEP

Enrollment

FlowAllocaNon

ResourceAllocaNon

RouNng

AuthenNcaNon

StateVectorStateVectorStateVector

DataTransferDataTransfer

RetransmissionControl

RetransmissionControl

FlowControlFlowControl

IncreasingNmescale(funcNonsperformedlessoUen)andcomplexity

NamespaceManagement

SecurityManagement

5

Page 6: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Deployment Clean-slate concepts but incremental deployment

Large-scale RINA Experimentation on FIRE+ 6

•  IPv6 brings very small improvements to IPv4, but requires a clean slate deployment (not compatible to IPv4)

•  RINA can be deployed incrementally where it has the right incentives, and interoperate with current technologies (IP, Ethernet, MPLS, etc.) –  Over IP (just like any overlay such as VXLAN, NVGRE, GTP-U, etc.) –  Below IP (just like any underlay such as MPLS or MAC-in-MAC) –  Next to IP (gateways/protocol translation such as IPv6)

IP Network

RINA Provider

RINA Network

Sockets ApplicationsRINA supported Applications

IP or Ethernet or MPLS, etc

Page 7: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

RECURSION,VIRTUALIZATIONANDPROGRAMMABILITY2

7

Page 8: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (I)

•  RINA recursive layering structure cleans up and generalizes the current protocol stack.

•  Example 1: PBB-VPLS (Virtual Private LAN Service) –  Uses MAC-in-MAC encapsulation to isolate provider’s core from

customers addresses and VLANs

8

Page 9: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (I)

•  RINA recursive layering structure cleans up and generalizes the current protocol stack.

•  Example 1: PBB-VPLS (Virtual Private LAN Service) –  Uses MAC-in-MAC encapsulation to isolate provider’s core from

customers addresses and VLANs

9

PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIFPtPDIFPtPDIFPtPDIF PtPDIF PtPDIF PtPDIF

Page 10: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (I)

•  RINA recursive layering structure cleans up and generalizes the current protocol stack.

•  Example 1: PBB-VPLS (Virtual Private LAN Service) –  Uses MAC-in-MAC encapsulation to isolate provider’s core from

customers addresses and VLANs

10

MetroDIF MetroDIF

PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIFPtPDIFPtPDIFPtPDIF PtPDIF PtPDIF PtPDIF

Page 11: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (I)

•  RINA recursive layering structure cleans up and generalizes the current protocol stack.

•  Example 1: PBB-VPLS (Virtual Private LAN Service) –  Uses MAC-in-MAC encapsulation to isolate provider’s core from

customers addresses and VLANs

11

MetroDIF MetroDIFCoreDIF

PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIFPtPDIFPtPDIFPtPDIF PtPDIF PtPDIF PtPDIF

Page 12: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (I)

•  RINA recursive layering structure cleans up and generalizes the current protocol stack.

•  Example 1: PBB-VPLS (Virtual Private LAN Service) –  Uses MAC-in-MAC encapsulation to isolate provider’s core from

customers addresses and VLANs

12

ProviderVPNServiceDIF

MetroDIF MetroDIFCoreDIF

PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIFPtPDIFPtPDIFPtPDIF PtPDIF PtPDIF PtPDIF

Page 13: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (I)

•  RINA recursive layering structure cleans up and generalizes the current protocol stack.

•  Example 1: PBB-VPLS (Virtual Private LAN Service) –  Uses MAC-in-MAC encapsulation to isolate provider’s core from

customers addresses and VLANs

13

GreenCustomerVPNDIF

ProviderVPNServiceDIF

MetroDIF MetroDIFCoreDIF

PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIFPtPDIFPtPDIFPtPDIF PtPDIF PtPDIF PtPDIF

Page 14: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (II)

•  Example 2: LTE (Long Term Evolution) –  Uses PDCP, GTP to transport user’s IP payload, and also relies on

internal IP network.

14

IP(e.g.Internet)

TCPorUDP

PDCP GTP-U

Protocol conversion

GTP-U

RLC

MAC

L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1UE

eNodeB S-GW P-GW

EPS bearer EPS bearer

LTE-Uu

S1-U S5/S8

MAC

L1

SGi

Page 15: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (II)

•  Example 2: LTE (Long Term Evolution) –  Uses PDCP, GTP to transport user’s IP payload, and also relies on

internal IP network.

15

IP(e.g.Internet)

TCPorUDP

PDCP GTP-U

Protocol conversion

GTP-U

RLC

MAC

L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1UE

eNodeB S-GW P-GW

EPS bearer EPS bearer

LTE-Uu

S1-U S5/S8

MAC

L1

SGi

PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIF

Page 16: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (II)

•  Example 2: LTE (Long Term Evolution) –  Uses PDCP, GTP to transport user’s IP payload, and also relies on

internal IP network.

16

IP(e.g.Internet)

TCPorUDP

PDCP GTP-U

Protocol conversion

GTP-U

RLC

MAC

L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1UE

eNodeB S-GW P-GW

EPS bearer EPS bearer

LTE-Uu

S1-U S5/S8

MAC

L1

SGi

MobileOperatorTransportDIF

MobileOperatorTransportDIF

PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIF

Page 17: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (II)

•  Example 2: LTE (Long Term Evolution) –  Uses PDCP, GTP to transport user’s IP payload, and also relies on

internal IP network.

17

IP(e.g.Internet)

TCPorUDP

PDCP GTP-U

Protocol conversion

GTP-U

RLC

MAC

L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1UE

eNodeB S-GW P-GW

EPS bearer EPS bearer

LTE-Uu

S1-U S5/S8

MAC

L1

SGi

Mul>-accessradioDIF

MobileOperatorTransportDIF

MobileOperatorTransportDIF

PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIF

Page 18: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (II)

•  Example 2: LTE (Long Term Evolution) –  Uses PDCP, GTP to transport user’s IP payload, and also relies on

internal IP network.

18

IP(e.g.Internet)

TCPorUDP

PDCP GTP-U

Protocol conversion

GTP-U

RLC

MAC

L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1UE

eNodeB S-GW P-GW

EPS bearer EPS bearer

LTE-Uu

S1-U S5/S8

MAC

L1

SGi

MobileAccessNetworkTopLevelDIF

Mul>-accessradioDIF

MobileOperatorTransportDIF

MobileOperatorTransportDIF

PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIF

Page 19: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (II)

•  Example 2: LTE (Long Term Evolution) –  Uses PDCP, GTP to transport user’s IP payload, and also relies on

internal IP network.

19

IP(e.g.Internet)

TCPorUDP

PDCP GTP-U

Protocol conversion

GTP-U

RLC

MAC

L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1

UDP

IP(LTEtransport)

MAC MAC. . .

L1 . . . L1UE

eNodeB S-GW P-GW

EPS bearer EPS bearer

LTE-Uu

S1-U S5/S8

MAC

L1

SGi

PublicInternetDIF

MobileAccessNetworkTopLevelDIF

Mul>-accessradioDIF

MobileOperatorTransportDIF

MobileOperatorTransportDIF

PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIF

Page 20: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (III)

•  Example 3: Data Center Network with NVO3 –  Network Virtualization Over Layer 3, uses overlay virtual networks on

top of the DCN’s fabric layer 3 to support multi-tenancy

•  Recursion provides a cleaner, simpler solution than virtualization –  Repeat the same building block, with the same interface. 20

ToR ToRFabric Spine Fabric

Server ServerIPv4orIPv6(Fabriclayer)

UDPVM VM

Ethernet Ethernet Ethernet Ethernet

VXLAN802.1Q802.3 802.1Q

IPv4orIPv6(tenantoverlay)

TCPorUDPorSCTP,…(transportlayer)

802.3

Protocolconversion,Localbridging

Page 21: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (III)

•  Example 3: Data Center Network with NVO3 –  Network Virtualization Over Layer 3, uses overlay virtual networks on

top of the DCN’s fabric layer 3 to support multi-tenancy

•  Recursion provides a cleaner, simpler solution than virtualization –  Repeat the same building block, with the same interface. 21

ToR ToRFabric Spine Fabric

Server ServerIPv4orIPv6(Fabriclayer)

UDPVM VM

Ethernet Ethernet Ethernet Ethernet

VXLAN802.1Q802.3 802.1Q

IPv4orIPv6(tenantoverlay)

TCPorUDPorSCTP,…(transportlayer)

802.3

Protocolconversion,Localbridging PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIF PtPDIFPtPDIFPtPDIF

Page 22: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (III)

•  Example 3: Data Center Network with NVO3 –  Network Virtualization Over Layer 3, uses overlay virtual networks on

top of the DCN’s fabric layer 3 to support multi-tenancy

•  Recursion provides a cleaner, simpler solution than virtualization –  Repeat the same building block, with the same interface. 22

ToR ToRFabric Spine Fabric

Server ServerIPv4orIPv6(Fabriclayer)

UDPVM VM

Ethernet Ethernet Ethernet Ethernet

VXLAN802.1Q802.3 802.1Q

IPv4orIPv6(tenantoverlay)

TCPorUDPorSCTP,…(transportlayer)

802.3

Protocolconversion,Localbridging PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIF PtPDIFPtPDIFPtPDIF

DCFabricDIF

Page 23: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Recursion instead of virtualization (III)

•  Example 3: Data Center Network with NVO3 –  Network Virtualization Over Layer 3, uses overlay virtual networks on

top of the DCN’s fabric layer 3 to support multi-tenancy

•  Recursion provides a cleaner, simpler solution than virtualization –  Repeat the same building block, with the same interface. 23

ToR ToRFabric Spine Fabric

Server ServerIPv4orIPv6(Fabriclayer)

UDPVM VM

Ethernet Ethernet Ethernet Ethernet

VXLAN802.1Q802.3 802.1Q

IPv4orIPv6(tenantoverlay)

TCPorUDPorSCTP,…(transportlayer)

802.3

Protocolconversion,Localbridging PtPDIF PtPDIF PtPDIF PtPDIF

PtPDIF PtPDIFPtPDIFPtPDIF

DCFabricDIF

TenantDIF

Page 24: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Network Programmability

•  Centralized control of data forwarding –  GSMPv3 (label switches:

ATM, MPLS, optical), OpenFlow (Ethernet, IP, evolving)

•  APIs for controlling network services & network devices –  ONF SDN architecture,

IEEE P1520 (P1520 distinguished between virtual devices and hardware)

24

ONF‘s SDN architecture

Page 25: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Separation of mechanism from policy

25

IPCAPI

DataTransfer DataTransferControl LayerManagement

SDUDelimiNng

DataTransfer

RelayingandMulNplexing

SDUProtecNon

RetransmissionControl

FlowControl

RIBDaemon

RIB

CDAPParser/Generator

CACEP

Enrollment

FlowAllocaNon

ResourceAllocaNon

RouNng

AuthenNcaNon

StateVectorStateVectorStateVector

DataTransferDataTransfer

RetransmissionControl

RetransmissionControl

FlowControlFlowControl

NamespaceManagement

SecurityManagement

•  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

Page 26: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

DESIGNANDIMPLEMENTATIONOFANSDKFORIRATI3

26

Page 27: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

IRATI design: decisions and tradeoffs

27

Decision Pros Cons

Linux/OSvsotherOpera.ngsystems

Adop%on,Community,Stability,Documenta%on,Support

Monolithickernel(RINA/IPCModelmaybebe@ersuitedtomicro-kernels)

User/kernelsplitvsuser-spaceonly

IPCasafundamentalOSservice,accessdevicedrivers,hardware

offload,IPoverRINA,performance

Morecompleximplementa%onand

debugging

C/C++vsJava,Python,…

Na%veimplementa%onPortability,Skillstomaster

language(users)

MulNpleuser-spacedaemonsvssingleone

Reliability,Isola%onbetweenIPCPsandIPCManager

Communica%onoverhead,morecompleximpl.

SoU-irqs/taskletsvs.workqueues(kernel)

Minimizelatencyandcontextswitchesofdatagoingthroughthe

“stack”

Morecomplexkernellockinganddebugging

Page 28: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Overview of IRATI and its SDK

NormalIPCProcess(LayerManagement)

Userspace

IRATIRINAimplementaNon

KernelKernelIPCManager

NormalIPCProcess(DataTransfer/Control)

ShimIPCPover802.1Q

IPCPDaemon(LayerMgmt)

IPCManagerDaemon

NormalIPCP(DataTransfer)

SHIMIPCP

App

zoomin

zoomin

zoomin

NormalIPCP(Datatransfer)

ErrorandFlowControlProtocol

RelayingandMul%plexingTask

SDUProtec%on

SDKsupport

RTT

policy

Txctrl

policy

ECN

policy

...

SDKsupport

Forw

ar

policy

Sche

du

policy

MaxQ

policy

Mon

it

policy

SDKsupport

TTL

policy

CRC

policy

Encryp

policy

NormalIPCP(LayerMgmt)

RIB&RIBDaemon

librina

Resourcealloca%on

Flowalloca%on

Enrollment

NamespaceManagement

SecurityManagement

Rou%ng

SDKsupport

Auth.

policy

Acc.ctrl

policy

Coord

policy

SDKsupport

Add

ress

assign

Directory

replica

Add

ress

valid

at

SDKsupportNewflowpolicy

SDKsupport

PFTgen

policy

Pushba

kno

Nfy

Enroll.sequence

SDKsupport

RouNngpolicyIPCManager

librina

ManagementAgent

IPCMlogic

NetworkManager(NMSDAF)

SDKsupportRIB&RIBDaemon

ShimIPCP

ShimIPCP

Page 29: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

RINA Plugins Infrastructure (RPI) Kernel RPI (kRPI)

29

PolicySetlifecycle PolicySetclasses•  Different policy-set class per component, since each component has different policies.

●  “OO”approach

●  All policy set classes derivefrombaseclass

●  All components derive frombaseclass

●  PluginsareLoadableKernelModules(LKM)

●  Theypublishasetofpolicysets,becomesavailabletotheRINAstack.

●  Factories,namedaXereachpolicyset,provideopera.ons tocreate/delete instancesofpolicysetclasses

Page 30: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

RINA Plugins Infrastructure (RPI) User-space RPI uRPI)

30

●  SameconceptsaskRPI(factories,lifecycle,policyclasses),differentimpl

●  PluginsaresharedobjectsdynamicallyloadedbytheIPCPDaemon,loadedthroughthelibdllibrary

Page 31: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

SDK Usage: Experimentation with IRATI Data transfer policies: RMT and EFCP

31

•  Programmed data transfer policies to manage congestion in a distributed cloud environment.

•  Two touch points: i) ECN-marking policies for the RMT; ii) flow control policies that react to ECN-marked PDUs in EFCP

“TCPTahoe”(EFCP)+RED(RMT)

DECBinaryfeedback(EFCPandRMT)

Page 32: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

ONGOINGRINAINITIATIVES4

32

Page 33: A Software Development Kit to exploit RINA programmabilityict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-RINA-SDK-ICC-… · An SDK to exploit RINA programmability A Software

Research, open source, standards •  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

33