3. IP Addresses

3.1. Introduction

This document talks almost exclusively about IP version 4, as initially a basic network infrastructure is required and it is easier to use a well known and understood protocol, with which tested tools can be used.

Nevertheless, it should be possible to implement an IPv6 network at the same time as the IPv4 network without the two networks interfering with each other. It is also clear that the future of networking and the Internet is with IPv6 and that complicated and production networks already exist based exclusively in IPv6. As more information becomes available regarding the network structure I will include it in this document.

A group of IP addresses are required to setup a wireless network.

The following sections explains different aspects relating to which IP addresses could be used by the wireless communities globally, and then how the address space used by a particular wireless group could be managed internally. Finally there is also a recommendation as to the individual assignments at the node level.

3.2. IPv4 Addressing

Each wireless group will need a range of IP addresses to enable the following types of connections:



If a wireless group considers that it might connect in the future to another wireless group it is vital that the ranges of IP addresses used do not conflict with those used by any other group.

Various international wireless groups have already setup their own networks and have begun to use private (RFC 1918) IP addresses mainly to avoid having to consult third parties and also to avoid the costs associated with requesting public IP addresses.

When a request is made for public IP addresses there is a certain requirement to connect these IP addresses to the Internet and to justify the number of IP addresses requested. This may often be difficult for most wireless groups, most of which are new projects and who may find it difficult to anticipate the real number of IP addresses needed.

For this reason it is recommended that the IP addresses used are assigned from the private RFC 1918 networks.

Although the use of public IP addresses is not considered necessary, this may change in the future, when there is a large enough user base to justify this or if for example there is an interest of people on the Internet to connect IN to a wireless group.

The three groups of IP addresses designated by RFC 1918 for private use are:



If a group uses up the block of IP addresses which has previously been agreed and needs a new assignment of addresses it should contact the other wireless groups and agree on a new block which avoids IP address conflicts if this is at all possible.

3.2.1. Wireless Group Level Assignments

Currently there is no globally agreed mechanism to assign addresses within the RFC 1918 space amongst the different wireless groups.

The best approximation that currently exists is the following URL: http://www.freenetworks.org/moin/index.cgi/NetworkAddressAllocations which lists the addresses used by those groups who have volunteered this information.

It is recommended that any new group which is interested in having a unique set of IP addresses, register its usage at this location. There is no agreed standard as to the number of addresses that should be assigned to a group, but it is recommended that the requested allocations be conservative, as it is always possible to request another block at a later stage.

3.2.1.1. Client Connections

For the allocation of IP addresses used by clients connecting to the network and the nodes it is recommended that the range 10.0.0.0/8 be used before using addresses from the other RFC 1918 blocks.

3.2.1.2. Inter-Node Assignments (links within one group)

While not necessary it is often more convenient to use a separate range of addresses for the network connections within a group used to connect the different nodes. For this use it is recommended that an assignment is made from the range 172.16.0.0/12, avoiding the intra-group assignment mentioned in Section 3.2.2.

3.2.2. Intra-Group Assignments (links between different groups)

It is recommended that a subrange of 172.16.0.0/12 should be reserved for connections between different wireless groups.

As an initial approximation we can assume that if 1000 groups have 4 connections to other groups, each connection being a point to point connection we will need 16000 addresses. Thus we can use 172.16.0.0/18 (-172.16.63.255) as the range for these assignments. This should be sufficient in the immediate future.

The addresses from this range which are actually used for this purpose should be registered in a public place to avoid duplication.

3.2.3. Assignments within a Wireless Group to a Node

The local assignment of a block of IP addresses to a node will be centralised locally by some of the group's members. These members will decide the procedures for assigning blocks of IP addresses, the number of IP addresses each block will have and the requirements which each node must fulfill to be added to the network.

If a node is not connected to any other node then it can use any IP address range it wants. However it would be convenient that it uses an address from the range 10.254.0.0/16 recommended on the freenetworks.org website for non-connected networks. If you use these addresses you will not need to request a block from your local wireless group.

3.2.3.1. Standard Assignment

To each node a block of addresses will be assigned from the group's global assignment mentioned. Each node will consist of at least 32 IP addresses of which 30 will be usable. In principle one address will be used by the actual node/ router leaving the remaining addresses for use by clients.

Considering the normal range over which signals will be propagated and the number of clients to be expected in the area this number of IP addresses should be sufficient.

The block of 32 addresses will be assigned in the following way:

10.x.y.0 Network Address
10.x.y.1 Router or node's IP Address
10.x.y.2-30 The node's Clients' IP Addresses
10.x.y.31 Broadcast address


The netmask in this case will be 255.255.255.224.

Each class C network, 10.x.y.0/24, will be composed of 8 sub-net whose last digit ends in .0, .32, .64, .96, .128, .160, .192 y .224.

The assignment of the addresses 2-30 to the different clients can be done in whichever way is deemed most appropriate, but the most practical way of doing this in a wireless network is using the DHCP protocol, and having the node/router assign the address.

The advantage of using the DHCP protocol is that at the moment of assigning the IP address to the client the following additional information can be given to the client:

  • The IP address of the router in the network

  • The IP addresses of the name servers which should be used

  • The domain name of the network or node



This ensures that the configuration requirements for the client's system is minimised.

3.2.3.2. Assignment of Larger Blocks

As the assignment of blocks of 32 IP addresses may be insufficient in urban zones with a high population density, it may be necessary to consider assigning additional blocks of 32, 64, 128 o even 256 IP addresses to a node, each block with its appropriate network address and netmask.

Assignment of larger blocks in this way is only recommended when it is considered necessary, although this should be a local decision made by each group. The new assignment may be for a new larger block which replaces the previous assignment, or of a second discontiguous block which can be used in addition to the block(s) previously assigned.

The structure of the larger blocks of addresses should follow the same form as has been described in the previous section, with the difference that the number of IP addresses assigned to clients is increased.

3.2.4. Multicast Address Support

Need to add a comment here that routers should support multicast routing and addresses. This will allow services like ntp to be used more easily. What other services would be interesting?

3.3. IPv6 Addressing

The recommendations relating to the methodology of IPv6 address assignments have yet to be defined.

Note: that the following are simply ideas. Anyone with a better understanding of IPv6 could certainly help me out.

IPv6 addresses consist of 128 bits, 64 bits being a "network prefix" and the remaining 64 bits being a host address.

The different network prefixes has various different uses, but one which could be immediately interesting for us would be to use the concept of a site-local scope, normally this would be an organisation's site. We could initially define site-local to be a global wireless scope. Doing this allows us to have a global network addressing which can't be connected to the Internet, but it allows us to start playing.