home  wiki

NodeTypes


Introduction

While the wireless network in Melbourne is in it's infancy other communities have very well developed infrastructure. In the US community networks are not necessary providing an alternative network to the ISP provided ones but are rather providing wireless access for community members whereever they are.These networks are successful as there is no bandwidth limits from the regular ISP's and every coffe shop is able to hook up a DSL modem and an AP to become a node.

In the well developed "geek" centres (Bay Area, Seattle, Austin among others) the local wireless orgs assist the setup of nodes to enlarge the coverage of the network. That's not to say they don't build backbone infrastructure as it is also high on their objectives but citywide access for members seems to be the driving factor.

Here in AUS it's a little different as the lack of competition means that most ISP's still gouge their customers and apply fairly draconian conditions (about what you can hook up, sharing your bandwidth, etc.).

The Melbourne Wireless network is pretty fragmented at the moment. There are pools of linked nodes but no city wide backbone yet. That seems to be the primary goal for the group at the moment. Creating a backbone is very dependant on individuals that want ot be part of it.

So what is a node and do you have one yet?

Seattle Wireless probably has the best classification of node types:


These node definitons really need to be applied a bit loosely as in reality a node will start out as one type and morph into a different type depending on the availability of other nodes to link to. Perhaps the most common variation would be a hybrid Bx-Cx that would have links to other nodes and support either Client Nodes or Cx Nodes on the BSS interface.

Another common evolution would be a node that starts out running a BSS interface and has a number of other nodes pointng their uplink links to it. In this case the links may be sub-optimal but are likely to suffice for the amount of traffic and usage of the connected nodes. (Note that as the discrete areas of connectivity coalesce and the network becomes used more that these types of "shared" connections will become bottlnecks in the network).

Logical view of different nodes:


Client Nodes

A Client Node is a node that connects to a Dx Node or Cx Node, typically using BSS mode. It could be a PC, laptop or handheld device. A Client Node could be fixed or mobile.

Dx Node

Dx Nodes is a node without any upstream connection, this is typically the node you install at home when you want to get wireless in your house. It allows your wireless devices to be part of your home LAN and you may have internet access for your own personal use. In this scenario you keep the node closed and may use some form of encryption (weak though it may be).
  +-----------------+
  |                 |
  |                 |
  |           +-----+
  |           | BSS |---\/\---  to Client Nodes
  |           +-----+
  |                 |
  |                 |
  +-----------------+

Cx Node

Cx Node is a node with one upstream connection. A Cx Node connects to a single Bx Node. The CxNode accepts connections from Client Nodes and routes thouse requests to it's upstream connection. At this level routing is easy. The Cx Node is the on-ramp to the local wireless network.
  +-----------------+
  |                 |
  |                 |
  |          +------+
  |          | BSS  | ---\/\--- to Client Nodes
  |          +------+
  |                 |
  |          +------+ 
  |          | IBSS | +++++++++ to upstream Bx Node
  |          +------+
  |                 |
  |                 |
  +-----------------+ 

Bx Node

Bx Nodes support a pool of Cx Nodes and have two links to other Bx Nodes provides DHCP to the client Cx Nodes and intellegent routing. So a Bx Node has 3 radios, one for supporting the Cx Node pool and two more for making redundant links to the rest of the backbone using two other Bx Nodes.
  +-----------------+
  |                 |
  |                 |
  |          +------+
  |          | BSS  | ---\/\--- to Cx Nodes
  |          +------+
  |                 |
  |          +------+
  |          | IBSS | +++++++++ to peer Bx Node
  |          +------+
  |                 |
  |          +------+
  |          | IBSS | +++++++++ to peer Bx Node
  |          +------+
  |                 |
  |                 |
  +-----------------+

Ax Node

Ax Nodes or Super Bx Nodes have more then 3 radios and tend not to support a client cloud ( no Cx Nodes hanging of it). It provides routing between it's multiple interfaces.

Variations

A number of variations of this classification exist. Perhaps the most common are nodes that provide a hybrid functionality betwen a Cx Node and a BX Node. This is common in a young network such as ours as it is more important to get some links in place than to do it in a strictlu herachical sense.

Bx Cx Hybrid

A node that could qualify as a BX Node is more of well linked Cx Node. This node has the typical Cient Nodes but also has a link (or two) to other Bx Nodes on the same interface. The ideal situation would be for this node to have a dedicated raido(s) for the links to the Bx Nodes but for the time being the conncetion is established using the omni interface of the node.

Re-trans

A re-trans is a pair of radios that provide linkage between two nodes that would not otherwise be able to connect. A retrans may be desirable due to terrain and the lack of suitable nodes in the location.

Hypothetical example

In this example a number of Bx Nodes are configured in the same manner. They use Ch 6 in IBBS mode to communicate to one or more Cx Nodes that in turn use Ch12 in BSS mode to commuicate with a number of Client Nodes. This is kind of an ideal situation, each Bx Node has 3 radios with dedicated links. In reality many of our Nodes will be less optimal.

     |
  +-----+IBBS                       +------+
  | BxN |---\/\---               -->|Client|
  +-----+Ch 6                   /   +------+
 IBBS|Ch 1                     /    
  +-----+IBSS      +-----+BSS /     +------+
  | BxN |---\/\--->| CxN |---\/\--->|Client|
  +-----+Ch 6      +-----+Ch12\     +------+
     |                         \
     |                          \   +------+ This client could roam between the 
 IBBS|Ch 11                      -->|Client| the two CxN if they used the same ESSID
     |                          /   +------+
     |                         /    
  +-----+IBSS      +-----+BSS /     +------+
  | BxN |---\/\--->| CxN |---\/\--->|Client|
  +-----+Ch 6      +-----+Ch 1\     +------+
 IBBS|Ch 1                     \
  +-----+IBBS                   \   +------+
  | BxN |---\/\---               -->|Client|
  +-----+                           +------+
     |


Link types

It is possible to create a link in different ways, the commonest ways are supported in most wireless devices (cards and APs). The simplest links are those that use BSS mode where an AP is the hub for all transmissions. This is fine for the Dx Node you use in the house and for connecting Client Nodes to a Cx Node but has some limitations when trying to use it for backbone links (the major one being that all traffic is routed through the AP).

In the backbone it is useful to build redundancy through multiple connections. Within a node this ideally would be through establishing connections with multiple physical radios (i.e. a dedicated transciever for each link) but cost and aavilability of other nodes to connect to may not make this practical. The advantage of having multiple connections is that as the density of nodes increases it is possible that multiple nodes can provide alternative routes for traffic.

Antennas for links


There is a limited set of choices here, somewhat dictated by the protocol used for establishing the link.

 omni ------\/\---  ---\/\--- omni        ( hmmm, Ok, if you really have to...)
omni ------\/\--- >-------- directional ( Better, hybrid Bx Cx nodes do this)
directional ----< >-------- directional ( Best!!)


Protocols for links

There are four candidates for protocols that could be used for establishing links. In reality while any protocol that is supported by the devices at each end could be used some of tha available protocols are not really the best for links ( as compared to supporting client connection).


BSS

Using BSS for a backbone link can be done, on end runs as an AP while the other runs as a BSS client. Each end would also has other links so this is just a single circuit of the ones that are available. This is a good choice for establishing a link in the initial instance and while traffic is light. at the AP end the same radio could support multiple links while at the client end there are a number of choices of device that could be used.

Using this protocol the AP end is probably already correctly configured for routing while the client end will need some further configuration to work as a router rather than as a stand alone client of the AP. The client may be an AP in client mode or a PC with a radio card. Details of how to configure routing in a client device are on the RoutingHowto page.

Note: BSS is probably the most common protocol for AP-to-client connection, the protocol being devised for this use. Using BSS for establishing an inter-node (Bx-to-Bx or Bx-to-Cx) is a different use.

WDS

WDS is a higher level protocol that is used to support a roaming environment for a Client. Multiple Nodes use the same ESSID and a mobile client node is passed from Node to node based on signal strength. WDS is a suitable protocol for the client Node cloud but inappropriate for establishing the network backbone links.

Bridge

A bridge makes two physicly isolated network segments look like the same segment. The bridging device at either end forewards traffic across the bridge. This is a common use of WiFi in a private network. A bridge could be used to link two nodes but typically each node would have it's own address range. The bridging device at one end or another would have to act as a router or would have to feed into a port on a router to allow each node to control it's own address space.

Bridge spanning two physical segments
192.168.1.0 +-----+ +-----+ 192.168.1.0 |================| |-< >-| |==================| +-----+ +-----+ Bridge with additional router at receiving end
192.168.1.0 +-----+ +-----+ 192.168.1.0 +-----+ 192.168.2.0 |================| |-< >-| |=============| |===============| +-----+ +-----+ +-----+


IBBS

IBBS is probably the best protocol to use to establish a link between two nodes. It is a lower lvel protocol than BSS ( doesn't try to solve the hidden node problem and routing decisions are promoted to layer 3 rather than being addressed at layer 2 see Layer2Assumptions).
   192.168.1.0   +-----+          +-----+  192.168.2.0
|================|     |-<      >-|     |===================|
                 +-----+          +-----+


Node Examples

Looking at the node finder we can see that there is not a lot of linkage activity in our network yet. Some areas are well on the way to creating isolated Bx Nodes that serve potential Cx Nodes but we don't have much in the way of Bx Node linkage.

RGInnerNorth

NodeBHH is a great example of an almost-Bx Node. There are lots of links sharing the same radio and some of these links are potential Bx Nodes. This is an example of growing and changing as needed. If one of the linked sites establishes a further link to another potential Bx Node then BHH may drops it from the BSS connection and establshes a dedicated link (or perhaps not!).

                    BSS|Ch 6
                       |
                    +-----+BSS
                   >| FUS |---\/\---
                    Bx----+Ch 3
 
 +-----+BSS         +-----+BSS
 | BHH |---\/\---  >| FZJ |---\/\---
 +-----+Ch 11       Cx----+Ch 3
 
                    +-----+BSS
                   >| FMK |---\/\---
                    Cx----+Ch 8
 
                    +-----+?
                   >| FNZ |---\/\---
                    Cx----+Ch ?
 
                    +-----+ 
                   >| DCH | (ClientNode or Dx Node)
                    +-----+
 
                    +-----+ 
                   >| HFL | (ClientNode?)
                    +-----+




Southern

So whats going on here? NodeGMR and NodeGES are Bx Nodes and AFH and FBD are on their way to being the same. Again the use of BSS and linking into the omni of a neighboring node seems to be the norm, the Bx Cx hybrid we saw in the other example.

 +-----+
 | HZN |
 +-----+
    |                  |
IBSS|Ch ?          IBSS|Ch 2
    |                  |
 +-----+BSS         +-----+BSS         +-----+BSS         +-----+BSS
 | GMR |---\/\---  >| GES |---\/\---  >| AFH |---\/\---  >| FBD |---\/\---
 Bx----+Ch 4        Bx----+Ch 1        Cx----+Ch 4        Cx----+Ch 1
    |
 BSS|Ch ?
    |                                  +-----+
                                      >| GEZ |
                                       +-----+



Dandenong Foothills

Classic Bx Node structure here.

                    BSS|Ch ?
                       |
 +-----+BSS         +-----+BSS         +-----+BSS
 | AAF |---\/\---  >| GUR |---\/\---  >| HKF |---\/\---
 Cx----+Ch ?        Bx----+Ch 8        Cx----+Ch 6
    |
    |               +-----+            +-----+
    |              >| FGH |           >| HUT |
    |               +-----+            +-----+
    |
    |               +-----+            +-----+
    |              >| FUT |           >| ICW |
IBSS|Ch 6           +-----+            +-----+
    |
    |               +-----+            +-----+
    |              >| HCL |           >| HNB |
    |               +-----+            +-----+
    |
    |               +-----+
    |              >| GAZ |
    |               +-----+
    |                   
 +-----+BSS         +-----+BSS         +-----+BSS         +-----+
 | FKR |---\/\---  >| HKR |---\/\---  >| GWS |---\/\---  >| BFI |
 Bx----+Ch 1        Cx----+Ch 10       Bx----+Ch 11       +-----+
    |                                     |    
 BSS|Ch ?           +-----+            BSS|Ch 1
    |              >| HLR |               |
                    +-----+
 
                    +-----+
                   >| HMF |
                    +-----+
 
                    +-----+
                   >| FRJ |
                    +-----+


Implementation of a Node


There are a number of ways to implement a node. All nodes fulfill the same basic functions: provide a number of interfaces, provide intelegent routing between interfaces and offer additional services.

  +-----------------+
  |                 |
  |                 |
  | +-----+  +------+
  | |     |  | BSS  | ---\/\--- to Cx Nodes or Client Nodes
  | |  R  |  +------+
  | |  O  |         |
  | |  U  |  +------+
  | |  T  |  | IBSS | +++++++++ to peer Bx Node
  | |  I  |  +------+
  | |  N  |         |
  | |  G  |  +------+
  | |     |  | IBSS | +++++++++ to peer Bx Node
  | |     |  +------+
  | +-----+         |
  |                 |
  |   SERVICES      |
  | +-------------+ |
  | | DHCP        | | 
  | | DNS         | |
  | | HTTP        | |
  | | FTP         | |
  | +-------------+ |
  |                 |
  +-----------------+
  

Implementations fall into one of two main types; Single box and multiple box.

The Single box approach covers dedicated built-for-purpose devices such as the WRAP computers, MIni-ITX based, Laptop based and includes the re-used old PC.

The multiple box approach tends to be based on using multiple domestic AP's and may have the routing function provided by either a seperate box or by one of the AP's ( as is the case when using the Linksys WRT54G ).

Linux PC based node

This is relatively attractive as an old PC can be re-used and due to the strong networking support in the Linux kernel can easily be configured to perform the required routing. In this case routing is managed in the box and the interfaces are PCI cards installed in the same box.
The downside of a PC based node is the difficulty of finding a suitable location for the PC - ideally you want to keep the cable runs between the wireless cards and the antennas as short as possible but the PC is quite large and dificult to place up a mast. Though it can be done as in the case of NodeGES.

Laptop based node

In a similar fashon, an old laptop PC can be used as a node. In this case the radios are most likely Cardbus (32 bit PCMCIA) with external antennas. NodeBAE is an example of this implementation.

Dedicated Appliance

A dedicated appliance such as a WRAP or net4801 is a small form factor dedicated computer that supports multiple interfaces (either Mini-PCI or Cardbus). These appliances can run stripped down versions of Linux ( or other OS) and can boot from compact flash allowing a no moving parts node to be created.

AP based node

An AP usually only has a single radio so in itself cannot fulfill all the functions of a node (despite many AP's being able to provide routing and other services). To build a higher function node more than one AP is required. As well as multiple AP's there needs to be a device providing routing between the AP's and any wired segments in the node. The use of a hackable AP like the WRT54G allows the routing function to be combined with or of the radio interfaces reducing the number of boxes required.

Multi-band AP

A multi band AP could be used to implement a Cx Node if the other end of the link( to the BX Node ) supports 802.11a. AN example of this would be the External linkDLink DLW-7100AP

Implementation pricing comparison


< Not done yet, though there may not be all that much difference between implemetations when all components are considered. >

Other considerations

AP bridging vs. routing

One problem with AP's in general is that they are normally a bridged device. This means that they bridge between the wired and wireless interfaces and because of this extend the network segment they are connected to rather than provide a route to it.

An example probably makes this clearer.

Node A is a Linux PC (as in the above section). It is connected to an internal ethernet segment 192.168.10.0 via eth0.

It has three wireless interfaces:

Node A has IP forwarding configured and runs an OSPF daemon. It had static links configured for the links to node B and node C.

Node D has an AP running in client mode and establishes a link to the BSS service on the eth1 interface of node A. Node D gets an IP address from node A via DHCP and huh? the IP address of the wired interface of node D is also the same as the wireless one. What's happened here?

Unlike a PC interface there is no way to get into the AP and configure it to have different IP addresses on the two interfaces. The AP is configured at the factory to bridge the two interfaces rather than route between them.

What we were hoping to get:
              Node A                      Node D
 192.168.1.0  +-----+ BSS                 +-----+  192.168.2.0
--------------|     | ---\/\---       >---|     |------------
              +-----+                     +-----+ 
 

What we got:


 192.168.1.0  +-----+                     +-----+  192.168.1.0
--------------|     | ---\/\---       >---|     |------------
              +-----+                     +-----+


Node D is bridging the two wired lan segments.

Some AP's are able to be configured to run in multiple modes:

When using multiple AP's in combination with a router controled switch you can use the vlan capabilities of the switch to take advantage of the bridged nature of an AP. In this way despite the AP bridging the switch can be configured to perform routing from the port connected to the AP.

Public segment

I am using the notion of a public segment between multiple devices that forms part of the network. The reason for this was to remove the dependancy on the (precious) 10.10.0.0/28 subnet for the internal parts of the node and to get the most flexability on the internal implementation.

Each of the three uplinks can run as either an IBBS peer to the other end of the link or as a BSS client(in which case they take one of the subnet addresses from the AP at the other end. It really depends on the nature of the link - dedicated radios at each end would use IBBS mode and could use any subnet to communicate.


        P2P dedicated  P2P dedicates  Client of a    P2MP server
        link           link           P2MP server    interface


        192.168.51.0   192.168.50.0   10.10.x.x/28   10.10.1.64/28
              |              |              |              | 
              |2             |2             |(DHCP)        |65
          +-------+      +-------+      +-------+      +-------+
          | IBBS  |      | IBBS  |      | BSS   |      | BSS   |
          +-------+      +-------+      +-------+      +-------+
              |4             |3             |2             |1
              |              |              |              |  
     |--------+--------------+--------------+--------------+---------|
                 192.168.100.0


Using VLANS on your WRT54G

If you have a WRT54G youto use cheap off the shelf AP's (like the Minitar) as a link interfce. Typiclly the AP will be either a client of the other end of the link (in BSS mode) or part of a P2P link in IBBS mode. The AP will bridge between the wired and wireless and "extend" the address space of the remote end of the link. This as coverd before is not really a good thing but in this case the AP can be addressed as a dedicated VLAN in the WRT54G for the cost of an additional address in the link or remote end space.


<< I'll finish this later - dna >>


Version 6 (old) modified Mon, 26 Jul 2021 12:49:29 +0000 by dna0xff
[EditText] [Spelling] [Current] [Raw] [Code] [Diff] [Subscribe] [VersionHistory] [Revert] [Delete] [RecentChanges]
> home> about> events> files> members> maps> wiki board   > home   > categories   > search   > changes   > formatting   > extras> site map

Username
Password

 Remember me.
>

> forgotten password?
> register?
currently 0 users online
Node Statistics
building132
gathering192
interested515
operational242
testing216