Skip to content

Instantly share code, notes, and snippets.

@pwright
Last active November 11, 2025 12:03
Show Gist options
  • Select an option

  • Save pwright/1687bbd6ee90c82ded6f6ab6ae87dff8 to your computer and use it in GitHub Desktop.

Select an option

Save pwright/1687bbd6ee90c82ded6f6ab6ae87dff8 to your computer and use it in GitHub Desktop.
{
"id": "tcp-adapter",
"title": "TCP",
"abstract": "Detailed map of TCP connection lifecycle, extended to include teardown (FIN), showing how Skupper's TCP adapter encapsulates TCP semantics over AMQP routing for cross-site communication.",
"categories": [
{
"id": "experience",
"title": "Connection Experience",
"items": [
{
"id": "app-connection",
"name": "Application Connection",
"deps": [
"three-way-handshake",
"service-address"
]
},
{
"id": "service-address",
"name": "Service Address",
"deps": [
"dns-lookup",
"kube-service"
]
},
{
"id": "connection-pooling",
"name": "Connection Pooling",
"deps": [
"app-connection"
]
},
{
"id": "timeout-management",
"name": "Timeout Management",
"deps": [
"retransmission",
"window"
]
}
]
},
{
"id": "establishment",
"title": "Connection Establishment & Teardown",
"items": [
{
"id": "three-way-handshake",
"name": "Three-Way Handshake",
"deps": [
"syn",
"ack",
"sequence-number",
"ack-number"
]
},
{
"id": "syn",
"name": "SYN",
"deps": [
"node-kernel-tcp"
]
},
{
"id": "ack",
"name": "ACK",
"deps": [
"node-kernel-tcp"
]
},
{
"id": "fin",
"name": "FIN / Teardown",
"deps": [
"ack",
"sequence-number",
"node-kernel-tcp"
]
},
{
"id": "sequence-number",
"name": "Sequence Number",
"deps": [
"node-kernel-tcp"
]
},
{
"id": "ack-number",
"name": "Acknowledgment Number",
"deps": [
"node-kernel-tcp"
]
}
]
},
{
"id": "reliability",
"title": "Reliability & Flow Control",
"items": [
{
"id": "window",
"name": "Receive Window",
"deps": [
"sequence-number",
"ack-number"
]
},
{
"id": "congestion-window",
"name": "Congestion Window",
"deps": [
"window"
]
},
{
"id": "retransmission",
"name": "Retransmission",
"deps": [
"ack-number",
"rto",
"ip-routing",
"sack"
]
},
{
"id": "rto",
"name": "Retransmission Timeout (RTO)",
"deps": [
"ack-number"
]
},
{
"id": "sack",
"name": "Selective Acknowledgment (SACK)",
"deps": [
"sequence-number",
"ack-number"
]
}
]
},
{
"id": "skupper-transport",
"title": "Skupper Encapsulation",
"items": [
{
"id": "tcp-adapter",
"name": "Skupper TCP Adapter",
"deps": [
"amqp-routing",
"fin",
"three-way-handshake"
]
},
{
"id": "amqp-routing",
"name": "AMQP Routing",
"deps": [
"amqp-link",
"amqp-broker"
]
},
{
"id": "amqp-link",
"name": "AMQP Link Management",
"deps": [
"amqp-broker"
]
},
{
"id": "amqp-broker",
"name": "AMQP Router Core",
"deps": [
"pod-network"
]
}
]
},
{
"id": "platform",
"title": "Runtime & Networking",
"items": [
{
"id": "node-kernel-tcp",
"name": "Kernel TCP Stack",
"deps": [
"ip-routing"
]
},
{
"id": "ip-routing",
"name": "IP Routing",
"deps": []
},
{
"id": "dns-lookup",
"name": "DNS Lookup",
"external": true,
"deps": []
},
{
"id": "kube-service",
"name": "Kubernetes Service (ClusterIP/LoadBalancer)",
"deps": [
"pod-network"
]
},
{
"id": "pod-network",
"name": "Pod Network (CNI)",
"deps": [
"ip-routing"
]
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment