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/protocol stack implementations should exist in a system? (I mean for the same protocol family) ● - which component of an operating system 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 “Internet 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 software 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
©