SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Internet of Threads
Renzo Davoli

renzo@cs/unibo.it – VirtualSquare Lab & University of Bologna
What is an “Internet Node”?
• Network adapters
  are the
  “addressable
  entities” of the
  Internet.



                                                                     Renzo Davoli
                     renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                     2
Yesterday: historical view
                                          Internet Server

           IP addr/port                                       Listening sockets
connect                   interface




                                                               Service Daemon




                                                                          Renzo Davoli
                          renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                          3
Today: Virtual Internet nodes
• Virtual machines have IP addresses. (xen,
  kvm, user-mode linux etc)
• High Availability servers have multiple
  addresses (each service is mapped to a
  specific address as services must migrate in
  case of fault. Service addresses are already
  mapped to interfaces)
                                                                       Renzo Davoli
                       renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                       4
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
     1.2.3.4:80
                    interfaccia
                     interface
      1.2.3.5:53                                                               Server Process




                                                       1.2.3.5:53                 Stack TCP-IP
                   Server Process

                                                                               Server Process
                             Server Process



                                                                                              Renzo Davoli
                                              renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                                              5
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 running on
  the same system
• Run several servers on the same interface+port.
• Use a VPN for some processes and the real network for
  others.
• Migrate a process to another system while keeping the
  status of the active connections.
                                                                          Renzo Davoli
                          renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                          6
Why the Ioth?
• Because we have IPv6!
• We have plenty of addresses
• We must start again from chalk and
  blackboards and design a new Internet
• IPv4 network concepts are obsolete
• (we must find an excuse to need IPv8/IPvA ...)

                                                                       Renzo Davoli
                       renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                       7
Why the Ioth?
• It is the software counterpart of the Internet of Things.
                                                         Services, services, services




• HW vs SW
• Special Purpose vs. General Purpose
• Consumer Electronics vs. Upgradability
                                                                              Renzo Davoli
                              renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                              8
Why the IoTh?
• Also Linux Containers (Solaris zones) provide
  several stacks... but just for sysadm!
• By the IoTh networking becomes “ordinary
  business” for users.
• Network stacks will be chosen as printers using
  menu items...

                                                                       Renzo Davoli
                       renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                       9
Why the IoTh?
• Because it is natural:
• A network is made of
  wires, ropes, threads



  ... you cannot knot
  things together without
  threads!

                                                                            Renzo Davoli
                            renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                            10
Internet of Threads: examples
• Applications living on different networks
  – e.g. Browsers providing different perspectives on
    the network
• Virtual appliances/virtual embedded appliances
  – Virtual NAS
  – Web access to user programs
• One Time IP address
  – Repelling the wily port scanner/intruder.
                                                                          Renzo Davoli
                          renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                          11
Internet of Threads:
                              where is the LAN?
• The LAN must be virtualized, too
                          Stack TCP-IP                                                        Stack TCP-IP
       1.2.3.4:80
                     interfaccia
                      interface                                          1.2.3.4:80
 LAN                                                                                       Server Process
       1.2.3.5:53    interface                              (virtual)
                                                              LAN

                                                                         1.2.3.5:53
                                                                                              Stack TCP-IP
                    Server Process

                                                                                           Server Process
                                 Server Process




                                                                                                  Renzo Davoli
                                                  renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                                                  12
Virtual Ethernet
• Processes use virtual networks to communicate and to join the
  Internet.
• The same tools commonly used in Local Area Networks for
  hardware nodes (e.g. Personal computers) work on virtual
  networks to connect processes (e.g. A process can acquire its
  IP address by DHCP or IPv6 autoconfiguration).
• It is possible to set up hybrid networks, partially real, partially
  virtual but trasparently connected (virtual and real nodes,
  machines and processes are undistiguishable from the
  Internet)
                                                                                Renzo Davoli
                                renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                                13
VIRTUAL SQUARE LAB
    • An international lab on virtuality
    • Project repository:
      – Virtual Distributed Ethernet (VDE)
      – LWIPv6
      – PureLibC
      – View-OS
         • umview/kmview
         • modules
                                                         Renzo Davoli
         renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                         14
Virtual Square



         Virtual     Machines (QEMU, KVM, User-Mode Linux),
         Virtual     Networks (e.g. Overlay networks, VPNs),
         Virtual     Execution Environments,
         Virtual     File systems,
         Virtual     root (chroot),
         Virtual     users(e.g. fakeroot),
         Virtual     Time,
         Virtual     Honey Pots,
         Virtual     executable intepreters (e.g. binfmt), ...
                                                     Renzo Davoli
     renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                     15
Virtual Square Goals
• Communication
  – Different virtualities must be interconnected.
• Integration
  – Seeing how specific virtualities can be seen as special
    cases of broader ideas of virtuality.
• Extension
  – Several needs could be captured by some model of
    virtuality; V2 seeks a unifying idea of virtuality able to provide
    a consistent and extensible view.
                                                                               Renzo Davoli
                               renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                               16
Virtual Square does it better!
• Virtual Square has developed a set of tools that
  permit the implementation of the “Internet of Threads”
  concept:
   – VDE: virtual distributed ethernet
   – LWIPv6: an entire IPv4/v6 hybrid stack as a library
   – View-OS: view-based operating system.
      • Umview/kmview: View-OS implementations as partial
        virtual machines running on GNU-Linux.
• This is a usable proof-of-concept test set!
                                                                            Renzo Davoli
                            renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                            17
DEMO #1: Client side IoTh
                                                                  Umview + Lwipv6
      VDE Slirpv6            VDE switch


• This browser “lives” in its own view
  of networking.
• It runs on a hidden (masqueraded)                                       Browser
                                                                           Browser
  network
• It can change continent just by
  reloading the page (if we “migrate”
  the slirp process at the other end)
                                                                             Renzo Davoli
                             renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                             18
Internet      DEMO #2: Server Side IoTh
                                        Web Virtual Appliance
 VDE switch         VDE switch
                                        (IP stack is onboard)


                    VDE switch          Web Virtual Appliance


                    VDE switch          Web Virtual Appliance

• The virtual web appliance has its net stack onboard.
• From the Internet it is (appears as) a web server.
• It can migrate throughout the VDE
                                                                                 Renzo Davoli
                                 renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                                 19
DEMO #3: One Time Internet Protocol
                    (OTIP)
                            Public VDE network


       VDE switch                                                                        VDE switch


    Client       OTIP DNS forwarder                                                    OTIP server
(e.g. browser)       or resolver                                                   (or OTIP forwarder)

  • Server and client changes their address synchronously.
  • Repelling the wily port scanner, and the brute force
    password cracker.
                                                                                      Renzo Davoli
                                      renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                                      20
OTIP addresses
•   OTIP_address=Prefix::hash(base suffix,password, time)
•   The leading 64 bits match the network
•   The trailing 64 bits change (almost) synchronously
•   The test implementation renews the address each 64 seconds. The
    servers keep each address for 128 seconds (to tolerate 32 seconds of
    clock drift and network delays).
•   If there are open connections the stack “survives” its deadline to
    complete these connections. The listening sockets get closed.
•   The servers use one stack per address.
             64secs             64secs                            64secs

                                                                                    Renzo Davoli
                                    renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                                    21
One word about security
• Principle of Least Privilege
   – Each process must be given no more privilege than
     necessary to perform its job.
• Internet of threads:
   – There is no need for “root” access. An overuse of
     admistrative privileges weaken the infrastructure.
   – The use of specific per service stacks reduces the risks
     of domino effects caused by weak services.

                                                                            Renzo Davoli
                            renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                            22
A word about performance
• Multiple stacks require more memory.
• VDE can dispatch packets at kernel level
  (already implemented: IPN+kvde_switch).
• The code of the stacks could be shared and
  can run as a kernel module (already to be
  designed and implemented)

                                                                      Renzo Davoli
                      renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                      23
We are still creating art and beauty on a 
                computer: 

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




          renzo, rd235, iz4dje
                                                                  Renzo Davoli
                  renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna
                                                                                  24

Mais conteúdo relacionado

Destaque

Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller Codemotion
 
To be relational, or not to be relational? That's *not* the question!
To be relational, or not to be relational? That's *not* the question! To be relational, or not to be relational? That's *not* the question!
To be relational, or not to be relational? That's *not* the question! Codemotion
 
SQL Injection & Cross Site Scripting, by Stefano Santomauro
SQL Injection & Cross Site Scripting, by Stefano Santomauro SQL Injection & Cross Site Scripting, by Stefano Santomauro
SQL Injection & Cross Site Scripting, by Stefano Santomauro Codemotion
 
GIT: a Gentle InTroduction
GIT: a Gentle InTroductionGIT: a Gentle InTroduction
GIT: a Gentle InTroductionCodemotion
 
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Codemotion
 
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Codemotion
 
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016 Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016 Codemotion
 

Destaque (8)

Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
 
To be relational, or not to be relational? That's *not* the question!
To be relational, or not to be relational? That's *not* the question! To be relational, or not to be relational? That's *not* the question!
To be relational, or not to be relational? That's *not* the question!
 
SQL Injection & Cross Site Scripting, by Stefano Santomauro
SQL Injection & Cross Site Scripting, by Stefano Santomauro SQL Injection & Cross Site Scripting, by Stefano Santomauro
SQL Injection & Cross Site Scripting, by Stefano Santomauro
 
GIT: a Gentle InTroduction
GIT: a Gentle InTroductionGIT: a Gentle InTroduction
GIT: a Gentle InTroduction
 
Easy Driver
Easy DriverEasy Driver
Easy Driver
 
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
 
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
 
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016 Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
 

Semelhante a Internet of Threads (IoTh), di Renzo Davoli (VirtualSquare)

IRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE WorkshopIRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE WorkshopEleni Trouva
 
1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop1. RINA motivation - TF Workshop
1. RINA motivation - TF WorkshopARCFIRE ICT
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantumMiguel Lavalle
 
Quantum - The Network Mechanics
Quantum - The Network MechanicsQuantum - The Network Mechanics
Quantum - The Network MechanicsKiran Murari
 
Three years of OFELIA - taking stock
Three years of OFELIA - taking stockThree years of OFELIA - taking stock
Three years of OFELIA - taking stockFIBRE Testbed
 
AWT goes IPv6 talk @BELNET Workshop
AWT goes IPv6 talk @BELNET WorkshopAWT goes IPv6 talk @BELNET Workshop
AWT goes IPv6 talk @BELNET Workshopir. Carmelo Zaccone
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
Internet Programming With Python Presentation
Internet Programming With Python PresentationInternet Programming With Python Presentation
Internet Programming With Python PresentationAkramWaseem
 
Quantum for Cloud Operators - Folsom Conference
Quantum for Cloud Operators  - Folsom Conference Quantum for Cloud Operators  - Folsom Conference
Quantum for Cloud Operators - Folsom Conference Dan Wendlandt
 
Network protocols and Java programming
Network protocols and Java programmingNetwork protocols and Java programming
Network protocols and Java programmingdifatta
 
Distributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-REDDistributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-REDMichael Blackstock
 
Quantum grizzly summit
Quantum   grizzly summitQuantum   grizzly summit
Quantum grizzly summitDan Wendlandt
 
Quantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxQuantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxOpenStack Foundation
 
Pristine glif 2015
Pristine glif 2015Pristine glif 2015
Pristine glif 2015ICT PRISTINE
 
Ccna 2nd Edition
Ccna 2nd EditionCcna 2nd Edition
Ccna 2nd Editiondznet
 
OpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNOpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNTe-Yen Liu
 

Semelhante a Internet of Threads (IoTh), di Renzo Davoli (VirtualSquare) (20)

IRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE WorkshopIRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE Workshop
 
1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantum
 
Quantum - The Network Mechanics
Quantum - The Network MechanicsQuantum - The Network Mechanics
Quantum - The Network Mechanics
 
OpenStack Quantum
OpenStack QuantumOpenStack Quantum
OpenStack Quantum
 
Three years of OFELIA - taking stock
Three years of OFELIA - taking stockThree years of OFELIA - taking stock
Three years of OFELIA - taking stock
 
Intercloud ptc 13
Intercloud   ptc 13Intercloud   ptc 13
Intercloud ptc 13
 
AWT goes IPv6 talk @BELNET Workshop
AWT goes IPv6 talk @BELNET WorkshopAWT goes IPv6 talk @BELNET Workshop
AWT goes IPv6 talk @BELNET Workshop
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
Internet Programming With Python Presentation
Internet Programming With Python PresentationInternet Programming With Python Presentation
Internet Programming With Python Presentation
 
Quantum for Cloud Operators - Folsom Conference
Quantum for Cloud Operators  - Folsom Conference Quantum for Cloud Operators  - Folsom Conference
Quantum for Cloud Operators - Folsom Conference
 
Network protocols and Java programming
Network protocols and Java programmingNetwork protocols and Java programming
Network protocols and Java programming
 
Distributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-REDDistributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-RED
 
Chapter03
Chapter03Chapter03
Chapter03
 
Quantum grizzly summit
Quantum   grizzly summitQuantum   grizzly summit
Quantum grizzly summit
 
3rd edition chapter2
3rd edition chapter23rd edition chapter2
3rd edition chapter2
 
Quantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxQuantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptx
 
Pristine glif 2015
Pristine glif 2015Pristine glif 2015
Pristine glif 2015
 
Ccna 2nd Edition
Ccna 2nd EditionCcna 2nd Edition
Ccna 2nd Edition
 
OpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNOpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDN
 

Mais de Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Mais de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Último

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Internet of Threads (IoTh), di Renzo Davoli (VirtualSquare)

  • 1. Internet of Threads Renzo Davoli renzo@cs/unibo.it – VirtualSquare Lab & University of Bologna
  • 2. What is an “Internet Node”? • Network adapters are the “addressable entities” of the Internet. Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 2
  • 3. Yesterday: historical view Internet Server IP addr/port Listening sockets connect interface Service Daemon Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 3
  • 4. Today: Virtual Internet nodes • Virtual machines have IP addresses. (xen, kvm, user-mode linux etc) • High Availability servers have multiple addresses (each service is mapped to a specific address as services must migrate in case of fault. Service addresses are already mapped to interfaces) Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 4
  • 5. 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 1.2.3.4:80 interfaccia interface 1.2.3.5:53 Server Process 1.2.3.5:53 Stack TCP-IP Server Process Server Process Server Process Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 5
  • 6. 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 running on the same system • Run several servers on the same interface+port. • Use a VPN for some processes and the real network for others. • Migrate a process to another system while keeping the status of the active connections. Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 6
  • 7. Why the Ioth? • Because we have IPv6! • We have plenty of addresses • We must start again from chalk and blackboards and design a new Internet • IPv4 network concepts are obsolete • (we must find an excuse to need IPv8/IPvA ...) Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 7
  • 8. Why the Ioth? • It is the software counterpart of the Internet of Things. Services, services, services • HW vs SW • Special Purpose vs. General Purpose • Consumer Electronics vs. Upgradability Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 8
  • 9. Why the IoTh? • Also Linux Containers (Solaris zones) provide several stacks... but just for sysadm! • By the IoTh networking becomes “ordinary business” for users. • Network stacks will be chosen as printers using menu items... Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 9
  • 10. Why the IoTh? • Because it is natural: • A network is made of wires, ropes, threads ... you cannot knot things together without threads! Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 10
  • 11. Internet of Threads: examples • Applications living on different networks – e.g. Browsers providing different perspectives on the network • Virtual appliances/virtual embedded appliances – Virtual NAS – Web access to user programs • One Time IP address – Repelling the wily port scanner/intruder. Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 11
  • 12. Internet of Threads: where is the LAN? • The LAN must be virtualized, too Stack TCP-IP Stack TCP-IP 1.2.3.4:80 interfaccia interface 1.2.3.4:80 LAN Server Process 1.2.3.5:53 interface (virtual) LAN 1.2.3.5:53 Stack TCP-IP Server Process Server Process Server Process Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 12
  • 13. Virtual Ethernet • Processes use virtual networks to communicate and to join the Internet. • The same tools commonly used in Local Area Networks for hardware nodes (e.g. Personal computers) work on virtual networks to connect processes (e.g. A process can acquire its IP address by DHCP or IPv6 autoconfiguration). • It is possible to set up hybrid networks, partially real, partially virtual but trasparently connected (virtual and real nodes, machines and processes are undistiguishable from the Internet) Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 13
  • 14. VIRTUAL SQUARE LAB • An international lab on virtuality • Project repository: – Virtual Distributed Ethernet (VDE) – LWIPv6 – PureLibC – View-OS • umview/kmview • modules Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 14
  • 15. Virtual Square Virtual Machines (QEMU, KVM, User-Mode Linux), Virtual Networks (e.g. Overlay networks, VPNs), Virtual Execution Environments, Virtual File systems, Virtual root (chroot), Virtual users(e.g. fakeroot), Virtual Time, Virtual Honey Pots, Virtual executable intepreters (e.g. binfmt), ... Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 15
  • 16. Virtual Square Goals • Communication – Different virtualities must be interconnected. • Integration – Seeing how specific virtualities can be seen as special cases of broader ideas of virtuality. • Extension – Several needs could be captured by some model of virtuality; V2 seeks a unifying idea of virtuality able to provide a consistent and extensible view. Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 16
  • 17. Virtual Square does it better! • Virtual Square has developed a set of tools that permit the implementation of the “Internet of Threads” concept: – VDE: virtual distributed ethernet – LWIPv6: an entire IPv4/v6 hybrid stack as a library – View-OS: view-based operating system. • Umview/kmview: View-OS implementations as partial virtual machines running on GNU-Linux. • This is a usable proof-of-concept test set! Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 17
  • 18. DEMO #1: Client side IoTh Umview + Lwipv6 VDE Slirpv6 VDE switch • This browser “lives” in its own view of networking. • It runs on a hidden (masqueraded) Browser Browser network • It can change continent just by reloading the page (if we “migrate” the slirp process at the other end) Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 18
  • 19. Internet DEMO #2: Server Side IoTh Web Virtual Appliance VDE switch VDE switch (IP stack is onboard) VDE switch Web Virtual Appliance VDE switch Web Virtual Appliance • The virtual web appliance has its net stack onboard. • From the Internet it is (appears as) a web server. • It can migrate throughout the VDE Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 19
  • 20. DEMO #3: One Time Internet Protocol (OTIP) Public VDE network VDE switch VDE switch Client OTIP DNS forwarder OTIP server (e.g. browser) or resolver (or OTIP forwarder) • Server and client changes their address synchronously. • Repelling the wily port scanner, and the brute force password cracker. Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 20
  • 21. OTIP addresses • OTIP_address=Prefix::hash(base suffix,password, time) • The leading 64 bits match the network • The trailing 64 bits change (almost) synchronously • The test implementation renews the address each 64 seconds. The servers keep each address for 128 seconds (to tolerate 32 seconds of clock drift and network delays). • If there are open connections the stack “survives” its deadline to complete these connections. The listening sockets get closed. • The servers use one stack per address. 64secs 64secs 64secs Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 21
  • 22. One word about security • Principle of Least Privilege – Each process must be given no more privilege than necessary to perform its job. • Internet of threads: – There is no need for “root” access. An overuse of admistrative privileges weaken the infrastructure. – The use of specific per service stacks reduces the risks of domino effects caused by weak services. Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 22
  • 23. A word about performance • Multiple stacks require more memory. • VDE can dispatch packets at kernel level (already implemented: IPN+kvde_switch). • The code of the stacks could be shared and can run as a kernel module (already to be designed and implemented) Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 23
  • 24. We are still creating art and beauty on a  computer:  the art and beauty of revolutionary ideas  translated into (libre) code... renzo, rd235, iz4dje Renzo Davoli renzo@cs.unibo.it - VirtualSquare Lab & University of Bologna 24