Skip to main content

6. Example of New Address Assignments and Routing

  1. Example of New Address Assignments and Routing

6.1. Address Delegation

Consider the block of 524288 (2^19) addresses, beginning with

10.24.0.0 and ending with 10.31.255.255, allocated to a single

network provider, "PA". This is equivalent in size to a block of

2048 legacy "Class C" network numbers (or /24s). A classless route

to this block would be described as 10.24.0.0 with a mask of

255.248.0.0 and the prefix 10.24.0.0/13.

Assume that this service provider connects six sites in the following

order (significant because it demonstrates how temporary "holes" may

form in the service provider's address space):

o "C1", requiring fewer than 2048 addresses (/21 or 8 x /24)

o "C2", requiring fewer than 4096 addresses (/20 or 16 x /24)

o "C3", requiring fewer than 1024 addresses (/22 or 4 x /24)

o "C4", requiring fewer than 1024 addresses (/22 or 4 x /24)

o "C5", requiring fewer than 512 addresses (/23 or 2 x /24)

o "C6", requiring fewer than 512 addresses (/23 or 2 x /24)

In all cases, the number of IPv4 addresses "required" by each site is

assumed to allow for significant growth. The service provider

delegates its address space as follows:

o C1. assign 10.24.0 through 10.24.7. This block of networks is

described by the route 10.24.0.0/21 (mask 255.255.248.0).

o C2. Assign 10.24.16 through 10.24.31. This block is described by

the route 10.24.16.0/20 (mask 255.255.240.0).

o C3. Assign 10.24.8 through 10.24.11. This block is described by

the route 10.24.8.0/22 (mask 255.255.252.0).

o C4. Assign 10.24.12 through 10.24.15. This block is described by

the route 10.24.12.0/22 (mask 255.255.252.0).

o C5. Assign 10.24.32 and 10.24.33. This block is described by the

route 10.24.32.0/23 (mask 255.255.254.0).

o C6. Assign 10.24.34 and 10.24.35. This block is described by the

route 10.24.34.0/23 (mask 255.255.254.0).

These six sites should be represented as six prefixes of varying size

within the provider's IGP. If, for some reason, the provider uses an

obsolete IGP that doesn't support classless routing or variable-

length subnets, then explicit routes for all /24s will have to be

carried.

To make this example more realistic, assume that C4 and C5 are multi-

homed through some other service provider, "PB". Further assume the

existence of a site, "C7", that was originally connected to "RB" but

that has moved to "PA". For this reason, it has a block of network

numbers that are assigned out PB's block of (the next) 2048 x /24.

o C7. Assign 10.32.0 through 10.32.15. This block is described by

the route 10.32.0.0/20 (mask 255.255.240.0).

For the multi-homed sites, assume that C4 is advertised as primary

via "RA" and secondary via "RB"; and that C5 is primary via "RB" and

secondary via "RA". In addition, assume that "RA" and "RB" are both

connected to the same transit service provider, "BB".

Graphically, this topology looks something like this:

10.24.0.0 -- 10.24.7.0__ __10.32.0.0 - 10.32.15.0

C1: 10.24.0.0/21 \ / C7: 10.32.0.0/20

\ /

+----+ +----+

10.24.16.0 - 10.24.31.0_ | | | |

C2: 10.24.16.0/20 \ | | 10.24.12.0 - 10.24.15.0_ | |

| | / C4: 10.24.12.0/20 \ | |

| |/ | |

10.24.8.0 - 10.24.11.0___/| PA |\ | PB |

C3: 10.24.8.0/22 | | _10.24.32.0 - 10.24.33.0__| |

| | C5: 10.24.32.0/23 | |

| | | |

10.24.34.0 - 10.24.35.0__/| | | |

C6: 10.24.34.0/23 | | | |

+----+ +----+

|| ||

routing advertisements: || ||

|| ||

10.24.12.0/22 (C4) || 10.24.12.0/22 (C4) ||

10.32.0.0/20 (C7) || 10.24.32.0/23 (C5) ||

10.24.0.0/13 (PA) || 10.32.0.0/13 (PB) ||

|| ||

VV VV

+---------- BACKBONE NETWORK BB ----------+

6.2. Routing Advertisements

To follow rule #1, PA will need to advertise the block of addresses

that it was given and C7. Since C4 is multi-homed and primary

through PA, it must also be advertised. C5 is multi-homed and

primary through PB. In principle (and in the example above), it need

not be advertised, since longest match by PB will automatically

select PB as primary and the advertisement of PA's aggregate will be

used as a secondary. In actual practice, C5 will normally be

advertised via both providers.

Advertisements from "PA" to "BB" will be

10.24.12.0/22 primary (advertises C4)

10.32.0.0/20 primary (advertises C7)

10.24.0.0/13 primary (advertises remainder of PA)

For PB, the advertisements must also include C4 and C5, as well as

its block of addresses.

Advertisements from "PB" to "BB" will be

10.24.12.0/22 secondary (advertises C4)

10.24.32.0/23 primary (advertises C5)

10.32.0.0/13 primary (advertises remainder of RB)

To illustrate the problem diagnosis issue mentioned in Section 5.1,

consider what happens if PA loses connectivity to C7 (the site that

is assigned out of PB's space). In a stateful protocol, PA will

announce to BB that 10.32.0.0/20 has become unreachable. Now, when

BB flushes this information out of its routing table, any future

traffic sent through it for this destination will be forwarded to PB

(where it will be dropped according to Rule #2) by virtue of PB's

less-specific match, 10.32.0.0/13. Although this does not cause an

operational problem (C7 is unreachable in any case), it does create

some extra traffic across "BB" (and may also prove confusing to

someone trying to debug the outage with "traceroute"). A mechanism

to cache such unreachable state might be nice, but it is beyond the

scope of this document.