=== Distributed DNS ===
=== Distributed DNS ===
http://en.wikipedia.org/wiki/Distributed_hash_table Distributed Hash Table (DHT)] - Wikipeda page on DHTs. Has a decent overview of how they work.
http://www.bamboo-dht.org/ Bamboo DHT] - A DHT implementation in Java.
[http://code.google.com/p/upright/ UpRight] - A library for building fault-tolerant distributed systems. Incorporates innovations from modern solutions to Byzantine fault tolerance.
[https://secure.wikimedia.org/wikipedia/en/wiki/Gossip_protocol Gossip Protocols]: Nodes in a network pseudorandomly select peers to exchange information with. Could be useful for distributing the contents of a DHT-based DNS implementation within a mesh network.
[https://secure.wikimedia.org/wikipedia/en/wiki/Kademlia Kademlia] has an interesting way of handling the entry distribution problem. When inserting an entry, it iterates through the table to find suitable nodes in the network to hold that entry and propagates it to them as well as saving a copy locally.
[http://conferences.sigcomm.org/sigcomm/2004/papers/p292-ramasubramanian1111.pdf CoDoNS paper] - A very good paper from 2004 on a distributed DNS alternative. It still relies on centralized domain name registration.
[http://www.cs.cornell.edu/people/egs/beehive/codons.php CoDoNS main page] - It appears that CoDoNS is operational and running on PlanetLab.
Unfortunately, I don't see any code. I see no reason why we can't simply hijack their design.
[http://www.surfnet.nl/Documents/DNSSSEC-web.pdf Tutorial on DNS and DNSSEC]
[http://nms.lcs.mit.edu/projects/ins/ Intentional Naming System] - "INS is a new naming system intended for naming and discovering a variety of resources in future networks of devices and services. It has the following interesting characteristics about the way it names resources and the way names are resolved."
Revision as of 23:17, 12 April 2011
Goal - Reliably bridge two different and separate wireless networks without using existing internet infrastructure.
1) There should be a webserver on each network providing a service of some kind (microblogs, web chat, file dump).
2) Nodes in either network should be able to reach both webservers.
3) Nodes on one network should be able to talk to nodes on the other network and vice versa.
4) Networks should have at least 3-5 nodes each.
Tentative schedule is as follows:
Friday - 8:00pm Pizza and planning (any particular request should email me off list). (COMPLETE!)
Saturday - 9:00am Start showing up (IN PROGRESS!)
Saturday - 10:00am Divide into groups and start the sprint.
Sunday - 10:00am Start showing up.
Sunday - 11:00am Finish the sprint!
Sunday - Evening Debriefing (I'll be taking extensive notes to update the wiki).
We're gonna have two teams each will implement a mesh network using some existing mesh protocol. One team will be working with BATMAN-Advanced and the other with BABEL. Each network will use at least one openwrt device the rest will be laptops and netbooks.
from Wikipedia: Byzantine
The Doctor's writeup.
A few comments on the BATMAN routing protocol
A few more comments on the BATMAN routing protocol