网络开发实战

21 篇文章
传输与拥塞控制 2 篇文章
1
TCP 拥塞控制算法演进全解:从 Tahoe 到 BBRv3 原理、性能与 Linux 实操
· 19 分钟阅读

TCP 拥塞控制是网络传输性能的关键决定因素,也是互联网稳定运行的基石。无论是 Web 服务的页面加载速度、视频直播的流畅度、云原生应用的容器间通信,还是 P2P 传输的下载效率,底层都依赖 TCP 拥塞控制协调带宽分配。例如,一个 BitTorrent 节点可能同时维持数百个 TCP 连接,如果算法选择不当,带宽利用率会大幅下降。自 1988 年 Van Jacobson 在 SIGCOMM 上发表经典论文以来,拥塞控制算法经历了近四十年的演进,从基于丢包的启发式方法发展到基于网络模型测量的精确控制。本文梳理 12 种主要拥塞控制算法的核心思想、优缺点与适用场景,从 Tahoe、Reno 到 CUBIC、BBR、Copa。

2
BBR 拥塞控制算法深度解析
· 12 分钟阅读

BBR(Bottleneck Bandwidth and Round-trip propagation time)由 Google 的 Neal Cardwell、Yuchung Cheng 等人开发,是目前最先进的基于模型的拥塞控制算法之一。与传统的基于丢包的算法(如 Reno、CUBIC)不同,BBR 通过直接测量网络的瓶颈带宽和传播延迟来建模网络路径,在瓶颈点以 BDP(带宽延迟积)速率发送数据。

P2P 核心协议 5 篇文章
3
P2P 网络核心原理
· 6 分钟阅读

P2P(Peer-to-Peer)网络是一种去中心化的网络架构,每个节点既是资源的提供者(Server)也是消费者(Client)。这种架构在文件分发(BitTorrent)、加密货币(Bitcoin)、去中心化存储(IPFS)等领域得到了广泛应用。

4
Gossip 协议核心原理
· 12 分钟阅读

在 P2P 网络中,每个节点都需要在不依赖中心服务器的前提下,获取整个集群的状态信息——哪些节点在线、数据存储在何处、是否有新节点加入或旧节点离开。这个问题的本质是:在一个无法预测的、动态的网络中,如何高效且可靠地传播信息?

5
Kademlia DHT 协议深度解析
· 6 分钟阅读

Kademlia 是 DHT(分布式哈希表)领域最具影响力的协议之一,由 Petar Maymounkov 和 David Mazières 在 2002 年提出。它被广泛应用于 IPFS、BitTorrent、以太坊等系统中。Kademlia 的革命性创新在于使用 XOR(异或)作为距离度量,这一选择带来了简洁的数学特性和高效的路由算法。

6
SWIM 协议与集群成员管理
· 16 分钟阅读

在前一篇文章中,我们深入探讨了 Gossip 协议的核心原理——Epidemic 传播模型、反熵与谣言传播的区别,以及 Phi Accrual 故障检测器的数学基础。Gossip 提供了一种通用的信息传播机制,但如果要构建一个完整的分布式集群,仅有信息传播是不够的:每个节点需要知道集群中还有谁——谁在线、谁已经离开、谁刚刚加入。

7
libp2p 协议栈与 BitTorrent 协议深度解析
· 6 分钟阅读

在理解了 P2P 核心原理和 Kademlia DHT 之后,我们来深入分析两个在生产环境中广泛使用的 P2P 协议——libp2p 协议栈和 BitTorrent 协议。它们分别代表了通用 P2P 框架和专用文件分发协议两种不同的设计哲学。

P2P 开发实战 5 篇文章
8
Rust P2P 开发实战:从 Ping 到 Gossipsub
· 5 分钟阅读

Rust 的所有权模型和零成本抽象使其成为实现 P2P 网络协议的理想语言。libp2p 的 Rust 实现(rust-libp2p)提供了完整的协议栈,从传输层到应用层一应俱全。

9
Go 语言 P2P 开发实战
· 7 分钟阅读

Go 语言以其简洁的并发模型和快速的编译速度,成为 P2P 网络开发的热门选择。go-libp2p 是目前功能最完整的 libp2p 实现之一,被广泛应用于 IPFS(Kubo)等大型项目。

10
实战:构建分布式文件共享系统
· 8 分钟阅读

理论结合实践,我们来构建一个真正的分布式文件共享系统。这个系统将使用前面各篇文章介绍的技术——Kademlia DHT 用于节点发现和元数据分发,Gossipsub 用于广播,以及一个自定义的文件传输协议。

11
P2P 生产环境最佳实践
· 9 分钟阅读

将 P2P 系统从原型推向生产环境,需要面对连接管理、安全防护、可观测性等一系列工程挑战。本文从实战角度,覆盖连接资源控制、消息序列化、安全策略、监控体系、容器化部署和故障排查六大主题,并提供可复用的代码片段。

12
Gossip 在生产系统中的应用
· 21 分钟阅读

本系列前面四篇文章层层递进,从 Gossip 的 Epidemic 传播理论,到 SWIM 的成员管理协议,再到 Rust 和 Go 语言的 P2P 实现,最后到 P2P 生产环境最佳实践——我们建立了一个完整的 Gossip 知识体系。

P2P 应用调研 3 篇文章
13
P2P 信令与中继服务器技术调研
· 24 分钟阅读

自建 P2P 信令与中继服务器,是跨网互联、远程访问、Mesh VPN 等场景的核心基建。本文系统梳理了从 NAT 穿透协议到产品实践的完整技术图谱,覆盖三个层面:协议标准(STUN/TURN/ICE/BEHAVE)、主流产品(Tailscale、Nebula、NetBird、ZeroTier、Headscale、OpenZiti 等)、以及框架与算法(libp2p、WebRTC、Kademlia DHT)。

14
NVR 远程访问 P2P 技术方案全面调研
· 19 分钟阅读

NVR(Network Video Recorder,网络视频录像机)系统如何让手机 App 在任意网络下远程查看监控画面?这是安防行业和智能家居的核心需求。本文系统调研了三个层面的方案:开源 NVR 项目(Frigate、go2rtc、Kerberos.io、Agent DVR 等)、商业安防厂商(海康、大华、萤石、Ubiquiti、Synology、Reolink 等)、以及第三方 P2P 平台与安全研究(TUTK Kalay、iLnkP2P/PPPP、GB/T 28181、关键 CVE)。

15
iroh 项目深度调研:dial-by-key 的 P2P 传输栈与 libp2p 的另一条路
· 16 分钟阅读

P2P 传输栈里,libp2p 长期是默认选项——但它的协议栈庞大、配置面广,每次新项目都要在 tcp/quic/webrtc/noise/yamux/identify/kad/relay/dcutr 一长串 feature 里挑组合。iroh 是 Rust 生态里走另一条路的库:只做 QUIC + dial-by-public-key + NAT 穿透,把传输层收敛到很小,再在它上面叠加 blobs/gossip/docs 三个可选模块。2026 年 6 月 15 日 n0 发布 iroh 1.0,slogan 是「Dial Keys, not IPs」,经过 4 年开发、65 个预发布版本后第一次稳定。

视频流媒体应用调研 2 篇文章
16
H.264 / H.265 / H.266 Web 前端播放选型:2026 年该用哪一代
· 14 分钟阅读

在 MiBee NVR 监控大屏项目里,前端到底给 16 路摄像头拉 H.264 还是 H.265 流?这是个看似简单但越挖越深的问题。H.265 同画质码率只有 H.264 的一半,带宽和存储都省;但网上不少资料又说"H.265 浏览器支持差、Firefox 不支持、要装扩展"。到底哪些说法还成立?

17
流媒体传输协议全景:14 种技术的原理、局限与选型根因
· 18 分钟阅读

这 14 个流媒体技术不在同一层。一条完整直播链路通常是:

摄像头/编码器 → 摄取(RTMP / SRT / RIST / WebRTC-WHIP / WebTransport)→ 转码 → 交付(HLS / LL-HLS / DASH / LL-DASH / HESP / HTTP-FLV)→ 观众

指纹识别技术 4 篇文章
18
Nmap 指纹数据库完整解析:七大核心库、NSE 扩展与版本演进
· 10 分钟阅读

Nmap(Network Mapper)是目前全球最广泛使用的开源网络扫描与安全审计工具。它的核心识别能力依赖于七大内置指纹数据库——这些数据库覆盖操作系统、服务版本、协议、端口、MAC 厂商、RPC 程序以及 NSE 脚本扩展等多个维度。截至最新版本 Nmap 7.99(2026 年 3 月 26 日发布),这些数据库已发展为网络安全领域最全面、最活跃的指纹识别生态系统之一。

19
Nmap 指纹库加载工具开发方案:Go vs Rust vs Zig 三语言对比
· 31 分钟阅读

Nmap 拥有全球最全面的网络指纹数据库——超过 6000 条服务探测签名和 5000+ OS 指纹。但它的指纹引擎以 C++ 实现,深度绑定 PCRE2 正则和 nsock 异步 I/O,直接复用意味着你必须接受整个 Nmap 的架构约束。

20
NPSL 许可证限制与开源替代指纹库选型指南
· 15 分钟阅读

Nmap 是网络扫描领域的标杆工具,其指纹数据库(nmap-os-dbnmap-service-probes)经过二十余年的积累,已成为业界的黄金标准。然而,自 Nmap 7.90(2021 年)起,Nmap 的许可证从 GPLv2 变更为 NPSL(Nmap Public Source License),新增了大量超出标准 GPL 的限制条款。

21
多指纹库聚合引擎全景调研:fingers、Kscan、Nuclei 等 7 大项目对比
· 15 分钟阅读

在网络安全工作中,指纹识别是资产发现和攻击面管理的基础环节。然而,单一指纹库往往覆盖面有限——Nmap 强于网络层服务探测但弱于 Web 技术栈识别,Wappalyzer 擅长 Web 前端框架检测却无法感知底层协议,WhatWeb 对 CMS 识别精准却缺乏端口扫描能力。实际场景中,一个目标可能同时涉及网络设备、Web 应用、云服务等多种资产类型,仅依赖单一指纹库必然产生大量遗漏。