3. www.internetsociety.org/deploy360/
Why Create An IPv6 Address Plan?
• Routing tables can be smaller and more efficient
• Security policies can be easier to implement
• Application policies can be implemented
• Network management/provisioning can be easier
• Troubleshooting can be easier, particularly with visual
identification
• Easier scaling as more devices or locations are added
4. www.internetsociety.org/deploy360/
IPv4 Subnetting Concepts To Forget!
Why do we do subnetting?
• IPv4: Conserve address space
• IPv6: planning and optimization for routing and security
Subnets vs hosts – number of hosts irrelevant in IPv6
• There will rarely be a need to expand a /64 subnet (264 hosts)
• 264 = 18,446,744,073,709,551,616 hosts
15. www.internetsociety.org/deploy360/
Using "Nibbles" as boundaries
• A "nibble" is one hexadecimal digit (or 4 bits)
• You don't have to subnet based on nibbles. You can
use other prefixes, ex. /49, /51, /54
• But it is MUCH easier to identify addresses if you do.
hex 1234
binary 0001:0010:0011:0100
20. www.internetsociety.org/deploy360/
Next Step: Plan Your Subnet Scheme
• Multiple ways to use the 4 nibbles (assuming a /48)
• Plan nibbles by:
• Region and site
• Location
• Use type (ex. employees, students, guests)
• Business units
• Applications (ex. data, voice, video)
• Combinations of some of the above
• THERE IS NO ONE RIGHT ANSWER!
• Will depend upon your site and your objectives
9/24/13
21. www.internetsociety.org/deploy360/
Example Planning Considerations
• Do you want to optimize for your security policies?
• Do you want to make it easy for firewalls to filter based on… location?
user type? applications?
• Do you want to optimize for router policies and
performance?
• Do you want to have the smallest and most efficient routing table
possible?
• Do you have a higher or lower quantity of certain
types of objects?
• For example, do you only have 2 locations but 20 types of applications?
22. www.internetsociety.org/deploy360/
Example #1: Location and Use Type
2001:db8:1234:152c:12b4:5678:d334:9af
Prefix (/48) Subnet (/16)
Location (16):
• Building 1
• Building 2
• Building 3
Use Type (16):
• Employees
• Servers
• Infrastructure
Individual
networks (256)
23. www.internetsociety.org/deploy360/
Example #2: Locations (many) and Use Type
2001:db8:1234:152c:12b4:5678:d334:9af
Prefix (/48) Subnet (/16)
Location (256):
• Building 1
• Building 2
• Building 3
Use Type (16):
• Employees
• Servers
• Infrastructure
Individual
networks (16)
24. www.internetsociety.org/deploy360/
Example #3 – business units first
Start by allocating based on business units:
• Corporate: 2001:db8:1a:0000::/52
• Finance: 2001:db8:1a:1000::/52
• Marketing: 2001:db8:1a:2000::/52
• Engineering: 2001:db8:1a:3000::/52
• Customer Support: 2001:db8:1a:4000::/52
Then allocate on applications (here for one unit):
• Engineering - Data: 2001:db8:1a:3000::/56
• Engineering - Voice: 2001:db8:1a:3200::/56
• Engineering - Video: 2001:db8:1a:3400::/56
• Engineering - Wireless: 2001:db8:1a:3800::/56
• Engineering - Management:2001:db8:1a:3c00::/56
9/24/13
25. www.internetsociety.org/deploy360/
Example #3, continued
Next allocate based on region (here for "Data"):
• Engineering - Data – Eastern region: 2001:db8:1a:3000::/60
• Engineering - Data – Northern region: 2001:db8:1a:3080::/60
• Engineering - Data – Western region: 2001:db8:1a:3040::/60
• Engineering - Data – Southern region: 2001:db8:1a:30c0::/60
Then allocate on individual sites:
• Engineering - Data - Northern region - Site 0: 2001:db8:1a:3080::/64
• Engineering - Data - Northern region - Site 1: 2001:db8:1a:3081::/64
• Engineering - Data - Northern region - Site 2: 2001:db8:1a:3082::/64
9/24/13
26. www.internetsociety.org/deploy360/
Example #4 – applications first
Start by allocating based on applications:
• Data: 2001:db8:1a:0000::/52
• Voice: 2001:db8:1a:8000::/52
• Video: 2001:db8:1a:4000::/52
• Wireless: 2001:db8:1a:c000::/52
• Management: 2001:db8:1a:2000::/52
Then allocate on regions (here for one unit):
• Voice – Eastern region: 2001:db8:1a:8000::/56
• Voice – Northern region: 2001:db8:1a:8800::/56
• Voice – Western region: 2001:db8:1a:8400::/56
• Voice – Southern region: 2001:db8:1a:8c00::/56
9/24/13
27. www.internetsociety.org/deploy360/
Example #4, continued
Next allocate based on business unit:
• Voice – Southern region – Corporate: 2001:db8:1a:8c00::/60
• Voice – Southern region – Finance: 2001:db8:1a:8c10::/60
• Voice – Southern region – Marketing: 2001:db8:1a:8c20::/60
• Voice – Southern region – Engineering: 2001:db8:1a:8c30::/60
• Voice – Southern region – Cust Support: 2001:db8:1a:8c40::/60
Then finally on individual sites:
• Voice – Southern– Marketing – Site 1: 2001:db8:1a:8c2a::/64
• Voice – Southern– Marketing – Site 2: 2001:db8:1a:8c29::/64
• Voice – Southern– Marketing – Site 3: 2001:db8:1a:8c2e::/64
9/24/13
29. www.internetsociety.org/deploy360/
Subnet Numbering: Planning For Growth
Multiple ways for numbering individual subnets:
• Numerical (monotonic) – just increment by 1:
• 2001:db8:1234:0000::/64
• 2001:db8:1234:1000::/64
• 2001:db3:1234:2000::/64
• Sparse allocation (RFC 3531)
• 2001:db8:1234:0000::/64
• 2001:db8:1234:8000::/64
• 2001:db3:1234:4000::/64
• Random allocation
• Randomly choose numbers
9/24/13
30. www.internetsociety.org/deploy360/
Calculating The # Of Required Subnets
• Determine primary factor you want to use
• Ex. location
• Determine number of needed groups
• Ex. 15 locations, 2 administrative groups, 5 future = 22 total
• Round up to nearest nibble
• Ex. 22 would fit within 2 nibbles (256 values)
• Decide what to do with remaining nibbles (if any)
• Continue subnetting with a secondary factor
• Don't subdivide and just have large subnets
9/24/13
32. www.internetsociety.org/deploy360/
Other Subnet Schemes
• VLAN Numbers
• Organization may already have location/type planned into VLANs
• Mirroring IPv4 Networks
• Point-to-point / inter-router links
• RFC 6164 suggests use of /127 prefixes
• You may want to reserve a /64 and then assign a /127
9/24/13
33. www.internetsociety.org/deploy360/
Subnetting on non-nibble boundaries
• Again, you can subnet on non-nibble boundaries
• Can make more efficient use of space, just may be harder to use
• Calculate # of bits necessary by finding the nearest
power of 2 greater than or equal to value
• If 6 locations, 8 (23) is closest so 3 bits would be needed.
• If 20 locations, 32 (25) is closest so 5 bits would be needed.
• Example of subnet boundaries using 3 bits (/51):
• Subnet 1 – 2001:db8:1a:0::/51
• Values – 2001:db8:1a:0:0:0:0:0 – 2001:db8:1a:1fff:ffff:ffff:ffff:ffff
• Subnet 2 – 2001:db8:1a:2000::/51
• Values – 2001:db8:1a:2000:0:0:0:0 – 2001:db8:1a:3fff:ffff:ffff:ffff:ffff
• Subnet 3 – 2001:db8:1a:4000::/51
9/24/13
44. www.internetsociety.org/deploy360/
Requesting IPv6 Addresses
• Many ISPs/LIRs simply request a /32
• 2001:db8::/32
• You can request larger address space
• How many /32s do you want to have?
• See:
• http://www.internetsociety.org/deploy360/resources/how-to-get-ipv6-addresses/
45. www.internetsociety.org/deploy360/
Requesting Greater Than A /32
• If you use __ bits, you will have __ subnets and use a __ prefix
• If you want 2 /32's, request a /31
• RIRs may have different policies about what size
address blocks you can obtain
2001:0db8:1234:152c:12b4:5678:d334:9af
0000110110111000
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
65536 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
/16 /17 /18 /19 /20 /21 /22 /23 /24 /25 /26 /27 /28 /29 /30 /31 /32
47. www.internetsociety.org/deploy360/
Closing Recommendations
• Ensure that all prefixes fall on nibble boundaries
• Plan a hierarchical scheme for easy aggregation or
enforcement of policies
• Allocate /64 prefixes for all end subnets
• Consider scalability and future potential growth
• Think about how well your plan might handle
renumbering
• Document your planning thoroughly
48. www.internetsociety.org/deploy360/
Resources
AFRINIC IPv6 Foundations
• http://learn.afrinic.net/index.php/en/resources/ipv6
SURFnet / RIPE NCC "Preparing an IPv6 Address Plan"
• http://www.surfnet.nl/Documents/rapport_201309_IPv6_numplan_EN.pdf
Internet Society Deploy360 Programme
• http://www.internetsociety.org/deploy360/ipv6/basics/
• http://www.internetsociety.org/deploy360/resources/ipv6-address-planning/
9/25/13