This is a description of our network structure. It is a work in progress, some items are not documented. Feel free to fill in the blanks. If you are not sure of an issue, document it anyway and someone will update your entry.
Contents
Visual
See also: Map of a Community Wireless Network
Visio Diagram: Network Layers.vsd
Assumptions
- We assume the network growth is organic. Everyone's not going to jump on board at one time, so we focus on providing a center of gravity for people to align to.
- We assume there's a chicken and egg problem.
- What can I do on the network?
- There's no network to do anything on?
- We know that technology matures at a fairly rapid pace, and prices drop as time passes.
Everyone knows technology will be upgraded in the future (eg: WiMax, Fibre, etc.)
- We aim to decentalize wherever possible, especially the flow of knowledge so that people in all communities are equally capable and not co-dependent on outside services.
- Our goal is to build Community through Wireless Networks. Networks provide interactive services for people to socialize with each other digitally, and learn more about where they are based on contributed content.
Organizational Structure
See About Us for more information.
Physical Infrastructure
We assume an agnostic approach to the technologies used to provide physical links between nodes in the network. Wireless, Fibre, ADSL, Cable and other technologies are used throughout the network.
The only requirement for any physical infrastructure is the ability to interface using one of the following common protocols:
- Wired Ethernet
- Wireless Ethernet
MediaConverters are also used when tying in legacy infrastructure such as Serial, X.25, etc.
Local Networks
Made up of NeighborHoodNetworks. These networks connect people with each other, in a local geographical area. NeighorHoodNetworks are really collections of individual Hotspot networks.
Information flows between NeighborHoodNetworks whenever possible. By isolating regional traffic (ie: not sending a phone call between two neighboors out of the region) we can effeciently use bandwidth and reduce failures caused by problems upstream.
In a perfect world, a high density of independent neighborhood networks (like in the Lower Mainland) could form a mesh (or Fabric) to intelligently route information to other points in the network. For now, well. We'll see.
A local network is the easiest thing to setup. Start with one access point, assign it some address space from the IpAllocations page, and figure out a way to link it in with the rest of the network.
Network Technologies
Mesh
Mesh is often misunderstood as three common definitions exist:
- Mesh Radios - Wireless Radios capable of forming "Mesh" networks at a wireless level.
Mesh Routing - Dynamic Routing Protocols such as OLSR and AODV.
- Mesh Fabric - Unknown network topologies as a result of ad-hoc networking of networks.
Hotspots
Write me.
Backbones
- Backbones serve as high capacity "pipes" to connect neighborhood networks together. Particularly in rural communities and over long distances (ie: Vancouver to Vancouver Island).
These are made up of nodes called an UplinkNode. The backbone is managed by the BC Wireless project as a neutral third party, or through cooperatives of CommunityNetworks and individuals.
These are our biggest challenge, we need:
Secure RightsOfWay (a place to house repeater equipment at for a long if not indefinite period of time).
- Local networks to actually use it.
Finding equipment to use for backbone infrastructure is relatively easy.
Selecting locations with excellent visibility to other locations that are also prime backbone spots is one our biggest priorities. Land owners and municipalities are encouraged to donate rights of way to us so that we can setup public repeaters for neighborhood networks to connect through.
We would prefer to use high speed TDD/polling technology such as AirMux200, Trango, Canopy to connect UpLink nodes. 802.11a is okay in a pinch, but not optimal for infrastructure. Distance between UpLink nodes should be in between 5 and 30 KM.
Addressing
IP Addressing
B.C. Wireless nodes use the private address space, 10.100.0.0 through 10.100.255.255 as per the FreeNetworks Network Address Allocation table.
BC Wireless community networks should reserve their address space on our IpAllocations page, to prevent conflicts with other networks.
Networks should reserve a minimum amount of IP address space necessary for themselves.
- The range 192.168.0.0 - 192.168.255.255 is often used for inter-node links as well as "default" settings by many consumer wireless products.
- The range 172.16.0.0 - 172.31.255.255 is not used on the core backbone.
- The range 10.254.0.0 has been flagged as RESERVED FOR NOT CONNECTED NETWORKS.
- It is suggested that 10.0.0.0 not be used by Wireless Net's to prevent collisions against
- "default" ip assignments.
One day we'll have access to IANA space.
May I suggest it would be worth keeping a block aside for private networks? After all, others may have private networks and still want to use your wireless network without exposing all of their private network. I would suggest that the 192.168.0.0 - 192.168.255.255 be allowcated for this purpose. I would be willing to bet that the network is going to connect because CxNodes or BxNodes start talking to eachother directly. -- EanKingston (feel free to remove my comments if this isn't the right place)
Name Service
Local community networks can operate their own name service to name systems. We can provide delegation glue so that other networks can resolve your names remotely.
Some naming conventions that have been proposed are:
- [local user's name].[region-name].bcwireless.net
- [network-name].bcwireless.net
ie:
- safeway.quesnel.bcwireless.net
- foonetwork.bcwireless.net
To have delegation added for your own name servers, email hostmaster@bcwireless.net with the following information:
- Your network name (ie: foo.bcwireless.net)
At least two IP addresses of your name servers that service <foo.bcwireless.net>
- If you would like seperate entries listed for Community Network and/or Internet facing networks (ie: Your name servers listen on, 10.100.254.1/10.100.254.2 as well as an Internet routable address, 204.0.0.1 and 204.0.0.2).
Another, global naming schema (.cwn) has also been proposed by members of Seattle Wireless. It has not been used (as far as I know), so it is mentioned here for history sake only. (If someone knows better, update this!).
Note: We are not enforcing any type of naming strategy.
Voice over IP Resolution Services
We utilize the E164.org ENUM root for resolution of telephone numbers. Nodes may operate their own telephone system using the OpenSource Asterisk soft-switch software.
Routing Protocols
Standard Protocols
The following routing protocols are employed:
- OLSR for Dynamic Route Advertising on subscriber systems.
- OSPF for Interior routing of BC Wireless infrastructure.
- BGP for Exterior routing to other foreign Community Networks and the Internet.
Authentication, Identity and Security
Authentication and User Profiles provide Authentication, Authorization and Accounting (AAA) for network access services, and profile storage for application services.
The project Authentication and Profiles is the AuthProfileService.
Community Applications (Content)
Local Networks also provide the presentation layer, ideally we want information from the local community to be presented to the user. Community content flows from local venue, to neighbourhood, to geographical region and beyond.
We are using two technologies for Community Applications:
WifiDog for basic hotspot content/splash pages
The CommunityApplicationServices project for interactive community network portals.
In addition, the network supports any standard Internet application (such as Drupal, Gallery, or any other web package). The AuthProfileService is designed to support these applications on the Community Wireless Network.
Some services can not, at this time, be modeled in a distributed fashion. Services such as VoiceOverIP will be centralized for the time being, using a VoIPAuthenticationGateway and E164.org as a directory service to aim voice services towards locally hosted content.
Peering
Community Networks can peer with each other or through BC Wireless managed and/or owned infrastructure. Our CommunityNetworkPeeringAgreement outlines the principles of how we peer with other networks and can be modified to suite the needs of individual peering arrangements.
In general the Society will peer its infrastructure with anyone - provided they agree to obide by the CommunityNetworkPeeringAgreement.
Support and Education
Support is provided on a volunteer basis. In developing our technologies we aim to make them as robust as possible and to minimize the amount of work needed to trouble shoot a problem.
Educatation is provided through peer directed learning. The CommunityWirelessHandbook provides basic information on setting up a network, while WaveCaster provides project coordination, support tools and network management facilities.
CourseWare is being planned to provide training sessions, this work is evolved from the WirelessWorkshops hosted by the FNTC and BC3.
BC Wireless's role in Community Wireless
Our volunteers can provide equipment and network management on behalf of network and/or site owners. Acting as a neutral third party, we can provide conflict resolution and work to optimize network infrastructure as demand grows and new networks appear (or disappear).
We fully expect the use of license exempt radio spectrum to be a pandora's box full of conflict and headache. The champions of the system will work to resolve interference issues, and provide coordination whenever possible. Comments and suggestions, and issues, can be sent to our GeneralDiscussionGroup.
Volunteers are also available to help community networks get started, both in technical and moral support.
People who want to work with BC Wireless to build out our network, or to help others can become a volunteer and make use of our VolunteerSystem to help coordinate projects and leverage our community's resources.
References
CategoryIdeas CategoryTechThingsYouShouldKnow CategoryStructure
