Skip to main content

TCP/IP Ontology

Networking
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
AI SEARCH

FLOW ALGEBRA — TCP/IP ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/networking/tcp-ip-ontology.html

FLOW TCP_IP_ONTOLOGY {

META {
DOMAIN = "Computing Ontologies"
SUBDOMAIN = "Networking"
ONTOLOGY = "TCP/IP Ontology"
PURPOSE = "Formalise TCP/IP layers, protocols, addressing, packets, routing, sockets, transport connections, reliability, flow control, congestion control and communication state."
LOCALE = "en-GB"
}

ENTITY_TYPES {
TCP_IP
TCP_IP_MODEL
PROTOCOL_SUITE
APPLICATION_LAYER
TRANSPORT_LAYER
INTERNET_LAYER
LINK_LAYER
HOST
ENDPOINT
CLIENT
SERVER
ROUTER
GATEWAY
NETWORK_INTERFACE
LINK
PROTOCOL
APPLICATION_PROTOCOL
TRANSPORT_PROTOCOL
INTERNET_PROTOCOL
LINK_PROTOCOL
IP
IPV4
IPV6
TCP
UDP
ICMP
ARP
NEIGHBOUR_DISCOVERY
DHCP
DNS
HTTP
HTTPS
TLS
SSH
SMTP
IMAP
NTP
ETHERNET
WIFI
IP_ADDRESS
IPV4_ADDRESS
IPV6_ADDRESS
SUBNET_MASK
PREFIX_LENGTH
NETWORK_PREFIX
HOST_IDENTIFIER
DEFAULT_GATEWAY
MAC_ADDRESS
PORT_NUMBER
SOCKET
SOCKET_PAIR
CONNECTION
TCP_CONNECTION
UDP_COMMUNICATION
SESSION
PACKET
IP_PACKET
IPV4_PACKET
IPV6_PACKET
DATAGRAM
TCP_SEGMENT
UDP_DATAGRAM
FRAME
PAYLOAD
HEADER
IP_HEADER
TCP_HEADER
UDP_HEADER
SOURCE_ADDRESS
DESTINATION_ADDRESS
SOURCE_PORT
DESTINATION_PORT
PROTOCOL_NUMBER
TTL
HOP_LIMIT
CHECKSUM
SEQUENCE_NUMBER
ACKNOWLEDGEMENT_NUMBER
TCP_FLAG
SYN
ACK
FIN
RST
TCP_HANDSHAKE
TCP_STATE
CLOSED
LISTEN
SYN_SENT
SYN_RECEIVED
ESTABLISHED
FIN_WAIT
CLOSE_WAIT
LAST_ACK
TIME_WAIT
RECEIVE_WINDOW
SEND_WINDOW
FLOW_CONTROL
CONGESTION_CONTROL
CONGESTION_WINDOW
SLOW_START
CONGESTION_AVOIDANCE
FAST_RETRANSMIT
FAST_RECOVERY
RETRANSMISSION
RETRANSMISSION_TIMEOUT
ROUND_TRIP_TIME
MSS
MTU
PATH_MTU
FRAGMENTATION
REASSEMBLY
ROUTING
ROUTE
ROUTING_TABLE
NEXT_HOP
LONGEST_PREFIX_MATCH
FORWARDING
NAT
PAT
PORT_FORWARDING
ENCAPSULATION
DECAPSULATION
APPLICATION_DATA
NETWORK_FLOW
TRAFFIC
LATENCY
JITTER
BANDWIDTH
THROUGHPUT
PACKET_LOSS
ERROR
TIMEOUT
CONFIGURATION
TCP_IP_STATE
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}

RELATIONSHIPS {
IS_A
INSTANCE_OF
HAS_LAYER
BELONGS_TO_LAYER
USES_PROTOCOL
CARRIES
ENCAPSULATES
DECAPSULATES
HAS_HEADER
HAS_PAYLOAD
HAS_INTERFACE
HAS_MAC_ADDRESS
HAS_IP_ADDRESS
HAS_PREFIX
HAS_DEFAULT_GATEWAY
HAS_SOURCE_ADDRESS
HAS_DESTINATION_ADDRESS
HAS_SOURCE_PORT
HAS_DESTINATION_PORT
USES_PORT
OPENS_SOCKET
HAS_SOCKET_PAIR
ESTABLISHES
TERMINATES
SENDS
RECEIVES
HAS_SEQUENCE_NUMBER
HAS_ACKNOWLEDGEMENT_NUMBER
HAS_FLAG
ACKNOWLEDGES
RETRANSMITS
HAS_WINDOW
CONTROLS_FLOW
CONTROLS_CONGESTION
HAS_CONGESTION_WINDOW
HAS_TIMEOUT
HAS_MSS
HAS_MTU
FRAGMENTS
REASSEMBLES
ROUTES
HAS_ROUTE
HAS_ROUTING_TABLE
HAS_NEXT_HOP
FORWARDS
TRANSLATES_ADDRESS
TRANSLATES_PORT
FORWARDS_PORT
HAS_FLOW
HAS_TRAFFIC
HAS_LATENCY
HAS_JITTER
HAS_BANDWIDTH
HAS_THROUGHPUT
HAS_PACKET_LOSS
HAS_ERROR
HAS_CONFIGURATION
HAS_STATE
TRANSITIONS_TO
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
SEMANTICALLY_EQUIVALENT_TO
}

INPUTS {
HOST_METADATA
INTERFACE_METADATA
MAC_ADDRESS_DATA
IP_ADDRESS_DATA
SUBNET_AND_PREFIX_DATA
ROUTING_TABLES
PACKET_CAPTURES
IP_PACKET_DATA
TCP_SEGMENT_DATA
UDP_DATAGRAM_DATA
SOCKET_DATA
CONNECTION_DATA
TCP_STATE_DATA
PORT_DATA
NAT_AND_PAT_DATA
ICMP_DATA
ARP_AND_NEIGHBOUR_DATA
DNS_AND_DHCP_DATA
RTT_AND_TIMEOUT_DATA
CONGESTION_CONTROL_DATA
FLOW_RECORDS
TRAFFIC_METRICS
PERFORMANCE_METRICS
CONFIGURATION_DATA
ONTOLOGY_TERMS
}

NORMALISE {
STANDARDISE_HOST_AND_ENDPOINT_IDENTIFIERS
NORMALISE_INTERFACE_IDENTIFIERS
NORMALISE_MAC_ADDRESSES
NORMALISE_IPV4_AND_IPV6_ADDRESSES
NORMALISE_NETWORK_PREFIXES
NORMALISE_PROTOCOL_NAMES
NORMALISE_PROTOCOL_NUMBERS
NORMALISE_PORT_NUMBERS
NORMALISE_SOCKET_IDENTIFIERS
NORMALISE_TCP_FLAGS
NORMALISE_TCP_STATES
NORMALISE_SEQUENCE_AND_ACKNOWLEDGEMENT_NUMBERS
NORMALISE_WINDOW_VALUES
NORMALISE_MSS_AND_MTU_VALUES
NORMALISE_ROUTING_ENTRIES
NORMALISE_NAT_MAPPINGS
NORMALISE_FLOW_IDENTIFIERS
NORMALISE_PERFORMANCE_UNITS
RESOLVE_HOST_INTERFACE_SOCKET_CONNECTION_AND_PACKET_IDENTITIES
ALIGN_ONTOLOGY_TERMS
REMOVE_DUPLICATES
VALIDATE_METADATA
PRESERVE_PROVENANCE
}

PROCESS TCP_IP_REASONING_PIPELINE {
COMMUNICATION_REFERENCE
-> ENDPOINT_IDENTIFICATION
-> ADDRESS_AND_INTERFACE_MAPPING
-> APPLICATION_AND_TRANSPORT_MAPPING
-> INTERNET_LAYER_MAPPING
-> LINK_LAYER_MAPPING
-> ENCAPSULATION_AND_TRANSMISSION
-> ROUTING_AND_FORWARDING_ANALYSIS
-> TRANSPORT_STATE_AND_RELIABILITY_ANALYSIS
-> PERFORMANCE_AND_ERROR_ANALYSIS
-> VALIDATION
-> OUTPUT
}

PROCESS LAYER_AND_ENCAPSULATION_REASONING {
APPLICATION_DATA -> APPLICATION_PROTOCOL
APPLICATION_PROTOCOL -> TRANSPORT_PROTOCOL
TRANSPORT_PROTOCOL -> INTERNET_PROTOCOL
INTERNET_PROTOCOL -> LINK_PROTOCOL
APPLICATION_DATA -> TCP_SEGMENT_OR_UDP_DATAGRAM
TCP_SEGMENT_OR_UDP_DATAGRAM -> IP_PACKET
IP_PACKET -> LINK_FRAME
RECEIVER -> DECAPSULATION -> APPLICATION_DATA
}

PROCESS IP_ADDRESSING_AND_ROUTING {
IP_ADDRESS + PREFIX_LENGTH -> NETWORK_PREFIX + HOST_IDENTIFIER
DESTINATION_IP -> LOCAL_OR_REMOTE_DESTINATION
LOCAL_DESTINATION -> DIRECT_LINK_DELIVERY
REMOTE_DESTINATION -> ROUTING_TABLE_LOOKUP
MATCHING_ROUTE_PREFIXES -> LONGEST_PREFIX_MATCH
SELECTED_ROUTE -> NEXT_HOP + OUTGOING_INTERFACE
ROUTER -> DECREMENT_TTL_OR_HOP_LIMIT -> FORWARD_PACKET
}

PROCESS TCP_CONNECTION_REASONING {
CLIENT_ENDPOINT -> SYN
SERVER_ENDPOINT -> SYN_ACK
CLIENT_ENDPOINT -> ACK
THREE_WAY_HANDSHAKE -> ESTABLISHED_TCP_CONNECTION
ESTABLISHED_TCP_CONNECTION -> BIDIRECTIONAL_BYTE_STREAM
}

PROCESS TCP_STATE_REASONING {
TCP_EVENT + CURRENT_TCP_STATE -> STATE_TRANSITION
PASSIVE_OPEN -> LISTEN
ACTIVE_OPEN -> SYN_SENT
SYN_RECEIVED_AND_ACKNOWLEDGED -> ESTABLISHED
FIN_EXCHANGE -> CONNECTION_TERMINATION_STATES
FINAL_WAIT -> CLOSED
}

PROCESS TCP_RELIABILITY_REASONING {
APPLICATION_BYTES -> SEQUENCE_SPACE
TCP_SEGMENT -> SEQUENCE_NUMBER
RECEIVED_BYTES -> ACKNOWLEDGEMENT_NUMBER
MISSING_OR_UNACKNOWLEDGED_DATA -> RETRANSMISSION
CHECKSUM_FAILURE -> DISCARD_OR_ERROR_HANDLING
}

PROCESS FLOW_AND_CONGESTION_CONTROL {
RECEIVER_BUFFER_STATE -> ADVERTISED_RECEIVE_WINDOW
SENDER -> LIMIT_UNACKNOWLEDGED_DATA_BY_RECEIVE_WINDOW
CONNECTION -> CONGESTION_WINDOW
CONNECTION_START -> SLOW_START
CONGESTION_THRESHOLD_REACHED -> CONGESTION_AVOIDANCE
LOSS_OR_CONGESTION_SIGNAL -> WINDOW_REDUCTION
DUPLICATE_ACK_THRESHOLD -> FAST_RETRANSMIT
}

PROCESS UDP_REASONING {
APPLICATION_MESSAGE -> UDP_DATAGRAM
UDP_DATAGRAM -> SOURCE_PORT + DESTINATION_PORT + PAYLOAD
RECEIVER -> PORT_DEMULTIPLEXING -> APPLICATION_DELIVERY
UDP -> NO_INHERENT_CONNECTION_RELIABILITY_OR_ORDERING
}

PROCESS FRAGMENTATION_AND_NAT_REASONING {
IP_PACKET_SIZE -> PATH_OR_INTERFACE_MTU_CHECK
OVERSIZED_PACKET -> FRAGMENTATION_OR_PACKET_TOO_BIG_BEHAVIOUR
FRAGMENTS -> DESTINATION_REASSEMBLY
INTERNAL_SOCKET -> NAT_OR_PAT_MAPPING
OUTBOUND_PACKET -> SOURCE_ADDRESS_OR_PORT_TRANSLATION
INBOUND_REPLY -> MAPPING_LOOKUP -> ORIGINAL_INTERNAL_SOCKET
PORT_FORWARDING -> EXTERNAL_SOCKET_TO_INTERNAL_SERVICE_MAPPING
}

PROCESS PERFORMANCE_REASONING {
SEND_TIMESTAMP + ACK_OR_REPLY_TIMESTAMP -> ROUND_TRIP_TIME
RTT_SAMPLES -> RETRANSMISSION_TIMEOUT_ESTIMATE
BYTES_DELIVERED_OVER_TIME -> THROUGHPUT
LATENCY_VARIATION -> JITTER
SENT_AND_RECEIVED_PACKET_COUNTS -> PACKET_LOSS
}

RULES {
IF TCP_IP_ENTITY_IS_IDENTIFIED
THEN PRESERVE LAYER_PROTOCOL_ADDRESS_PORT_AND_INTERFACE_CONTEXT

IF IP_PACKET_IS_INTERPRETED
THEN PRESERVE IP_VERSION_SOURCE_DESTINATION_PROTOCOL_AND_TTL_CONTEXT

IF TCP_CONNECTION_IS_ASSERTED
THEN PRESERVE ENDPOINT_SOCKET_STATE_SEQUENCE_AND_WINDOW_CONTEXT

IF TCP_RETRANSMISSION_IS_ASSERTED
THEN PRESERVE ACKNOWLEDGEMENT_TIMEOUT_OR_LOSS_EVIDENCE

IF UDP_COMMUNICATION_IS_ASSERTED
THEN DO_NOT_INFER TCP_STYLE_CONNECTION_RELIABILITY_OR_ORDERING

IF NAT_MAPPING_IS_ASSERTED
THEN PRESERVE ORIGINAL_AND_TRANSLATED_ADDRESS_PORT_CONTEXT

IF ROUTE_IS_SELECTED
THEN PRESERVE DESTINATION_PREFIX_NEXT_HOP_AND_INTERFACE_CONTEXT

IF SEMANTIC_IDENTIFIERS_DIFFER
AND TCP_IP_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}

CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
ENDPOINT_IDENTITY_CERTAINTY,
ADDRESS_AND_INTERFACE_CERTAINTY,
PROTOCOL_AND_PORT_CERTAINTY,
PACKET_AND_SEGMENT_COMPLETENESS,
TCP_STATE_AND_SEQUENCE_EVIDENCE,
ROUTING_AND_NAT_EVIDENCE,
PERFORMANCE_MEASUREMENT_QUALITY,
PROVENANCE_COMPLETENESS
)

LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}

IF PACKET_CAPTURE_IS_PARTIAL
THEN REDUCE_CONNECTION_AND_RETRANSMISSION_CONFIDENCE

IF ROUTING_OR_NAT_CONTEXT_IS_UNKNOWN
THEN REDUCE_END_TO_END_PATH_CONFIDENCE
}

SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY =
NORMALISE(
ENTITY_TYPE,
SOURCE_ADDRESS,
DESTINATION_ADDRESS,
SOURCE_PORT,
DESTINATION_PORT,
TRANSPORT_PROTOCOL,
CONNECTION_OR_FLOW_CONTEXT
)

IF EQUIVALENCE_KEY_A == EQUIVALENCE_KEY_B
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}

REASONING_CONSTRAINTS {
TCP_IP_MODEL != OSI_MODEL
IP != TCP
TCP != UDP
IPV4 != IPV6
IP_ADDRESS != MAC_ADDRESS
PORT_NUMBER != PHYSICAL_PORT
SOCKET != CONNECTION
PACKET != FRAME
TCP_SEGMENT != IP_PACKET
UDP_DATAGRAM != TCP_SEGMENT
SEQUENCE_NUMBER != ACKNOWLEDGEMENT_NUMBER
FLOW_CONTROL != CONGESTION_CONTROL
RECEIVE_WINDOW != CONGESTION_WINDOW
MSS != MTU
ROUTING != NAT
NAT != FIREWALL_AS_IDENTICAL_CONCEPT
RETRANSMISSION != DUPLICATE_PACKET_AS_IDENTICAL_CONCEPT
TCP_RELIABILITY != APPLICATION_LEVEL_SUCCESS
UDP != UNRELIABLE_NETWORK_AS_IDENTICAL_CONCEPT
BANDWIDTH != THROUGHPUT
ROUND_TRIP_TIME != ONE_WAY_LATENCY
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}

VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_PROTOCOL_LAYERS
CHECK_HOSTS_AND_INTERFACES
CHECK_MAC_ADDRESSES
CHECK_IP_ADDRESSES_AND_PREFIXES
CHECK_PROTOCOL_NUMBERS
CHECK_PORT_NUMBERS
CHECK_SOCKET_PAIRS
CHECK_IP_HEADERS
CHECK_TCP_HEADERS
CHECK_UDP_HEADERS
CHECK_TCP_FLAGS
CHECK_TCP_STATE_TRANSITIONS
CHECK_SEQUENCE_AND_ACKNOWLEDGEMENT_CONTEXT
CHECK_FLOW_CONTROL
CHECK_CONGESTION_CONTROL
CHECK_RETRANSMISSIONS
CHECK_MSS_AND_MTU
CHECK_FRAGMENTATION_AND_REASSEMBLY
CHECK_ROUTING_AND_NEXT_HOPS
CHECK_NAT_AND_PAT_MAPPINGS
CHECK_FLOW_RECORDS
CHECK_PERFORMANCE_METRICS
CHECK_CONFIGURATION
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}

OUTPUTS {
NORMALISED_TCP_IP_ENTITIES
PROTOCOL_LAYER_RELATIONS
HOST_INTERFACE_AND_ADDRESS_RELATIONS
ENCAPSULATION_RELATIONS
IP_PACKET_RELATIONS
ROUTING_AND_FORWARDING_RELATIONS
TCP_CONNECTION_RELATIONS
TCP_STATE_TRANSITIONS
TCP_SEQUENCE_AND_ACKNOWLEDGEMENT_RELATIONS
FLOW_CONTROL_RELATIONS
CONGESTION_CONTROL_RELATIONS
RETRANSMISSION_RELATIONS
UDP_COMMUNICATION_RELATIONS
FRAGMENTATION_AND_MTU_RELATIONS
NAT_AND_PAT_RELATIONS
SOCKET_AND_PORT_RELATIONS
NETWORK_FLOW_RELATIONS
PERFORMANCE_RELATIONS
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}

UPDATE_MODEL {
ON ADDRESS_ROUTE_CONNECTION_OR_CONFIGURATION_CHANGE {
NORMALISE
RESOLVE_HOST_INTERFACE_SOCKET_CONNECTION_AND_PACKET_IDENTITIES
UPDATE_ADDRESS_AND_INTERFACE_RELATIONS
UPDATE_ROUTING_AND_NAT_CONTEXT
UPDATE_CONNECTION_AND_TCP_STATE
UPDATE_FLOW_CONTROL_AND_CONGESTION_CONTEXT
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}

ON NEW_PACKET_FLOW_OR_PERFORMANCE_EVIDENCE {
LINK_EVIDENCE
UPDATE_PACKET_AND_SEGMENT_RELATIONS
UPDATE_SEQUENCE_ACK_AND_RETRANSMISSION_RELATIONS
UPDATE_NETWORK_FLOWS
UPDATE_PERFORMANCE_PROFILE
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_TCP_IP_ENTITY
BY_PROTOCOL
BY_LAYER
BY_HOST
BY_INTERFACE
BY_IP_ADDRESS
BY_PORT
BY_SOCKET
BY_CONNECTION
BY_PACKET
BY_TCP_STATE
BY_ROUTE
BY_FLOW
BY_CONFIDENCE
}

REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
TRACE_LAYER_ENCAPSULATION
ANALYSE_IP_ADDRESSING
ANALYSE_ROUTING
TRACE_TCP_CONNECTIONS
TRACE_TCP_STATES
ANALYSE_SEQUENCE_AND_ACKNOWLEDGEMENT
ANALYSE_FLOW_CONTROL
ANALYSE_CONGESTION_CONTROL
ANALYSE_RETRANSMISSIONS
ANALYSE_UDP
ANALYSE_FRAGMENTATION
ANALYSE_NAT
ANALYSE_NETWORK_FLOWS
ANALYSE_PERFORMANCE
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}

RESPONSE_POLICY {
DISTINGUISH_TCP_IP_MODEL_FROM_OSI_MODEL
DISTINGUISH_IP_TCP_UDP_PACKET_FRAME_SOCKET_AND_CONNECTION
PRESERVE_LAYER_PROTOCOL_ADDRESS_PORT_STATE_SEQUENCE_WINDOW_ROUTE_NAT_AND_CONFIGURATION_CONTEXT
DISTINGUISH_FLOW_CONTROL_FROM_CONGESTION_CONTROL
PRESERVE_PERFORMANCE_ERROR_AND_PROVENANCE_CONTEXT
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_TCP_IP_INFERENCE
}
}

TERMINAL {
RESULT =
VALIDATED(
SEMANTICALLY_NORMALISED(
EVIDENCE_LINKED(
CONFIDENCE_AWARE(
TCP_IP_KNOWLEDGE
)
)
)
)
}
}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ