There are at least several reasons to comply to RFC 4193.
The first one is for futur sites mergings ( see previous post ), as well as security :
a pseudo random network ID will make it harder for local worms to crawl your ULA network. That's typical ' Security by Obscurity '.
The second one is that by dedicating the last 16 bits of your network prefix to subnets ID, you'll be able to create a well designed network topology, as well as seamless and neat route aggregation.
IPv6 Route Aggregation
The IPv6 address space is so vast, that we should go with nibble level prefixes.
For a reminder, ULA address= Network ID ( 48 bits ) + Subnet ID ( 16 bits ) = 64 bits subnets
a nibble = 4 bits = 1 Hex
so by using nibble level prefixes, we have 16 x 16 x 16 x 16 subnets for one ULA network.
Let's use Network ID fd07:432d:ce02::/48 as an exemple.
We could set a first groups of subnets :
Group 1 = fd07:432d:ce02:0000 to fd07:432d:ce02:000F
Group 2 = fd07:432d:ce02:0010 to fd07:432d:ce02:001F
then, we can use an aggregated route :
for Group 1 : fd07:432d:ce02: 0000::/60
for Group 2 : fd07:432d:ce02: 0010:/60
( nb the added space before 0000 and 0010 is to avoid the blog auto smiley generation ... : 0010: without the added space is a smiley code ... )
Further more, we can aggregate /60 subnets into /54 routes
and aggregate /54 subnets into /50 routes
So, we can organize our ULA network into 16 groups of 16 groups of 16 groups of 16 subnets
That is basically IPv6 route aggregation.
IPv6 Route Aggregation : a basic exemple
as an exemple, we can use the last topology of the previous post, and redesign our subnets topology, so to facilitate route aggregation.
Here is what the previous topology looked like. The green arrows show the default gateways downstreaming flow :
Let's change our fd07:432d:ce02:1::/64 subnet into fd07:432d:ce02:10:/64
The network topology then looks like this :
PC 2 routing can now be simplified, from 3 routing entries :
into a single one :
If we further organize our network topology, an send Server behind Router 1, the situation becomes even clearer.
Here is the logical network topology we're getting in :
and here is Router 2 IPv6 Routing setup tab needed, as well as the IPv6 Routing Status Tab :
The Router performs the routing choice based on prefix lenght, choosing the longest prefix.
Here, fd07:432d:ce02:10::/64 has priority over fd07:432d:ce02::/64
If the prefix lenghts are the same, the lowest Metric value would win.
A few more words about Route Aggregation
As the number of host and nodes grow over a network, the number of routing rules grows exponentially, squared.
If n = the total number of hosts+nodes, and r the number of routing rules needed :
r = n^2
thus a clean route aggregation policy, as well as clever use of default gateways, is very important to lighten the routing needs.
As long as we're using static routing. Beyond a certain point or size, dynamic routing is needed : RIP, OSPF, ...