AI SEARCH
FLOW ALGEBRA — COMPUTER NETWORKING ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/networking/computer-networking-ontology.html
FLOW COMPUTER_NETWORKING_ONTOLOGY {
META {
DOMAIN = "Computing Ontologies"
SUBDOMAIN = "Networking"
ONTOLOGY = "Computer Networking Ontology"
PURPOSE = "Formalise computer networks, nodes, devices, interfaces, links, protocols, addressing, routing, switching, transport, services, traffic, performance, security and network state."
LOCALE = "en-GB"
}
ENTITY_TYPES {
COMPUTER_NETWORK
NETWORK_NODE
HOST
ENDPOINT
CLIENT
SERVER
NETWORK_DEVICE
ROUTER
SWITCH
BRIDGE
GATEWAY
ACCESS_POINT
FIREWALL
LOAD_BALANCER
PROXY
NETWORK_INTERFACE
PORT
LINK
PHYSICAL_LINK
LOGICAL_LINK
WIRED_LINK
WIRELESS_LINK
NETWORK_TOPOLOGY
LAN
WLAN
WAN
VLAN
VPN
SUBNET
NETWORK_SEGMENT
BROADCAST_DOMAIN
PROTOCOL
PROTOCOL_STACK
OSI_MODEL
TCP_IP_MODEL
APPLICATION_LAYER
TRANSPORT_LAYER
NETWORK_LAYER
DATA_LINK_LAYER
PHYSICAL_LAYER
PACKET
FRAME
SEGMENT
DATAGRAM
PAYLOAD
HEADER
ENCAPSULATION
DECAPSULATION
MAC_ADDRESS
IP_ADDRESS
IPV4_ADDRESS
IPV6_ADDRESS
SUBNET_MASK
PREFIX_LENGTH
NETWORK_PREFIX
DEFAULT_GATEWAY
ARP
NEIGHBOUR_DISCOVERY
DHCP
DNS
ICMP
IP
TCP
UDP
QUIC
HTTP
HTTPS
TLS
SSH
ETHERNET
WIFI
ROUTING
ROUTE
ROUTING_TABLE
STATIC_ROUTE
DYNAMIC_ROUTE
DEFAULT_ROUTE
ROUTING_PROTOCOL
RIP
OSPF
BGP
AUTONOMOUS_SYSTEM
NEXT_HOP
METRIC
PATH
SWITCHING
MAC_ADDRESS_TABLE
VLAN_TAG
TRUNK
ACCESS_PORT
SPANNING_TREE
NAT
PAT
PORT_FORWARDING
SOCKET
CONNECTION
SESSION
TCP_CONNECTION
TCP_HANDSHAKE
SEQUENCE_NUMBER
ACKNOWLEDGEMENT
FLOW_CONTROL
CONGESTION_CONTROL
RETRANSMISSION
ROUND_TRIP_TIME
LATENCY
JITTER
BANDWIDTH
THROUGHPUT
PACKET_LOSS
ERROR_RATE
QUALITY_OF_SERVICE
TRAFFIC
NETWORK_FLOW
UNICAST
MULTICAST
BROADCAST
ANYCAST
QUEUE
BUFFER
NETWORK_SERVICE
NETWORK_SECURITY
ACCESS_CONTROL
AUTHENTICATION
AUTHORISATION
ENCRYPTION
CERTIFICATE
SECURITY_POLICY
ACL
INTRUSION_DETECTION
INTRUSION_PREVENTION
NETWORK_MONITORING
TELEMETRY
PACKET_CAPTURE
FLOW_RECORD
NETWORK_EVENT
NETWORK_FAILURE
LINK_FAILURE
NODE_FAILURE
REDUNDANCY
FAILOVER
HIGH_AVAILABILITY
CONFIGURATION
NETWORK_STATE
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}
RELATIONSHIPS {
IS_A
INSTANCE_OF
CONNECTS_TO
CONNECTED_BY
HAS_NODE
HAS_DEVICE
HAS_INTERFACE
HAS_PORT
HAS_LINK
HAS_TOPOLOGY
MEMBER_OF
PART_OF
HAS_SUBNET
HAS_SEGMENT
HAS_PROTOCOL
USES_PROTOCOL
HAS_LAYER
ENCAPSULATES
DECAPSULATES
CARRIES
HAS_MAC_ADDRESS
HAS_IP_ADDRESS
HAS_PREFIX
HAS_DEFAULT_GATEWAY
RESOLVES
ASSIGNS_ADDRESS
ROUTES
HAS_ROUTE
HAS_ROUTING_TABLE
HAS_NEXT_HOP
HAS_METRIC
ADVERTISES
LEARNS
FORWARDS
SWITCHES
HAS_MAC_TABLE
HAS_VLAN
TAGGED_BY
TRUNKS
TRANSLATES_ADDRESS
TRANSLATES_PORT
FORWARDS_PORT
OPENS_SOCKET
ESTABLISHES
TERMINATES
ACKNOWLEDGES
RETRANSMITS
CONTROLS_FLOW
CONTROLS_CONGESTION
HAS_LATENCY
HAS_JITTER
HAS_BANDWIDTH
HAS_THROUGHPUT
HAS_PACKET_LOSS
HAS_ERROR_RATE
HAS_QOS
HAS_TRAFFIC
HAS_FLOW
QUEUED_IN
BUFFERED_IN
PROVIDES_SERVICE
AUTHENTICATES
AUTHORISES
ENCRYPTS
HAS_CERTIFICATE
CONTROLLED_BY
PERMITTED_BY
BLOCKED_BY
MONITORED_BY
HAS_TELEMETRY
CAPTURED_BY
HAS_EVENT
HAS_FAILURE
FAILS_OVER_TO
REDUNDANT_WITH
HAS_AVAILABILITY
HAS_CONFIGURATION
HAS_STATE
TRANSITIONS_TO
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
SEMANTICALLY_EQUIVALENT_TO
}
INPUTS {
NETWORK_INVENTORY
DEVICE_METADATA
INTERFACE_METADATA
LINK_METADATA
TOPOLOGY_DATA
ADDRESSING_DATA
SUBNET_DATA
VLAN_DATA
ROUTING_TABLES
ROUTING_PROTOCOL_DATA
MAC_ADDRESS_TABLES
ARP_AND_NEIGHBOUR_DATA
DNS_DATA
DHCP_DATA
SOCKET_AND_CONNECTION_DATA
PACKET_CAPTURES
FLOW_RECORDS
TRAFFIC_METRICS
LATENCY_AND_JITTER_DATA
BANDWIDTH_AND_THROUGHPUT_DATA
PACKET_LOSS_DATA
QOS_CONFIGURATION
SECURITY_POLICIES
FIREWALL_AND_ACL_DATA
CERTIFICATE_DATA
TELEMETRY
FAILURE_EVENTS
CONFIGURATION_DATA
ONTOLOGY_TERMS
}
NORMALISE {
STANDARDISE_NETWORK_IDENTIFIERS
NORMALISE_DEVICE_TYPES
NORMALISE_INTERFACE_IDENTIFIERS
NORMALISE_PORT_IDENTIFIERS
NORMALISE_LINK_IDENTIFIERS
NORMALISE_TOPOLOGY_TERMS
NORMALISE_MAC_ADDRESSES
NORMALISE_IPV4_AND_IPV6_ADDRESSES
NORMALISE_NETWORK_PREFIXES
NORMALISE_SUBNET_MASKS
NORMALISE_PROTOCOL_NAMES
NORMALISE_PORT_NUMBERS
NORMALISE_ROUTING_PROTOCOL_NAMES
NORMALISE_AUTONOMOUS_SYSTEM_IDENTIFIERS
NORMALISE_VLAN_IDENTIFIERS
NORMALISE_TRAFFIC_AND_FLOW_IDENTIFIERS
NORMALISE_PERFORMANCE_UNITS
NORMALISE_SECURITY_POLICY_TERMS
RESOLVE_NODE_INTERFACE_ADDRESS_AND_ROUTE_IDENTITIES
ALIGN_ONTOLOGY_TERMS
REMOVE_DUPLICATES
VALIDATE_METADATA
PRESERVE_PROVENANCE
}
PROCESS COMPUTER_NETWORKING_PIPELINE {
NETWORK_REFERENCE
-> NETWORK_IDENTIFICATION
-> NODE_DEVICE_AND_INTERFACE_MAPPING
-> LINK_AND_TOPOLOGY_MAPPING
-> ADDRESS_AND_SUBNET_MAPPING
-> PROTOCOL_AND_SERVICE_MAPPING
-> ROUTING_SWITCHING_AND_FORWARDING_ANALYSIS
-> TRANSPORT_AND_TRAFFIC_ANALYSIS
-> PERFORMANCE_SECURITY_AND_FAILURE_ANALYSIS
-> VALIDATION
-> OUTPUT
}
PROCESS ADDRESSING_REASONING {
NETWORK_INTERFACE -> MAC_ADDRESS + IP_ADDRESS
IP_ADDRESS + PREFIX_LENGTH -> NETWORK_PREFIX + HOST_IDENTIFIER
NETWORK_PREFIX -> SUBNET
DESTINATION_IP -> LOCAL_OR_REMOTE_DESTINATION
REMOTE_DESTINATION -> DEFAULT_OR_SPECIFIC_ROUTE
}
PROCESS ENCAPSULATION_REASONING {
APPLICATION_DATA -> TRANSPORT_HEADER -> NETWORK_HEADER -> DATA_LINK_HEADER
DATA_LINK_HEADER -> FRAME_OR_PACKET_TRANSMISSION
RECEIVER -> DECAPSULATION -> APPLICATION_PAYLOAD
}
PROCESS ROUTING_REASONING {
DESTINATION_PREFIX -> ROUTING_TABLE_LOOKUP
MATCHING_ROUTES -> LONGEST_PREFIX_MATCH
SELECTED_ROUTE -> NEXT_HOP + OUTGOING_INTERFACE
ROUTING_PROTOCOL -> ROUTE_LEARNING_AND_ADVERTISEMENT
}
PROCESS SWITCHING_REASONING {
ETHERNET_FRAME -> DESTINATION_MAC_ADDRESS
DESTINATION_MAC_ADDRESS -> MAC_ADDRESS_TABLE_LOOKUP
KNOWN_DESTINATION -> OUTPUT_PORT
UNKNOWN_DESTINATION -> FLOOD_WITHIN_APPLICABLE_BROADCAST_DOMAIN
SOURCE_MAC_ADDRESS -> MAC_TABLE_LEARNING
}
PROCESS VLAN_REASONING {
SWITCH_PORT -> ACCESS_OR_TRUNK_MODE
ACCESS_PORT -> SINGLE_VLAN_CONTEXT
TRUNK -> MULTIPLE_VLAN_TAGS
VLAN -> LOGICAL_BROADCAST_DOMAIN
}
PROCESS NAT_REASONING {
INTERNAL_ADDRESS_AND_PORT -> NAT_OR_PAT_MAPPING
OUTBOUND_PACKET -> TRANSLATED_SOURCE
INBOUND_REPLY -> MAPPING_LOOKUP -> ORIGINAL_INTERNAL_DESTINATION
PORT_FORWARDING -> EXTERNAL_PORT_TO_INTERNAL_SERVICE_MAPPING
}
PROCESS TRANSPORT_REASONING {
ENDPOINT_A + ENDPOINT_B -> SOCKET_PAIR
TCP -> CONNECTION_ESTABLISHMENT
TCP -> SEQUENCE_AND_ACKNOWLEDGEMENT_TRACKING
TCP -> FLOW_AND_CONGESTION_CONTROL
TCP -> RETRANSMISSION_IF_REQUIRED
UDP -> CONNECTIONLESS_DATAGRAM_DELIVERY
QUIC -> SECURE_MULTIPLEXED_TRANSPORT_CONTEXT
}
PROCESS DNS_DHCP_REASONING {
DOMAIN_NAME -> DNS_QUERY -> RESOLVER -> DNS_RECORD
DNS_RECORD -> ADDRESS_OR_OTHER_RESOURCE_DATA
CLIENT -> ADDRESS_CONFIGURATION_REQUEST
DHCP_SERVICE -> ADDRESS_LEASE
ADDRESS_LEASE -> IP_ADDRESS + PREFIX + GATEWAY + DNS_CONFIGURATION
}
PROCESS TRAFFIC_PERFORMANCE_REASONING {
PACKETS -> FLOW_KEY -> NETWORK_FLOW
NETWORK_FLOW -> PACKET_COUNT + BYTE_COUNT + DURATION
PACKET_TIMESTAMPS -> LATENCY_AND_ROUND_TRIP_TIME
LATENCY_VARIATION -> JITTER
TRANSMITTED_AND_RECEIVED_PACKETS -> PACKET_LOSS
BYTES_OVER_TIME -> THROUGHPUT
CAPACITY -> BANDWIDTH_CONTEXT
}
PROCESS SECURITY_REASONING {
NETWORK_TRAFFIC -> SECURITY_POLICY
SECURITY_POLICY -> ACL_FIREWALL_OR_OTHER_CONTROL
CONNECTION_ATTEMPT -> PERMIT_OR_BLOCK_DECISION
SECURE_PROTOCOL -> AUTHENTICATION + ENCRYPTION + CERTIFICATE_CONTEXT
}
PROCESS FAILURE_REASONING {
NODE_OR_LINK -> HEALTH_STATE
FAILURE_EVENT -> TOPOLOGY_AND_ROUTE_IMPACT
REDUNDANT_PATH_OR_DEVICE -> FAILOVER
FAILOVER -> UPDATED_NETWORK_STATE
}
RULES {
IF NETWORK_ENTITY_IS_IDENTIFIED
THEN PRESERVE NETWORK_DEVICE_INTERFACE_ADDRESS_AND_CONFIGURATION_CONTEXT
IF IP_ADDRESS_IS_INTERPRETED
THEN PRESERVE ADDRESS_FAMILY_PREFIX_AND_INTERFACE_CONTEXT
IF ROUTE_IS_SELECTED
THEN PRESERVE DESTINATION_PREFIX_NEXT_HOP_METRIC_AND_ROUTING_CONTEXT
IF TCP_CONNECTION_IS_ASSERTED
THEN PRESERVE ENDPOINT_PORT_STATE_AND_SEQUENCE_CONTEXT
IF VLAN_IS_ASSERTED
THEN PRESERVE SWITCH_PORT_TAGGING_AND_BROADCAST_DOMAIN_CONTEXT
IF NAT_MAPPING_IS_ASSERTED
THEN PRESERVE ORIGINAL_AND_TRANSLATED_ADDRESS_PORT_CONTEXT
IF NETWORK_PERFORMANCE_IS_ASSERTED
THEN PRESERVE MEASUREMENT_WINDOW_PATH_TRAFFIC_AND_CONFIGURATION_CONTEXT
IF SEMANTIC_IDENTIFIERS_DIFFER
AND COMPUTER_NETWORK_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}
CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
NETWORK_IDENTITY_CERTAINTY,
DEVICE_AND_INTERFACE_CERTAINTY,
ADDRESS_AND_SUBNET_CERTAINTY,
TOPOLOGY_COMPLETENESS,
ROUTING_AND_SWITCHING_EVIDENCE,
TRAFFIC_AND_PERFORMANCE_EVIDENCE,
SECURITY_AND_FAILURE_EVIDENCE,
PROVENANCE_COMPLETENESS
)
LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}
IF TOPOLOGY_OR_ROUTING_DATA_IS_PARTIAL
THEN REDUCE_PATH_AND_REACHABILITY_CONFIDENCE
IF MEASUREMENT_WINDOW_OR_TRAFFIC_CONTEXT_IS_UNKNOWN
THEN REDUCE_PERFORMANCE_CONFIDENCE
}
SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY =
NORMALISE(
ENTITY_TYPE,
NETWORK_IDENTIFIER,
DEVICE_IDENTIFIER,
INTERFACE_IDENTIFIER,
ADDRESS_IDENTIFIER,
PROTOCOL_CONTEXT,
CONFIGURATION
)
IF EQUIVALENCE_KEY_A == EQUIVALENCE_KEY_B
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}
REASONING_CONSTRAINTS {
COMPUTER_NETWORK != HOST
ROUTER != SWITCH
SWITCH != HUB
IP_ADDRESS != MAC_ADDRESS
IPV4_ADDRESS != IPV6_ADDRESS
SUBNET != VLAN
VLAN != VPN
PORT_NUMBER != PHYSICAL_PORT
PACKET != FRAME
TCP != UDP
BANDWIDTH != THROUGHPUT
LATENCY != JITTER
PACKET_LOSS != ERROR_RATE
ROUTING != SWITCHING
ROUTE != PATH_AS_IDENTICAL_CONCEPT
DNS != DHCP
NAT != ROUTING
FIREWALL != ROUTER_AS_IDENTICAL_CONCEPT
ENCRYPTION != AUTHENTICATION
REDUNDANCY != BACKUP_AS_IDENTICAL_CONCEPT
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}
VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_NETWORK_IDENTIFIER
CHECK_DEVICE_IDENTIFIERS
CHECK_INTERFACES_AND_PORTS
CHECK_LINKS_AND_TOPOLOGY
CHECK_MAC_ADDRESSES
CHECK_IP_ADDRESSES_AND_PREFIXES
CHECK_SUBNETS
CHECK_VLANS
CHECK_PROTOCOLS
CHECK_ROUTING_TABLES
CHECK_NEXT_HOPS
CHECK_SWITCHING_TABLES
CHECK_NAT_MAPPINGS
CHECK_CONNECTIONS_AND_SOCKETS
CHECK_DNS_AND_DHCP_CONTEXT
CHECK_TRAFFIC_FLOWS
CHECK_PERFORMANCE_METRICS
CHECK_SECURITY_POLICIES
CHECK_FAILURE_AND_FAILOVER_RELATIONS
CHECK_CONFIGURATION
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}
OUTPUTS {
NORMALISED_COMPUTER_NETWORK_ENTITIES
NODE_DEVICE_AND_INTERFACE_RELATIONS
LINK_AND_TOPOLOGY_RELATIONS
ADDRESS_AND_SUBNET_RELATIONS
PROTOCOL_LAYER_RELATIONS
ENCAPSULATION_RELATIONS
ROUTING_RELATIONS
SWITCHING_RELATIONS
VLAN_RELATIONS
NAT_RELATIONS
TRANSPORT_AND_CONNECTION_RELATIONS
DNS_AND_DHCP_RELATIONS
TRAFFIC_FLOW_RELATIONS
PERFORMANCE_RELATIONS
SECURITY_RELATIONS
FAILURE_AND_FAILOVER_RELATIONS
NETWORK_STATE_TRANSITIONS
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}
UPDATE_MODEL {
ON TOPOLOGY_ADDRESS_OR_CONFIGURATION_CHANGE {
NORMALISE
RESOLVE_NODE_INTERFACE_ADDRESS_AND_ROUTE_IDENTITIES
UPDATE_NODE_DEVICE_AND_INTERFACE_RELATIONS
UPDATE_LINK_AND_TOPOLOGY_RELATIONS
UPDATE_ADDRESS_SUBNET_AND_VLAN_RELATIONS
RECOMPUTE_ROUTING_AND_FORWARDING_RELATIONS
UPDATE_SECURITY_AND_SERVICE_CONTEXT
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}
ON NEW_TELEMETRY_TRAFFIC_OR_FAILURE_EVIDENCE {
LINK_EVIDENCE
UPDATE_NETWORK_STATE
UPDATE_TRAFFIC_AND_FLOW_RELATIONS
UPDATE_PERFORMANCE_PROFILE
UPDATE_FAILURE_AND_FAILOVER_RELATIONS
UPDATE_CONFIDENCE
RECORD_PROVENANCE
}
}
FLOW_HASH {
HASH_INPUT =
CANONICALISE(
ENTITY_TYPES,
RELATIONSHIPS,
RULES,
CONFIDENCE,
SEMANTIC_EQUIVALENCE,
REASONING_CONSTRAINTS,
UPDATE_MODEL
)
FLOW_HASH = SHA256(HASH_INPUT)
}
AI_CONSUMPTION {
INDEX {
ONTOLOGY
ENTITY_TYPES
RELATIONSHIPS
RULES
OUTPUTS
}
RETRIEVE {
BY_COMPUTER_NETWORK
BY_DEVICE
BY_INTERFACE
BY_ADDRESS
BY_SUBNET
BY_PROTOCOL
BY_ROUTE
BY_VLAN
BY_CONNECTION
BY_FLOW
BY_SECURITY_POLICY
BY_NETWORK_STATE
BY_CONFIDENCE
}
REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
ANALYSE_ADDRESSING
TRACE_ENCAPSULATION
ANALYSE_ROUTING
ANALYSE_SWITCHING
ANALYSE_VLANS
ANALYSE_NAT
ANALYSE_TRANSPORT_CONNECTIONS
ANALYSE_DNS_AND_DHCP
ANALYSE_TRAFFIC_FLOWS
ANALYSE_NETWORK_PERFORMANCE
ANALYSE_SECURITY
ANALYSE_FAILURE_AND_FAILOVER
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}
RESPONSE_POLICY {
DISTINGUISH_COMPUTER_NETWORK_HOST_DEVICE_INTERFACE_LINK_AND_SERVICE
DISTINGUISH_ROUTING_FROM_SWITCHING
PRESERVE_ADDRESS_PREFIX_PROTOCOL_ROUTE_VLAN_CONNECTION_TRAFFIC_AND_CONFIGURATION_CONTEXT
DISTINGUISH_BANDWIDTH_THROUGHPUT_LATENCY_JITTER_AND_PACKET_LOSS
PRESERVE_SECURITY_FAILURE_STATE_AND_PROVENANCE_CONTEXT
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_COMPUTER_NETWORKING_INFERENCE
}
}
TERMINAL {
RESULT =
VALIDATED(
SEMANTICALLY_NORMALISED(
EVIDENCE_LINKED(
CONFIDENCE_AWARE(
COMPUTER_NETWORKING_KNOWLEDGE
)
)
)
)
}
}
END FLOW
Download Code
Copy to Clipboard