AddressingProcess
Before reading this
This is work in progress. You will need to know something about routing - review the Mesh Routing FAQ for a mesh oriented introduction, or look on the net.
Precedents
IPv4 addresses have been doled out by groups such as APNIC for quite some time now. These people have ended up using a number of systems that reside in front of a master whois database. This database keeps track of address delegations to technical contacts etc. The idea is that perhaps Melbourne wireless should use the same style of system.
Introduction
So why don't we just start sequentially giving out addresses that are not in use by other community wireless organisations (for Melbourne Wireless this is 10.10.0.0/16 and 172.16.80.0/20)? Because if we did that, then there would never be any real possibility to have efficient, scalable routing.
Routing protocols require that addresses be dealt out in a fashion that matches the topology, in order to be able to aggregate address space, and say "all of 10.10.13.0/24 is over-here", rather than having to tell the world about all sixteen of the /28 that are in the same /24. By being able to aggregate we reduce the load on our routing nodes - so Melbourne Wireless can scale to our goals.
OSPF areas and addressing
OSPF is probably the interior gateway routing protocol of choice for our network. In order to make configuration of areas in OSPF practical, we also need to have contiguous blocks of IP allocated to each area. For more detail on this see the OSPF Design Guide. One crucial point about OSPF areas and addressing: every area must be connected to area 0, ie. there must be an area border router that participates in the given area and area 0. Virtual-link or tunneling techniques can help get around this restriction though.
Options
- Carving. This has been oriented towards allocation of (abundant) IPv6 space, but could also work potentially for IPv4 allocation.
- my BackboneCyclesCreateAreas idea
Version 2 (current) modified Mon, 26 Jul 2021 12:49:29 +0000 by
graybeard [EditText] [Spelling] [Current] [Raw] [Code] [Diff] [Subscribe] [VersionHistory] [Revert] [Delete] [RecentChanges]