Twelve of the thirteen artifacts that declared nothing now declare what they define, together with the map-assigned concepts the Organization Model was missing and the Landscape seed concepts the extractor cannot see because they are listed rather than defined in prose. The ownership index grows from 164 entries to 750, undeclared prose definitions fall from 637 to 57, and there are no ownership conflicts. The 57 that remain are overlaps this round assigned to another owner: imports, each recorded in a boundary review. The kernel map declares nothing, deliberately, because it assigns concepts to owners rather than defining them. It is now the only silent artifact and the suite asserts that, so an artifact added without declarations fails. itc-org:Authority is declared, with Actor, Ownership, Membership, Role, Responsibility and Accountability, which SecurityCanon and the identity model already treat as organization-owned. The regression test that previously asserted the blind spot now asserts that the kernel map's assignment and the declaration agree. Profile is deliberately left undeclared. The kernel map assigns it to Core, the identity model owns it under accepted CUST-ADR-006, and Observability defines a runtime performance profile. Three senses need a decision, not a declaration, so it is recorded as open rather than forced. Eleven boundary reviews are added beside the artifacts they describe, in the shape the identity model has used since INFO-WP-0021. The largest finding is that Core and the Information Space model restate eight provenance concepts in nearly identical words; Core owns them and Information Space imports. Label, Drift, Summary and Attribute are resolved by disambiguation rather than transfer. make check passes with 50 tests, clean validation, no stale generated assets. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 3588@bnt-lap001 Assistant-Session: 24b80f66-e5a7-4e61-99fe-2d422e6d17da
2512 lines
53 KiB
Markdown
2512 lines
53 KiB
Markdown
---
|
|
owned_concepts:
|
|
- ACL
|
|
- AddressFamily
|
|
- AllowedFlow
|
|
- AppliedNetworkState
|
|
- AssessedNetworkState
|
|
- AttackSurfaceReference
|
|
- Circuit
|
|
- ConnectivityService
|
|
- DNSRecord
|
|
- DNSZone
|
|
- DeclaredNetworkState
|
|
- DeniedFlow
|
|
- EgressEndpoint
|
|
- Endpoint
|
|
- Firewall
|
|
- FirewallRule
|
|
- Gateway
|
|
- HistoricalNetworkState
|
|
- Hostname
|
|
- IPAddress
|
|
- IPAllocation
|
|
- IngressEndpoint
|
|
- IntendedNetworkState
|
|
- Interface
|
|
- KubernetesNetworkPolicy
|
|
- LoadBalancer
|
|
- ManagementEndpoint
|
|
- Microsegment
|
|
- NAT
|
|
- NetworkACL
|
|
- NetworkConfiguration
|
|
- NetworkDevice
|
|
- NetworkDomain
|
|
- NetworkEntity
|
|
- NetworkFabric
|
|
- NetworkFlow
|
|
- NetworkIntent
|
|
- NetworkNode
|
|
- NetworkPolicy
|
|
- NetworkRegion
|
|
- NetworkSegment
|
|
- NetworkSite
|
|
- NetworkTenant
|
|
- NetworkZone
|
|
- NextHop
|
|
- ObservedFlow
|
|
- ObservedNetworkState
|
|
- OverlayNetwork
|
|
- Path
|
|
- Peering
|
|
- Port
|
|
- Prefix
|
|
- PrivateEndpoint
|
|
- Proxy
|
|
- PublicEndpoint
|
|
- ReachabilityClaim
|
|
- ReachabilityTest
|
|
- ReconciliationResult
|
|
- Route
|
|
- RouteTable
|
|
- Router
|
|
- SecurityGroup
|
|
- SecurityZone
|
|
- ServiceEndpoint
|
|
- ServiceMeshPolicy
|
|
- ServiceName
|
|
- Subnet
|
|
- Switch
|
|
- TerminationPoint
|
|
- TrafficPolicy
|
|
- TrustZoneReference
|
|
- UnderlayNetwork
|
|
- VLAN
|
|
- VRF
|
|
- WorkloadEndpoint
|
|
---
|
|
|
|
# InfoTechCanon Network Model
|
|
|
|
**Short Name:** `ITC-NET`
|
|
**Document Status:** Seed Standard Release Candidate 1
|
|
**Version:** RC1-seed
|
|
**Date:** 2026-05-23
|
|
**Repository Context:** `info-tech-canon`
|
|
**Document Type:** InfoTechCanon Domain Standard
|
|
**Intended Audience:** Network architects, platform engineers, cloud engineers, security architects, SREs, DevSecOps teams, service owners, infrastructure operators, zero-trust designers, network automation engineers, knowledge-system builders, and agentic tooling.
|
|
|
|
---
|
|
|
|
# 1. Purpose
|
|
|
|
The **InfoTechCanon Network Model** defines a canonical seed model for representing networks, addressing, topology, connectivity, routing, policy, intent, reachability, flow, segmentation, exposure, and network state across physical, virtual, cloud, Kubernetes, service-mesh, hybrid, and zero-trust environments.
|
|
|
|
It exists to prevent the network domain from being collapsed into generic infrastructure, security, or access-control models.
|
|
|
|
This standard provides a canonical vocabulary for:
|
|
|
|
- network domains,
|
|
- fabrics,
|
|
- sites,
|
|
- zones,
|
|
- segments,
|
|
- subnets,
|
|
- prefixes,
|
|
- addresses,
|
|
- DNS,
|
|
- devices,
|
|
- interfaces,
|
|
- links,
|
|
- circuits,
|
|
- paths,
|
|
- routes,
|
|
- route tables,
|
|
- peering,
|
|
- NAT,
|
|
- gateways,
|
|
- firewalls,
|
|
- load balancers,
|
|
- ingress,
|
|
- endpoints,
|
|
- flows,
|
|
- reachability,
|
|
- network policies,
|
|
- network intents,
|
|
- network configurations,
|
|
- network state,
|
|
- exposure,
|
|
- segmentation,
|
|
- and source-of-truth boundaries.
|
|
|
|
---
|
|
|
|
# 2. Position in InfoTechCanon
|
|
|
|
The Network Model is a **domain standard** within InfoTechCanon.
|
|
|
|
It depends on the existing seed standards as follows:
|
|
|
|
```text
|
|
Landscape = services, runtime resources, environments, infrastructure context.
|
|
Organization = network owners, operators, stewards, accountable teams.
|
|
Governance = network policies, controls, exceptions, evidence, reviews.
|
|
Task = network changes, incidents, remediation, review work.
|
|
Tagging = lightweight classification of network entities and policies.
|
|
Access Control = who may administer or use network resources.
|
|
Security = exposure, attack paths, segmentation, network findings.
|
|
Data = data movement, residency, data flows, data access patterns.
|
|
DevSecOps = network configuration as code, deployment, validation, evidence.
|
|
Network = addressing, topology, connectivity, routing, reachability, network policy, intent, and state.
|
|
```
|
|
|
|
```text
|
|
InfoTechCanon
|
|
├── InfoTechCanonCore
|
|
├── InfoTechCanonLandscapeModel
|
|
├── InfoTechCanonOrganizationModel
|
|
├── InfoTechCanonGovernanceModel
|
|
├── InfoTechCanonTaskModel
|
|
├── InfoTechCanonTaggingStandard
|
|
├── InfoTechCanonAccessControlModel
|
|
├── InfoTechCanonSecurityModel
|
|
├── InfoTechCanonDataModel
|
|
├── InfoTechCanonDevSecOpsModel
|
|
├── InfoTechCanonNetworkModel <-- this standard
|
|
├── InfoTechCanonObservabilityModel
|
|
├── InfoTechCanonPatternLanguage
|
|
└── Application Profiles
|
|
```
|
|
|
|
---
|
|
|
|
# 3. Boundary with Adjacent Standards
|
|
|
|
## 3.1 Boundary with Landscape
|
|
|
|
The Landscape Model owns broad runtime and infrastructure context:
|
|
|
|
```text
|
|
Environment
|
|
RuntimePlatform
|
|
RuntimeResource
|
|
ApplicationService
|
|
TechnicalService
|
|
Endpoint reference
|
|
DeploymentRecord
|
|
```
|
|
|
|
The Network Model owns network-specific structure and behavior:
|
|
|
|
```text
|
|
NetworkDomain
|
|
NetworkFabric
|
|
NetworkSegment
|
|
Prefix
|
|
IPAddress
|
|
Interface
|
|
Link
|
|
Route
|
|
Path
|
|
Flow
|
|
NetworkPolicy
|
|
NetworkIntent
|
|
Exposure
|
|
Reachability
|
|
```
|
|
|
|
Boundary rule:
|
|
|
|
```text
|
|
Landscape owns where systems live and how services relate.
|
|
Network owns how communication, addressing, routing, topology, policy, and reachability work.
|
|
```
|
|
|
|
## 3.2 Boundary with Security
|
|
|
|
The Security Model owns:
|
|
|
|
```text
|
|
Threat
|
|
ExposureFinding
|
|
AttackPath
|
|
SecurityFinding
|
|
Mitigation
|
|
SecurityIncident
|
|
```
|
|
|
|
The Network Model owns:
|
|
|
|
```text
|
|
Exposure
|
|
Reachability
|
|
Path
|
|
Flow
|
|
NetworkPolicy
|
|
Segmentation
|
|
NetworkState
|
|
```
|
|
|
|
Security may analyze Network concepts to identify exposure, attack paths, and findings.
|
|
|
|
## 3.3 Boundary with Access Control
|
|
|
|
Access Control owns authorization semantics:
|
|
|
|
```text
|
|
Subject
|
|
Permission
|
|
Privilege
|
|
Grant
|
|
AuthorizationDecision
|
|
AccessSession
|
|
```
|
|
|
|
Network owns connectivity semantics.
|
|
|
|
Example:
|
|
|
|
```text
|
|
Access Control determines whether a subject may administer a firewall rule.
|
|
Network determines what traffic the firewall rule permits or denies.
|
|
```
|
|
|
|
## 3.4 Boundary with Governance
|
|
|
|
Governance owns policies, controls, exceptions, and reviews. Evidence and Evidence Source are imported from ITC-EVID.
|
|
|
|
Network owns network policy as technical traffic-control semantics while referencing governance policies as sources or constraints.
|
|
|
|
Example:
|
|
|
|
```text
|
|
Governance Policy: production databases must not be internet reachable.
|
|
Network Policy: deny inbound traffic to database segment except from application segment.
|
|
```
|
|
|
|
## 3.5 Boundary with Data
|
|
|
|
Data owns semantic data flows, datasets, classification, residency, and processing purpose.
|
|
|
|
Network owns technical packet/service flows and reachability paths.
|
|
|
|
Boundary rule:
|
|
|
|
```text
|
|
DataFlow describes movement of data meaning.
|
|
NetworkFlow describes communication between endpoints.
|
|
```
|
|
|
|
## 3.6 Boundary with DevSecOps
|
|
|
|
DevSecOps owns delivery of network configuration, IaC, policy-as-code, tests, scans, and deployment records.
|
|
|
|
Network owns the intended, declared, applied, and observed network model being delivered or changed.
|
|
|
|
---
|
|
|
|
# 4. Research Basis and External Alignment
|
|
|
|
This seed standard draws on multiple network-management and infrastructure bodies of knowledge.
|
|
|
|
## 4.1 YANG and NETCONF/RESTCONF
|
|
|
|
YANG provides a modeling language for network configuration data, state data, RPCs, and notifications. It is a central mapping target for network configuration and state models.
|
|
|
|
## 4.2 Network Management Datastore Architecture
|
|
|
|
NMDA distinguishes datastore viewpoints such as intended configuration and operational state. This strongly influences the InfoTechCanon Network State Model.
|
|
|
|
## 4.3 IETF Network Topology Models
|
|
|
|
RFC 8345 defines a generic YANG model for network and network topology concepts such as networks, nodes, links, and termination points. Layer-specific topology models extend this idea.
|
|
|
|
## 4.4 Intent-Based Networking
|
|
|
|
Intent-Based Networking clarifies the distinction between intent, policy, configuration, and network behavior. InfoTechCanon uses intent as an abstract desired network outcome, not as a synonym for policy.
|
|
|
|
## 4.5 NetBox and Network Source of Truth
|
|
|
|
NetBox-style source-of-truth practice emphasizes intended-state inventory, IPAM, DCIM, device/interface/cabling modeling, and automation integration. This informs the Network Inventory and Source-of-Truth patterns.
|
|
|
|
## 4.6 Kubernetes NetworkPolicy and Cloud-Native Networking
|
|
|
|
Kubernetes NetworkPolicy models ingress and egress traffic control for selected pods. Cloud-native networking introduces workload identity, ephemeral endpoints, service discovery, ingress controllers, network policies, service mesh, and overlay networking.
|
|
|
|
## 4.7 Zero Trust Architecture
|
|
|
|
Zero Trust shifts focus away from implicit trust in network location toward resource-centric protection, continuous verification, identity, context, least privilege, and policy enforcement close to resources. The Network Model must therefore support network segmentation without assuming that segment location alone establishes trust.
|
|
|
|
## 4.8 Cloud Networking and Software-Defined Networking
|
|
|
|
Cloud networking adds VPC/VNet, subnets, route tables, security groups, network ACLs, load balancers, private links, peering, gateways, NAT, transit networks, and managed DNS as first-class network objects.
|
|
|
|
---
|
|
|
|
# 5. Seed Standard Design Stance
|
|
|
|
This standard is a **seed standard**, not a vendor-specific network schema.
|
|
|
|
It shall:
|
|
|
|
1. define canonical network semantics,
|
|
2. distinguish inventory, addressing, topology, routing, policy, intent, flow, reachability, exposure, configuration, and state,
|
|
3. support physical, virtual, cloud, Kubernetes, service-mesh, and hybrid networks,
|
|
4. support intended, declared, applied, observed, historical, and assessed network state,
|
|
5. support network source-of-truth integration,
|
|
6. support network policy and intent without collapsing them,
|
|
7. support security exposure and zero-trust analysis,
|
|
8. map to external standards and tools without becoming subordinate to them,
|
|
9. remain markdown-first and agent-retrievable,
|
|
10. and support future assimilation of network standards, products, and operational practices.
|
|
|
|
---
|
|
|
|
# 6. Scope
|
|
|
|
## 6.1 In Scope
|
|
|
|
This standard covers canonical representation of:
|
|
|
|
- network domains,
|
|
- fabrics,
|
|
- sites,
|
|
- regions,
|
|
- zones,
|
|
- network segments,
|
|
- subnets,
|
|
- prefixes,
|
|
- IP addresses,
|
|
- DNS zones,
|
|
- DNS records,
|
|
- VLANs,
|
|
- VRFs,
|
|
- overlays,
|
|
- underlays,
|
|
- devices,
|
|
- routers,
|
|
- switches,
|
|
- firewalls,
|
|
- load balancers,
|
|
- gateways,
|
|
- WAFs,
|
|
- proxies,
|
|
- interfaces,
|
|
- ports,
|
|
- links,
|
|
- cables as references,
|
|
- circuits,
|
|
- paths,
|
|
- route tables,
|
|
- routes,
|
|
- BGP/peering references,
|
|
- NAT,
|
|
- service endpoints,
|
|
- ingress,
|
|
- egress,
|
|
- network flows,
|
|
- observed flows,
|
|
- reachability,
|
|
- exposure,
|
|
- network policy,
|
|
- firewall rules,
|
|
- ACLs,
|
|
- security groups,
|
|
- Kubernetes NetworkPolicies,
|
|
- service mesh policies,
|
|
- zero-trust network access references,
|
|
- network intent,
|
|
- network configuration,
|
|
- and network state.
|
|
|
|
## 6.2 Out of Scope
|
|
|
|
This standard does not fully define:
|
|
|
|
- all packet formats,
|
|
- every routing protocol detail,
|
|
- full network-device configuration syntax,
|
|
- physical cabling/DCIM in complete detail,
|
|
- complete telecom resource modeling,
|
|
- complete SD-WAN vendor models,
|
|
- all firewall vendor rule models,
|
|
- full Kubernetes CNI implementation,
|
|
- all service mesh internals,
|
|
- all network telemetry metrics,
|
|
- or detailed network security incident response.
|
|
|
|
Those may be mapped, assimilated, profiled, or handled by adjacent standards.
|
|
|
|
---
|
|
|
|
# 7. Normative Language
|
|
|
|
The following terms are used normatively:
|
|
|
|
- **SHALL** indicates a mandatory rule for conformance.
|
|
- **SHOULD** indicates a recommended practice.
|
|
- **MAY** indicates an optional capability.
|
|
- **MUST NOT** indicates a prohibited practice.
|
|
- **SEED** marks a concept defined provisionally here but open to later refinement.
|
|
- **EXTRACT** marks a concept that may later move to a more specialized standard.
|
|
|
|
---
|
|
|
|
# 8. Core Principles
|
|
|
|
## 8.1 Network Is More Than Devices
|
|
|
|
The network includes topology, addressing, routing, policy, reachability, flows, exposure, intent, and state.
|
|
|
|
## 8.2 Addressing Is Not Topology
|
|
|
|
An IP prefix or subnet is not the same thing as a physical, virtual, or logical topology.
|
|
|
|
## 8.3 Policy Is Not Intent
|
|
|
|
Intent describes desired outcomes.
|
|
|
|
Policy expresses formal allowed, denied, required, or constrained behavior.
|
|
|
|
Configuration implements policy or intent.
|
|
|
|
Observed state shows what is actually happening.
|
|
|
|
## 8.4 Declared State Is Not Observed State
|
|
|
|
The model SHALL distinguish intended, declared, applied, observed, historical, and assessed network state.
|
|
|
|
## 8.5 Reachability Is First-Class
|
|
|
|
Whether one endpoint can reach another endpoint is a modelable fact or claim, not merely an inference hidden inside configuration.
|
|
|
|
## 8.6 Exposure Is First-Class
|
|
|
|
A reachable or discoverable surface matters even when no vulnerability is known.
|
|
|
|
## 8.7 Source of Truth Must Be Explicit
|
|
|
|
Profiles SHOULD declare source-of-truth boundaries for inventory, intended configuration, applied configuration, observed state, topology, and flows.
|
|
|
|
## 8.8 Zero Trust Changes Network Assumptions
|
|
|
|
Network segment membership alone SHOULD NOT be treated as sufficient trust.
|
|
|
|
Resource, identity, policy, context, and access-control semantics may be needed.
|
|
|
|
## 8.9 External Standards Are Mapped, Not Obeyed
|
|
|
|
The Network Model MAY map to YANG, IETF topology models, NetBox, Kubernetes NetworkPolicy, cloud provider network models, firewall models, and zero-trust frameworks.
|
|
|
|
It MUST NOT subordinate its internal semantics to any single external model.
|
|
|
|
---
|
|
|
|
# 9. Canonical Seed Metadata
|
|
|
|
Every network artifact SHOULD support structured metadata.
|
|
|
|
Recommended front matter:
|
|
|
|
```yaml
|
|
---
|
|
id: itc-net:NetworkSegment
|
|
type: concept
|
|
standard: InfoTechCanonNetworkModel
|
|
standard_version: RC1-seed
|
|
status: candidate
|
|
canonical_owner: InfoTechCanonNetworkModel
|
|
preferred_label: Network Segment
|
|
related:
|
|
- itc-net:Subnet
|
|
- itc-net:NetworkZone
|
|
- itc-net:NetworkPolicy
|
|
- itc-sec:Exposure
|
|
mappings:
|
|
- itc-map:network-segment-to-netbox-vlan-prefix
|
|
---
|
|
```
|
|
|
|
Recommended artifact statuses:
|
|
|
|
```text
|
|
idea
|
|
draft
|
|
candidate
|
|
release-candidate
|
|
adopted
|
|
stable
|
|
deprecated
|
|
retired
|
|
```
|
|
|
|
Recommended concept statuses:
|
|
|
|
```text
|
|
proposed
|
|
experimental
|
|
candidate
|
|
canonical
|
|
deprecated
|
|
retired
|
|
```
|
|
|
|
---
|
|
|
|
# 10. Root Network Taxonomy
|
|
|
|
```text
|
|
NetworkEntity
|
|
├── NetworkScopeEntity
|
|
│ ├── NetworkDomain
|
|
│ ├── NetworkFabric
|
|
│ ├── NetworkSite
|
|
│ ├── NetworkRegion
|
|
│ ├── NetworkZone
|
|
│ ├── TrustZoneReference
|
|
│ └── NetworkTenant
|
|
├── AddressingEntity
|
|
│ ├── AddressFamily
|
|
│ ├── Prefix
|
|
│ ├── Subnet
|
|
│ ├── IPAddress
|
|
│ ├── IPAllocation
|
|
│ ├── DNSZone
|
|
│ ├── DNSRecord
|
|
│ ├── Hostname
|
|
│ └── ServiceName
|
|
├── TopologyEntity
|
|
│ ├── NetworkNode
|
|
│ ├── NetworkDevice
|
|
│ ├── Router
|
|
│ ├── Switch
|
|
│ ├── Firewall
|
|
│ ├── Gateway
|
|
│ ├── LoadBalancer
|
|
│ ├── Proxy
|
|
│ ├── Interface
|
|
│ ├── Port
|
|
│ ├── Link
|
|
│ ├── Circuit
|
|
│ ├── Path
|
|
│ └── TerminationPoint
|
|
├── SegmentationEntity
|
|
│ ├── NetworkSegment
|
|
│ ├── VLAN
|
|
│ ├── VRF
|
|
│ ├── OverlayNetwork
|
|
│ ├── UnderlayNetwork
|
|
│ ├── SecurityZone
|
|
│ └── Microsegment
|
|
├── RoutingConnectivityEntity
|
|
│ ├── RouteTable
|
|
│ ├── Route
|
|
│ ├── NextHop
|
|
│ ├── Peering
|
|
│ ├── TransitGatewayReference
|
|
│ ├── NAT
|
|
│ ├── PrivateLinkReference
|
|
│ └── ConnectivityService
|
|
├── EndpointEntity
|
|
│ ├── Endpoint
|
|
│ ├── ServiceEndpoint
|
|
│ ├── IngressEndpoint
|
|
│ ├── EgressEndpoint
|
|
│ ├── PublicEndpoint
|
|
│ ├── PrivateEndpoint
|
|
│ ├── WorkloadEndpoint
|
|
│ └── ManagementEndpoint
|
|
├── PolicyIntentEntity
|
|
│ ├── NetworkIntent
|
|
│ ├── NetworkPolicy
|
|
│ ├── FirewallRule
|
|
│ ├── ACL
|
|
│ ├── SecurityGroup
|
|
│ ├── NetworkACL
|
|
│ ├── KubernetesNetworkPolicy
|
|
│ ├── ServiceMeshPolicy
|
|
│ └── TrafficPolicy
|
|
├── FlowReachabilityEntity
|
|
│ ├── NetworkFlow
|
|
│ ├── ObservedFlow
|
|
│ ├── AllowedFlow
|
|
│ ├── DeniedFlow
|
|
│ ├── ReachabilityClaim
|
|
│ ├── ReachabilityTest
|
|
│ ├── Exposure
|
|
│ └── AttackSurfaceReference
|
|
└── NetworkStateEntity
|
|
├── NetworkConfiguration
|
|
├── IntendedNetworkState
|
|
├── DeclaredNetworkState
|
|
├── AppliedNetworkState
|
|
├── ObservedNetworkState
|
|
├── HistoricalNetworkState
|
|
├── AssessedNetworkState
|
|
├── Drift
|
|
└── ReconciliationResult
|
|
```
|
|
|
|
---
|
|
|
|
# 11. Core Concepts
|
|
|
|
## 11.1 NetworkEntity
|
|
|
|
A **NetworkEntity** is any identifiable concept used to represent network structure, addressing, topology, connectivity, routing, policy, intent, reachability, flow, exposure, configuration, or state.
|
|
|
|
Recommended attributes:
|
|
|
|
```yaml
|
|
id:
|
|
entity_type:
|
|
canonical_name:
|
|
display_name:
|
|
lifecycle_state:
|
|
source_system:
|
|
created_at:
|
|
updated_at:
|
|
```
|
|
|
|
Optional attributes:
|
|
|
|
```yaml
|
|
owner:
|
|
steward:
|
|
network_domain:
|
|
environment:
|
|
source_confidence:
|
|
valid_from:
|
|
valid_to:
|
|
tags:
|
|
external_references:
|
|
```
|
|
|
|
---
|
|
|
|
## 11.2 NetworkDomain
|
|
|
|
A **NetworkDomain** is a bounded network scope with shared management, policy, addressing, routing, topology, or trust assumptions.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
enterprise WAN
|
|
datacenter network
|
|
cloud VPC/VNet
|
|
Kubernetes cluster network
|
|
service mesh
|
|
tenant network
|
|
management network
|
|
partner network
|
|
```
|
|
|
|
---
|
|
|
|
## 11.3 NetworkFabric
|
|
|
|
A **NetworkFabric** is a coordinated network substrate providing connectivity across nodes, devices, or workloads.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
datacenter fabric
|
|
cloud fabric
|
|
SD-WAN fabric
|
|
service mesh fabric
|
|
Kubernetes overlay
|
|
```
|
|
|
|
---
|
|
|
|
## 11.4 NetworkSite
|
|
|
|
A **NetworkSite** is a physical or logical site relevant to network deployment.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
datacenter
|
|
office
|
|
edge location
|
|
cloud region site
|
|
branch
|
|
campus
|
|
```
|
|
|
|
---
|
|
|
|
## 11.5 NetworkRegion
|
|
|
|
A **NetworkRegion** is a geographic, cloud, or provider region relevant to network placement, routing, residency, or operations.
|
|
|
|
---
|
|
|
|
## 11.6 NetworkZone
|
|
|
|
A **NetworkZone** is a logical or physical zone with shared policy, trust, exposure, routing, or segmentation assumptions.
|
|
|
|
---
|
|
|
|
## 11.7 TrustZoneReference
|
|
|
|
A **TrustZoneReference** is a reference to a trust or security zone concept.
|
|
|
|
Security owns trust evaluation. Network owns the network zone and segmentation structure.
|
|
|
|
---
|
|
|
|
## 11.8 NetworkTenant
|
|
|
|
A **NetworkTenant** is a tenant-specific network scope.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
customer tenant VPC
|
|
namespace-scoped network
|
|
project network
|
|
organization network
|
|
```
|
|
|
|
---
|
|
|
|
## 11.9 AddressFamily
|
|
|
|
An **AddressFamily** identifies an addressing family.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
IPv4
|
|
IPv6
|
|
MAC
|
|
DNS
|
|
URI
|
|
service identity
|
|
```
|
|
|
|
---
|
|
|
|
## 11.10 Prefix
|
|
|
|
A **Prefix** is an address range.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
10.0.0.0/24
|
|
2001:db8::/32
|
|
```
|
|
|
|
---
|
|
|
|
## 11.11 Subnet
|
|
|
|
A **Subnet** is a logical subdivision of an address space, usually associated with routing, placement, and policy.
|
|
|
|
Canonical rule:
|
|
|
|
```text
|
|
Subnet SHOULD NOT be treated as identical to SecurityZone.
|
|
```
|
|
|
|
---
|
|
|
|
## 11.12 IPAddress
|
|
|
|
An **IPAddress** is an address assigned, reserved, observed, or available within an address family and prefix.
|
|
|
|
---
|
|
|
|
## 11.13 IPAllocation
|
|
|
|
An **IPAllocation** is the assignment or reservation of an IP address or prefix to an entity.
|
|
|
|
---
|
|
|
|
## 11.14 DNSZone
|
|
|
|
A **DNSZone** is an administrative namespace for DNS records.
|
|
|
|
---
|
|
|
|
## 11.15 DNSRecord
|
|
|
|
A **DNSRecord** maps a name to an address, alias, service, or other DNS data.
|
|
|
|
---
|
|
|
|
## 11.16 Hostname
|
|
|
|
A **Hostname** is a network name assigned to a host, endpoint, or service.
|
|
|
|
---
|
|
|
|
## 11.17 ServiceName
|
|
|
|
A **ServiceName** is a name used to discover or address a service.
|
|
|
|
---
|
|
|
|
## 11.18 NetworkNode
|
|
|
|
A **NetworkNode** is an entity participating in a network topology.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
router
|
|
switch
|
|
firewall
|
|
host
|
|
virtual appliance
|
|
gateway
|
|
workload
|
|
service-mesh proxy
|
|
cloud network object
|
|
```
|
|
|
|
---
|
|
|
|
## 11.19 NetworkDevice
|
|
|
|
A **NetworkDevice** is a physical or virtual device primarily responsible for network functions.
|
|
|
|
---
|
|
|
|
## 11.20 Router
|
|
|
|
A **Router** is a network node that forwards traffic between networks based on routing information.
|
|
|
|
---
|
|
|
|
## 11.21 Switch
|
|
|
|
A **Switch** is a network node that forwards traffic within a layer-2 domain or switching fabric.
|
|
|
|
---
|
|
|
|
## 11.22 Firewall
|
|
|
|
A **Firewall** is a network node or policy enforcement function controlling traffic according to rules or policy.
|
|
|
|
---
|
|
|
|
## 11.23 Gateway
|
|
|
|
A **Gateway** is a network node or service that connects networks, protocols, zones, or domains.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
internet gateway
|
|
NAT gateway
|
|
API gateway
|
|
transit gateway
|
|
VPN gateway
|
|
service mesh gateway
|
|
```
|
|
|
|
---
|
|
|
|
## 11.24 LoadBalancer
|
|
|
|
A **LoadBalancer** distributes traffic across backend endpoints or services.
|
|
|
|
---
|
|
|
|
## 11.25 Proxy
|
|
|
|
A **Proxy** intermediates network communication.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
forward proxy
|
|
reverse proxy
|
|
service mesh sidecar
|
|
egress proxy
|
|
identity-aware proxy
|
|
```
|
|
|
|
---
|
|
|
|
## 11.26 Interface
|
|
|
|
An **Interface** is a physical, virtual, or logical network attachment point of a node.
|
|
|
|
---
|
|
|
|
## 11.27 Port
|
|
|
|
A **Port** is a physical or logical interface endpoint or protocol-level transport port, depending on profile.
|
|
|
|
Profiles MUST distinguish device port from transport port where both occur.
|
|
|
|
---
|
|
|
|
## 11.28 Link
|
|
|
|
A **Link** is a direct or modeled connection between termination points, interfaces, nodes, or segments.
|
|
|
|
---
|
|
|
|
## 11.29 Circuit
|
|
|
|
A **Circuit** is a provider or transport connectivity service between sites, networks, or endpoints.
|
|
|
|
---
|
|
|
|
## 11.30 Path
|
|
|
|
A **Path** is a sequence of nodes, links, hops, segments, or policies through which traffic may or does travel.
|
|
|
|
---
|
|
|
|
## 11.31 TerminationPoint
|
|
|
|
A **TerminationPoint** is a point on a network node where links terminate.
|
|
|
|
This concept maps naturally to IETF topology models.
|
|
|
|
---
|
|
|
|
## 11.32 NetworkSegment
|
|
|
|
A **NetworkSegment** is a bounded logical or physical portion of a network with shared connectivity or policy assumptions.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
VLAN
|
|
subnet
|
|
microsegment
|
|
service mesh scope
|
|
security group domain
|
|
namespace network
|
|
```
|
|
|
|
---
|
|
|
|
## 11.33 VLAN
|
|
|
|
A **VLAN** is a layer-2 segmentation construct.
|
|
|
|
---
|
|
|
|
## 11.34 VRF
|
|
|
|
A **VRF** is a routing table or routing context allowing multiple routing domains to coexist.
|
|
|
|
---
|
|
|
|
## 11.35 OverlayNetwork
|
|
|
|
An **OverlayNetwork** is a virtual network built over another network.
|
|
|
|
---
|
|
|
|
## 11.36 UnderlayNetwork
|
|
|
|
An **UnderlayNetwork** is the lower-level network providing connectivity for an overlay.
|
|
|
|
---
|
|
|
|
## 11.37 SecurityZone
|
|
|
|
A **SecurityZone** is a zone defined by security policy, exposure, control, or trust assumptions.
|
|
|
|
Security owns security posture; Network owns segmentation mechanics.
|
|
|
|
---
|
|
|
|
## 11.38 Microsegment
|
|
|
|
A **Microsegment** is a small policy-enforced segment, often based on workload, identity, label, or service context.
|
|
|
|
---
|
|
|
|
## 11.39 RouteTable
|
|
|
|
A **RouteTable** is a set of routes used to determine forwarding or reachability.
|
|
|
|
---
|
|
|
|
## 11.40 Route
|
|
|
|
A **Route** is a forwarding rule mapping destination prefixes or conditions to next hops or actions.
|
|
|
|
---
|
|
|
|
## 11.41 NextHop
|
|
|
|
A **NextHop** is the next network node, gateway, interface, or target for a route.
|
|
|
|
---
|
|
|
|
## 11.42 Peering
|
|
|
|
**Peering** is a connectivity relationship between networks or routing domains.
|
|
|
|
---
|
|
|
|
## 11.43 NAT
|
|
|
|
**NAT** is address or port translation between network scopes.
|
|
|
|
---
|
|
|
|
## 11.44 ConnectivityService
|
|
|
|
A **ConnectivityService** is a service that provides connectivity.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
VPN
|
|
private link
|
|
transit network
|
|
leased line
|
|
SD-WAN service
|
|
service mesh connectivity
|
|
```
|
|
|
|
---
|
|
|
|
## 11.45 Endpoint
|
|
|
|
An **Endpoint** is an addressable or reachable network surface for a resource, service, workload, or device.
|
|
|
|
---
|
|
|
|
## 11.46 ServiceEndpoint
|
|
|
|
A **ServiceEndpoint** is an endpoint representing a service.
|
|
|
|
---
|
|
|
|
## 11.47 IngressEndpoint
|
|
|
|
An **IngressEndpoint** is an endpoint through which traffic enters a scope.
|
|
|
|
---
|
|
|
|
## 11.48 EgressEndpoint
|
|
|
|
An **EgressEndpoint** is an endpoint through which traffic leaves a scope.
|
|
|
|
---
|
|
|
|
## 11.49 PublicEndpoint
|
|
|
|
A **PublicEndpoint** is reachable from a public or external network scope.
|
|
|
|
Public does not necessarily mean unauthenticated.
|
|
|
|
---
|
|
|
|
## 11.50 PrivateEndpoint
|
|
|
|
A **PrivateEndpoint** is reachable only from defined private or internal network scopes.
|
|
|
|
Private does not automatically mean trusted.
|
|
|
|
---
|
|
|
|
## 11.51 WorkloadEndpoint
|
|
|
|
A **WorkloadEndpoint** is an endpoint associated with a workload, pod, container, VM, function, or service instance.
|
|
|
|
---
|
|
|
|
## 11.52 ManagementEndpoint
|
|
|
|
A **ManagementEndpoint** is an endpoint used for administration, configuration, monitoring, or maintenance.
|
|
|
|
Management endpoints SHOULD be treated as sensitive.
|
|
|
|
---
|
|
|
|
## 11.53 NetworkIntent
|
|
|
|
A **NetworkIntent** is a declarative desired outcome for network behavior or properties, without specifying all implementation details.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
Production databases must not be reachable from the internet.
|
|
Service A may call Service B over HTTPS.
|
|
All management endpoints require private administrative access.
|
|
EU tenant traffic must remain in EU regions.
|
|
```
|
|
|
|
Canonical rule:
|
|
|
|
```text
|
|
NetworkIntent MUST NOT be treated as identical to NetworkPolicy or NetworkConfiguration.
|
|
```
|
|
|
|
---
|
|
|
|
## 11.54 NetworkPolicy
|
|
|
|
A **NetworkPolicy** is a formal statement of allowed, denied, required, or constrained network behavior.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
allow ingress from frontend to backend on TCP 443
|
|
deny egress from database subnet to internet
|
|
allow pod selector app=api to connect to pod selector app=db on port 5432
|
|
```
|
|
|
|
---
|
|
|
|
## 11.55 FirewallRule
|
|
|
|
A **FirewallRule** is a traffic-control rule implemented by a firewall or firewall-like enforcement point.
|
|
|
|
---
|
|
|
|
## 11.56 ACL
|
|
|
|
An **ACL** is an access-control list controlling traffic or resource access.
|
|
|
|
In the Network Model, ACL refers to network traffic control unless mapped otherwise.
|
|
|
|
---
|
|
|
|
## 11.57 SecurityGroup
|
|
|
|
A **SecurityGroup** is a cloud or platform traffic-control construct associated with resources or interfaces.
|
|
|
|
---
|
|
|
|
## 11.58 NetworkACL
|
|
|
|
A **NetworkACL** is a network-level access-control list, often associated with subnets or network boundaries.
|
|
|
|
---
|
|
|
|
## 11.59 KubernetesNetworkPolicy
|
|
|
|
A **KubernetesNetworkPolicy** is a Kubernetes policy controlling ingress and/or egress traffic for selected pods.
|
|
|
|
---
|
|
|
|
## 11.60 ServiceMeshPolicy
|
|
|
|
A **ServiceMeshPolicy** is a policy controlling service-to-service traffic, often involving identity, mTLS, routing, authorization, or telemetry.
|
|
|
|
---
|
|
|
|
## 11.61 TrafficPolicy
|
|
|
|
A **TrafficPolicy** controls routing, splitting, retry, timeout, failover, mirroring, or other traffic-management behavior.
|
|
|
|
---
|
|
|
|
## 11.62 NetworkFlow
|
|
|
|
A **NetworkFlow** is a modeled communication relation from source to destination using protocol, port, service, or application context.
|
|
|
|
Recommended attributes:
|
|
|
|
```yaml
|
|
source:
|
|
destination:
|
|
protocol:
|
|
port:
|
|
direction:
|
|
purpose:
|
|
state_context:
|
|
```
|
|
|
|
---
|
|
|
|
## 11.63 ObservedFlow
|
|
|
|
An **ObservedFlow** is a flow detected from telemetry, logs, traces, packet data, flow records, or runtime observation.
|
|
|
|
---
|
|
|
|
## 11.64 AllowedFlow
|
|
|
|
An **AllowedFlow** is a flow permitted by policy or configuration.
|
|
|
|
---
|
|
|
|
## 11.65 DeniedFlow
|
|
|
|
A **DeniedFlow** is a flow denied by policy, configuration, or enforcement.
|
|
|
|
---
|
|
|
|
## 11.66 ReachabilityClaim
|
|
|
|
A **ReachabilityClaim** is an assertion that one entity can or cannot reach another entity under defined conditions.
|
|
|
|
Reachability claims SHOULD include state context and evidence where possible.
|
|
|
|
---
|
|
|
|
## 11.67 ReachabilityTest
|
|
|
|
A **ReachabilityTest** is an execution or analysis used to determine reachability.
|
|
|
|
Examples:
|
|
|
|
```text
|
|
ping
|
|
TCP connect
|
|
synthetic transaction
|
|
path analysis
|
|
firewall simulation
|
|
cloud reachability analyzer
|
|
service mesh test
|
|
```
|
|
|
|
---
|
|
|
|
## 11.68 Exposure
|
|
|
|
**Exposure** is a condition where an endpoint, service, network path, or resource is reachable, discoverable, or accessible from a relevant source scope.
|
|
|
|
Exposure can be intended, unintended, public, private, partner-facing, management-only, or internal.
|
|
|
|
---
|
|
|
|
## 11.69 AttackSurfaceReference
|
|
|
|
An **AttackSurfaceReference** points to security analysis of exposed network surfaces.
|
|
|
|
Security owns attack surface and attack path analysis; Network owns exposure and reachability facts.
|
|
|
|
---
|
|
|
|
## 11.70 NetworkConfiguration
|
|
|
|
A **NetworkConfiguration** is a declared, applied, or observed set of network settings.
|
|
|
|
---
|
|
|
|
## 11.71 IntendedNetworkState
|
|
|
|
**IntendedNetworkState** is the network state intended by architecture, design, policy, intent, or source of truth.
|
|
|
|
---
|
|
|
|
## 11.72 DeclaredNetworkState
|
|
|
|
**DeclaredNetworkState** is network state declared in configuration, IaC, manifests, controller input, or device configuration sources.
|
|
|
|
---
|
|
|
|
## 11.73 AppliedNetworkState
|
|
|
|
**AppliedNetworkState** is network state accepted and applied by a network device, controller, cloud control plane, Kubernetes CNI, firewall, or service mesh.
|
|
|
|
---
|
|
|
|
## 11.74 ObservedNetworkState
|
|
|
|
**ObservedNetworkState** is network state inferred or measured from runtime observation.
|
|
|
|
---
|
|
|
|
## 11.75 HistoricalNetworkState
|
|
|
|
**HistoricalNetworkState** is network state that was true or asserted at a past time.
|
|
|
|
---
|
|
|
|
## 11.76 AssessedNetworkState
|
|
|
|
**AssessedNetworkState** is derived from analysis, verification, risk assessment, exposure analysis, or compliance evaluation.
|
|
|
|
---
|
|
|
|
## 11.77 Drift
|
|
|
|
**Drift** is divergence between intended, declared, applied, observed, or assessed state.
|
|
|
|
---
|
|
|
|
## 11.78 ReconciliationResult
|
|
|
|
A **ReconciliationResult** records the result of comparing and reconciling different state views.
|
|
|
|
---
|
|
|
|
# 12. Core Relationship Vocabulary
|
|
|
|
Recommended root relationship types:
|
|
|
|
```text
|
|
contains
|
|
part_of
|
|
assigned_to
|
|
allocated_to
|
|
resolves_to
|
|
routes_to
|
|
forwards_to
|
|
connected_to
|
|
terminates_at
|
|
attached_to
|
|
belongs_to
|
|
peered_with
|
|
translated_by
|
|
exposes
|
|
reachable_from
|
|
reachable_to
|
|
permits
|
|
denies
|
|
requires
|
|
implements
|
|
realizes
|
|
configured_by
|
|
applied_to
|
|
observed_as
|
|
drifts_from
|
|
verified_by
|
|
evidenced_by
|
|
maps_to
|
|
```
|
|
|
|
Relationship records SHOULD support:
|
|
|
|
```yaml
|
|
id:
|
|
relationship_type:
|
|
source_entity:
|
|
target_entity:
|
|
scope:
|
|
state_context:
|
|
valid_from:
|
|
valid_to:
|
|
source_system:
|
|
confidence:
|
|
evidence:
|
|
rationale:
|
|
```
|
|
|
|
---
|
|
|
|
# 13. Network State Model
|
|
|
|
## 13.1 State Contexts
|
|
|
|
Required network state contexts:
|
|
|
|
```text
|
|
intended
|
|
declared
|
|
applied
|
|
observed
|
|
historical
|
|
assessed
|
|
```
|
|
|
|
## 13.2 Configuration States
|
|
|
|
```text
|
|
draft
|
|
declared
|
|
validated
|
|
applied
|
|
partially_applied
|
|
failed
|
|
rolled_back
|
|
superseded
|
|
retired
|
|
```
|
|
|
|
## 13.3 Reachability States
|
|
|
|
```text
|
|
unknown
|
|
intended_allowed
|
|
intended_denied
|
|
declared_allowed
|
|
declared_denied
|
|
observed_allowed
|
|
observed_denied
|
|
conflicting
|
|
indeterminate
|
|
```
|
|
|
|
## 13.4 Exposure States
|
|
|
|
```text
|
|
unknown
|
|
not_exposed
|
|
internal_exposed
|
|
partner_exposed
|
|
public_exposed
|
|
management_exposed
|
|
unintended_exposure
|
|
accepted_exposure
|
|
mitigated_exposure
|
|
```
|
|
|
|
## 13.5 Drift States
|
|
|
|
```text
|
|
no_drift
|
|
declared_vs_applied_drift
|
|
intended_vs_declared_drift
|
|
applied_vs_observed_drift
|
|
policy_vs_observed_drift
|
|
unresolved_drift
|
|
accepted_drift
|
|
```
|
|
|
|
---
|
|
|
|
# 14. Network Patterns
|
|
|
|
## 14.1 Pattern: Intent-Policy-Configuration-State Split
|
|
|
|
**Context:** Network automation or governance requires clarity about what should happen and what is happening.
|
|
|
|
**Problem:** Teams confuse intent, policy, configuration, and observed state.
|
|
|
|
**Solution:**
|
|
|
|
```text
|
|
NetworkIntent
|
|
-> NetworkPolicy
|
|
-> NetworkConfiguration
|
|
-> AppliedNetworkState
|
|
-> ObservedNetworkState
|
|
-> AssessedNetworkState
|
|
```
|
|
|
|
---
|
|
|
|
## 14.2 Pattern: Source-of-Truth Boundary
|
|
|
|
**Context:** Multiple tools hold network data.
|
|
|
|
**Problem:** Inventory, configuration, telemetry, and policy tools disagree.
|
|
|
|
**Solution:** Declare source-of-truth boundaries.
|
|
|
|
Example:
|
|
|
|
```text
|
|
NetBox owns intended IPAM/DCIM inventory.
|
|
Git owns declared network configuration.
|
|
Cloud control plane owns applied cloud network state.
|
|
Flow logs own observed flows.
|
|
Reachability analyzer owns assessed reachability.
|
|
```
|
|
|
|
---
|
|
|
|
## 14.3 Pattern: Addressing Is Not Security
|
|
|
|
**Context:** Private IP ranges or internal subnets are treated as trusted.
|
|
|
|
**Problem:** Address space does not establish trust.
|
|
|
|
**Solution:** Model subnet, security zone, access policy, identity, and exposure separately.
|
|
|
|
---
|
|
|
|
## 14.4 Pattern: Endpoint Exposure Trace
|
|
|
|
**Context:** A service is reachable from somewhere.
|
|
|
|
**Problem:** Teams cannot explain why exposure exists.
|
|
|
|
**Solution:**
|
|
|
|
```text
|
|
ServiceEndpoint
|
|
-> IPAddress / DNSRecord
|
|
-> LoadBalancer / Ingress
|
|
-> Route / SecurityGroup / FirewallRule
|
|
-> NetworkPath
|
|
-> Exposure
|
|
-> SecurityFinding or AcceptedExposure
|
|
```
|
|
|
|
---
|
|
|
|
## 14.5 Pattern: Workload Flow to Policy
|
|
|
|
**Context:** Workloads need to communicate.
|
|
|
|
**Problem:** Policies are written without observed traffic or intended service relationships.
|
|
|
|
**Solution:**
|
|
|
|
```text
|
|
ApplicationService dependency
|
|
-> Intended NetworkFlow
|
|
-> NetworkPolicy
|
|
-> ObservedFlow
|
|
-> ReachabilityTest
|
|
-> Drift or Verification
|
|
```
|
|
|
|
---
|
|
|
|
## 14.6 Pattern: Management Plane Isolation
|
|
|
|
**Context:** Management interfaces are highly sensitive.
|
|
|
|
**Problem:** Management endpoints are accidentally reachable from broad scopes.
|
|
|
|
**Solution:** Mark ManagementEndpoint explicitly and apply stricter policy, access-control, monitoring, and exposure validation.
|
|
|
|
---
|
|
|
|
## 14.7 Pattern: Network Drift Reconciliation
|
|
|
|
**Context:** Declared configuration and observed network behavior diverge.
|
|
|
|
**Problem:** Teams cannot know whether the source of truth, controller, device, or observation is wrong.
|
|
|
|
**Solution:** Compare intended, declared, applied, and observed state and create ReconciliationResult with evidence and owner.
|
|
|
|
---
|
|
|
|
## 14.8 Pattern: Reachability as Evidence
|
|
|
|
**Context:** Compliance or security review requires proof that traffic is blocked or allowed.
|
|
|
|
**Problem:** Configuration alone is not enough evidence.
|
|
|
|
**Solution:** Use ReachabilityTest and ObservedFlow evidence to support allowed/denied claims.
|
|
|
|
---
|
|
|
|
## 14.9 Pattern: Zero Trust Overlay
|
|
|
|
**Context:** Network location is insufficient for security.
|
|
|
|
**Problem:** Teams rely on internal network segments for trust.
|
|
|
|
**Solution:** Combine NetworkPolicy, Access Control, identity, resource context, endpoint exposure, and continuous verification.
|
|
|
|
---
|
|
|
|
# 15. Network Profiles
|
|
|
|
## 15.1 Profile Format
|
|
|
|
A Network Profile SHALL declare:
|
|
|
|
```yaml
|
|
id:
|
|
profile_name:
|
|
status:
|
|
implements:
|
|
- InfoTechCanonNetworkModel
|
|
target_context:
|
|
included_concepts:
|
|
required_relationships:
|
|
required_metadata:
|
|
state_model:
|
|
source_of_truth_rules:
|
|
mapping_files:
|
|
validation_rules:
|
|
examples:
|
|
known_deviations:
|
|
```
|
|
|
|
---
|
|
|
|
## 15.2 Seed Profile: Small SaaS Network Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Provide a minimal network model for a small SaaS platform moving toward production readiness.
|
|
```
|
|
|
|
Included concepts:
|
|
|
|
```text
|
|
NetworkDomain
|
|
NetworkZone
|
|
Subnet
|
|
Prefix
|
|
IPAddress
|
|
DNSRecord
|
|
Endpoint
|
|
PublicEndpoint
|
|
PrivateEndpoint
|
|
IngressEndpoint
|
|
EgressEndpoint
|
|
LoadBalancer
|
|
NetworkPolicy
|
|
SecurityGroup
|
|
RouteTable
|
|
Route
|
|
Exposure
|
|
ReachabilityClaim
|
|
ObservedFlow
|
|
```
|
|
|
|
Required relationships:
|
|
|
|
```text
|
|
Endpoint assigned_to IPAddress
|
|
DNSRecord resolves_to Endpoint
|
|
Endpoint part_of NetworkZone
|
|
SecurityGroup permits NetworkFlow
|
|
SecurityGroup denies NetworkFlow
|
|
RouteTable routes_to NextHop
|
|
PublicEndpoint exposes Service
|
|
ReachabilityClaim evidenced_by ReachabilityTest
|
|
```
|
|
|
|
---
|
|
|
|
## 15.3 Seed Profile: NetBox Source-of-Truth Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Map NetBox-style IPAM/DCIM/source-of-truth concepts into InfoTechCanon Network.
|
|
```
|
|
|
|
Example mappings:
|
|
|
|
```text
|
|
Site -> NetworkSite
|
|
Region -> NetworkRegion
|
|
Tenant -> NetworkTenant
|
|
Device -> NetworkDevice
|
|
Interface -> Interface
|
|
Cable -> Link / PhysicalLinkReference
|
|
Prefix -> Prefix
|
|
IPAddress -> IPAddress
|
|
VLAN -> VLAN / NetworkSegment
|
|
VRF -> VRF
|
|
Circuit -> Circuit
|
|
Provider Network -> ConnectivityService
|
|
```
|
|
|
|
Known deviations:
|
|
|
|
```text
|
|
NetBox represents intended source-of-truth state, not necessarily observed runtime state.
|
|
NetBox does not directly enforce network behavior.
|
|
Observed flows and applied device state require additional sources.
|
|
```
|
|
|
|
---
|
|
|
|
## 15.4 Seed Profile: Kubernetes Network Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Represent Kubernetes networking concepts and policies.
|
|
```
|
|
|
|
Example mappings:
|
|
|
|
```text
|
|
Cluster -> NetworkDomain / RuntimePlatformReference
|
|
Namespace -> NetworkZone / ResourceScope
|
|
Pod IP -> IPAddress
|
|
Service -> ServiceEndpoint
|
|
Ingress -> IngressEndpoint / PublicEndpoint or PrivateEndpoint
|
|
NetworkPolicy -> KubernetesNetworkPolicy
|
|
Pod selector -> EndpointSelector
|
|
Namespace selector -> ScopeSelector
|
|
Ingress rule -> AllowedFlow
|
|
Egress rule -> AllowedFlow
|
|
```
|
|
|
|
Known deviations:
|
|
|
|
```text
|
|
Kubernetes NetworkPolicy support depends on the CNI provider.
|
|
A Kubernetes Service is not always equivalent to an external endpoint.
|
|
Pod IPs are often ephemeral.
|
|
```
|
|
|
|
---
|
|
|
|
## 15.5 Seed Profile: Cloud Network Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Represent cloud VPC/VNet networking across providers.
|
|
```
|
|
|
|
Included concepts:
|
|
|
|
```text
|
|
NetworkDomain
|
|
VPCReference
|
|
VNetReference
|
|
Subnet
|
|
RouteTable
|
|
Route
|
|
SecurityGroup
|
|
NetworkACL
|
|
InternetGatewayReference
|
|
NAT
|
|
LoadBalancer
|
|
PrivateEndpoint
|
|
Peering
|
|
TransitGatewayReference
|
|
DNSZone
|
|
PublicEndpoint
|
|
Exposure
|
|
```
|
|
|
|
Mapping targets:
|
|
|
|
```text
|
|
AWS VPC
|
|
Azure VNet
|
|
Google Cloud VPC
|
|
Cloudflare network services
|
|
```
|
|
|
|
---
|
|
|
|
## 15.6 Seed Profile: Service Mesh Network Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Represent service-to-service communication, mesh gateways, traffic policies, and mTLS-aware networking.
|
|
```
|
|
|
|
Included concepts:
|
|
|
|
```text
|
|
ServiceMesh
|
|
Proxy
|
|
WorkloadEndpoint
|
|
ServiceEndpoint
|
|
TrafficPolicy
|
|
ServiceMeshPolicy
|
|
IngressGateway
|
|
EgressGateway
|
|
AllowedFlow
|
|
ObservedFlow
|
|
ReachabilityClaim
|
|
```
|
|
|
|
Mapping targets:
|
|
|
|
```text
|
|
Istio
|
|
Linkerd
|
|
Consul Connect
|
|
Envoy
|
|
Gateway API
|
|
```
|
|
|
|
---
|
|
|
|
## 15.7 Seed Profile: Zero Trust Network Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Represent resource-centric network protection with identity, context, and continuous verification.
|
|
```
|
|
|
|
Included concepts:
|
|
|
|
```text
|
|
ProtectedResourceReference
|
|
NetworkIntent
|
|
NetworkPolicy
|
|
Endpoint
|
|
Exposure
|
|
AccessControlReference
|
|
IdentityContextReference
|
|
DeviceContextReference
|
|
ReachabilityClaim
|
|
PolicyEnforcementPointReference
|
|
```
|
|
|
|
Required relationships:
|
|
|
|
```text
|
|
NetworkIntent protects ProtectedResourceReference
|
|
AccessControlReference constrains Reachability
|
|
NetworkPolicy permits NetworkFlow
|
|
ReachabilityClaim evidenced_by TestOrObservation
|
|
Exposure assessed_by SecurityModel
|
|
```
|
|
|
|
---
|
|
|
|
## 15.8 Seed Profile: Network-as-Code Profile
|
|
|
|
Purpose:
|
|
|
|
```text
|
|
Represent network configuration delivered through Git, IaC, controllers, and automation.
|
|
```
|
|
|
|
Included concepts:
|
|
|
|
```text
|
|
NetworkConfiguration
|
|
DeclaredNetworkState
|
|
PipelineReference
|
|
ChangeRequestReference
|
|
AppliedNetworkState
|
|
Drift
|
|
ReconciliationResult
|
|
ValidationEvidence
|
|
```
|
|
|
|
Mapping targets:
|
|
|
|
```text
|
|
Terraform
|
|
Ansible
|
|
Pulumi
|
|
Crossplane
|
|
Kubernetes manifests
|
|
vendor controllers
|
|
```
|
|
|
|
---
|
|
|
|
# 16. Mapping Model for the Network Standard
|
|
|
|
Mappings relate InfoTechCanon network concepts to external standards, tools, and products.
|
|
|
|
## 16.1 Mapping Types
|
|
|
|
Recommended mapping types:
|
|
|
|
```text
|
|
exactMatch
|
|
closeMatch
|
|
broadMatch
|
|
narrowMatch
|
|
relatedMatch
|
|
conflictMatch
|
|
gapMatch
|
|
derivedFrom
|
|
regulatoryReference
|
|
toolEquivalent
|
|
```
|
|
|
|
## 16.2 Mapping Record
|
|
|
|
Example:
|
|
|
|
```yaml
|
|
id: itc-map:network-topology-to-rfc8345
|
|
source_concept: itc-net:NetworkTopology
|
|
target_body: IETF RFC 8345
|
|
target_version: "2018"
|
|
target_concept: network / network-topology
|
|
mapping_type: closeMatch
|
|
scope:
|
|
- generic topology modeling
|
|
not_valid_for:
|
|
- all IPAM/DCIM inventory
|
|
- all security policy semantics
|
|
rationale: >
|
|
RFC 8345 provides a generic YANG topology model with networks, nodes,
|
|
links, and termination points. InfoTechCanon extends the semantic context
|
|
to include intent, policy, exposure, reachability, and source-of-truth boundaries.
|
|
confidence: high
|
|
status: candidate
|
|
owner: InfoTechCanonNetworkModel
|
|
```
|
|
|
|
## 16.3 Seed Mapping Targets
|
|
|
|
The Network Model SHOULD maintain mappings to:
|
|
|
|
```text
|
|
YANG / RFC 7950
|
|
NMDA / RFC 8342
|
|
Network topology / RFC 8345
|
|
Intent-Based Networking / RFC 9315
|
|
NetBox IPAM/DCIM
|
|
Kubernetes NetworkPolicy
|
|
Kubernetes Gateway API
|
|
AWS VPC
|
|
Azure VNet
|
|
Google Cloud VPC
|
|
Cloudflare network services
|
|
Terraform provider network resources
|
|
Ansible network modules
|
|
Cisco NSO concepts
|
|
OpenConfig YANG models
|
|
BGP / routing model references
|
|
Istio / Envoy / service mesh concepts
|
|
NIST Zero Trust Architecture
|
|
```
|
|
|
|
---
|
|
|
|
# 17. Assimilation Hooks
|
|
|
|
The Network Model SHALL be able to receive new network standards, product models, cloud schemas, and operational practices through the InfoTechCanon assimilation process.
|
|
|
|
## 17.1 Assimilation Triggers
|
|
|
|
Assimilation may be triggered by:
|
|
|
|
```text
|
|
new network source-of-truth tool
|
|
new cloud networking model
|
|
new network configuration standard
|
|
new firewall policy model
|
|
new service mesh model
|
|
new Kubernetes networking feature
|
|
new zero-trust network pattern
|
|
new network automation framework
|
|
new reachability analysis product
|
|
new recurring network classification conflict
|
|
```
|
|
|
|
## 17.2 Network Assimilation Output
|
|
|
|
A network assimilation SHOULD produce:
|
|
|
|
```text
|
|
source summary
|
|
extracted network concepts
|
|
concept comparison matrix
|
|
gap list
|
|
conflict list
|
|
mapping file
|
|
candidate new concepts
|
|
candidate relationship changes
|
|
candidate pattern changes
|
|
candidate profile changes
|
|
open questions
|
|
```
|
|
|
|
## 17.3 Recommended First Assimilation Candidates
|
|
|
|
```text
|
|
NetBox data model
|
|
RFC 8345 network topology
|
|
RFC 8342 NMDA
|
|
RFC 9315 intent-based networking
|
|
Kubernetes NetworkPolicy
|
|
Kubernetes Gateway API
|
|
AWS VPC
|
|
Azure VNet
|
|
Google Cloud VPC
|
|
Istio traffic and authorization policy
|
|
OpenConfig YANG models
|
|
NIST SP 800-207 Zero Trust Architecture
|
|
```
|
|
|
|
---
|
|
|
|
# 18. Integration with Other InfoTechCanon Standards
|
|
|
|
## 18.1 Landscape Model
|
|
|
|
Network connects to Landscape through:
|
|
|
|
```text
|
|
Environment
|
|
RuntimePlatform
|
|
Workload
|
|
Service
|
|
Endpoint
|
|
DataStore
|
|
DeploymentRecord
|
|
TechnicalService
|
|
```
|
|
|
|
## 18.2 Organization Model
|
|
|
|
Network imports organization concepts for:
|
|
|
|
```text
|
|
network owner
|
|
network steward
|
|
operator
|
|
responsible team
|
|
approver
|
|
incident responder
|
|
```
|
|
|
|
## 18.3 Governance Model
|
|
|
|
Network imports governance concepts for:
|
|
|
|
```text
|
|
network policy source
|
|
control objective
|
|
exception
|
|
evidence
|
|
review
|
|
approval
|
|
change decision
|
|
```
|
|
|
|
## 18.4 Task Model
|
|
|
|
Network creates or references tasks such as:
|
|
|
|
```text
|
|
network change task
|
|
firewall review task
|
|
reachability investigation
|
|
drift remediation task
|
|
exposure remediation task
|
|
incident task
|
|
```
|
|
|
|
## 18.5 Tagging Standard
|
|
|
|
Network uses tags for:
|
|
|
|
```text
|
|
environment
|
|
zone
|
|
segment
|
|
owner
|
|
exposure level
|
|
criticality
|
|
network domain
|
|
policy class
|
|
```
|
|
|
|
Tags must not replace network entities, policies, or relationships.
|
|
|
|
## 18.6 Access Control Model
|
|
|
|
Network imports access concepts for:
|
|
|
|
```text
|
|
network administration permission
|
|
management endpoint access
|
|
zero-trust access decision
|
|
policy enforcement point
|
|
```
|
|
|
|
## 18.7 Security Model
|
|
|
|
Security imports network concepts for:
|
|
|
|
```text
|
|
exposure
|
|
attack path
|
|
reachability
|
|
network segmentation
|
|
observed flow
|
|
management endpoint
|
|
public endpoint
|
|
```
|
|
|
|
## 18.8 Data Model
|
|
|
|
Data imports network concepts for:
|
|
|
|
```text
|
|
data flow transport
|
|
data residency path
|
|
data egress
|
|
cross-border transfer evidence
|
|
```
|
|
|
|
## 18.9 DevSecOps Model
|
|
|
|
DevSecOps imports network concepts for:
|
|
|
|
```text
|
|
network configuration as code
|
|
policy as code
|
|
network validation
|
|
deployment of network changes
|
|
drift detection
|
|
```
|
|
|
|
## 18.10 Observability Model
|
|
|
|
Observability should later import or map:
|
|
|
|
```text
|
|
flow logs
|
|
packet telemetry
|
|
DNS logs
|
|
network metrics
|
|
reachability tests
|
|
latency
|
|
loss
|
|
error rate
|
|
```
|
|
|
|
---
|
|
|
|
# 19. Canon Interface Card Usage
|
|
|
|
Subsystems that implement or produce network knowledge SHOULD publish a Canon Interface Card.
|
|
|
|
Example:
|
|
|
|
```yaml
|
|
subsystem: netbox-importer
|
|
implements:
|
|
- InfoTechCanonNetworkModel
|
|
- NetBoxSourceOfTruthProfile
|
|
produces:
|
|
- NetworkSite
|
|
- NetworkDevice
|
|
- Interface
|
|
- Prefix
|
|
- IPAddress
|
|
- VLAN
|
|
- VRF
|
|
- Circuit
|
|
consumes:
|
|
- Team
|
|
- Environment
|
|
relations:
|
|
- IPAddress assigned_to Interface
|
|
- Prefix part_of NetworkDomain
|
|
- Interface connected_to Interface
|
|
source_of_truth:
|
|
intended_ipam: NetBox
|
|
intended_dci_inventory: NetBox
|
|
known_deviations:
|
|
- does not represent observed flows
|
|
- does not guarantee applied device configuration
|
|
```
|
|
|
|
---
|
|
|
|
# 20. Retrieval Requirements
|
|
|
|
The Network Model is designed for markdown-based infospaces.
|
|
|
|
## 20.1 Required Retrieval Properties
|
|
|
|
Every major concept SHOULD provide:
|
|
|
|
- stable heading,
|
|
- stable identifier,
|
|
- short definition,
|
|
- longer explanation,
|
|
- examples,
|
|
- distinction notes,
|
|
- relationship examples,
|
|
- mapping hooks,
|
|
- profile references,
|
|
- and common mistakes.
|
|
|
|
## 20.2 Agent Brief
|
|
|
|
A mature Network Model SHOULD include an `agent-brief.md` file with:
|
|
|
|
```text
|
|
purpose
|
|
scope
|
|
owned concepts
|
|
imported concepts
|
|
core distinctions
|
|
do / do not rules
|
|
relationship patterns
|
|
minimal examples
|
|
common mistakes
|
|
profile list
|
|
mapping list
|
|
```
|
|
|
|
## 20.3 Indexes
|
|
|
|
The network information space SHOULD provide indexes by:
|
|
|
|
```text
|
|
concept
|
|
relationship
|
|
network domain
|
|
addressing
|
|
topology
|
|
segment
|
|
policy
|
|
route
|
|
endpoint
|
|
flow
|
|
exposure
|
|
state context
|
|
profile
|
|
pattern
|
|
mapping target
|
|
status
|
|
source system
|
|
```
|
|
|
|
---
|
|
|
|
# 21. Conformance Levels
|
|
|
|
## 21.1 Reference-Conformant
|
|
|
|
A document or system is reference-conformant if it uses Network Model terminology consistently but does not implement structured metadata or validation rules.
|
|
|
|
## 21.2 Metadata-Conformant
|
|
|
|
A system is metadata-conformant if it uses stable identifiers, concept names, lifecycle states, source metadata, and relationship types.
|
|
|
|
## 21.3 Inventory-Conformant
|
|
|
|
A system is inventory-conformant if it represents network domains, sites, devices, interfaces, prefixes, IP addresses, and segments.
|
|
|
|
## 21.4 Topology-Conformant
|
|
|
|
A system is topology-conformant if it represents nodes, interfaces, links, paths, and termination points.
|
|
|
|
## 21.5 Policy-Conformant
|
|
|
|
A system is policy-conformant if it represents network policies, firewall rules, security groups, ACLs, or equivalent traffic-control constructs.
|
|
|
|
## 21.6 State-Conformant
|
|
|
|
A system is state-conformant if it distinguishes intended, declared, applied, observed, historical, and assessed network state.
|
|
|
|
## 21.7 Reachability-Conformant
|
|
|
|
A system is reachability-conformant if it represents reachability claims, tests, observed flows, allowed flows, denied flows, and evidence.
|
|
|
|
## 21.8 Profile-Conformant
|
|
|
|
A system is profile-conformant if it implements a declared Network Profile and passes its validation rules.
|
|
|
|
## 21.9 Assimilation-Conformant
|
|
|
|
A system or repository is assimilation-conformant if it can accept external network concepts through the InfoTechCanon assimilation workflow and produce mappings, gaps, conflicts, and proposed changes.
|
|
|
|
---
|
|
|
|
# 22. Validation Rules
|
|
|
|
Initial validation rules:
|
|
|
|
```text
|
|
VAL-NET-001: NetworkIntent, NetworkPolicy, NetworkConfiguration, and ObservedNetworkState SHOULD be modeled as distinct concepts.
|
|
|
|
VAL-NET-002: Prefix, Subnet, VLAN, VRF, NetworkSegment, and SecurityZone SHOULD NOT be used interchangeably without a profile mapping.
|
|
|
|
VAL-NET-003: IPAddress SHOULD reference Prefix or allocation scope where available.
|
|
|
|
VAL-NET-004: DNSRecord SHOULD reference the endpoint, address, or service name it resolves to where available.
|
|
|
|
VAL-NET-005: Interface SHOULD reference its parent node or device.
|
|
|
|
VAL-NET-006: Link SHOULD connect termination points, interfaces, or nodes.
|
|
|
|
VAL-NET-007: Route SHOULD declare destination and next hop or action where available.
|
|
|
|
VAL-NET-008: NetworkPolicy SHOULD declare subject/source, destination, action, protocol/port/service, and direction where applicable.
|
|
|
|
VAL-NET-009: KubernetesNetworkPolicy SHOULD distinguish ingress and egress semantics.
|
|
|
|
VAL-NET-010: ReachabilityClaim SHOULD declare source, destination, protocol/service context, state context, and evidence where available.
|
|
|
|
VAL-NET-011: Exposure SHOULD declare source scope, target endpoint, and exposure type where available.
|
|
|
|
VAL-NET-012: PublicEndpoint SHOULD NOT imply unauthenticated access.
|
|
|
|
VAL-NET-013: PrivateEndpoint SHOULD NOT imply trusted access.
|
|
|
|
VAL-NET-014: ManagementEndpoint SHOULD be classified as sensitive unless explicitly justified otherwise.
|
|
|
|
VAL-NET-015: Network drift SHOULD identify which state views diverge.
|
|
|
|
VAL-NET-016: Source-of-truth assumptions SHOULD be explicit in every mature profile.
|
|
|
|
VAL-NET-017: Tags MUST NOT replace network policy, topology, addressing, or reachability relationships.
|
|
|
|
VAL-NET-018: Imported external network concepts SHOULD be represented through mapping records rather than silently reused.
|
|
|
|
VAL-NET-019: Profiles MUST NOT redefine canonical concepts. They may constrain them.
|
|
|
|
VAL-NET-020: Network security analysis SHOULD reference Security Model concepts rather than embedding full security semantics here.
|
|
```
|
|
|
|
---
|
|
|
|
# 23. Anti-Patterns
|
|
|
|
## 23.1 Subnet Equals Trust
|
|
|
|
Treating subnet membership as proof of trust.
|
|
|
|
## 23.2 Private Equals Safe
|
|
|
|
Assuming private endpoints are safe without access control, policy, monitoring, or context.
|
|
|
|
## 23.3 Policy Equals Intent
|
|
|
|
Using low-level rules as if they explain the desired outcome.
|
|
|
|
## 23.4 Configuration Equals Reality
|
|
|
|
Assuming declared configuration describes actual network behavior.
|
|
|
|
## 23.5 Topology Without State
|
|
|
|
Modeling links and devices without knowing intended, applied, or observed state.
|
|
|
|
## 23.6 Firewall Rule Graveyard
|
|
|
|
Accumulating rules without owner, purpose, evidence, review, or expiry.
|
|
|
|
## 23.7 Source-of-Truth Confusion
|
|
|
|
Letting NetBox, cloud APIs, devices, Git, and telemetry all claim authority over the same facts without boundaries.
|
|
|
|
## 23.8 Public Exposure by Accident
|
|
|
|
Publishing endpoints without explicit exposure classification or review.
|
|
|
|
## 23.9 Flow Logs Without Model
|
|
|
|
Collecting observed flows without linking them to services, policies, endpoints, and reachability claims.
|
|
|
|
## 23.10 Tool-Native Capture
|
|
|
|
Letting a cloud provider, firewall vendor, or Kubernetes CNI define the internal network model.
|
|
|
|
---
|
|
|
|
# 24. Initial Repository Placement
|
|
|
|
Recommended repository layout:
|
|
|
|
```text
|
|
info-tech-canon/
|
|
standards/
|
|
network/
|
|
InfoTechCanonNetworkModel.md
|
|
agent-brief.md
|
|
concepts/
|
|
relationships/
|
|
patterns/
|
|
profiles/
|
|
mappings/
|
|
assimilation/
|
|
examples/
|
|
validation/
|
|
```
|
|
|
|
Seed files:
|
|
|
|
```text
|
|
standards/network/InfoTechCanonNetworkModel.md
|
|
standards/network/agent-brief.md
|
|
standards/network/concepts/network-domain.md
|
|
standards/network/concepts/prefix.md
|
|
standards/network/concepts/ip-address.md
|
|
standards/network/concepts/network-segment.md
|
|
standards/network/concepts/endpoint.md
|
|
standards/network/concepts/network-policy.md
|
|
standards/network/concepts/network-intent.md
|
|
standards/network/concepts/reachability-claim.md
|
|
standards/network/concepts/exposure.md
|
|
standards/network/patterns/intent-policy-configuration-state-split.md
|
|
standards/network/patterns/source-of-truth-boundary.md
|
|
standards/network/patterns/endpoint-exposure-trace.md
|
|
standards/network/patterns/network-drift-reconciliation.md
|
|
standards/network/profiles/small-saas-network-profile.md
|
|
standards/network/profiles/netbox-source-of-truth-profile.md
|
|
standards/network/profiles/kubernetes-network-profile.md
|
|
standards/network/profiles/cloud-network-profile.md
|
|
standards/network/profiles/zero-trust-network-profile.md
|
|
standards/network/mappings/yang.yaml
|
|
standards/network/mappings/nmda.yaml
|
|
standards/network/mappings/rfc8345-topology.yaml
|
|
standards/network/mappings/netbox.yaml
|
|
standards/network/mappings/kubernetes-networkpolicy.yaml
|
|
```
|
|
|
|
---
|
|
|
|
# 25. Roadmap
|
|
|
|
## Phase 1: Seed Stabilization
|
|
|
|
- Establish this standard as `InfoTechCanonNetworkModel`.
|
|
- Add seed concepts, relationship vocabulary, patterns, and profiles.
|
|
- Define validation rules.
|
|
- Align with Landscape, Security, Access Control, Governance, Data, DevSecOps, Task, and Tagging.
|
|
|
|
## Phase 2: First Assimilations
|
|
|
|
Recommended first assimilations:
|
|
|
|
```text
|
|
NetBox data model
|
|
RFC 7950 YANG
|
|
RFC 8342 NMDA
|
|
RFC 8345 network topology
|
|
RFC 9315 intent-based networking
|
|
Kubernetes NetworkPolicy
|
|
Kubernetes Gateway API
|
|
AWS VPC
|
|
Azure VNet
|
|
Google Cloud VPC
|
|
Istio / Envoy service mesh networking
|
|
NIST SP 800-207 Zero Trust Architecture
|
|
```
|
|
|
|
## Phase 3: Profile Maturation
|
|
|
|
- Mature Small SaaS Network Profile.
|
|
- Mature NetBox Source-of-Truth Profile.
|
|
- Mature Kubernetes Network Profile.
|
|
- Mature Cloud Network Profile.
|
|
- Mature Service Mesh Network Profile.
|
|
- Mature Zero Trust Network Profile.
|
|
- Mature Network-as-Code Profile.
|
|
|
|
## Phase 4: Tooling Integration
|
|
|
|
- Generate concept indexes.
|
|
- Generate agent brief.
|
|
- Create machine-readable YAML/JSON exports.
|
|
- Add validation scripts.
|
|
- Integrate NetBox, cloud APIs, Kubernetes APIs, network-policy repositories, flow logs, reachability tests, and security posture tools.
|
|
|
|
## Phase 5: Network Intelligence Loop
|
|
|
|
- Connect intended network state to declared configuration.
|
|
- Connect declared configuration to applied state.
|
|
- Connect applied state to observed flows.
|
|
- Connect observed flows to reachability claims.
|
|
- Connect exposure to security findings.
|
|
- Connect drift to remediation tasks.
|
|
- Connect policies to governance evidence.
|
|
- Connect topology to landscape service dependencies.
|
|
|
|
---
|
|
|
|
# 26. Summary
|
|
|
|
The InfoTechCanon Network Model is the seed standard for representing network addressing, topology, connectivity, routing, policy, intent, reachability, exposure, segmentation, and state.
|
|
|
|
Its most important commitments are:
|
|
|
|
```text
|
|
Separate addressing, topology, routing, policy, intent, configuration, state, flow, reachability, and exposure.
|
|
|
|
Treat intended, declared, applied, observed, historical, and assessed network state as distinct.
|
|
|
|
Support physical, virtual, cloud, Kubernetes, service-mesh, hybrid, and zero-trust network contexts.
|
|
|
|
Use source-of-truth boundaries to prevent tool conflicts.
|
|
|
|
Model reachability and exposure as first-class concepts.
|
|
|
|
Map to YANG, NMDA, IETF topology models, NetBox, Kubernetes NetworkPolicy, cloud networking,
|
|
service meshes, and Zero Trust without surrendering internal semantic autonomy.
|
|
|
|
Use profiles to make the model practical for SaaS systems, NetBox, Kubernetes, cloud networks,
|
|
service mesh, zero-trust design, and network-as-code workflows.
|
|
```
|
|
|
|
This makes the Network Model a core seed for production readiness, security posture, cloud-native architecture, reachability analysis, network automation, and interoperable infrastructure knowledge.
|