SlideShare a Scribd company logo
1 of 27
Download to read offline
Isaakidis Marios
Cyprus University of Technology
Initial Internet topology

telnet
ftp
The

(hyperbolic)

Internet today
Multiple servers

Data
Services

Replicated
Different Locations
Mobile clients
Many Interfaces
(multi-homed)
Million simultaneous users
The Network Stack remains the same!
...creating problems
APPLICATION
TRANSPORT
NETWORK
APPLICATION
TRANSPORT
NETWORK

Hierarchical IP addressing
end-host mobility?
APPLICATION
TRANSPORT
NETWORK

Demultiplexing
(remote IP, remote port, local IP, local port, protocol)

change IP address ?

migration?

change interface?
load balance every
singe packet?

applications must know
(remote IP – remote port)
APPLICATION
TRANSPORT
NETWORK

Applications “early-bind” on IP address
and TCP/UDP ports.

out-of-band look-up mechanisms or
a priori knowledge?
caching of ip-port?
multiple services?

slow failover

specifies application protocol
do we really need to know
server's location?
Proposal : Service Access Layer

APPLICATION
TRANSPORT
SERVICE ACCESS
NETWORK

Erik Nordström Michael J. Freedman
Proposal : Service Access Layer

APPLICATION
TRANSPORT
SERVICE ACCESS
NETWORK

Connects to the server
Maintains connectivity
Serval Abstractions : Service Names
●

Human-readable, correspond to a real service (e.g. facebook)

●

Reference a group of processes offering the same service

●

Mapped to machine-readable 256-bit serviceIDs (through “DNS”, flooding
or DHTs), allocated in blocks

Why?
●

Decouple services from their location

●

Warrant late binding

●

Enable service-level routing and forwarding

●

Make load-balancing easier

●

Help with building and managing services
Serval Abstractions : Flows
●

(dstIP, dstPort, srcIP, srcPort, protocol) -> flowID

●

Do not encode the application protocol

●

There is no need for port numbers

●

Help when interacting with middleboxes

●

Are network-layer oblivious (same for IPv4 and IPv6)

●

Help maintain connectivity

●

Reduce the overload of identifiers within and across the layers

●

Are host-local and ephemeral

●

Empower migration, mobility and multiple paths
Serval Abstractions
WHO?
Service names

HOW?

Flows

WHERE?
Addresses
Service Access Layer (SAL)
APPLICATION
APPLICATION

TRANSPORT
SERVICE ACCESS

Connects to the server

NETWORK

A clean service-level control/data plane split
Service Controller (control)
●

Runs on the user-space level

●

Manages service resolution

●

Listens for service-related events

●

Monitors service performance

●

Communicates with other controllers

Service Access Layer (data)
●

Maintains the service table and flow table

●

Communicates with applications using Active Sockets

●

●

Late binds connections to services and maintains them across
changes between interfaces
Load balance between a pool of replicas
Service Access Layer (SAL)

APPLICATION

bind(serviceID)

TRANSPORT
SERVICE ACCESS
NETWORK

resolve(serviceID) - demux(flowID)

forward(IP)
Programming with the
Serval Active Sockets API
PF_INET

PF_SERVAL

s = socket(PF_INET)

s = socket(PF_SERVAL)

bind(s, locIP:port)

bind(s, locServID)

//Datagram

//Unconnected Datagram

sendto(s, IP:port, data)

sendto(s, srvID, data)

//Stream

//Connection

connect(s, IP:port)

connect(s, srvID)

accept(s, &IP:port)

accept(s, &srvID)

send(s, data)

send(s, data)

Firefox Browser needs only 70 changes o_O
A Service-Level Data Plane
Multiple Flows and Migration
●

●

●

Control messages are separate from the data stream
By managing flows in a separate layer, Serval can support
transport protocols other than TCP

Multihoming and Multipathing
–

●

Serval can split a socket's data stream across multiple flows
established and maintained by the SAL on different paths.

(Virtual Machine) Migration
–

Since the transport layer is unaware of flow identifiers and interface
addresses, the SAL can freely migrate a flow from one address,
interface or path to another.
ServalDHT
A leap Toward Freedom in
Service-Centric Networking
The future of Internet
“The Open Internet Is Threatened by
UN's Closed-door Meeting in Dubai”
–

Don Tapscott, 19h ago
“Who oversees the internet?”
Gulfnews.com, 23mins ago

“61 countries able to instantly unplug
from the Internet”
–

DAILY NEWS, 16h ago
“UN Control of the Internet? An Idea
Whose Time Will Never Come”

“The Future Of Internet Freedom”
–

Tom Ashbrook, 5h ago

–

The Internationalist, 12h ago
Declaration of Internet Freedom
●
●

●

●

●

Expression: Don’t censor the Internet.
Access: Promote universal access to fast and affordable
networks.
Openness: Keep the Internet an open network where
everyone is free to connect, communicate, write, read, watch,
speak, listen, learn, create and innovate.
Innovation: Protect the freedom to innovate and create
without permission. Don’t block new technologies, and don’t
punish innovators for their users’ actions.
Privacy: Protect privacy and defend everyone’s ability to
control how their data and devices are used.

[don't censor the web]
Chord
●

A scalable peer-to-peer lookup service

●

Given a key, it maps the key onto a node

●

Requires no special servers

●

Adapts efficiently as nodes join and leave

●

●

●

In an N-node system each node maintains information about
O(logN) other nodes and resolves all lookups via O(logN)
messages to other nodes.
Needs routing information about only a few other nodes
Unlike DNS, Chord can be used to find data not tied to a
particular machine
ServalDHT
●

DHT – Distributed Hash Tables

●

A decentralized DHT service resolution service (SRS)

●

Gets human readable service name and
–
–

or forwards the packet directly to the server

–
●

either returns the serviceID back to the client
caches the (serviceID, IP) tuple for future use

Flat namespace (with SHA-256 (n=256) and one billion messages (p=109) then the
probability of collision is about 4.3*10-60)

●

Users register services with their public keys

●

Incrementally deployable

●

Can be utilized by independent networks for service (or data) identifier
resolution
–

Along with the Internet, the two namespaces should not overlap!
Serval vs ServalDHT
Serval

ServalDHT

Decouples the transport layer (IPs) from the The same + improves security utilizing
application one (services)
cryptographic host identifiers
The service resolution relies
hierarchical DNS-like service

on

an The service resolution is based on a
decentralized
peer-to-peer
service
maintained by (users,) ISPs and tier {1,2,3}
operators

serviceIDs are (annually) purchased by an Hashed service names get permanently
IANA-like organization
registered as serviceIDs to a public key
The namespace remains hierarchical

ServalDHT's introduced namespace is flat

Prone to DDoS attacks

High robustness against targeted attacks

Requests are routed hierarchically thus

May cause router stretching

DNS can cache both data and hierarchy info DHT SRS can proactively cache only
(serviceID, IP) tuples
ServalDHT – Any ideas?
●

Flat namespace – block allocation? Last 3 bits?

●

Security? - Host Identity Protocol

●

Registration of service names to the right owners without an
IANA-like organization?

●

Router stretching?

●

Test on PlanetLab?

●

OpenFlow support?
ServalDHT – Next steps
●

Read papers relative to
–

Service-defined networks

–

DHTs (Chord, DHT vs DNS, DNS caching etc)

–

Host Identity Protocol

●

Implement a DHT Service-Resolution-Service Demo

●

Test on PlanetLab (?)

●

Prepare the final thesis and a (ready for publication) paper

●

Commit an RFC

More Related Content

What's hot (20)

Transportlayer tanenbaum
Transportlayer tanenbaumTransportlayer tanenbaum
Transportlayer tanenbaum
 
Transport layer
Transport layerTransport layer
Transport layer
 
Network layer tanenbaum
Network layer tanenbaumNetwork layer tanenbaum
Network layer tanenbaum
 
Transport layer interface
Transport layer interface Transport layer interface
Transport layer interface
 
Week10 transport
Week10 transportWeek10 transport
Week10 transport
 
The Transport Layer
The Transport LayerThe Transport Layer
The Transport Layer
 
Lec 12(Transport Layer)
Lec 12(Transport Layer)Lec 12(Transport Layer)
Lec 12(Transport Layer)
 
Transport layer
Transport layerTransport layer
Transport layer
 
Tcp Udp Icmp And The Transport Layer
Tcp Udp Icmp And The Transport LayerTcp Udp Icmp And The Transport Layer
Tcp Udp Icmp And The Transport Layer
 
Networking Basics with Linux
Networking Basics with LinuxNetworking Basics with Linux
Networking Basics with Linux
 
Transport Layer Part 1
Transport Layer Part 1Transport Layer Part 1
Transport Layer Part 1
 
Computer networking
Computer networkingComputer networking
Computer networking
 
IPv6 .pdf
IPv6 .pdfIPv6 .pdf
IPv6 .pdf
 
20CS2008 Computer Networks
20CS2008 Computer Networks20CS2008 Computer Networks
20CS2008 Computer Networks
 
transport layer protocols
transport layer protocolstransport layer protocols
transport layer protocols
 
transport layer
transport layer transport layer
transport layer
 
Network Layer
Network LayerNetwork Layer
Network Layer
 
Transport Layer In Computer Network
Transport Layer In Computer NetworkTransport Layer In Computer Network
Transport Layer In Computer Network
 
TCP/IP – Transmission Control Protocol/ Internet Protocol
TCP/IP – Transmission Control Protocol/ Internet ProtocolTCP/IP – Transmission Control Protocol/ Internet Protocol
TCP/IP – Transmission Control Protocol/ Internet Protocol
 
Transport Layer
Transport LayerTransport Layer
Transport Layer
 

Viewers also liked (9)

50 common verbs
50 common verbs50 common verbs
50 common verbs
 
Paula andrea pelaez gil
Paula andrea pelaez gilPaula andrea pelaez gil
Paula andrea pelaez gil
 
NP Complete Problems -- Internship
NP Complete Problems -- InternshipNP Complete Problems -- Internship
NP Complete Problems -- Internship
 
Internship
InternshipInternship
Internship
 
Draft Article - V1
Draft Article - V1Draft Article - V1
Draft Article - V1
 
Working with Xcode and Swift Package Manager
Working with Xcode and Swift Package ManagerWorking with Xcode and Swift Package Manager
Working with Xcode and Swift Package Manager
 
$ make install
$ make install$ make install
$ make install
 
Cinema 2 2
Cinema 2 2Cinema 2 2
Cinema 2 2
 
Cinema 2 3
Cinema 2 3Cinema 2 3
Cinema 2 3
 

Similar to ServalDHT

PLNOG16: Data center interconnect dla opornych, Krzysztof Mazepa
PLNOG16: Data center interconnect dla opornych, Krzysztof MazepaPLNOG16: Data center interconnect dla opornych, Krzysztof Mazepa
PLNOG16: Data center interconnect dla opornych, Krzysztof MazepaPROIDEA
 
Computer networking (nnm)
Computer networking (nnm)Computer networking (nnm)
Computer networking (nnm)nnmaurya
 
layering.pdf
layering.pdflayering.pdf
layering.pdfBoostHub
 
Fundamentals of Networking
Fundamentals of NetworkingFundamentals of Networking
Fundamentals of NetworkingIsrael Marcus
 
Protocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNGerardo Pardo-Castellote
 
Introduction to Computer Networks and Network Security.pptx
Introduction to Computer Networks and Network Security.pptxIntroduction to Computer Networks and Network Security.pptx
Introduction to Computer Networks and Network Security.pptxShehanMarasinghe1
 
OSI model and TCP/IP model
OSI model and TCP/IP modelOSI model and TCP/IP model
OSI model and TCP/IP modelRubal Sagwal
 
ip net basic understanding slide show ppt
ip net basic understanding slide show pptip net basic understanding slide show ppt
ip net basic understanding slide show pptlolo749806
 
Network architecture
Network architectureNetwork architecture
Network architecturecsk selva
 
Network Essentials v2.0
Network Essentials v2.0Network Essentials v2.0
Network Essentials v2.0Hossein Zahed
 
Networrrrrrrrkkkk secuiiirtyyyyyyyyyyyyyyyyyyyy
Networrrrrrrrkkkk secuiiirtyyyyyyyyyyyyyyyyyyyyNetworrrrrrrrkkkk secuiiirtyyyyyyyyyyyyyyyyyyyy
Networrrrrrrrkkkk secuiiirtyyyyyyyyyyyyyyyyyyyyAvishek Maitra
 
Network programming in Java
Network programming in JavaNetwork programming in Java
Network programming in JavaTushar B Kute
 
QuadraSpace Protocol
QuadraSpace ProtocolQuadraSpace Protocol
QuadraSpace Protocolquadraspace
 
Installation Of An Iso Image Dvd
Installation Of An Iso Image DvdInstallation Of An Iso Image Dvd
Installation Of An Iso Image DvdSusan Cox
 
Network architecture - part-I
Network architecture - part-INetwork architecture - part-I
Network architecture - part-Icsk selva
 
Client server architecture
Client server architectureClient server architecture
Client server architectureShafique Rehman
 

Similar to ServalDHT (20)

PLNOG16: Data center interconnect dla opornych, Krzysztof Mazepa
PLNOG16: Data center interconnect dla opornych, Krzysztof MazepaPLNOG16: Data center interconnect dla opornych, Krzysztof Mazepa
PLNOG16: Data center interconnect dla opornych, Krzysztof Mazepa
 
Computer networking (nnm)
Computer networking (nnm)Computer networking (nnm)
Computer networking (nnm)
 
layering.pdf
layering.pdflayering.pdf
layering.pdf
 
Fundamentals of Networking
Fundamentals of NetworkingFundamentals of Networking
Fundamentals of Networking
 
Protocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDN
 
Transport layer
Transport layer Transport layer
Transport layer
 
Introduction to Computer Networks and Network Security.pptx
Introduction to Computer Networks and Network Security.pptxIntroduction to Computer Networks and Network Security.pptx
Introduction to Computer Networks and Network Security.pptx
 
OSI model and TCP/IP model
OSI model and TCP/IP modelOSI model and TCP/IP model
OSI model and TCP/IP model
 
Serval project report
Serval project reportServal project report
Serval project report
 
MPLS ppt
MPLS pptMPLS ppt
MPLS ppt
 
ip-basics.ppt
ip-basics.pptip-basics.ppt
ip-basics.ppt
 
ip net basic understanding slide show ppt
ip net basic understanding slide show pptip net basic understanding slide show ppt
ip net basic understanding slide show ppt
 
Network architecture
Network architectureNetwork architecture
Network architecture
 
Network Essentials v2.0
Network Essentials v2.0Network Essentials v2.0
Network Essentials v2.0
 
Networrrrrrrrkkkk secuiiirtyyyyyyyyyyyyyyyyyyyy
Networrrrrrrrkkkk secuiiirtyyyyyyyyyyyyyyyyyyyyNetworrrrrrrrkkkk secuiiirtyyyyyyyyyyyyyyyyyyyy
Networrrrrrrrkkkk secuiiirtyyyyyyyyyyyyyyyyyyyy
 
Network programming in Java
Network programming in JavaNetwork programming in Java
Network programming in Java
 
QuadraSpace Protocol
QuadraSpace ProtocolQuadraSpace Protocol
QuadraSpace Protocol
 
Installation Of An Iso Image Dvd
Installation Of An Iso Image DvdInstallation Of An Iso Image Dvd
Installation Of An Iso Image Dvd
 
Network architecture - part-I
Network architecture - part-INetwork architecture - part-I
Network architecture - part-I
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 

Recently uploaded

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 educationjfdjdjcjdnsjd
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
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...Martijn de Jong
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Recently uploaded (20)

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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
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...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

ServalDHT

  • 4. Multiple servers Data Services Replicated Different Locations Mobile clients Many Interfaces (multi-homed) Million simultaneous users
  • 5. The Network Stack remains the same! ...creating problems APPLICATION TRANSPORT NETWORK
  • 7. APPLICATION TRANSPORT NETWORK Demultiplexing (remote IP, remote port, local IP, local port, protocol) change IP address ? migration? change interface? load balance every singe packet? applications must know (remote IP – remote port)
  • 8. APPLICATION TRANSPORT NETWORK Applications “early-bind” on IP address and TCP/UDP ports. out-of-band look-up mechanisms or a priori knowledge? caching of ip-port? multiple services? slow failover specifies application protocol do we really need to know server's location?
  • 9. Proposal : Service Access Layer APPLICATION TRANSPORT SERVICE ACCESS NETWORK Erik Nordström Michael J. Freedman
  • 10. Proposal : Service Access Layer APPLICATION TRANSPORT SERVICE ACCESS NETWORK Connects to the server Maintains connectivity
  • 11. Serval Abstractions : Service Names ● Human-readable, correspond to a real service (e.g. facebook) ● Reference a group of processes offering the same service ● Mapped to machine-readable 256-bit serviceIDs (through “DNS”, flooding or DHTs), allocated in blocks Why? ● Decouple services from their location ● Warrant late binding ● Enable service-level routing and forwarding ● Make load-balancing easier ● Help with building and managing services
  • 12. Serval Abstractions : Flows ● (dstIP, dstPort, srcIP, srcPort, protocol) -> flowID ● Do not encode the application protocol ● There is no need for port numbers ● Help when interacting with middleboxes ● Are network-layer oblivious (same for IPv4 and IPv6) ● Help maintain connectivity ● Reduce the overload of identifiers within and across the layers ● Are host-local and ephemeral ● Empower migration, mobility and multiple paths
  • 14. Service Access Layer (SAL) APPLICATION APPLICATION TRANSPORT SERVICE ACCESS Connects to the server NETWORK A clean service-level control/data plane split
  • 15. Service Controller (control) ● Runs on the user-space level ● Manages service resolution ● Listens for service-related events ● Monitors service performance ● Communicates with other controllers Service Access Layer (data) ● Maintains the service table and flow table ● Communicates with applications using Active Sockets ● ● Late binds connections to services and maintains them across changes between interfaces Load balance between a pool of replicas
  • 16. Service Access Layer (SAL) APPLICATION bind(serviceID) TRANSPORT SERVICE ACCESS NETWORK resolve(serviceID) - demux(flowID) forward(IP)
  • 17. Programming with the Serval Active Sockets API PF_INET PF_SERVAL s = socket(PF_INET) s = socket(PF_SERVAL) bind(s, locIP:port) bind(s, locServID) //Datagram //Unconnected Datagram sendto(s, IP:port, data) sendto(s, srvID, data) //Stream //Connection connect(s, IP:port) connect(s, srvID) accept(s, &IP:port) accept(s, &srvID) send(s, data) send(s, data) Firefox Browser needs only 70 changes o_O
  • 19. Multiple Flows and Migration ● ● ● Control messages are separate from the data stream By managing flows in a separate layer, Serval can support transport protocols other than TCP Multihoming and Multipathing – ● Serval can split a socket's data stream across multiple flows established and maintained by the SAL on different paths. (Virtual Machine) Migration – Since the transport layer is unaware of flow identifiers and interface addresses, the SAL can freely migrate a flow from one address, interface or path to another.
  • 20. ServalDHT A leap Toward Freedom in Service-Centric Networking
  • 21. The future of Internet “The Open Internet Is Threatened by UN's Closed-door Meeting in Dubai” – Don Tapscott, 19h ago “Who oversees the internet?” Gulfnews.com, 23mins ago “61 countries able to instantly unplug from the Internet” – DAILY NEWS, 16h ago “UN Control of the Internet? An Idea Whose Time Will Never Come” “The Future Of Internet Freedom” – Tom Ashbrook, 5h ago – The Internationalist, 12h ago
  • 22. Declaration of Internet Freedom ● ● ● ● ● Expression: Don’t censor the Internet. Access: Promote universal access to fast and affordable networks. Openness: Keep the Internet an open network where everyone is free to connect, communicate, write, read, watch, speak, listen, learn, create and innovate. Innovation: Protect the freedom to innovate and create without permission. Don’t block new technologies, and don’t punish innovators for their users’ actions. Privacy: Protect privacy and defend everyone’s ability to control how their data and devices are used. [don't censor the web]
  • 23. Chord ● A scalable peer-to-peer lookup service ● Given a key, it maps the key onto a node ● Requires no special servers ● Adapts efficiently as nodes join and leave ● ● ● In an N-node system each node maintains information about O(logN) other nodes and resolves all lookups via O(logN) messages to other nodes. Needs routing information about only a few other nodes Unlike DNS, Chord can be used to find data not tied to a particular machine
  • 24. ServalDHT ● DHT – Distributed Hash Tables ● A decentralized DHT service resolution service (SRS) ● Gets human readable service name and – – or forwards the packet directly to the server – ● either returns the serviceID back to the client caches the (serviceID, IP) tuple for future use Flat namespace (with SHA-256 (n=256) and one billion messages (p=109) then the probability of collision is about 4.3*10-60) ● Users register services with their public keys ● Incrementally deployable ● Can be utilized by independent networks for service (or data) identifier resolution – Along with the Internet, the two namespaces should not overlap!
  • 25. Serval vs ServalDHT Serval ServalDHT Decouples the transport layer (IPs) from the The same + improves security utilizing application one (services) cryptographic host identifiers The service resolution relies hierarchical DNS-like service on an The service resolution is based on a decentralized peer-to-peer service maintained by (users,) ISPs and tier {1,2,3} operators serviceIDs are (annually) purchased by an Hashed service names get permanently IANA-like organization registered as serviceIDs to a public key The namespace remains hierarchical ServalDHT's introduced namespace is flat Prone to DDoS attacks High robustness against targeted attacks Requests are routed hierarchically thus May cause router stretching DNS can cache both data and hierarchy info DHT SRS can proactively cache only (serviceID, IP) tuples
  • 26. ServalDHT – Any ideas? ● Flat namespace – block allocation? Last 3 bits? ● Security? - Host Identity Protocol ● Registration of service names to the right owners without an IANA-like organization? ● Router stretching? ● Test on PlanetLab? ● OpenFlow support?
  • 27. ServalDHT – Next steps ● Read papers relative to – Service-defined networks – DHTs (Chord, DHT vs DNS, DNS caching etc) – Host Identity Protocol ● Implement a DHT Service-Resolution-Service Demo ● Test on PlanetLab (?) ● Prepare the final thesis and a (ready for publication) paper ● Commit an RFC