<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Network on 魔都水滴</title>
    <link>https://blog.margrop.net/tag/network/</link>
    <description>Recent content in Network on 魔都水滴</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Sat, 18 Jul 2026 19:40:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/tag/network/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>用了 40 年的 TCP，为什么被 HTTP/3“抛弃”了？</title>
      <link>https://blog.margrop.net/post/why-http3-ditched-tcp-quic/</link>
      <pubDate>Sat, 18 Jul 2026 19:40:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/why-http3-ditched-tcp-quic/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;先给标题&amp;quot;打假&amp;quot;：TCP 并没有被抛弃——文件下载、视频、邮件、SSH，今天依然跑在 TCP 上。但 &lt;strong&gt;Web 世界确实换司机了&lt;/strong&gt;：2022 年 6 月，HTTP/3 成为正式标准（RFC 9114），它不再使用 TCP，而是把网页传输交给了跑在 UDP 上的 QUIC。&lt;/p&gt;&#xA;&lt;p&gt;TCP 被&amp;quot;换掉&amp;quot;的原因，是三个治不好的&amp;quot;中年病&amp;quot;：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;队头阻塞&lt;/strong&gt;：TCP 是一条必须按顺序交付的字节流，丢一个包裹，后面所有包裹一起罚站；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;握手太贵&lt;/strong&gt;：传数据之前要先&amp;quot;寒暄&amp;quot; 2-3 个来回（TCP 握手 + TLS 握手），跨洲网络下光打招呼就半秒；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;协议被&amp;quot;焊死&amp;quot;&lt;/strong&gt;：TCP 长在操作系统内核里，中间设备只认&amp;quot;经典款&amp;quot;，想改进它比登天难。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;QUIC 的药方简单粗暴：&lt;strong&gt;把 TCP 的全部智慧，搬到没人管的 UDP 上重做一遍&lt;/strong&gt;。本文是网络科普三部曲的最后一篇——第一篇讲&amp;quot;网络怎么用&amp;quot;，第二篇讲&amp;quot;TCP/IP 为什么这么设计&amp;quot;，这一篇讲&amp;quot;连最成功的 TCP，是怎么被自己人换掉的&amp;quot;。所有截图来自真实系统，IP 与主机名已打码。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>1974 年的设计，为什么至今统治互联网？TCP/IP 的 6 个设计哲学</title>
      <link>https://blog.margrop.net/post/tcpip-design-philosophy/</link>
      <pubDate>Sat, 18 Jul 2026 09:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/tcpip-design-philosophy/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;TCP/IP 快 50 岁了。它的竞争对手——电话公司的 X.25、IBM 的 SNA、国际标准化组织的 OSI——全都进了博物馆，而它还在承载你今天刷的每一个网页。它赢不是因为最先进，而是因为 6 个设计选择：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;分组交换&lt;/strong&gt;：不铺专列，大家共享公路——便宜，而且炸不断；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;分层&lt;/strong&gt;：每层只管一件事，像乐高积木一样可以整块换掉；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;端到端原则&lt;/strong&gt;：网络保持&amp;quot;笨&amp;quot;，聪明全放在两端——所以创新不需要改造网络；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;尽力而为&lt;/strong&gt;：核心不承诺&amp;quot;必达&amp;quot;，可靠性按需购买——简单才能铺到全球；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;粗略共识 + 能跑的代码&lt;/strong&gt;：不要国王、不要投票，标准在跑动中长大；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;给未来留位置&lt;/strong&gt;：从 IPv4 到 IPv6、从 HTTP/1 到 HTTP/3，地基不动，上面随便翻修。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;一句话：&lt;strong&gt;好的设计不是预测未来，而是给未来留位置。&lt;/strong&gt; 本文是《WiFi 为什么卡？》的姊妹篇——上一篇讲&amp;quot;网络是什么、怎么用&amp;quot;，这一篇讲&amp;quot;它为什么这么设计、凭什么活了半个世纪&amp;quot;。文中所有截图均来自真实系统与真实协议文档，IP 与主机名已打码。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>WiFi 为什么卡？用小学生能懂的话，一次讲透网络、TCP/UDP 和两个“5G”</title>
      <link>https://blog.margrop.net/post/network-basics-tcp-udp-wifi-5g/</link>
      <pubDate>Sat, 18 Jul 2026 08:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/network-basics-tcp-udp-wifi-5g/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;网络&lt;/strong&gt;就是电脑之间的&amp;quot;快递系统&amp;quot;：数据被切成一个个&amp;quot;包裹&amp;quot;（数据包），贴上&amp;quot;地址&amp;quot;（IP），由&amp;quot;分拣中心&amp;quot;（路由器）一站站转运到对方手里。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;TCP 像打电话&lt;/strong&gt;：先接通再说话，没听清就重说，靠谱但麻烦；&lt;strong&gt;UDP 像寄明信片&lt;/strong&gt;：写完就扔出去，快但不保证送到。看视频、打游戏用 UDP 更合适，传文件、刷网页用 TCP 更稳妥。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;三次握手&lt;/strong&gt;就是打电话开头的三句话：&amp;ldquo;喂，听得到吗？&amp;quot;——&amp;ldquo;听得到，你听得见我吗？&amp;quot;——&amp;ldquo;我也听得见，开始说正事吧。&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;有线网络&lt;/strong&gt;像家里的专用水管，&lt;strong&gt;WiFi&lt;/strong&gt; 像大广场上喊话——大家一起喊就会互相听不清，这就是 WiFi 卡顿的最大原因。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;WiFi 的 5G&lt;/strong&gt; 是&amp;quot;5GHz 频段&amp;rdquo;（一条更宽更快的车道），&lt;strong&gt;手机信号的 5G&lt;/strong&gt; 是&amp;quot;第五代移动通信技术&amp;rdquo;（一代标准）。两个 5G 只是重名，完全是两回事。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;全文没有一句黑话，每个概念都用生活里的事打比方；但所有数据都来自真实命令实测（IP 地址和主机名均已打码），小学生能看懂七成，大人也不会觉得浅。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>跨境 VPS 慢到能睡着？一行内核参数，把国际链路吞吐拉起 20 倍</title>
      <link>https://blog.margrop.net/post/bbr-fix-china-us-vps-slow-network/</link>
      <pubDate>Thu, 02 Jul 2026 20:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/bbr-fix-china-us-vps-slow-network/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;你从国内访问自己的美国 VPS，明明 SSH 打字很流畅，但下载一个 2 MB 的文件要一分多钟？以为是&amp;quot;高峰期国际链路拥堵&amp;quot;？大概率不是——你只是被 Linux 默认的 CUBIC 拥塞控制&amp;quot;骗&amp;quot;了。CUBIC 把每次丢包都当成&amp;quot;前面堵车了&amp;quot;，立刻踩刹车退让；而国际链路本身就有稳定 5-10% 的丢包，于是你的 TCP 连接被永远压在爬行状态。换成 Google 的 &lt;strong&gt;BBR&lt;/strong&gt; 算法后，同样的物理链路、同一时刻、同样的丢包率，吞吐可以立刻涨 15-24 倍。&lt;/p&gt;&#xA;&lt;p&gt;本文记录了一次真实的 mesh 网络排查：家庭出口 → 美国 VPS 拉取 2.3 MB 的网页，实测从 &lt;strong&gt;30 KB/s 一路飙到 500-1000 KB/s&lt;/strong&gt;，用的方法总共 4 行 shell 命令。文章包含三套一键脚本（Windows 11 / Ubuntu 26.04 / macOS 26），既能人工执行，也能交给 AI Agent 自动配置。所有内网地址、主机名和公网 IP 均已脱敏。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>VPN 连上了，内网域名却死活访问不了？一次 macOS 路由表排查完整复盘</title>
      <link>https://blog.margrop.net/post/macos-routing-table-vpn-troubleshooting/</link>
      <pubDate>Mon, 01 Jun 2026 18:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/macos-routing-table-vpn-troubleshooting/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;一句话总结：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;macOS 上同时跑了两个 VPN（&lt;code&gt;utun0&lt;/code&gt;、&lt;code&gt;utun15&lt;/code&gt;），其中 &lt;code&gt;utun0&lt;/code&gt; 推送了一条 &lt;code&gt;10.0.0.0/8&lt;/code&gt; 的聚合路由，把目标 &lt;code&gt;10.x.x.x&lt;/code&gt; 全部&amp;quot;吃&amp;quot;掉了——而我真正想走的是 &lt;code&gt;utun15&lt;/code&gt; 对端的内网。DNS 能解析，TCP/ICMP 就是不通。&lt;strong&gt;&lt;code&gt;route -n get&lt;/code&gt; 是定位这类问题的第一把刀&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>家里网速明明很快，打游戏却卡成 PPT？一次 Bufferbloat 的完整排查与解决</title>
      <link>https://blog.margrop.net/post/bufferbloat-sqm-cake-home-network-fix/</link>
      <pubDate>Sat, 30 May 2026 09:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/bufferbloat-sqm-cake-home-network-fix/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先问一个问题：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;你有没有过这样的体验——家里宽带 500M、1000M，测速软件跑分漂亮极了，但晚上一边下载一边玩《王者荣耀》或者打视频会议时，画面却频繁卡顿、ping 值飘到几百毫秒？&lt;/p&gt;&#xA;&lt;p&gt;明明带宽够用，延迟却爆炸。这不是玄学，这就是 &lt;strong&gt;Bufferbloat&lt;/strong&gt;（缓冲区膨胀）。&lt;/p&gt;&#xA;&lt;p&gt;这篇文章，我就记录一下上周在家里网络上遭遇 Bufferbloat、一步步排查、最后用 SQM + Cake 算法彻底解决的全过程。涉及运营商为保护视力的额外线路保护，设备信息已做脱敏处理。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Docker 容器太多导致网段冲突：把自动分配网络统一迁回 172 私有段的完整记录</title>
      <link>https://blog.margrop.net/post/docker-network-subnet-conflict-migration-record/</link>
      <pubDate>Mon, 13 Apr 2026 08:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/docker-network-subnet-conflict-migration-record/</guid>
      <description>&lt;p&gt;这篇文章记录的是一次很典型、也很容易被忽略的 Docker 网络故障：容器越来越多，Docker 自动分配出来的 user-defined bridge 网段，最后落进了 &lt;code&gt;192.168.x.x&lt;/code&gt;，并且和家里的真实局域网发生了冲突。问题本身不算复杂，但它有一个很讨厌的特点：它不是那种“容器起不来”或者“端口没映射”的显性错误，而是把整个家庭网络拖进一个很别扭的半瘫痪状态。&lt;/p&gt;&#xA;&lt;p&gt;当时在我的 NAS 上，家里部分设备开始出现访问异常。表面上看，像是某个设备离线，或者某个交换机、AP、路由器出了毛病；但我沿着 Docker 的网络一路排查下去后，最终确认，真正的根因不是单个容器坏了，而是 Docker 网络池的自动分配策略，已经把局域网挤到了一个危险的位置。&lt;/p&gt;</description>
    </item>
    <item>
      <title>基于 PVE &#43; 软路由 &#43; NAS的家里网络架构梳理（面向技术人员）</title>
      <link>https://blog.margrop.net/post/home-network-architecture-based-pve-and-soft-route-and-nas/</link>
      <pubDate>Fri, 03 Sep 2021 09:50:49 +0800</pubDate>
      <guid>https://blog.margrop.net/post/home-network-architecture-based-pve-and-soft-route-and-nas/</guid>
      <description>&lt;h1 id=&#34;家庭网络概述&#34;&gt;家庭网络概述&lt;/h1&gt;&#xA;&lt;p&gt;家庭网络，不会像正规的虚拟化平台那样，搞『业务平面』『管理平面』『数据平面』三个平面分离。&#xA;家庭网络需要的是方便，那么上面说的三个平面，就需要融合在一起共用网络，才能管理方便。&#xA;家庭网络的安全也十分重要，谁也不希望家里的网络大门就一直对外敞开着。&lt;/p&gt;&#xA;&lt;h1 id=&#34;准备硬件设备&#34;&gt;准备硬件设备&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;电信光猫（目前只有电信宽带，才有可能要到公网IP）&lt;/li&gt;&#xA;&lt;li&gt;多网口工控机（软路由，性能不要太差）&lt;/li&gt;&#xA;&lt;li&gt;普通台式机或服务器（能保证7x24小时开机就行）&lt;/li&gt;&#xA;&lt;li&gt;AC + AP（AC 和 AP需要同一个品牌，考虑到 5G WIFI 穿墙性能极差，建议每个房间都配1个5G AP）&lt;/li&gt;&#xA;&lt;li&gt;NAS（建议白裙或黑裙）&lt;/li&gt;&#xA;&lt;li&gt;网线&lt;/li&gt;&#xA;&lt;li&gt;U盘&lt;/li&gt;&#xA;&lt;li&gt;可插网线的笔记本电脑（配置网络用）&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>记一次家庭网络的网络风暴故障排查</title>
      <link>https://blog.margrop.net/post/a-network-broadcast-flooding-solution-record/</link>
      <pubDate>Fri, 26 Mar 2021 09:37:21 +0800</pubDate>
      <guid>https://blog.margrop.net/post/a-network-broadcast-flooding-solution-record/</guid>
      <description>&lt;p&gt;3月7日，周日，本来是一个应该好好休息放松的日子。&lt;/p&gt;&#xA;&lt;h1 id=&#34;上午10点左右&#34;&gt;上午10点左右&lt;/h1&gt;&#xA;&lt;p&gt;家里的小爱同学，突然罢工了，提示『网络连接失败』&lt;/p&gt;&#xA;&lt;p&gt;本来以为只是个小问题，没想到经过一番检查，发现家里所有联网的设备，网络都挂了？？？&lt;/p&gt;</description>
    </item>
    <item>
      <title>Proxmox VE 常用本地路径，以及如何修改hosts、主机名、IP地址和DNS配置</title>
      <link>https://blog.margrop.net/post/proxmox-ve-url-and-modify-hosts-ip-dns/</link>
      <pubDate>Fri, 22 Jan 2021 17:02:01 +0800</pubDate>
      <guid>https://blog.margrop.net/post/proxmox-ve-url-and-modify-hosts-ip-dns/</guid>
      <description>&lt;p&gt;PVE本地ISO文件目录：&lt;code&gt;/var/lib/vz/template/iso&lt;/code&gt;&#xA;PVE本地OVZ文件目录：&lt;code&gt;/var/lib/vz/template/cache&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何使用CentOS 7运行N2N—edge篇</title>
      <link>https://blog.margrop.net/post/how-to-use-n2n-centos-edge/</link>
      <pubDate>Sat, 16 Jan 2021 14:00:18 +0800</pubDate>
      <guid>https://blog.margrop.net/post/how-to-use-n2n-centos-edge/</guid>
      <description>&lt;p&gt;&lt;code&gt;边缘节点（node）&lt;/code&gt;：将成为虚拟网络一部分的节点。&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何使用Windows运行N2N-编译篇</title>
      <link>https://blog.margrop.net/post/how-to-use-n2n-windows-compile/</link>
      <pubDate>Fri, 15 Jan 2021 14:26:49 +0800</pubDate>
      <guid>https://blog.margrop.net/post/how-to-use-n2n-windows-compile/</guid>
      <description>&lt;p&gt;按照&lt;a href=&#34;https://github.com/ntop/n2n&#34;&gt;N2N官方网站&lt;/a&gt;的&lt;a href=&#34;https://github.com/ntop/n2n/blob/dev/doc/Building.md&#34;&gt;Building说明&lt;/a&gt;，Windows编译需要的软件有&#xA;&lt;code&gt;Visual Studio&lt;/code&gt;,&lt;code&gt;Cmake&lt;/code&gt;,&lt;code&gt;OpenSSL&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;看到&lt;code&gt;Visual Studio&lt;/code&gt;我就头大，这个软件安装起来可不得了。&#xA;于是我选择了交叉编译，即使用Linux环境编译Windows的exe和dll文件。&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何使用群晖（DSM）运行N2N-编译篇</title>
      <link>https://blog.margrop.net/post/how-to-use-n2n-dsm/</link>
      <pubDate>Fri, 15 Jan 2021 13:18:07 +0800</pubDate>
      <guid>https://blog.margrop.net/post/how-to-use-n2n-dsm/</guid>
      <description>&lt;p&gt;群晖（后面使用&lt;code&gt;DSM&lt;/code&gt;代替）是一个目前最著名的&lt;code&gt;NAS&lt;/code&gt;系统，没有之一。&#xA;如何在&lt;code&gt;DSM&lt;/code&gt;上直接运行&lt;code&gt;N2N&lt;/code&gt;呢，当然又需要交叉编译了😂。&#xA;下面的交叉编译操作，需要有&lt;code&gt;Linux&lt;/code&gt;的基本功，和&lt;code&gt;vim&lt;/code&gt;操作的基本功。&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何使用CentOS 7运行N2N—supernode篇</title>
      <link>https://blog.margrop.net/post/how-to-use-n2n-centos-supernode/</link>
      <pubDate>Fri, 15 Jan 2021 09:15:03 +0800</pubDate>
      <guid>https://blog.margrop.net/post/how-to-use-n2n-centos-supernode/</guid>
      <description>&lt;p&gt;&lt;code&gt;超级节点（supernode）&lt;/code&gt;：它允许边缘节点宣布和发现其他节点。它必须具有可在Internet上公开访问的端口。&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何使用CentOS 7运行N2N—编译篇</title>
      <link>https://blog.margrop.net/post/how-to-use-n2n-centos-compile/</link>
      <pubDate>Thu, 14 Jan 2021 14:26:49 +0800</pubDate>
      <guid>https://blog.margrop.net/post/how-to-use-n2n-centos-compile/</guid>
      <description>&lt;p&gt;若对完整编译过程有兴趣，可以慢慢浏览。&#xA;当然也可以直接下载下载已编译好的文件。&lt;/p&gt;</description>
    </item>
    <item>
      <title>N2N 是什么？</title>
      <link>https://blog.margrop.net/post/what-is-n2n/</link>
      <pubDate>Wed, 13 Jan 2021 16:27:39 +0800</pubDate>
      <guid>https://blog.margrop.net/post/what-is-n2n/</guid>
      <description>&lt;p&gt;&lt;code&gt;N2N&lt;/code&gt;是一个开源的P2P加密组网的工具&lt;/p&gt;&#xA;&lt;p&gt;开源项目地址为：&lt;a href=&#34;https://github.com/ntop/n2n&#34;&gt;https://github.com/ntop/n2n&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;目前最新版本为&lt;code&gt;2.8-stable&lt;/code&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
