The hague rina-workshop-interop-deployment_vincenzo

7
RINA interoperability with the Internet Vincenzo Maffione, Gino Carrozzo (Nextworks) SDN & OpenFlow World Congress The Hague (NL) – 11-14 October 2016 1/6

Transcript of The hague rina-workshop-interop-deployment_vincenzo

Page 1: The hague rina-workshop-interop-deployment_vincenzo

RINA interoperability with the Internet

Vincenzo Maffione, Gino Carrozzo (Nextworks)SDN & OpenFlow World Congress

The Hague (NL) – 11-14 October 2016

1/6

Page 2: The hague rina-workshop-interop-deployment_vincenzo

RINA and the Internet: two practical issues

1. How do we deploy RINA together with the Internet?● Three solutions:

o RINA as an overlayo RINA as a substrateo RINA/TCP gateways

2. How do we port existing network applications to RINA?● A POSIX-like API for RINA

2/6

Page 3: The hague rina-workshop-interop-deployment_vincenzo

RINA as an overlay● Shim DIFs wrap legacy technologies

○ Shim over Ethernet○ Shim over UDP (or TCP)

● We can wrap the Internet in a shim DIF over UDP● Pro: RINA applications benefit from QoS, mobility, security, …● Con: Applications need to be ported to RINA

3/6

A

InternetEthernet Shim DIFs

B

Shim DIF over UDP

Ethernet Shim DIFs

RINA network

RINA network

Banking DIF

Borderrouter

Borderrouter

Server host

Client host

Page 4: The hague rina-workshop-interop-deployment_vincenzo

RINA as a substrate● Adapter applications to tunnel IP traffic through RINA flows

○ TUN/TAP software devices used to intercept IP traffic ● Pro: Unmodified TCP/IP (socket) applications can run over RINA● Con: Tunneling introduces overhead (latency, CPU cycles)● Applications indirectly benefit from RINA (QoS, security, …) → limitations

4/6

app1

DIF

Adapter

Lower DIFs

Host 1

TAP

app2

Adapter

Host 2

TAP

app3

Adapter

Host 3

TAP

Page 5: The hague rina-workshop-interop-deployment_vincenzo

RINA/TCP gateways● Gateway applications to forward traffic between TCP sockets and RINA flows● Pro: TCP clients can talk with RINA servers (and the other way around)● Pro: Applications benefit from RINA● Con: Forwarding introduces overhead● Con: Client or server needs to be ported to RINA

5/6

RINA network(Arbitrary composition of DIFs)

Gateway host

Gatewayapplicatio

n

RINA host

RINA applic.

TCP applic.

TCP/IP network

TCP connection

TCP/IP host

Page 6: The hague rina-workshop-interop-deployment_vincenzo

Porting applications to RINA● We define an API that can be easily mapped to the socket API

○ Yet empowered with QoS capabilities● RINA flows accessed through file descriptors

6/6

accept(fd1) -> (fd2, addr)

listen(fd)

bind(fd, addr)

connect(fd, addr)

socket() -> fd flow_alloc(name, qos) -> fdopen() -> fd

register(fd, name)

flow_accept(fd1) -> (fd2,name)

Page 7: The hague rina-workshop-interop-deployment_vincenzo

DEMO● Dropbear SSH client/server and nginx web server ported to RINA using a POSIX-like

API○ Small patches (100-400 lines of code)

● Connect to a Dropbear SSH server running over RINA● Start nginx web server over RINA● Use a normal browser to access web content served by RINA web server

7/6

VM B

Gatewayapplicatio

n

VM A

nginx web server

Chromium

browserTCP

connections

Laptop

openssh client

Dropbear ssh server

n.1.DIF (normal DIF)

e.1.DIF (shim DIF over Ethernet)

RINA flows