Giter Club home page Giter Club logo

Comments (1)

ggiesen avatar ggiesen commented on July 19, 2024

To elaborate on the use case, I have an application that uses an IPv6 /64. Within that subnet, there are infrastructure hosts (that get assigned addresses out of 2001:db8:1::5/80), and multiple VMs for each customer. Each customer is assigned a /80 (and each customer has multiple VMs). I might also have some oddball hosts that are not assigned to any group.

So 2001:db8:1::/64 is laid out like this:

2001:db8:1::/64:

  • 2001:db8:5:11:/80 Infrastructure VMs
    • 2001:db8:1:11:1/64 Infrastructure Host 1
    • 2001:db8:1:11:2/64 Infrastructure Host 2
    • 2001:db8:1:11:3/64 Infrastructure Host 3
  • 2001:db8:1:11:/80 Customer 1
    • 2001:db8:1:11:1/64 Customer 1 Host 1
    • 2001:db8:1:11:2/64 Customer 1 Host 2
    • 2001:db8:1:11:3/64 Customer 1 Host 3
  • 2001:db8:1:12::/80 Customer 2
    • 2001:db8:1:12:1/64 Customer 2 Host 1
    • 2001:db8:1:12:2/64 Customer 2 Host 2
    • 2001:db8:1:12:3/64 Customer 2 Host 3
  • 2001:db8:1:13::/80 Customer 3
    • 2001:db8:1:13:1/64 Customer 3 Host 1
    • 2001:db8:1:13:2/64 Customer 3 Host 2
    • 2001:db8:1:13:3/64 Customer 3 Host 3
  • 2001:db8:1:6:11/64 Host 1 (not part of address group)

The idea being I use the size of the IPv6 address space (though this benefit is not limited to IPv6) to nicely group and lay out hosts so I can tell at a glance by the address which customer it belongs to. I also know if I need to create a new host for Customer 2, its address will be 2001:db8:1:12:4/64 (the next available address in the 2001:db8:1:12::/80 address group). The key here is still all one /64 subnet, but having a way to nicely organize addresses into groups.

Another example might be to use ranges:

192.0.2.0/24:

  • 192.0.2.10-192.0.2.19 Infrastructure VMs
    • 192.0.2.10/24 Infrastructure Host 1
    • 192.0.2.11/24 Infrastructure Host 2
    • 192.0.2.12/24 Infrastructure Host 3
  • 192.0.2.110-192.0.2.119 Customer 1
    • 192.0.2.110/24 Customer 1 Host 1
    • 192.0.2.111/24 Customer 1 Host 2
    • 192.0.2.112/24 Customer 1 Host 3
  • 192.0.2.120-192.0.2.129 Customer 2
    • 192.0.2.120/24 Customer 2 Host 1
    • 192.0.2.121/24 Customer 2 Host 2
    • 192.0.2.122/24 Customer 2 Host 3
  • 192.0.2.130-192.0.2.139 Customer 3
    • 192.0.2.130/24 Customer 3 Host 1
    • 192.0.2.131/24 Customer 3 Host 2
    • 192.0.2.132/24 Customer 3 Host 3
  • 192.0.2.250/24 Host 1 (not part of address group)

from nautobot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.