#计算机网络

TCP 与 UDP 是网络传输层的两大核心协议,它们以截然不同的方式定义了数据在应用程序间的传输。TCP 如同一次通话,追求可靠与完整;UDP 则像一张明信片,主张高效与迅捷。正是这两种设计哲学的差异,决定了它们在网页浏览、文件传输、视频会议、在线游戏等不同场景下的应用。本文将深入解析二者的核心机制与关键差异。
本系列的前几篇文章中,我们已经探讨了设备如何通过 IP 地址获得身份、如何通过 DNS 将域名解析为地址,以及如何通过 DHCP、NAT 和 VPN 等技术接入并穿梭于复杂的网络环境。至此,我们的设备已经具备了“定位”并“连接”到目标服务器的能力。 本文将深入探讨这个连接建立之后,应用程序之间进行通信所使用的“语言”——HTTP 协议,以及其安全版本 HTTPS。这两种协议构成了现代万维网的基石。
在上一篇文章的结尾,我们探讨了多种内网穿透技术,并初步介绍了 WireGuard 作为一种现代化 VPN 解决方案的优势。其实在更早之前,我们就亲手编译过 WireGuard 在 iOS 端的 SDK,也使用 WireGuard 实现过群晖 NAS 的公网访问。 本文将以 macOS 环境为基础,深入 WireGuard 内部,从内核交互的底层细节出发,解构虚拟网卡的实现机制,并详细剖析其密码学和路由设计。
本篇是计算机网络系列的第三篇,主要讲 DHCP 和内网穿透。在探索广阔的外网之前,先把内网相关的内容做个收尾。
本篇是计算机网络系列的第二篇,主要讲 URL 和 DNS。
最近在研究 Surge,众所周知主包这方面知识贼差,几乎可以算是从零开始学起,所以也想借这个机会好好补一下相关知识。 预计会写一系列文章,从计算机网络的基础概念开始,后续会包含常见的接口请求流程以及 WireGuard 等相关内容。 本篇就是系列的第一篇。