<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>TCP on Margrop Blog</title>
    <link>https://blog.margrop.net/en/tag/tcp/</link>
    <description>Recent content in TCP on Margrop Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Sat, 18 Jul 2026 19:40:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/en/tag/tcp/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>TCP Ruled for 40 Years. Why Did HTTP/3 “Dump” It?</title>
      <link>https://blog.margrop.net/en/post/why-http3-ditched-tcp-quic/</link>
      <pubDate>Sat, 18 Jul 2026 19:40:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/why-http3-ditched-tcp-quic/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s fact-check the title first: TCP has &lt;em&gt;not&lt;/em&gt; been abandoned — file downloads, video, email, and SSH still run on it today. But the &lt;strong&gt;Web really did change drivers&lt;/strong&gt;: in June 2022, HTTP/3 became an official standard (RFC 9114), and it no longer uses TCP — web traffic is handed to QUIC, running over UDP.&lt;/p&gt;&#xA;&lt;p&gt;TCP got &amp;ldquo;replaced&amp;rdquo; because of three incurable midlife conditions:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Head-of-line blocking&lt;/strong&gt;: TCP is a byte stream that must be delivered in order — lose one parcel, and every parcel behind it stands at attention;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Expensive handshakes&lt;/strong&gt;: before any data flows, 2-3 round trips of &amp;ldquo;small talk&amp;rdquo; (TCP handshake + TLS handshake) — half a second gone on intercontinental links;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;A protocol welded shut&lt;/strong&gt;: TCP lives inside the OS kernel, and middleboxes only recognize the &amp;ldquo;classic model&amp;rdquo; — improving it is nearly impossible.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;QUIC&amp;rsquo;s fix is beautifully blunt: &lt;strong&gt;rebuild all of TCP&amp;rsquo;s wisdom on top of UDP, where nobody interferes.&lt;/strong&gt; This is the finale of our networking trilogy — part one covered &lt;em&gt;how to use the network&lt;/em&gt;, part two &lt;em&gt;why TCP/IP was designed so well&lt;/em&gt;, and this one &lt;em&gt;how even the mighty TCP got replaced by its own heirs&lt;/em&gt;. All screenshots come from real systems; IPs and hostnames are masked.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>A 1974 Design Still Rules the Internet. Why? The 6 Design Philosophies of TCP/IP</title>
      <link>https://blog.margrop.net/en/post/tcpip-design-philosophy/</link>
      <pubDate>Sat, 18 Jul 2026 09:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/tcpip-design-philosophy/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;TCP/IP is almost 50 years old. Every one of its rivals — the phone companies&amp;rsquo; X.25, IBM&amp;rsquo;s SNA, the standards body&amp;rsquo;s OSI — is in a museum, yet it still carries every page you load today. It didn&amp;rsquo;t win by being the most advanced. It won through six design choices:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Packet switching&lt;/strong&gt;: no private trains — everyone shares the highway. Cheap, and hard to kill;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Layering&lt;/strong&gt;: each layer does one job and can be swapped out like a LEGO brick;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The end-to-end principle&lt;/strong&gt;: keep the network dumb and put the smarts at the edges — so innovation never requires rewiring the network;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Best effort&lt;/strong&gt;: the core promises nothing, reliability is bought à la carte — simple scales globally;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Rough consensus and running code&lt;/strong&gt;: no kings, no voting — standards grow by working, not by decree;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Room for the future&lt;/strong&gt;: from IPv4 to IPv6, from HTTP/1 to HTTP/3 — the foundation stays while everything above is rebuilt.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;One sentence: &lt;strong&gt;good design doesn&amp;rsquo;t predict the future; it leaves room for it.&lt;/strong&gt; This is the companion piece to &lt;em&gt;Why Is Your WiFi Lagging?&lt;/em&gt; — that article explained &lt;em&gt;what&lt;/em&gt; the network is and how to use it; this one explains &lt;em&gt;why&lt;/em&gt; it was designed this way and how it survived half a century. All screenshots come from real systems and real protocol documents; IPs and hostnames are masked.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Why Is Your WiFi Lagging? Networks, TCP vs UDP, and the Two “5Gs” — Explained So a Kid Gets It</title>
      <link>https://blog.margrop.net/en/post/network-basics-tcp-udp-wifi-5g/</link>
      <pubDate>Sat, 18 Jul 2026 08:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/network-basics-tcp-udp-wifi-5g/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A &lt;strong&gt;network&lt;/strong&gt; is a delivery service for computers: data is chopped into &amp;ldquo;parcels&amp;rdquo; (packets), labeled with &amp;ldquo;addresses&amp;rdquo; (IPs), and relayed by &amp;ldquo;sorting centers&amp;rdquo; (routers) hop by hop to the recipient.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;TCP is a phone call&lt;/strong&gt;: connect first, talk later, repeat anything that wasn&amp;rsquo;t heard — reliable but fussy. &lt;strong&gt;UDP is a postcard&lt;/strong&gt;: drop it in the mailbox and hope — fast, but no delivery guarantee. Live video and games prefer UDP; files and web pages prefer TCP.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;strong&gt;three-way handshake&lt;/strong&gt; is just the opening of a phone call: &amp;ldquo;Hello, can you hear me?&amp;rdquo; — &amp;ldquo;I can. Can you hear me?&amp;rdquo; — &amp;ldquo;I can too. Let&amp;rsquo;s talk.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Wired&lt;/strong&gt; is a private water pipe; &lt;strong&gt;WiFi&lt;/strong&gt; is shouting in a crowded square — when everyone shouts at once, nobody is heard clearly. That is the number-one reason WiFi lags.&lt;/li&gt;&#xA;&lt;li&gt;WiFi&amp;rsquo;s &amp;ldquo;5G&amp;rdquo; means the &lt;strong&gt;5GHz frequency band&lt;/strong&gt; (a wider lane). Your phone carrier&amp;rsquo;s &amp;ldquo;5G&amp;rdquo; means the &lt;strong&gt;5th generation&lt;/strong&gt; of mobile networks (a whole standard). They share a name and nothing else.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;No jargon without an everyday analogy, but every number below comes from real measurements on real machines (all IPs and hostnames are masked). A kid can follow most of it; an adult won&amp;rsquo;t find it shallow.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Cross-Border VPS Feels Glacial? One Kernel Sysctl Speeds International Links 20×</title>
      <link>https://blog.margrop.net/en/post/bbr-fix-china-us-vps-slow-network/</link>
      <pubDate>Thu, 02 Jul 2026 20:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/bbr-fix-china-us-vps-slow-network/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;You&amp;rsquo;re accessing your overseas VPS from within China. SSH feels snappy. &lt;code&gt;curl&lt;/code&gt; on a small JSON endpoint returns instantly. But downloading a 2 MB HTML file takes over a minute. Convinced it&amp;rsquo;s &amp;ldquo;peak-hour international link congestion&amp;rdquo;? Probably not — you&amp;rsquo;re being sabotaged by Linux&amp;rsquo;s default CUBIC congestion control. CUBIC treats every packet loss as &amp;ldquo;the road ahead is jammed&amp;rdquo; and immediately backs off. But international links have baseline 5–15% loss from physical-layer imperfections, not congestion. So your TCP flow gets permanently stuck in slow-mo. Switch to Google&amp;rsquo;s &lt;strong&gt;BBR&lt;/strong&gt; algorithm and the exact same physical path, same moment, same loss rate delivers &lt;strong&gt;15–24× more throughput&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This post walks through a real mesh-VPN investigation: pulling a 2.3 MB page from a US VPS across a Chinese home connection went from &lt;strong&gt;30 KB/s to 500–1000 KB/s&lt;/strong&gt; after four shell commands. It ships three one-shot scripts (Windows 11 / Ubuntu 26.04 / macOS 26), covering both manual execution and AI-agent-driven deployment. All internal IPs, hostnames, and public IPs have been redacted.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
  </channel>
</rss>
