TTR Networks

What is TCP?

Transmission Control Protocol

TCP (Transmission Control Protocol) is the transport protocol that gives applications a reliable, ordered byte stream between two hosts over IP.

IP on its own can lose, duplicate or reorder packets. TCP hides this from applications. A connection starts with a three-way handshake: the client sends a SYN, the server answers with a SYN-ACK, and the client replies with an ACK. Each side then numbers every byte it sends with a sequence number, and the receiver acknowledges what it has received; anything not acknowledged in time is retransmitted. A window field tells the sender how much data the receiver can accept, which provides flow control, and congestion control algorithms slow the sender down when the network drops packets. Connections are identified by four values, source and destination address and port, and end with FIN segments (an orderly close) or a RST (an abrupt reset). The basic header is 20 bytes, and the current core specification is RFC 9293.

Many protocols network engineers care about run over TCP, including SSH on port 22, HTTPS on port 443 and BGP on port 179. BGP leans on TCP heavily: because TCP already guarantees delivery and order, BGP sends each update once and has no retransmission mechanism of its own, unlike OSPF, which runs directly over IP and acknowledges its own updates. When troubleshooting, a SYN with no reply usually means a filter or missing route, while an immediate RST means the host is reachable but nothing is listening on that port. Large transfers that stall after the handshake often point to an MTU problem, which MSS clamping can work around. For traffic where speed matters more than reliability, applications use UDP instead. The Linux Network Connectivity lesson checks listening TCP sockets on a real host.

Lessons that use TCP

  • Debugging BGP: every session state, reproducedIntermediate · 60 min

    Break a working BGP lab a dozen ways and learn to read each failure: Idle, Connect, Active and OpenSent, max-prefix, firewalls, wrong AS, TTL, hold timers, missing policy and unreachable next hops, all with real FRR output and packet captures.

  • BGP FundamentalsIntermediate · 75 min

    How the Border Gateway Protocol glues the internet together: autonomous systems, sessions, path attributes, best-path selection, iBGP scaling and a hands-on eBGP lab with real FRR configuration.

  • Packets That Never Come BackIntermediate · 75 min

    Advanced packet capture with tcpdump, and how to find where packets die on a VyOS network: missing NAT and return routes, asymmetric routing through a stateful firewall, and MTU black holes, all diagnosed on a real VyOS router.

  • Linux Network ConnectivityBeginner · 80 min

    Find out why a Linux machine can't reach something, layer by layer: interfaces and addresses, routes and ip route get, ARP and the neighbour table, ping and traceroute, DNS, and listening sockets — with real output from a three-host lab.

  • Site-to-site VPN with WireGuard on VyOSIntermediate · 35 min

    Join two sites' private LANs across the internet with WireGuard on VyOS: keys and peers, the AllowedIPs mistake and what it teaches, what the internet actually sees, and the tunnel's smaller MTU.

  • OSPF FundamentalsBeginner · 70 min

    The link-state IGP that runs inside most networks: neighbour adjacencies, LSA flooding, SPF, costs, DR/BDR, areas and LSA types, a hands-on FRR lab, and how OSPF underpins BGP.

  • Setting up VyOS with basic BGPIntermediate · 50 min

    Build a VyOS edge router from scratch: one upstream transit provider, one Internet Exchange route server, and the import and export policy that keeps both safe. Every command and output comes from a real VyOS lab.

  • Setting up VyOS with NATBeginner · 45 min

    A VyOS router with a NAT interface for a private LAN and a public interface for a routed public subnet: plain routing, source NAT, port forwarding and the forward firewall that NAT isn't. Every output comes from a real VyOS lab.

Related terms