SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

En vedette (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
 

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

AWT goes IPv6 talk @BELNET Workshop
AWT goes IPv6 talk @BELNET WorkshopAWT goes IPv6 talk @BELNET Workshop
AWT goes IPv6 talk @BELNET Workshop
ir. Carmelo Zaccone
 
Internet Programming With Python Presentation
Internet Programming With Python PresentationInternet Programming With Python Presentation
Internet Programming With Python Presentation
AkramWaseem
 
Ccna 2nd Edition
Ccna 2nd EditionCcna 2nd Edition
Ccna 2nd Edition
dznet
 
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
Te-Yen Liu
 

Similaire à 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
 

Plus de Codemotion

Plus 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
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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 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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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?
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 

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