AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful...
Transcript of AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful...
![Page 1: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/1.jpg)
AllNet: UbiquitousInterpersonal Communication
Edoardo BiagioniUniversity of Hawaii at Mãnoa
![Page 2: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/2.jpg)
Basic Idea
● The radio in my cellphone can talk to the radio in your cellphone
● There is no software in my cellphone to talk to the software in your cellphone
● Why not?● What can such ad-hoc communication be
useful for?
![Page 3: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/3.jpg)
Observations
● Useful interpersonal communication do not require much bandwidth
– Ubiquitous connectivity from 1% each
– Twitter and SMS are extremely useful● Despite being limited to 140 characters
● Phones are actually computers● Any centralized system has a central
point of failure
=> distributed system to deliver small amounts of data (text messages)
![Page 4: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/4.jpg)
Outline
● Introduction and Motivation● Basic Design● Forwarding and Routing● Social Network● Resource Control● Architecture● Status and Summary
![Page 5: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/5.jpg)
Basic Design of AllNet
● Designed to work well with few bits and few round-trips
● Untrusted network components require pervasive encryption
● Broadcasting is a backup to Routing– And maybe better in transient networks
● Message prioritization solves many ills
![Page 6: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/6.jpg)
Low bandwidth communication
● Short text messages● Sent best-effort over UDP, WiFi, other
technologies (cognitive), and Internet● Stored permanently at sender● Stored at intermediate nodes until acked
or displaced by higher-priority messages
![Page 7: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/7.jpg)
Security Assumptions
● My device is under my control● Public-Key cryptography is secure● Verifying signatures is fast
● Security should work in a high-school classroom
– must be simple and effective
![Page 8: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/8.jpg)
Romeo meets Juliet
![Page 9: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/9.jpg)
Encryption and Authentication
● Messages between individuals who know each other's public key are:
– Encrypted (RSA, + AES for long msgs)
– Then digitally signed
● I only decrypt if I can verify the signature● Everything else is “from unknown”/spam
![Page 10: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/10.jpg)
Secure Acknowledgements
● Encrypted payload has bytes of ack● Only a recipient that can decrypt the
payload can generate a valid ack
![Page 11: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/11.jpg)
Message Caching
● Intermediate nodes keep message until ack is seen
● Or until they need to reuse the space● Recipient can request cached messages
– Lets recipient be online intermittently
– Data Mules work like intermediate nodes
![Page 12: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/12.jpg)
xchat
● Distributed chat over AllNet● Key exchange● Exchange of encrypted messages
– Sequence numbers and timestamps
– Same seq, newer time is correction
● Pidgin (http://pidgin.im/) as user interface
![Page 13: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/13.jpg)
Outline
● Introduction and Motivation● Basic Design● Forwarding and Routing● Social Network● Resource Control● Architecture● Status and Summary
![Page 14: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/14.jpg)
Message Delivery
● Across the Internet– To Rendezvous Points, if known
– To Distributed Hash Table nodes
– Directly to destination, if possible
● Broadcast on all attached LANs● Hop count limits distribution● Low hop limit gives higher priority
![Page 15: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/15.jpg)
Addressing and Routing
● Addresses are self-selected 64-bit strings– e.g. the hash of “edo using AllNet”
– can use fewer than 64 bits
● Addresses identify parts of the network:– Distributed Hash Table (DHT)
– Configured Rendezvous Points (Rps)
– Nodes that will try to verify and decrypt
● Routing uses broadcast locally– On LANs+for Delay Tolerant Networking
![Page 16: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/16.jpg)
Related work: BitMessage
● In principle, every message broadcast to every node
● Every message kept for two days● If too many messages, messages are stored on
only part of the network● Recipients know which part of the network has
their messages
![Page 17: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/17.jpg)
AllNet Routing Considerations
● When traffic is low, OK to forward everything everywhere
● When traffic is high, only forward high priority messages
● With prioritization, limited broadcast OK● Pure broadcast lessens the effectiveness of
traffic analysis
![Page 18: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/18.jpg)
Outline
● Introduction and Motivation● Basic Design● Forwarding and Routing● Social Network● Resource Control● Architecture● Status and Summary
![Page 19: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/19.jpg)
Distributed Social Network
● I can give you my friends' public keys● If they match yours, we have friends in common● You can introduce me to your friends
– Messages won't go to the spam box
● You can recognize my friends' messages– and give them higher priority
![Page 20: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/20.jpg)
Related Work:Getting people to contribute
Desiato and Biagioni, 2013/2014
● Make it automatic and painless– Limit resource consumption (1% goal)
● People motivated by intrinsic desire to help as well as external rewards
– Community building
– More bandwidth when they need it
– Prizes, certificates, fame
![Page 21: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/21.jpg)
Outline
● Introduction and Motivation● Basic Design● Forwarding and Routing● Social Network● Resource Control● Architecture● Status and Summary
![Page 22: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/22.jpg)
1% WiFi usage
● WiFi in ad-hoc mode (no access point)● Off most of the time, on to send/receive
– beacon announces receiver availability
● Senders must be awake for a receiver cycle to detect beacon
● Sender knows priority of own messages● Sender sleep cycle determines latency
![Page 23: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/23.jpg)
1% WiFi ad-hoc usage: Example
● Receiver awake for 0.1 seconds– must sleep for 9.9 seconds
● Senders must be awake 10 seconds– sleep for 1000 seconds
=> Latency ~20min/hop for messages from unknown senders
● Much faster for messages from known senders
![Page 24: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/24.jpg)
Outline
● Introduction and Motivation● Basic Design● Forwarding and Routing● Social Network● Resource Control● Architecture● Status and Summary
![Page 25: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/25.jpg)
Requirements Overview
● AllNet has to do many things● Many of these are done in parallel:
– Send on different interfaces
– Send to different applications
● Many are independent of each other● Hard to keep track of what to do
– So, do it independently!
![Page 26: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/26.jpg)
Architecture
● A collection of different processes, each doing something different
– ad, the main AllNet Daemon (350 loc)
– abc, broadcast on local interfaces (2K)
– aip, send using IP (1K)
– alocal, send to the local apps (200 loc)
– acache, remember messages (1K)
● The processes communicate over pipes
![Page 27: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/27.jpg)
Process Structure
![Page 28: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/28.jpg)
Collections of Processes:Pros and Cons
● Easier to understand each part– Easier to debug, and fewer bugs
● More secure
● Probably slower● Have to start and kill multiple processes● Only easy to do what fits the model
![Page 29: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/29.jpg)
Outline
● Introduction and Motivation● Basic Design● Forwarding and Routing● Social Network● Resource Control● Status and Summary
![Page 30: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/30.jpg)
AllNet Status
● Version 3 released, tested– xchat application with custom GUI
– time broadcast server
– key exchange and security
– Ping, trace, packet sniffer
● under development– Ports to Android, iOS
– Voice streaming, other multimedia
![Page 31: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/31.jpg)
Summary
● Key exchange is less difficult with portable wireless devices => easier security
● Conventional addresses not very good for mobile devices – some broadcasting required
● Basic connectivity need not require big expensive resources
http://www.alnt.org/
![Page 32: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/32.jpg)
Usage Scenario I
● Internet-connected host with public IP address● Contributes to DHT, stores others' data● Immediate delivery of data from other DHT
nodes that it listens to● May give senders its IP address for direct
delivery
![Page 33: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/33.jpg)
Usage Scenario II
● Mobile Device intermittently connected to Internet
● Carries data (Data Mule) and forwards it based on priority
● Tries to deliver data over ad-hoc network● May use others to deliver its data
![Page 34: AllNet: Ubiquitous Interpersonal Communicationesb/2014fall.ics690/oct23.pdf · Observations Useful interpersonal communication do not require much bandwidth – Ubiquitous connectivity](https://reader030.fdocuments.us/reader030/viewer/2022040414/5f1db81da7f57646e863742b/html5/thumbnails/34.jpg)
Usage Scenario III
● Group separated from the Internet● Supports communication within the group● High data rates supported with direct
communication● May use ad-hoc communication over unrelated
devices