This is not a BATMAN specific question, but I see very clueful chatter here and would appreciate any comments.
My question is:
Who provides IP addresses in a truly ad-hoc, truly "peer only" mesh network ?
That is, if I create a pool of clients, and have no centralized authority of any kind - every node is a peer, and is simply a client talking to other clients, how does anyone get an IP address ?
This assumes that there is no connection to the proper Internet and that this is simply a small pool of clients arranged to perform peer to peer networking. But again, if it is an IP network ... how would you get IPs properly ?
If you guess ahead of time, you will either be on different IP networks/subnets, or you will collide your addresses.
If you have no DHCP servers, that won't work ...
The only thing I can think of is that _everyone_ is a DHCP server and you somehow manage timing so as to decide who should get an address from whom ...
Please do point me to any writings or information related to this.
Thanks.
On Tue, Dec 08, 2009 at 08:24:01PM -0800, George Sanders wrote:
This is not a BATMAN specific question, but I see very clueful chatter here and would appreciate any comments.
My question is:
Who provides IP addresses in a truly ad-hoc, truly "peer only" mesh network ?
One option is IPv6 and link local addresses. These are derived from the MAC address, plus duplicate address detection, to ensure the IP address is unique. http://tools.ietf.org/html/rfc4862
Another option is zeroconf, http://en.wikipedia.org/wiki/Zeroconf, http://tools.ietf.org/html/rfc3927.
Another option is statically configure all the boxes with a unique IP address from a well know subnet. It is often worth remembering that a truly ad-hoc, truly "peer only" mesh network is used within some sort of organization. The organization can impose management rules.
Andrew
Hello,
My question is:
Who provides IP addresses in a truly ad-hoc, truly "peer only" mesh network ?
One option is IPv6 and link local addresses. These are derived from the MAC address, plus duplicate address detection, to ensure the IP address is unique. http://tools.ietf.org/html/rfc4862
Another option is zeroconf, http://en.wikipedia.org/wiki/Zeroconf, http://tools.ietf.org/html/rfc3927.
Another option is statically configure all the boxes with a unique IP address from a well know subnet. It is often worth remembering that a truly ad-hoc, truly "peer only" mesh network is used within some sort of organization. The organization can impose management rules.
Yes, I do agree that many real world ad-hoc networks will be deployed by an organized group and that we can speak of pre-existing arrangements, or rules, but I am exploring the extreme cases where individuals randomly congregate and have nothing but a common toolset, and there are no server "roles" being played.
Thank you for the pointer to zeroconf, as it is right along the lines of what I was thinking about.
Out of curiousity, what does the freifunk network use for assigning IPs ?
Hi!
Out of curiousity, what does the freifunk network use for assigning IPs ?
At Freifunk Berlin users register with a user name and a valid e-mail address. Then you can register IPs in the data base.
Cheers, Elektra
* elektra onelektra@gmx.net [09.12.2009 21:40]:
Out of curiousity, what does the freifunk network use for assigning IPs ?
At Freifunk Berlin users register with a user name and a valid e-mail address. Then you can register IPs in the data base.
At Freifunk Weimar each new flashed router assigns a random IP-Adress out of a reserved IP-Range for 100 Nodes.
Each 15mins the node tries to register an offical IP with his SSH-PUBKEY on a central server and reassigns the new IP. (which includes IP's for WAN/LAN/WIFI/HNA4/lan+wifi-DHCP)
So we have a strict mapping SSHPUBKEY <--> IP. We need zero user-interaction for settings up a new node. The SSH-PUB-KEY normally never changes in the live of a node.
bye, Bastian
PS: we have about 600 registered routers/nodes (but not all are active)
Out of curiousity, what does the freifunk network use for assigning IPs ?
At Freifunk Berlin users register with a user name and a valid e-mail address. Then you can register IPs in the data base.
Hmm... so in Berlin they register with an email, and in Weimar they pair IP+ssh_pub_key, and in Brussels they have a custom dhcp giving out non-routable ipv4 addresses...
This is very interesting - thank you for the examples.
However, all of the examples imply a centralized authority, ranging from an email registration hub to various DHCP servers.
Are any freifunk networks purely peer-to-peer, without any "server" or "core" nodes ?
That is, are any freifunk networks using ipv6 autoconf, or zeroconf ?
Thanks.
Hi George -
Are any freifunk networks purely peer-to-peer, without any "server" or "core" nodes ?
That is, are any freifunk networks using ipv6 autoconf, or zeroconf ?
I suggest to post this question on the Freifunk mailing list.
Cheers, Elektra
Our design work needs to contemplate that a single mesh network will eventually span the planet (although it may need extra links to get from continent to continent), and involve billions of nodes. We are re-creating the Internet without trunk lines.
-- Jon
---------------------------------------------------------------------- Linux Migration Network 2900 W Anderson Ln C-200-322, Austin, TX 78757 512/299-5001 www.linux-migration.net jroland@linux-migration.net ----------------------------------------------------------------------
On Wed, Dec 16, 2009 at 11:05:43AM -0600, Jon Roland wrote:
Our design work needs to contemplate that a single mesh network will eventually span the planet (although it may need extra links to get from continent to continent)
Why? batman-adv works over wired as well as wireless links. Just use Ethernet over SONET, or what ever your fiber run under the oceans.
and involve billions of nodes. We are re-creating the Internet without trunk lines.
So you are proposing a flat layer 2 network with billions of nodes. What do you think will happen to performance when billions of nodes receive every ARP broadcast?
Andrew
On Dec 16, 2009, at 10:55 PM, Jon Roland wrote:
Exactly my point. If enough open mesh networks proliferate they will eventually all mesh with one another and if we don't have a way to cope with it, we will have a severe performance problem.
Our present financial crisis arose from the use by hedge fund managers of the Black-Sholes algorithm that promised its users that it would "hardly ever fail", but for which I showed if enough players used it, failure would be inevitable and disastrous.
We need solutions that can scale to any possible size.
To the best of my knowledge solid engineering is always a trade-off. So you can scalability but then you get less mobility (zigbee is one of a hell scalable solution. But most of the time zigbee nodes never use the air :) )
On 12/16/2009 12:43 PM, Andrew Lunn wrote:
So you are proposing a flat layer 2 network with billions of nodes. What do you think will happen to performance when billions of nodes receive every ARP broadcast?
-- Jon
Linux Migration Network 2900 W Anderson Ln C-200-322, Austin, TX 78757 512/299-5001 www.linux-migration.net jroland@linux-migration.net
B.A.T.M.A.N mailing list B.A.T.M.A.N@lists.open-mesh.net https://lists.open-mesh.net/mm/listinfo/b.a.t.m.a.n
Hi George,
if you are really talking about "and is simply a client talking to other clients" as you said before, then IPv6 autoconf is the way to go as Andrew mentioned before.
Are any freifunk networks purely peer-to-peer, without any "server" or "core" nodes ?
That is, are any freifunk networks using ipv6 autoconf, or zeroconf ?
Here in Lübeck we are currently experimenting with such an IPv6-mesh-only network. Because of BTM-Adv a completely adhoc ip-assignment is possible as long as your mac adresses in your network are unique (as they should be). If it were just for communications inside of the mesh without any routing from this mesh to hosts outside of the mesh, you can even use the automatically assigned link-local adresses - this is working out of the box in most current operating systems.
So basically our intention is to not have the mesh network as an uplink directly to the internet but more as a dedicated metropolitan area network, a switched "LAN". In this MAN everyone shall be free to set up VPNs for their internet gateway / to their home network. Of course this is a trade-off about usability on the other hand as setting up a VPN is not a trivial task for "common" people... but don't know what your specific goal is. Could you expain your intention a little further maybe?
We were also running in some trouble with those link-local adresses, not all applications seem to support this properly. Therefore we were assigning additional ipv6 unique local addresses with the help of radvd (and limited this to the local wifi/ethernet clients on one router with the help of ebtables). (this should also be possible with dhcpv6 instead of using radvd though, I guess)
I'm not aware of any routing protocol supporting dynamic, decentral ipv4+6 internet gatewaying over a ipv6-only mesh network yet. Though there are discussions about how this could be achieved on the BATMAN-Adv side as well. I'm also curious about what the Berlin Freifunk guys are up to with NIIT, gotta have a look at the workshop/discussion during the 26c3. Has anyone heard of IVI (or totd) yet? I think this should make routing packets between the ipv4 and ipv6 stack possible.
Cheers, Linus
On Wed, Dec 9, 2009 at 9:35 PM, George Sanders gosand1982@yahoo.com wrote:
Hello,
My question is:
Who provides IP addresses in a truly ad-hoc, truly "peer only" mesh network ?
One option is IPv6 and link local addresses. These are derived from the MAC address, plus duplicate address detection, to ensure the IP address is unique. http://tools.ietf.org/html/rfc4862
Another option is zeroconf, http://en.wikipedia.org/wiki/Zeroconf, http://tools.ietf.org/html/rfc3927.
Another option is statically configure all the boxes with a unique IP address from a well know subnet. It is often worth remembering that a truly ad-hoc, truly "peer only" mesh network is used within some sort of organization. The organization can impose management rules.
Yes, I do agree that many real world ad-hoc networks will be deployed by an organized group and that we can speak of pre-existing arrangements, or rules, but I am exploring the extreme cases where individuals randomly congregate and have nothing but a common toolset, and there are no server "roles" being played.
Thank you for the pointer to zeroconf, as it is right along the lines of what I was thinking about.
Out of curiousity, what does the freifunk network use for assigning IPs ?
In Brussels, PhilV wrote a patch to udhcpd assign 10.x.x.x adresses from the last digits of the MAC address:
http://reseaucitoyen.be/wiki/index.php/PatchesUdhcpd http://bulles.topgame.be/ReseauCitoyen/udhcp.patch
* Benjamin Henrion bh@udev.org [10.12.2009 10:50]:
In Brussels, PhilV wrote a patch to udhcpd assign 10.x.x.x adresses from the last digits of the MAC address:
But than you have to NAT outgoing wifi-traffic, which sucks.
bye, Bastian.
On 12/08/2009 08:24 PM, George Sanders wrote:
This is not a BATMAN specific question, but I see very clueful chatter here and would appreciate any comments.
My question is:
Who provides IP addresses in a truly ad-hoc, truly "peer only" mesh network ?
That is, if I create a pool of clients, and have no centralized authority of any kind - every node is a peer, and is simply a client talking to other clients, how does anyone get an IP address ?
This assumes that there is no connection to the proper Internet and that this is simply a small pool of clients arranged to perform peer to peer networking. But again, if it is an IP network ... how would you get IPs properly ?
If you guess ahead of time, you will either be on different IP networks/subnets, or you will collide your addresses.
If you have no DHCP servers, that won't work ...
The only thing I can think of is that _everyone_ is a DHCP server and you somehow manage timing so as to decide who should get an address from whom ...
Please do point me to any writings or information related to this.
Take a look at RFC3927. Also article on Wikipedia about Avahi http://en.wikipedia.org/wiki/Avahi_%28software%29
Gus
Who provides IP addresses in a truly ad-hoc, truly "peer only" mesh network ?
Nobody, as far as I know.
You may want to have a look at AHCP[1], however. When configured for IPv6 only, it gets configuration information (such as the IPv6 prefix and the name server address) from central servers, but behaves in a completely stateless manner -- there is no information stored in the servers.
In IPv4, however, it uses leases, just like DHCP, so it needs to store state in the servers.
Please do point me to any writings or information related to this.
Search for draft-bernardos-manet-autoconf-survey.
Juliusz
b.a.t.m.a.n@lists.open-mesh.org