Just as in IPv4, the IPv6 address space can be divided by using high-order bits that do not already have fixed values to create subnetted network prefixes. These are used either to summarize a level in the routing or addressing hierarchy (with a prefix length less than 64), or to define a specific subnet or network segment (with a prefix length of 64). IPv4 subnetting differs from IPv6 subnetting in the definition of the host ID portion of the address. In IPv4, the host ID can be of varying length, depending on the subnetting scheme. For currently defined unicast IPv6 addresses, the host ID is the interface ID portion of the IPv6 unicast address and is always a fixed size of 64 bits.

If you are an ISP, subnetting the IPv6 address space consists of using subnetting techniques to divide the NLA ID portion of a global address in a manner that allows for route summarization and delegation of the remaining address space for different portions of your network, for downstream providers, or for individual customers. The global address has a 24-bit NLA ID field to be used by the various layers of ISPs between a top-level aggregator (a global ISP identified by the TLA ID) and a customer site.

For a global address allocated to a top-level aggregator, the first 16 bits of the address are fixed and correspond to the FP (set to 001) and the TLA ID (13 bits in length). The TLA ID is followed by the Res portion, which consists of 8 reserved bits set to 0. Therefore, for subnetting of the NLA ID portion of a global address, the first 24 bits are fixed. In a global address, the Res bits are never shown due to the suppression of leading zeros in IPv6 colon hexadecimal notation.

Subnetting the NLA ID portion of a global address requires a two-step procedure:

- Determine the number of bits to be used for the subnetting.
- Enumerate the new subnetted network prefixes.

The subnetting technique described here assumes that subnetting is done by dividing the 24-bit address space of the NLA ID using the high-order bits in the NLA ID that do not already have fixed values. While this method promotes hierarchical addressing and routing, it is not required. For example, you can also create a flat addressing space for the NLA ID by numbering the subnets from 0 to 16,777,215.

The number of bits being used for subnetting determines the possible number of new subnetted network prefixes that can be allocated to portions of your network based on geographical, customer segment, or other divisions. In a hierarchical routing infrastructure, you need to determine how many network prefixes, and therefore how many bits, you need at each level in the hierarchy. The more bits you choose for the various levels of the hierarchy, the fewer bits you will have available to enumerate individual subnets in the last level of the hierarchy. The last level in the hierarchy is used to assign 48-bit prefixes to customer sites.

For example, a network designer at a large ISP decides to implement a two-level hierarchy reflecting a geographical/customer segment structure and uses 8 bits for the geographical level and 8 bits for the customer segment level. This means that each customer segment in each geographical location has only 8 bits of subnetting space left (24 - 8 - 8), or only 256 (= 28) 48-bit prefixes per customer segment.

On any given level in the hierarchy, you will have a number of bits that are already fixed by the next level up in the hierarchy (*f *), a number of bits used for subnetting at the current level in the hierarchy (*s*), and a number of bits remaining for the next level down in the hierarchy (*r*). At all times, *f * +* s *+* r* = 24. This relationship is shown in Figure 3-9.

**Figure 3-9. ***The subnetting of an NLA ID*

Based on the number of bits used for subnetting, you must list the new subnetted network prefixes. There are two main approaches:

- Hexadecimal — Enumerate new subnetted network prefixes by using hexadecimal representations of the NLA ID and increment.
- Decimal — Enumerate new subnetted network prefixes by using decimal representations of the NLA ID and increment. The decimal subnetting technique is included here for those who are more comfortable dealing with decimal numbers (Base
_{10}).

Either method produces the same result: an enumerated list of subnetted network prefixes.

- Based on
*s*(the number of bits chosen for subnetting), and*m*(the prefix length of the network prefix being subnetted), calculate the following:*f*=*m*-*f*is the number of bits within the NLA ID that are already fixed.*n*=^{s}*n*is the number of network prefixes that are obtained.*i*=^{24-(f+s) }*i*is the incremental value between each successive NLA ID expressed in hexadecimal form.*l*=*f*+*s**l*is the prefix length of the new subnetted network prefixes. - Create a three-column table with
*n*entries. The first column is the network prefix number (starting with 1), the second column is the value of*F*(the hexadecimal representation of the NLA ID), and the third column is the new subnetted network prefix. - In the first table entry, the entry for the NLA ID column is
*F*and the subnetted network prefix is the original network prefix with the new prefix length. To obtain*F*, combine the last two hexadecimal digits of the second hexadecimal block with the four hexadecimal digits of the third hexadecimal block of the NLA ID being subnetted to form a 6-digit hexadecimal number. Remember to include zeros that may not be present due to leading zero suppression. For example, for the global address prefix 3000:4D:C00::/38,*F*is 0x4D0C00. - In the next table entry, for the NLA ID column, increase the value of
*F*by*i*. For example, in the second table entry, the NLA ID is*F*+*i*. - For the subnetted network prefix column, convert the NLA ID into two separate 16-bit blocks in colon hexadecimal notation and place them after the 16-bit prefix to express the new subnetted network prefix. For example, for the second table entry, the subnetted network prefix is [
*16-bit prefix*]:[*F*+*i*(expressed in colon hexadecimal notation)]::/*l*. - Repeat steps 4 and 5 until the table is complete.

For example, to perform a 3-bit subnetting of the global network prefix 3000:4D:C00::/38, we first calculate the values of the number of prefixes, the increment, and the new prefix length. Our starting values are *F *= 0x4D0C00, *s *= 3, and *f *= 38 - 24 = 14. The number of prefixes is 8 (*n *= 2^{3}). The increment is 0x80 (*i *= 2^{24-(14+3) }= 128 = 0x80). The new prefix length is 41 (*l *= 38 + 3).

Next, we construct a table with 8 entries. The subnetted network prefix for network prefix 1 is 3000:4D:C00::/41. Additional entries in the table are successive increments of *i* in the NLA ID portion of the network prefix, as shown in Table 3-4.

**Table 3-4. **The Hexadecimal Subnetting Technique for Network Prefix 3000:4D:C00::/38

Network Prefix Number | NLA ID (hexadecimal) | Subnetted Network Prefix |
---|---|---|

1 | 4D0C00 | 3000:4D:C00::/41 |

2 | 4D0C80 | 3000:4D:C80::/41 |

3 | 4D0D00 | 3000:4D:D00::/41 |

4 | 4D0D80 | 3000:4D:D80::/41 |

5 | 4D0E00 | 3000:4D:E00::/41 |

6 | 4D0E80 | 3000:4D:E80::/41 |

7 | 4D0F00 | 3000:4D:F00::/41 |

8 | 4D0F80 | 3000:4D:F80::/41 |

RFC 2373 allows the use of subnetted network prefixes where the bits being used for subnetting are set to all zeros (the all-zeros subnetted network prefix) and all ones (the all-ones subnetted network prefix) for any portion of the IPv6 network prefix being subnetted.

- Based on
*s*(the number of bits chosen for subnetting), and*m*(the prefix length of the network prefix being subnetted), and*F*(the hexadecimal value of the NLA ID being subnetted), calculate the following:*f*=*m*-*f*is the number of bits within the NLA ID that are already fixed.*n*=^{s}*n*is the number of network prefixes that are obtained.*i*=^{24-(f+s) }*i*is the incremental value between each successive NLA ID expressed in decimal form.*l*=*f*+*s**l*is the prefix length of the new subnetted network prefixes.*D*= decimal representation of*F* - Create a four-column table with
*n*entries. The first column is the network prefix number (starting with 1), the second column is the decimal representation of the NLA ID portion of the new subnetted network prefix, the third column is the hexadecimal representation of the NLA ID portion of the new subnetted network prefix, and the fourth column is the new subnetted network prefix. - In the first table entry, the decimal representation of the NLA ID is
*D*, the hexadecimal representation of the NLA ID is*F*, and the subnetted network prefix is the original network prefix with the new prefix length. - In the next table entry, for the second column, increase the value of the decimal representation of the NLA ID by
*i*. For example, in the second table entry, the decimal representation of the subnet ID is*D*+*i*. - For the third column, convert the decimal representation of the NLA ID to hexadecimal.
- For the fourth column, convert the NLA ID into two separate 16-bit blocks in colon hexadecimal notation and place them after the 16-bit prefix to express the new subnetted network prefix. For example, for the second table entry, the subnetted network prefix is [
*16-bit prefix*]:[*F*+*i*(expressed in colon hexadecimal notation)]::/*l*. - Repeat steps 4 through 6 until the table is complete.

For example, to perform a 3-bit subnetting of the global network prefix 3000:4D:C00::/38, we first calculate the values of the number of prefixes, the increment, and the new prefix length. Our starting values are *F *= 0x4D0C00, *s *= 3, and *f *= 38 - 24 = 14. The number of prefixes is 8 (*n *= 2^{3}). The increment is 128 (*i *= 2^{24-(14+3) }= 128). The new prefix length is 41 (*l *= 38 + 3). The decimal representation of the starting NLA ID is 5049344 (*D *= 0x4D0C00 = 5049344).

Next, we construct a table with 8 entries. The subnetted network prefix for network prefix 1 is 3000:4D:C00::/41. Additional entries in the table are successive increments of *i* in the NLA ID portion of the network prefix, as shown in Table 3-5.

**Table 3-5. ***The Decimal Subnetting Technique for Network Prefix 3000:4D:C00::/38*

Network Prefix Number | Decimal Representation of NLA ID | Hexadecimal Representation of NLA ID | Subnetted Network Prefix |
---|---|---|---|

1 | 5049344 | 4D0C00 | 3000:4D:C00::/41 |

2 | 5049472 | 4D0C80 | 3000:4D:C80::/41 |

3 | 5049600 | 4D0D00 | 3000:4D:D00::/41 |

4 | 5049728 | 4D0D80 | 3000:4D:D80::/41 |

5 | 5049856 | 4D0E00 | 3000:4D:E00::/41 |

6 | 5049984 | 4D0E80 | 3000:4D:E80::/41 |

7 | 5050112 | 4D0F00 | 3000:4D:F00::/41 |

8 | 5050240 | 4D0F80 | 3000:4D:F80::/41 |

For most network administrators within an organization, subnetting the IPv6 address space consists of using subnetting techniques to divide the SLA ID portion of the global address or the Subnet ID portion of the site-local address in a manner that allows for route summarization and delegation of the remaining address space to different portions of an IPv6 intranet. The global address has a 16-bit SLA ID field to be used by organizations within their sites. The site-local address has a 16-bit Subnet ID field to be used by organizations within a site.

In both cases, the first 48 bits of the address are fixed. For the global address, the first 48 bits are fixed and allocated by an ISP and correspond to the TLA and NLA ID portions of the global address. For the site-local address, the first 48 bits are fixed at FEC0::/48. In the discussion that follows, the term subnet ID refers to either the SLA ID portion of the global address or the Subnet ID portion of a site-local address.

Subnetting the subnet ID portion of a global or site-local address space requires a two-step procedure:

- Determine the number of bits to be used for the subnetting.
- Enumerate the new subnetted network prefixes.

The subnetting technique described here assumes that subnetting is done by dividing the 16-bit address space of the subnet ID using the high-order bits in the subnet ID. While this method promotes hierarchical addressing and routing, it is not required. For example, in a small organization with a small number of subnets, you can also create a flat addressing space for the subnet ID by numbering the subnets starting at 0.

As described in the "Local-Use Unicast Addresses" section of this chapter, you can use the same subnetting scheme and use the same subnet ID for both site-local and global address network prefixes.

The number of bits being used for subnetting determines the possible number of new subnetted network prefixes that can be allocated to portions of your network based on geographical or departmental divisions. In a hierarchical routing infrastructure, you need to determine how many network prefixes, and therefore how many bits, you need at each level in the hierarchy. The more bits you choose for the various levels of the hierarchy, the fewer bits you will have available to enumerate individual subnets in the last level of the hierarchy.

For example, a network administrator decides to implement a two-level hierarchy reflecting a geographical/departmental structure and uses 4 bits for the geographical level and 6 bits for the departmental level. This means that each department in each geographical location has only 6 bits of subnetting space left (16 - 6 - 4), or only 64 (= 2^{6}) subnets per department.

On any given level in the hierarchy, you will have a number of bits that are already fixed by the next level up in the hierarchy (*f *), a number of bits used for subnetting at the current level in the hierarchy (*s*), and a number of bits remaining for the next level down in the hierarchy (*r*). At all times, *f *+* s *+* r* = 16. This relationship is shown in Figure 3-10.

**Figure 3-10. ***The subnetting of a Subnet ID*

Based on the number of bits used for subnetting, you must list the new subnetted network prefixes. There are two main approaches:

- Hexadecimal — Enumerate new subnetted network prefixes by using hexadecimal representations of the subnet ID and increment.
- Decimal — Enumerate new subnetted network prefixes by using decimal representations of the subnet ID and increment.

Either method produces the same result: an enumerated list of subnetted network prefixes.

- Based on
*s*(the number of bits chosen for subnetting),*m*(the prefix length of the network prefix being subnetted), and*F*(the hexadecimal value of the subnet being subnetted), calculate the following:*f*=*m*-*f*is the number of bits within the subnet ID that are already fixed.*n*=^{s}*n*is the number of network prefixes that are obtained.*i*=^{16-(f+s) }*i*is the incremental value between each successive subnet ID expressed in hexadecimal form.*l*=*f*+*s**l*is the prefix length of the new subnetted network prefixes. - Create a two-column table with
*n*entries. The first column is the network prefix number (starting with 1) and the second column is the new subnetted network prefix. - In the first table entry, based on
*F*, the hexadecimal value of the subnet ID being subnetted, the subnetted network prefix is [*48-bit prefix*]:*F*::/*l*. - In the next table entry, increase the value within the subnet ID portion of the site-local or global address by
*i*. For example, in the second table entry, the subnetted prefix is [*48-bit prefix*]:*F*+*i*::/*l*. - Repeat step 4 until the table is complete.

For example, to perform a 3-bit subnetting of the site-local network prefix FEC0:0:0:C000::/51, we first calculate the values of the number of prefixes, the increment, and the new prefix length. Our starting values are *F *= 0xC000, *s *= 3, and *f *= 51 - 48 = 3. The number of prefixes is 8 (*n *= 2^{3}). The increment is 0x400 (*i *= 2^{16-(3+3) }= 1024 = 0x400). The new prefix length is 54 (*l *= 48 + 3 + 3).

Next, we construct a table with 8 entries. The entry for the network prefix 1 is FEC0:0:0:C000::/54. Additional entries in the table are successive increments of *i* in the subnet ID portion of the network prefix, as shown in Table 3-6.

**Table 3-6. ***The Hexadecimal Subnetting Technique for Network Prefix FEC0:0:0:C000::/51*

Network Prefix Number | Subnetted Network Prefix |
---|---|

1 | FEC0:0:0:C000::/54 |

2 | FEC0:0:0:C400::/54 |

3 | FEC0:0:0:C800::/54 |

4 | FEC0:0:0:CC00::/54 |

5 | FEC0:0:0:D000::/54 |

6 | FEC0:0:0:D400::/54 |

7 | FEC0:0:0:D800::/54 |

8 | FEC0:0:0:DC00::/54 |

- Based on
*s*(the number of bits chosen for subnetting), and*m*(the prefix length of the network prefix being subnetted), and*F*(the hexadecimal value of the subnet ID being subnetted), calculate the following:*f*=*m*-*f*is the number of bits within the subnet ID that are already fixed.*n*=^{s}*n*is the number of network prefixes that are obtained.*i*=^{16-(f+s) }*i*is the incremental value between each successive subnet ID.*l*=*f*+*s**l*is the prefix length of the new subnetted network prefixes.*D*= decimal representation of*F* - Create a three-column table with
*n*entries. The first column is the network prefix number (starting with 1), the second column is the decimal representation of the subnet ID portion of the new network prefix, and the third column is the new subnetted network prefix. - In the first table entry, the decimal representation of the subnet ID is
*D*and the subnetted network prefix is [*48-bit prefix*]:*F*::/*l*. - In the next table entry, for the second column, increase the value of the decimal representation of the subnet ID by
*i*. For example, in the second table entry, the decimal representation of the subnet ID is*D*+*i*. - For the third column, convert the decimal representation of the subnet ID to hexadecimal and construct the prefix from [
*48-bit prefix*]:[*subnet ID*]::/*l*. For example, in the second table entry, the subnetted network prefix is [*48-bit prefix*]:[*D*+*i*(converted to hexadecimal)]::/*l*. - Repeat steps 4 and 5 until the table is complete.

For example, to perform a 3-bit subnetting of the site-local network prefix FEC0:0:0:C000::/51, we first calculate the values of the number of prefixes, the increment, the new prefix length, and the decimal representation of the starting subnet ID. Our starting values are *F *= 0xC000, *s *= 3, and *f * = 51 - 48 = 3. The number of prefixes is 8 (*n *= 2^{3}). The increment is 1024 (*i *= 2^{16-(3+3)}). The new prefix length is 54 (*l *= 48 + 3 + 3). The decimal representation of the starting subnet ID is 49152 (*D *= 0xC000 = 49152).

Next, we construct a table with 8 entries. The entry for the network prefix 1 is 49152 and FEC0:0:0:C000::/54. Additional entries in the table are successive increments of *i* in the subnet ID portion of the network prefix, as shown in Table 3-7.

**Table 3-7. **The Decimal Subnetting Technique for Network Prefix FEC0:0:0:C000::/51

Network Prefix Number | Decimal Representation of Subnet ID | Subnetted Network Prefix |
---|---|---|

1 | 49152 | FEC0:0:0:C000::/54 |

2 | 50176 | FEC0:0:0:C400::/54 |

3 | 51200 | FEC0:0:0:C800::/54 |

4 | 52224 | FEC0:0:0:CC00::/54 |

5 | 53248 | FEC0:0:0:D000::/54 |

6 | 54272 | FEC0:0:0:D400::/54 |

7 | 55296 | FEC0:0:0:D800::/54 |

8 | 56320 | FEC0:0:0:DC00::/54 |

Similar book on Amazon

flylib.com © 2008-2017.

If you may any questions please contact us: flylib@qtcs.net

If you may any questions please contact us: flylib@qtcs.net