New York City Meshnet
The New York City Meshnet aims to create a fast, cheap, secure internet for anyone in New York City with a wireless device.
We have two nodes up! We're looking for more nodes, if you'd like to connect, join us in the IRC channel (see below) and ask.
IRC Channel is #nycmeshnet on EFNet (web chat)
Written on July 27th, revision 1
Phase 1. Gathering Nodes
The first step in making a successful meshlocal is to actually gather people who are interested in making a meshlocal. We are currently in this phase, and are gathering nodes through IRC, Reddit, and our Google Maps page.
Phase 2. Gathering Equipment
Once we get enough nodes that are close enough to connect to each other, we need equipment to connect to them. I would advise looking at Hardware for the type of equipment we need.
Phase 3. Connecting Nodes
Once we have nodes and the equipment, we need to actually connect people. We will probably do some test runs in the park like the Seattle Meshlocal did.
Phase 4. Connecting to other Meshlocals
Assuming we all can connect to each other, it would be a good idea to try and connect to other nearby meshlocals, such as the Philadelphia Meshlocal.
Instructions: How To Join the Meshnet
- Join us at our meetings to meet the group and get involved. You can also say hello and ask us questions on IRC (efnet.org, #nycmeshnet).
- Look at our growing Meshnet Proposed and Active Nodes Map and place a new pin on your location if you want to setup a node.
- Find "Peers," people close enough to you that you could could establish a wired or wireless link.
- Acquire hardware to establish links to peers in your area.
- We currently recommend this hardware, but the only requirement is that your hardware be compatible with the hardware your peers are using.
- We recommend using at least 802.11n 5ghz radios to keep compatibility with other nodes in NYC.
- Install Hardware and establish links to your peers.
- The preferred wireless mode is Ad-Hoc with an ssid of "nycmesh.net" on channel ?? (It may be necessary to run OpenWRT on your wireless device to enable this)
- Setup your cjdns box:
MeshDay Field Day
To get some hands on experience with establishing a meshnet, we will plan a gathering where we can set up and test a mesh. Once configured together, it will be easier to set up permanent nodes, and help jumpstart the mesh in NYC! The following are specifics which need to be figured:
Date: TBD (First weekend of July or August?)
Location: TBD (A park seems ideal, a large public open space. Central? Prospect? Tompkins?)
Power: There are obvious power requirements for radios and computers.
- Laptop, at least. Preferably with cjdns already installed and configured.
- RaspberryPi, running cjdns, to be used with a laptop which is not running cjdns
- Wifi radio, any wifi AP. Preferably running openWRT and possibly running cjdns. This is a good opportunity to test/compare different radios.
Software: We can do some configuration on the day, but it will be easier to have software pre installed. This is perhaps something we can do at meetings in the weeks leading up to the MeshDay.
Network Configuration: Do we want to test deliberate peering setups, these would have to be organized before the event. Possible configurations:
- Setting cjdns to auto peer with everyone on the same ad hoc network/channel. This should result in everyone peering with everyone. This is less representative of a real world scenario.
- Peering with just 2-3 peers each, picked at random and entered manually. This would hopefully demonstrate cjdns' routing through multiple peers.
- Peering in clusters which are interconnected. Grouping nodes on networks with different channels. This would show how people might be connected to larger nodes in neighborhoods which are interconnected.
Testing Ideas: Once we have the setup configured and peering established, we will be able to run some tests to see how the mesh actually works. Here are some possible tests:
- DNS. Test a system for finding addresses of peers of peers, etc. This will require that software be preinstalled.
- Chat. Set up a chat application, likely based in XMPP. The software would need to be installed beforehand. This should work easily, and is an important basic use of the network. Can be used to test the routing of cjdns.
- File sharing. Another simple test, but more focused on bandwidth/speed. Will also make a nice stress test if we copy lots of files at once between lots of nodes. Test the routing, and the overhead of passing along data without reading it. Where are the bottlenecks?
- Web site. Set up a basic web server on one machine, and have the others browse to it. Good use of DNS. Also test setting up the same website, with the same IP address on 2 or more machines. See how cjdns handles the routing and load distribution.
- Streaming video. Another good speed/bandwith test. Try streaming video via mesh. From one source, or two distributes sources.
Details of the Meshnet
More testing is required for reliable estimates.
The 5 GHz Nanostations on the Hardware page are rated at 100Mbits/second, but note that this always includes significant security and reliability traffic overhead. Also, the 802.11n standard increased the maximum net data rate to 600 Mbit/s in comparison to the 802.11a and 802.11g standard of 54 Mbit/s. 
We estimate that the Meshnet represents savings of over 90% on your current Internet access bill.
We estimate that your hardware costs to join the network will be approximately $200 to install a long-range node and $60 to install a short-range microstation and that this hardware will last for 24 months. If you currently spend $30/month on Internet access for 24 months, the net present value of your access costs is $700.
NYCMeshnet runs on cjdns. “Cjdns guarantees confidentiality, authenticity and integrity of data by using modern cryptography in a non-intrusive way. Information transmitted over a cjdns network can't be altered or read en-route. While you can create multiple identities, it's practically impossible to impersonate other nodes on the network and since a node's IPv6 address is the fingerprint of its key, man-in-the-middle attacks are not possible.”
Schematics of the overall meshnet in your local area as well as the home setup are currently in draft form!
The Technical Stuff
See below for a better sense of how the NYC Meshnet differs from the Internet.
- Meshnet Services
- Decentralized/Distributed Basics
- Search engine
- Knowledge base (e.g., Wikipedia clone)
- Local knowledge base (e.g., reading lists on topics of interest)
- Message boards or microblogging (e.g., twitter)
- Data storage (e.g., torrents?)
- Safe boxes (e.g., anonymous dropboxes)
- Financial transactions (e.g., bitcoin)
- Local Services
- Weather (noaa.gov feed)
- Maps and Directions
- Public Transit Directions (The Weekender?)
- Ride the City Bike Directions
- Public Bike Locations Map
- NYCLU Maps of Surveillance Cameras
- Transportation Alternatives NYPD accident and injury data
- Other cool maps from urban planners, geographers, etc.
- neighborhood.nyc (once TLD is up)
- NYC Events??
- Communication Services
- Chat (Jabber?)
- VoIP phone services
- Tor Gateways, Relays, and Exit Nodes
- Note, Tor currently has open bugs that need attention before IPv6 is fully functional 
- Decentralized/Distributed Basics
- Other Wishes
Attracting Interested Parties
- Outdoor Events and Fairs
- Tech Companies
- Tech Clubs (BitCoin, etc.)
- Individual Technophiles
- Building Owners
Community Outreach and Communications
- Events Ideas and Planning
Covering Public Spaces
- Outdoor Events and Fairs
- Union Square
- Central Park
- Outdoor (Primary)
- Tompkins Square
- Union Square
- Central Park
- Indoor (Secondary)
- alpha one labs
- How can I get involved and/or access the Meshnet if I don't have a computer?
- Meshing this Meshnet with Serval?
- HowTo: Installing cjdns on your non-Mac phone?
I like NYCMeshnet, but I'm wondering if other names would lead to more rapid uptake by interested parties, e.g.,
- Where can we post items for a proposed agenda?
Open Research Questions
- What are the highest priority metrics?
- Are there publicly available modeling software to
- plan our network?
- calculate necessary redundancies?
- estimate cost of bringing Meshnet to your neighborhood, town, city, etc?
- What network monitoring (latency, users, attacks, cpu, etc.) needs to be performed by long-range backbones and microstations?
- Can we automate it and give that to folks on the Raspberry Pi flash?
It's possible that there may be legal advantages and protections to establishing a legal nonprofit organization at some point. This is not something our local is currently pursuing.
- Advantages and Protections
Top Level Domain
It's possible that a new Top Level Domain, .nyc, will soon be selling namespace. Do we want to spend $30-$50/year to own and control any .nyc namespaces?
Functioning as a Provider
It's possible some nodes may want to sell access to the Internet or the Meshnet, sell hardware, maintenance, and or other relevant aspects. This is not something our local is currently pursuing and we leave it to individual nodes to decide whether or not they want to sell any relevant elements of Meshnet access for profit or nonprofit purposes.
NYCMeshnet will first need to be a technological proving/development ground before it can expand to widespread use. There are still a lot of questions about the technology and it's application and limits, so this is a good place to put them and what is being done about it.
There are a lot of different options when it comes to hardware for the mesh. And this is largely a good thing. We want lots of people to be able to participate in the network with various hardware. This means education is especially important. We can only recommend hardware within certain limits; if the participants can educate themselves on their different options, they will be able to make the best case by case judgments in selecting hardware.
- 5Ghz is the choice for the initial test network, leveraging a less crowded frequency band and longer theoretical range limits than 2.4Ghz.
- Exploring different ways of integrating 2.4Ghz hardware into the mesh, either through super/micro adjacent nodes, or parallel 5Ghz and 2.4Ghz nodes, will help to expand the reach of the network to more devices. Eventually promoting wider and easier use. 5Ghz is in no way the ultimate be all and end all of the mesh.
- The Raspberry Pi has been the initial choice for a node running cjdns attached to a radio and an internal IPv4 network, mainly as an inexpensive UNIX machine which shouldn't have problems routing the load for sometime. It will be important to investigate the maximum stresses the pi can handle in routing, and if there is other hardware better suited to this end.
Here is some information on radios/antena design, with mesh networking in mind:
The Technical Stuff
NYCMeshnet is an alternative network to the Internet by which NYC locals provide network services (e.g., email, search engine, websites, directions, etc.) to each other using new infrastructure and wireless signals.
|The Internet||The NYCMeshnet|
|Access||Hierarchic through ISP||Decentralized through neighbor's node(s)|
|Routing||IP||cjdns Mesh routing|
|Domain Name Services||ICANN||.hype / namecoin / cjdns / anything you want to setup|
|Security||None (Cleartext)||End-to-end ??-bit Public Key Encryption|
|Hardware||Router + Modem connected to ISP||Wired or Wireless connection to your neighbors|
|Services Offered||Everything you know as the Internet||Expanding list depending on what people wish to provide and wish to be served (known as Hyperboria)|