public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] Starting a cellular network
@ 2015-10-16 20:16 Jesse
  2015-10-17 15:18 ` fboehm
  0 siblings, 1 reply; 2+ messages in thread
From: Jesse @ 2015-10-16 20:16 UTC (permalink / raw)
  To: b.a.t.m.a.n

Hey guys,

I tried the IRC and didn't get a response. I have limited time on the 
Internet each day so I thought I'd try here. I would like to develop a 
cellular network which runs off of ad hoced 802.11 technology. I'm kind 
of tired having to pay a $40 cellphone bill to keep in contact with two 
other people (at most). I see no justification in this since there are 
already so many more viable options available.

I would like to develop an open standard which is free for everyone to 
implement and utilize for their own needs. Before I get people 
commenting on how it's already been done, I'd like to say, not like this.

The system I'm proposing is built on top of 802.11 ad hoc. Messages are 
chopped into 4096 byte segments before delivery (I'm considering upping 
that to 10 kB). It's capable of delivering text messages, walkie-talkie, 
and files.

I have used avahi-autoipd to implement an IPv4 connection over this 
network and have given all devices in the network, the same BSSID, SSID, 
and channel.

This network uses two ports 4100 and 4200. 4100 is for broadcasts. 4200 
is for TCP connections with surrounding peers. Each json message is 
stamped with a 30 character id. The first 15 characters are an sha512 
hash of the message recipient's public key. The second are an sha512 
hash of the message itself.

Each node keeps up with the last 1000 segments it's been given (in RAM). 
Anything older than that is deleted.

Every 30 seconds (timer starts when peer joins network) nodes send out a 
get broadcast for their messages via UDP (GET SHA-KEY-HASH UNIQUE ID). 
Each peer in the network rebroadcasts this message. Hashes of the last 
1000 messages are kept in each server as well. If a message hash is 
already in server, it isn't rebroadcast (no loops). After the broadcast 
for messages, the network sends a json list back to them containing all 
the messages the network has which are addressed to that user.

It is the user's discretion which messages to request from the group 
from there. Basically, they pick out the ones they don't already have. 
Another get request is sent GET HASHED-KEY-MESSAGE-HASH (the unique ID 
for the entire message). The particular message is sent back to the user 
(via TCP), using paths constructed from the GET requests.

I would like to extend this to an online P2P network so recipients could 
be part of a global community. Imagine texting your friends in country-x 
for free because someone was kind enough to plug their tower into their 
wifi network. By default, this will not share an Internet connection, 
just texting, walkie-talkie, and file-sharing. I've heard so many people 
complaining about the B.A.T.M.A.N. network sharing their Internet 
connection and them routing it through a VPS to avoid any legal problems.

I have a problem with my service though. If/When the numbers reach 
10,000 users, I don't really see everyone in the network requesting 
their messages from everyone else in the network.

The possibilities of this network would be endless. No more texting fees 
from major carriers for one. No Internet security risks from sharing the 
network. If the power and Internet went out in areas, people would still 
be able to chat via battery back-up towers they build themselves. Since 
there will be online gateways, there's the possibility that any device 
with wifi access can communicate with these open standard gateways and 
deliver messages to anyone on the network (direct Internet access or 
not). Friends could download your messages when you're offline. Then you 
just request them from others on your friend's list.

Any help with this would be extremely appreciated. I want this to work 
out of the box. I have my own money making schemes for this service 
worked up already and would like to make an entire industry from it. 
Thank you all and sorry for the wall of text. Have a nice day guys.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [B.A.T.M.A.N.] Starting a cellular network
  2015-10-16 20:16 [B.A.T.M.A.N.] Starting a cellular network Jesse
@ 2015-10-17 15:18 ` fboehm
  0 siblings, 0 replies; 2+ messages in thread
From: fboehm @ 2015-10-17 15:18 UTC (permalink / raw)
  To: b.a.t.m.a.n

Am 16.10.15 um 22:16 schrieb Jesse:
> Hey guys,
>
> I tried the IRC and didn't get a response. I have limited time on the
> Internet each day so I thought I'd try here. I would like to develop a
> cellular network which runs off of ad hoced 802.11 technology. I'm kind
> of tired having to pay a $40 cellphone bill to keep in contact with two
> other people (at most). I see no justification in this since there are
> already so many more viable options available.
>
> I would like to develop an open standard which is free for everyone to
> implement and utilize for their own needs. Before I get people
> commenting on how it's already been done, I'd like to say, not like this.
>
> The system I'm proposing is built on top of 802.11 ad hoc. Messages are
> chopped into 4096 byte segments before delivery (I'm considering upping
> that to 10 kB). It's capable of delivering text messages, walkie-talkie,
> and files.
>
> I have used avahi-autoipd to implement an IPv4 connection over this
> network and have given all devices in the network, the same BSSID, SSID,
> and channel.
>
> This network uses two ports 4100 and 4200. 4100 is for broadcasts. 4200
> is for TCP connections with surrounding peers. Each json message is
> stamped with a 30 character id. The first 15 characters are an sha512
> hash of the message recipient's public key. The second are an sha512
> hash of the message itself.
>
> Each node keeps up with the last 1000 segments it's been given (in RAM).
> Anything older than that is deleted.
>
> Every 30 seconds (timer starts when peer joins network) nodes send out a
> get broadcast for their messages via UDP (GET SHA-KEY-HASH UNIQUE ID).
> Each peer in the network rebroadcasts this message. Hashes of the last
> 1000 messages are kept in each server as well. If a message hash is
> already in server, it isn't rebroadcast (no loops). After the broadcast
> for messages, the network sends a json list back to them containing all
> the messages the network has which are addressed to that user.
>
> It is the user's discretion which messages to request from the group
> from there. Basically, they pick out the ones they don't already have.
> Another get request is sent GET HASHED-KEY-MESSAGE-HASH (the unique ID
> for the entire message). The particular message is sent back to the user
> (via TCP), using paths constructed from the GET requests.
>
> I would like to extend this to an online P2P network so recipients could
> be part of a global community. Imagine texting your friends in country-x
> for free because someone was kind enough to plug their tower into their
> wifi network. By default, this will not share an Internet connection,
> just texting, walkie-talkie, and file-sharing. I've heard so many people
> complaining about the B.A.T.M.A.N. network sharing their Internet
> connection and them routing it through a VPS to avoid any legal problems.
>
> I have a problem with my service though. If/When the numbers reach
> 10,000 users, I don't really see everyone in the network requesting
> their messages from everyone else in the network.
>
> The possibilities of this network would be endless. No more texting fees
> from major carriers for one. No Internet security risks from sharing the
> network. If the power and Internet went out in areas, people would still
> be able to chat via battery back-up towers they build themselves. Since
> there will be online gateways, there's the possibility that any device
> with wifi access can communicate with these open standard gateways and
> deliver messages to anyone on the network (direct Internet access or
> not). Friends could download your messages when you're offline. Then you
> just request them from others on your friend's list.
>
> Any help with this would be extremely appreciated. I want this to work
> out of the box. I have my own money making schemes for this service
> worked up already and would like to make an entire industry from it.
> Thank you all and sorry for the wall of text. Have a nice day guys.
>

Hi Jesse,

without judging your idea I just want to mention http://opengarden.com

Maybe there are some similarities to your concept/vision.

Franz

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-10-17 15:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-16 20:16 [B.A.T.M.A.N.] Starting a cellular network Jesse
2015-10-17 15:18 ` fboehm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox