SoftNet2013 MultiConference

Rethinking the Network Basics

Renzo Davoli

.

i l ALMA MATER STUDIORUM: University di Bologna

o

v

a

D

o

z

n

e

R

,

0 th

.

3

Mestre, October 29 2013

A

S

-

Y

B

C

C

t

f

e

l

y

p

o

C

3

1

0

2

©

The apocalypse of the two elephants

.

i

l

o

v

a

D

o

z

n

e

R

,

0

.

3

A

S

-

Y

B

C

C

t

f

e

l

y

p

o

C

3

1

0

2

©

No fashion in Science! No legacy.

LEGACY SCIENCE

.

i

l

o

v

a

D

o

z

n

e

R

,

0

.

3

A

S

-

Y

B

C

C

t

f

e

l

y

p

o

C

3

1

0

2

©

.

i

l

o

v

a

D

o

z

n

e

R

,

0

.

3

A

S I HATE

-

Y

B

C

C

t

f

e l PERFORMANCE

y

p

o

C

3

1

0

2

© EVALUATION!

.

i

l

o

v

a

D

o

z

n

e

R

,

0

.

3

A

S

-

Y The value of a protocol, a language, an algorithm

B

C

C

depends on:

t

f

e

l

y

p o - the range of problems it is able to solve

C

3

1

0

2 - and then its performance.

© Image by: Nikodem Nijaki CC-BY-SA The best compression Algorithm

● Input: a file N bytes long (maybe GiB, TiB, PiB, EiB) ● Output size: 1 bit

● Time Complexity O(N)

.

i

l

o

v

a

D

o

z

n

e

R

,

0

.

3 0/1

A

S

-

Y

B

C

C

t

f

e

l

y

p

o

C

3

1

0

2

©

Core Networking Questions

● - how many protocol stacks/ implementations should exist in a system? (I mean for the same protocol family) ● - which component of an should provide networking services?

.

i l ●

o v - what is the networking layer exposed to the

a

D

o

z n processes?

e

R

,

0

.

3 ●

A

S - what should an IP address point to?

-

Y

B

C

C

- should networking configuration be a

t

f

e

l

y

p o privileged operation?

C

3

1

0

2

©

Networking

In the 80's

.

i

l

o

v a Today

D

o

z

n

e

R

,

0

.

3

A

S

-

Y

B

C

C

t

f

e

l

y

p

o

C

3

1

0

2

©

One shared stack?

WIRELESS NET browser Mail client WIRED NET

STACK

.

i

l

o

v

a

D

o

z

n

e

R

,

0

.

3

A

S

-

Y

B

C

C

t

f

e

l

y

p

o

C

3 VPN

1

0

2

©

No! Multiple Stacks!

browser Mail client

STACK STACK STACK WIRELESS NET WIRED NET

.

i

l

o

v

a

D

o

z

n

e

R

,

0

.

3

A

S

-

Y

B

C

C

t

f

e

l

y

p

o

C

VPN

3

1

0

2

©

A Stack Implementation is a Library!

MONOLITHIC KERNEL MICROKERNEL V Networked appliances

process process

process process process process

. TCP-IP TCP-IP

i

l

o

v a TCP-IP

D

o

z

n

e

R

,

0

.

3

A

S KERNEL KERNEL KERNEL

-

Y

B

C

C TCP-IP

– VDE

t

f

e

l

y

p

o

C

3

1

0

2

©

What is an “ Node”?

● Network adapters are the “addressable entities” of the Internet.

.

i

l

o

v

a

D

o

z

n

e

R

,

0

.

3

A

S

-

Y

B

C

C

t

f

e

l

y

p

o

C

3

1

0

2

©

Yesterday: historical view Internet Server

IP addr/port connect interface Listening sockets

.

i

l

o

v

a

D

o

z

n

e

R

,

0

.

3

A

S

- Service Daemon

Y

B

C

C

t

f

e

l

y

p

o

C

3

1

0

2

©

Internet of Threads (IoTh)

● Processes, Threads can be Internet nodes (too).

● Each process can use all the networking stacks it needs.

Stack TCP-IP 1.2.3.4:80 Stack TCP-IP

.

i l 1.2.3.4:80

o

v interfacciainterface

a

D

o 1.2.3.5:53 z Server Process

n

e

R

,

0

.

3

A

S

-

Y 1.2.3.5:53 Stack TCP-IP

B

C Server Process

C

t

f

e

l y Server Process p Server Process

o

C

3

1

0

2

©

Why the IoTh? Because some “hard” problems in multitasking multiuser systems become simple. ● Provide users working on the same system with user-specific IP addresses

. Provide different QoS/Routing to processes

i

l

o

v

a

D running on the same system

o

z

n

e

R

,

0

. Run several servers on the same interface+port.

3

A

S

-

Y ●

B

Use a VPN for some processes and the real

C

C

t f network for others.

e

l

y

p

o

C

3 Migrate a process to another system while

1

0

2

© keeping the status of the active connections. Why the IoTh?

● Because we have IPv6! ● We have plenty of addresses

. i We must start again from chalk and

l

o

v

a

D

o blackboards and design a new Internet

z

n

e

R

,

0 ● .

3

IPv4 network concepts are obsolete

A

S

-

Y

B ● C (we must find an excuse to design IPv8, then

C

t

f

e

l

y IPvA, etc.)

p

o

C

3

1

0

2

©

Why the IoTh?

● It is the counterpart of the Internet of Things. Services, services, services

.

i

l

o

v

a

D

o

z

n

e

R

, ●

0

. HW vs SW

3

A

S

-

Y ●

B

Special Purpose vs. General Purpose

C

C

t

f ●

e l Consumer Electronics vs. Upgradability

y

p

o

C

3

1

0

2

©

Why the IoTh?

● Also Linux Containers (Solaris zones) provide several stacks... but just for sysadm! ● By the IoTh networking becomes “ordinary

. i business” for users.

l

o

v

a

D

o ●

z n Network stacks will be chosen as printers using

e

R

,

0

.

3

menu items...

A

S

-

Y

B

C

C

t

f

e

l

y

p

o

C

3

1

0

2

©

Virtual Square does it better!

● Virtual Square has developed a set of tools that permit the implementation of the “Internet of Threads” concept:

.

i

l

o v – a VDE: virtual distributed ethernet

D

o

z

n e – R LWIPv6: an entire IPv4/v6 hybrid stack as a library

,

0

.

3

A

S – - View-OS: view-based operating system.

Y

B

C ●

C Umview/kmview: View-OS implementations as partial

t

f

e

l

y virtual machines running on GNU-Linux.

p

o

C

3 ●

1

0 This is a usable proof-of-concept test set!

2

©

Milestones

● VDE (Tridentcom 2005) ● Msockets (ACM SAC 2012)

● Internet of Threads (ICIW 2013)

● IPv6 Hash-Based Addresses (AFIN 2013)

.

i

l

o

v ● a .... and now OTIP One Time IP (ICSNC 2013)

D

o

z

n

e

R

,

0

.

3

A

S

-

Y

B

C

C

t

f

e

l

y

p

o

C

3

1

0

2

©

Msocket:

● We propose a clean interface to support multiple stacks: int msocket (char *stack, int domain, int type, int protocol); ● Stack is the pathname of a special file (or the

.

i

l

o v path of an object).

a

D

o

z

n e ●

R

View-OS module named umnetlwipv6 provides

,

0

.

3

A

S a proof of concept implementation of this

-

Y

B

C

C msocket support.

t

f

e

l

y

p

o

C

3

1

0

2

©

Client side IoTh

VDE Slirpv6 VDE switch Umview + Lwipv6

● This browser “lives” in its own view of networking. Browser

. i Browser

l o ●

v a It runs on a hidden

D

o

z

n e (masqueraded) network

R

,

0

.

3

A ●

S - It can change continent

Y

B

C

C just by reloading the page

t

f

e

l

y p (if we “migrate” the slirp

o

C

3

1

0 process at the other end)

2

©

Internet Server Side IoTh

Web Virtual Appliance VDE switch VDE switch (IP stack is onboard)

VDE switch Web Virtual Appliance

.

i

l

o

v a VDE switch Web Virtual Appliance

D

o

z

n

e

R

,

0

.

3

A

S

-

Y ●

B The virtual web appliance has its net stack

C

C

t onboard.

f

e

l

y

p

o

C ●

From the Internet it is (appears as) a web server. 3

1

0

2

© ● It can migrate throughout the VDE We are still creating art and beauty on a computer:

the art and beauty of revolutionary ideas translated into (libre) code...

.

i

l

o

v

a

D

o

z

n

e

R

,

0

.

3

A

S

-

Y

B

C

C

t

f renzo, rd235, iz4dje

e

l

y

p

o

C

3

1

0

2

©