SWAP-2.1
Swap 2.1 is an effort to produce generic Pyramid based wireless mesh Swap installations. It is intended to replace Swap 1.
There are several principals that guide the Swap 2.1 implementation.
- KEEP IT SIMPLE
- Swap nodes are routers not firewalls etc.
- Uses standard Pyramid Linux as released.
- Swap node names are hashed to generate network addresses.
- Node name lookup ignores non alpha-numeric and normalizes to lowercase.
- Wireless is on 172.28.0.0/255.255.0.0
- Eth0 is a Class C subnet of the 10.0.0.0 class A
- Eth1 is available for “extra swap” use
- Wireless 172.28.A.B maps to Eth0 10.A.B.0
- Expansions to base functionality will not break the network
- Runs on exiting Swap 1 hardware, just change the CF
Implementing the KISS principal swap 2.1 nodes are just routers using OLSR for routing decisions. Firewalls, DHCP, NAT and such are handled by external devices. Should you wish to add these “advanced” functions in software on a Swap 2.1 node you may. The only caveat is that these advanced options should not break interoperability with base Swap 2.1 nodes.
Nodes names are user selected. Names may contain any combination of puncuation, spaces, capitalization for readability. All non alpha-numeric characters are stripped before name to address conversion. (Default, De-fault, DEF!!@#alt are all the same name “default” as far as address generation is concerned)
Using a hash function node names are converted to 2 address octets. These octets define the IP address for the wireless interface and define the network number for the local Ethernet interface (eth0).
It is intended that node names be registered if desired. Then should someone create a node name that collides with another node name a new name can be selected. Node names such as bouy1, bouy2 which are fixed in position in general need not worry about address duplication.
Running the hash function on the node name “default” generates the octets 83 and 165.
Wireless interfaces are assigned an address in the 172.28.0.0 network. This is a private (non-routing) class B network with 65,536 – 2 possible addresses. The node “default” will have a wireless IP of 172.28.83.165/16.
Eth0 is assigned a class C subnet of the 10.0.0.0 class A network. This also is a private (non-routing) network. In node “default” eth0 is assigned 10.83.165.1/24. The last IP in eth0’s network is reserved for the default gateway address and is only used in nodes that are connected to the internet.
Eth1 is not used in base Swap 2.1 nodes. It is available for site specific use.
Swap 2.1 nodes are configured using a script that take 2 parameter. The first is the node name and the second is a yes/no on whether the node should be configured as a gateway node. Gateway nodes will be connected to the internet and announce a default route.
Let’s look at some example node implementations.
In a large vessel such as Wecoma there is a dedicated computer infrastructure. Marine Techs could take their local router and set aside a connection to the swap network. All firewall/port forwarding would be handled by onboard networking infrastructure and staff. This would give full flexibility and control. Only your budget limits you.
On a smaller vessel like Forerunner address assignments and configuration would be set at installation time. Computers and instruments that should be accessible from the swap network would reside there. A Linksys (or other small firewall/router) could be connected to the swap network and then supply DHCP and wireless (with WEP or other security) to other onboard computers and networks (navigation system for example).
Installations such as buoys and pilings could have their instruments connected directly (or through serial to Ethernet converters) to the swap network on eth0.
Site specific configurations are supported. The general rule is that any site specific configuration does not break Swap networking. That is to say that any swap 2.1 node that connects to another swap 2.1 node should route properly and pass traffic out the default gateway should one exist. It is suggested that eth1 be used for site specific expansions and that eth0 and wlan0 adhere to the swap 2.1 address conventions. This allows sites to place NAT/firewall/port forwarding code into the swap node on eth1 any yet remain fully compatible with swap 2.1.
- Login to post comments

