• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

Roger Perkin

Network Automation Consultant

  • Network Automation
    • Network Automation Consultant
    • Network Automation Courses
    • What is NetDevOps?
    • Workflow Orchestration
    • Ansible Automation Platform
    • Ansible Workshop
    • What is Network Automation?
    • Network Automation Tools
    • ContainerLab
    • Ansible Training
      • What is Ansible?
      • Ansible Tutorial for Beginners
      • Ansible Network Automation
      • Ansible Inventory Example
    • Python Network Automation
      • Nornir
      • Python for Network Engineers
      • Python VENV / Virtual Environment Tutorial
      • Python Tutorial for Beginners
      • pyATS
    • Network Source of Truth
      • NetBox Training
      • Infrahub
      • NautoBot
    • NetDevops
    • DevOps Tutorial
      • Git Training
      • Terraform Training
      • Linux Training
      • Kubernetes Training
      • Devops Training Course
      • Azure Devops Training
    • Terraform
    • GIT
      • Git Commands
      • What is GitHub?
    • Docker Training
    • Confluence
    • Microsoft Azure
  • Cisco
    • ISE
    • SD WAN Training
    • Password Recovery
    • Software-Upgrade-Guides
    • BGP
    • Data Center
    • WIRELESS
  • CCIE
  • Blog
  • About
    • My Red Special Guitar
  • Contact

Understanding the Nautobot Data Model

Home » Network Automation » NautoBot

The Nautobot Data Model models your network using a few core objects, the most important ones are Sites, Locations, Devices, Device Types, Interfaces, IP Addresses and Prefixes.

Each object represents something real in your network and together they form a hierarchy that describes your infrastructure.

Why a Source of Truth Matters

Traditionally network information is scattered across spreadsheets, diagrams, monitoring tools & configuration files.

This creates a problem:

You end up with inconsistent data, outdated documentation and more importantly automation scripts that break.

A Source of Truth solves this by creating a single authoritative database for your network.

Automation tools like Ansible, Python scripts, or CI pipelines can then query Nautobot for accurate network data.

But for that to work, Nautobot needs a structured way to represent networks.

And that’s where the data model comes in.

Core Nautobot Objects

At a high level, Nautobot models your network using a few core objects.

The most important ones are:

  • Locations
  • Devices
  • Device Types
  • Interfaces
  • IP Addresses
  • Prefixes

You can think of these as building blocks, each object represents something real in your network and together they form a hierarchy that describes your infrastructure. Let’s start at the top.

Locations & Location Types

The highest level in the Nautobot model is Locations, a Location represents a physical location in your network.

Examples might include:

  • Data Centre
  • Office
  • Branch Location
  • Edge Location

An example Location might be London DC or New York DC it can also be UK or North West

Within Locations you can also define Location Types – this can be named whatever you wish e.g Region or Site

Locations allow you to break a site down further into things like:

  • Buildings
  • Floors
  • Network Rooms
  • Racks

An example hierarchy starts to look this this:

Locations → New York DC → Device

Devices and Device Types

Next we have Devices, devices represent the actual network equipment.

Examples include:

  • Routers
  • Switches
  • Firewalls
  • Load Balancers

Each device is created from a Device Type

A Device Type defines things like:

  • Vendor
  • Model
  • Number of interfaces
  • Hardware characteristics

For example you might define device types like:

  • Cisco Catalyst 9300
  • Arista 7050
  • Juniper SRX

Then when you create a device in Nautobot you select the device type.

This keeps your inventory consistent and scalable. You also associate each device with:

  • a Site
  • a Location
  • a Role e.g Core, Access, PE etc

Interfaces and Connectivity

Once devices exist in Nautobot, the next level down is interfaces. Interfaces represent the actual ports on your devices.

Examples include:

  • Ethernet interfaces
  • Loopback interfaces
  • Port channels
  • VLAN interfaces

Each device contains its own list of interfaces.

Interfaces can then be connected together using cables inside Nautobot.

IP Address Management (IPAM)

Another major part of the Nautobot data model is IP Address Management, often called IPAM.

This is where Nautobot tracks:

  • prefixes
  • subnets
  • IP addresses
  • VRFs

For example you might define a prefix like:

10.0.0.0/24

Then assign specific IP addresses to device interfaces.

For example:

Router1 Loopback0 → 10.0.0.1

This creates a relationship between:

Interface → IP Address → Prefix.

Now Nautobot understands both:

  • the physical network
  • the logical addressing plan.

And this becomes incredibly powerful for automation.

How Everything Connects Together

Let’s quickly visualise the full model.

At the top you have:

Site

Inside that you have:

Locations

Inside locations you have:

Devices

Devices contain:

Interfaces

Interfaces can have:

IP addresses

And interfaces can connect to other interfaces.

So Nautobot effectively builds a graph of your entire network infrastructure.

Once that data exists, automation tools can query Nautobot to answer questions like:

  • What devices exist in a site?
  • What interfaces are connected?
  • What IP addresses are assigned?
  • What devices belong to a specific role?

Understanding this model is critical because every automation workflow in Nautobot depends on this data structure.

This is why Nautobot is so powerful as a network automation platform.

Example Device

Category: NautoBot
ansible course for network engineers
Get Access to my Ansible Course NOW
Previous Post:Data Modeling Tutorial for Network Engineers
Next Post:What is Nautocon?what is nautocon

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Sidebar

Hi I'm Roger Perkin,
Based in the UK working as a Network Automation Architect, CCIE #50038
About Roger | Twitter | Linkedin

Python for Network Engineers Course

Topics

Network Automation
Ansible Network Automaton
Python for Network Automation
CCIE
BGP
OSPF
Network Automation Conferences
auvik promo banner
Pluralsight Trial

Git for Network Engineers

Ansible vs Nornir

Start learning today with my Network Automation Courses

Master Ansible, Python, Git, Nornir, Jenkins and more..


Buy me a coffeeBuy me a coffee

ansible network automation course

Have you seen my YouTube Channel?

YouTube Subscribe

Let’s get started

Take a look at my premium courses on Ansible, Nornir & Git or buy them all with the Network Automation Bundle!

Network Automation Courses

Navigation

Python VENV Tutorial
Python for Network Engineers Course

Network Automation
Network Automation Courses
Network Discovery Tools
Network Automation Conferences
Ansible Training
What is Ansible?
Devops Tutorial
Network Source of Truth
DevOps Glossary
Network Monitoring Software

Contact

Contact

Get in touch with me here

[email protected]

  • Twitter
  • LinkedIn
  • YouTube
Buy me a coffeeBuy me a coffee

Copyright © 2026 · Roger Perkin · All Rights Reserved · Privacy Policy – Terms