文章的图片由AI生成,因为我的visio打不开了,PS、可画又太重
,AI太好用了
站内最近来了好多新佬,于是根据自己所学和工作内容写一点扫盲贴
碎碎念
很多初学者刚接触网络时,会把“联网”理解成:电脑连上 Wi-Fi(无线局域网),然后就能访问网站。这个理解不算错,但它只看到了最表层。真实的网络访问过程并不是电脑直接和网站服务器通信,而是经过了多个中间环节:终端设备、无线 AP 或交换机、路由器或网关、运营商网络,最后才到达互联网上的服务器
可以先把网络想象成一套“分层的交通系统”。你的电脑、手机、平板就是出发的人;家里的 Wi-Fi(无线局域网) 或交换机相当于小区道路;路由器相当于小区门口的岗亭和出口;运营商网络相当于城市主干道;互联网上的网站服务器则是你最终要到达的目的地。数据在网络里传输,也需要先判断“目的地在哪里”“从哪个出口走”“下一站交给谁”。这也是我们常说的“VPN”“代理”“翻墙”所要解决的核心问题甚至运行时的底层逻辑
一个最简单的家庭网络结构通常是这样的:
在这个结构中,手机和电脑并不是直接连接互联网,而是先连接到家里的路由器。路由器再通过光猫或运营商线路连接到互联网。很多家庭设备里,“光猫、路由器、交换机、无线 AP”的功能可能被集成在一个盒子里(智能家庭网关),所以普通用户会感觉“一个路由器就完成了所有事情”。但从网络原理上看,这些功能是可以拆开的
至于ISP、互联网之间的架构和互联关系,那复杂去了(
以中国骨干网演示,其包含:
包括中国科技网(CSTNET)、中国公用计算机互联网(CHINANET)、中国教育和科研计算机网(CERNET)、中国金桥信息网(CHINAGBN)
具体发展可以看维基百科: 中国互联网骨干网 - 维基百科,自由的百科全书
整个网络访问的底层逻辑就是:
找到目标地址,然后一跳一跳把数据送过去。
这里面最关键的几个角色分别是:
终端设备,也就是你的电脑、手机、平板。它们是发起访问的一方
Wi-Fi / 交换机,负责把你的设备接入局域网。无线设备通过 Wi-Fi 接入,有线设备通过网线接入
路由器 / 网关,负责判断数据要不要出门。如果访问的是家里同网段的设备(局域网),比如访问 NAS、打印机、旁路由,那可能还在局域网里转;如果访问的是 L 站、百度、Steam、ChatGPT 这类互联网服务,那就要交给网关往外发
运营商网络,也就是电信、联通、移动这些 ISP 提供的网络。家里的路由器再往外走,通常就进入运营商网络了
互联网服务器,也就是你最终访问的网站、游戏服务器、接口服务等
这里有个很重要的点:电脑并不知道整个互联网怎么走,它只需要知道“下一跳交给谁”。
对于普通家庭网络来说,这个“下一跳”通常就是默认网关,也就是家里的路由器。比如你的电脑 IP 是:
192.168.31.58
而路由器地址是:
192.168.31.1
那么电脑访问外网时,大概率就是把数据先交给 192.168.31.1,后面的事情交给路由器处理。
在真正访问网站之前,还有一个很重要的小步骤:DNS 解析。
因为人方便记的是域名,比如 google.com、bilibili.com,但网络设备真正通信时用的是 IP 地址。所以浏览器访问网站前,会先问 DNS 服务器:
google.com 对应的 IP 是多少?
DNS 服务器返回一个 IP 地址后,电脑才会拿着这个 IP 去查路由表,判断目标是不是本地网段、要不要交给默认网关、下一跳该往哪里走。也就是说,DNS 解决的是“目标地址是谁”的问题,路由和网关解决的是“数据怎么过去”的问题
简单理解就是:
DNS:把域名翻译成 IP路由:决定去这个 IP 怎么走网关:负责把数据转发到下一跳
所以 DNS 很重要,但它只参与“找地址”这一步,并不等于真正帮你建立了一条到目标网站的通路
这时候就能顺便理解一下早期很多“冲浪姿势”的区别了。最初级的做法,可能只是不用运营商默认下发的 DNS,改成其他 DNS。这个动作本质上只是改变了“域名找谁解析”,比如你访问 google.com,先要问 DNS:这个域名对应哪个 IP?如果原来的 DNS 解析不正常,换 DNS 可能会让你拿到一个看起来更正常的结果(有将DNS解析到中间代理服务器以达成本地不使用代理软件也能访问google的效果,前提是 本机-DNS代理服务器-解析后IP 这条路径没断)。但注意,DNS 只负责把域名翻译成 IP,它不负责帮你把数据送到目标服务器。所以如果后面的路由、连接、策略本身已经不通,那单纯换 DNS 就没用了
再往上一级,就是大家早些年常说的“蓝灯 VPN”这类工具。普通用户会把它统称为 VPN,但从原理上看,它更像是在本机和远端服务器之间建立了一条“中间通道”:你的浏览器请求不再直接走“电脑 → 路由器 → 运营商 → 目标网站”这条原始路径,而是先交给这个客户端,再由它转发到远端节点,最后再去访问目标网站。也就是说,它解决的不只是“域名解析”的问题,而是进一步改变了流量实际经过哪里
所以从低级到高级可以这么理解:
改 DNS:
只改变“域名问谁解析”
代理:
改变“某些应用请求交给谁转发”
VPN / 隧道:
改变“系统或部分流量从哪条路径出去”
这也是为什么有时候换 DNS 有用,有时候又完全没用;为什么有些工具只影响浏览器,有些工具却能影响整个系统。它们本质上动的不是同一个层面:有的动 DNS,有的动应用流量,有的动路由和隧道。理解了这个分层,后面再看 VPN、代理、透明代理、旁路由,就不会觉得它们都是一团胡辣汤了(胡辣汤真好喝吧)
说到这里,就可以正式区分一下代理和VPN了。
很多人平时会把这类工具都叫成“VPN”,比如蓝灯 VPN、机场 VPN、科学上网 VPN。但从技术上看,它们未必都是真正意义上的 VPN。有些是代理,有些是隧道,有些是代理客户端加规则分流,有些才是比较标准的 VPN
网络代理
先说代理。
代理的核心逻辑很简单:你不直接访问目标网站,而是把请求先交给一个中间服务器,让它帮你访问
比如原本访问路径是:
电脑 → 路由器 → 运营商 → 目标网站
使用代理之后,路径可能变成:
电脑 → 本地代理客户端 → 远端代理节点 → 目标网站
这时候,目标网站看到的访问来源通常就不是你本机所在的出口,而是代理节点的出口。对用户来说,感觉像是“换了一个出口上网”;对网络来说,本质是请求被转发了一次
常见的 HTTP 代理、SOCKS5 代理、Shadowsocks、V2Ray、Trojan、Hysteria、TUIC 这类东西,虽然实现方式不同,但从大方向上看,都可以理解为:让某些流量先交给代理节点,再由代理节点访问目标服务
所以现在很多代理客户端里面会有“规则模式”“全局模式”“直连模式”这些选项,并且流量出口的IP质量(落地IP)很大程度上(99%都不为过)决定了你访问目标服务器时的“网络质量”,这也是为什么那么多佬买代理服务时写着“解锁流媒体、chatgpt”等标注,并且各个节点、平台的价格区分也很明显,如果落地IP被标记为风险IP,通过这个IP地址访问的请求会被目标服务器拦截
简单理解:
规则模式:该走代理的走代理,不该走代理的直连
全局模式:大部分流量都交给代理
直连模式:不走代理,按原始网络路径访问
VPN技术
然后再说 VPN。
VPN 的全称是 Virtual Private Network,中文一般叫“虚拟专用网络”或者“虚拟私有网络”。它原本更多是企业场景里的东西,比如员工在家办公,需要访问公司内网的 OA、文件服务器、堡垒机、数据库、代码仓库,就可以通过 VPN 接入公司网络
它的感觉更像是:
我虽然人在外面,但通过一条虚拟隧道,临时接入了公司内网。
传统 VPN 更关注的是“接入一个远端网络”,而不是单纯帮你访问某个网站
比如公司内网是:
10.10.0.0/16
你在家里连上公司 VPN 后,电脑可能会多出一块虚拟网卡,然后获得一个公司分配的虚拟地址。之后访问公司内网资源时,系统会把这些流量送进 VPN 隧道
所以 VPN 更像:
给电脑多接了一根虚拟网线
而代理更像:
找了一个中间人帮你转发请求
二者都可能改变流量路径,但改变的方式不一样
可以粗暴总结成:
代理:重点是“请求由谁代发”
VPN:重点是“设备接入哪个网络”
代理更偏应用层:浏览器、软件、域名、规则
VPN 更偏网络层:虚拟网卡、路由表、隧道、地址池
当然,现实中这两个概念经常混在一起。很多所谓“一键 VPN”工具,底层未必是传统企业 VPN,而可能是代理、隧道、虚拟网卡、规则分流混合在一起。用户不关心它背后到底是 SOCKS、TUN、HTTP、WireGuard 还是其他协议,只要能让目标服务访问成功,就会统一叫它“VPN”,我甚至见到过X音、X站上,拿着截图说国家不是禁止VPN吗为什么手机系统设置里有VPN设置,XX品牌是不是有异心(
这就像很多人把所有联网设备都叫“路由器”,但实际里面可能同时包含了光猫、NAT、DHCP、无线 AP、交换机、防火墙等功能,甚至将IPS、防火墙、负载均衡等网络设备统称为“电脑”的行为(毕竟框式、盒式设备,你就说外层那个能不能被叫“机箱”吧)
从工程角度看,最好还是拆开理解:
DNS:解决域名到 IP 的问题
代理:解决某些请求交给谁转发的问题
VPN / 隧道:解决流量从哪条虚拟路径出去的问题
规则分流:解决哪些流量直连,哪些流量走代理的问题
旁路由 / 透明代理:解决不在每台设备上单独配置客户端,也能接管流量的问题
写到这里,就能解释现在常见的“机场”了
所谓“机场”,一般不是单独指某一种协议,而更像是一种服务形态。它通常包含:
节点订阅、链接代理、协议、流量倍率、分流规则、客户端配置
用户买到的不是一个“VPN 软件”,而是一组可以导入客户端的代理节点。然后再用 Clash、sing-box、v2rayN、Shadowrocket、Stash 这类客户端进行管理
所以现代机场更像:
机场服务商提供节点、客户端负责连接节点、规则决定哪些流量走节点、远端节点负责访问目标网站
这和蓝灯的区别在于,蓝灯更像一个封装好的工具,用户只管打开;机场更像一套“节点订阅 + 客户端 + 分流规则”的组合,可玩性更高,但理解成本也更高
最后还要提一句安全和隐私问题
只要你使用代理、VPN、机场、蓝灯这类中间转发工具,本质上都是把一部分流量交给了中间节点。即使 HTTPS 可以保护网页内容不被随便看见,中间节点通常仍然可能知道你连接了哪些目标 IP、哪些域名、连接时间、流量大小等信息
所以这类工具不是“绝对安全”,更不是“完全匿名”。它只是改变了流量路径
通俗点说:
不用代理:你信任本地网络、运营商、目标网站
用代理 / VPN:你额外信任了代理节点或 VPN 服务商
所以选择这类服务时,风险不只在技术协议,也在服务商本身。来路不明的客户端、奇怪的订阅链接、免费节点、盗版安装包,都可能比协议本身更危险
代理协议
传统代理协议和现代代理协议
说到代理协议,就很容易出现一个误区:很多人会把“代理软件”“代理协议”“代理节点”“订阅链接”“客户端内核”全部混在一起叫
比如有人会说:
我用的是 Clash 协议
我买了一个 V2Ray
我这个 VPN 是 SOCKS5 的
我导入了一个机场协议
严格来说,这些说法都不太准确,交流、排障时容易造成误导
更准确的拆法应该是:
Clash / sing-box / v2rayN / Shadowrocket:
客户端、前端、内核或规则管理工具
HTTP / SOCKS5 / Shadowsocks / VMess / VLESS / Trojan / Hysteria / TUIC:
代理协议或代理协议族
TCP / UDP / TLS / QUIC / WebSocket / gRPC:
承载代理流量的传输方式或封装方式
订阅链接:
把一堆节点信息打包给客户端读取的配置入口
机场:
提供节点、订阅、流量计费、线路维护的一种服务形态
所以不要看到一个软件名字,就以为它本身就是协议。软件是软件,协议是协议,节点是节点,规则是规则
简单类比一下:
协议:
规定双方怎么说话
客户端:
负责帮你把话说出去
节点:
负责远端帮你转发
订阅:
负责把一堆节点信息发给客户端
规则:
负责决定哪些流量走哪个节点
传统代理协议
比较典型的传统代理协议有:
HTTP Proxy
HTTPS Proxy / HTTP CONNECT
SOCKS4
SOCKS5
这些协议出现得比较早,设计目标也比较直接:让应用程序把请求交给代理服务器,由代理服务器帮忙访问目标
比如 HTTP 代理,主要服务对象就是浏览器、爬虫、下载器这类使用 HTTP 协议的应用。客户端不是直接访问目标网站,而是把 HTTP 请求发给代理服务器,代理服务器再去访问目标站点
访问路径大概是:
浏览器 → HTTP 代理服务器 → 目标网站
如果访问的是 HTTPS 网站,就会用到 HTTP CONNECT。它的逻辑可以简单理解为:浏览器先对代理服务器说:
我要连接 example.com:443,你帮我打通一条 TCP 通道
代理服务器同意之后,浏览器再通过这条通道和目标网站进行 TLS 握手。这个时候代理服务器更像是在中间帮你“打洞”和“转发字节流”,而不是直接理解里面的 HTTPS 内容
所以 HTTP CONNECT 大概是:
浏览器 → 代理服务器:CONNECT example.com:443
代理服务器 → 目标网站:建立 TCP 连接
浏览器 ↔ 目标网站:在这条连接里进行 TLS 加密通信
这就是为什么 HTTPS 网站的内容一般不会被普通 HTTP 代理直接看到,但代理服务器仍然可能知道你连了哪个目标地址、什么时候连、流量有多大
SOCKS 代理比 HTTP 代理更“通用”一点
HTTP 代理主要面向 HTTP/HTTPS 流量,而 SOCKS5 不太关心上层到底是什么应用协议。你可以把它理解成一种更底层一点的“通用转发协议”
它不管你后面跑的是:
HTTP、HTTPS、SSH、游戏流量、IM通信、其他TCP应用
只要应用支持 SOCKS5,或者客户端能把流量转给 SOCKS5,它就可以帮忙转发
所以 SOCKS5 的感觉更像:
应用程序:我要连接 1.2.3.4:443
SOCKS5 代理:彳亍,我帮你连
它比 HTTP 代理更通用,但它本身并不等于“安全”。很多传统 HTTP 代理、SOCKS5 代理在协议层面并不自带强加密。也就是说:
SOCKS5 是代理协议不是加密协议
如果你裸连一个不可信 SOCKS5 代理,它能转发你的流量,但不代表这条“你到代理服务器之间的链路”天然就是安全的
传统代理协议的特点可以总结成这样:
HTTP 代理:更偏 Web 场景,主要处理 HTTP / HTTPS 请求
SOCKS5:更通用,可以转发更多类型的 TCP 流量,也可以支持 UDP 相关能力
优点:简单、成熟、兼容性好、很多软件原生支持
缺点:本身通常不强调加密和复杂网络环境适应能力很多时候需要应用主动支持代理
如果 DNS 处理不当,可能出现 DNS 泄露如果代理链路裸奔
安全性依赖外层加密
这里的 DNS 泄露也很好理解
比如浏览器使用了 SOCKS5 代理,但 DNS 解析还是本机自己向本地 DNS 服务器查询,那么就可能出现这种情况:
网页请求走了代理
DNS 查询没走代理
这样一来,虽然真正访问网站的数据流被转发了,但“你查询过什么域名”这件事,仍然可能暴露在本地网络或运营商侧(现在来看,如何解决DNS泄露,也是防拉闸的必要学习内容)
所以代理不是只看“能不能连上”,还要看:
应用流量走没走代理
DNS查询走没走代理
UDS流量走没走代理
IPv6流量走没走代理
规则有没有匹配错
这也是为什么很多人会遇到这种情况:
浏览器正常、命令行不正常(chatgpt能打开,但是codex、claude cli、反重力没法用)
网页正常、游戏不正常(同样是chatgpt、google能打开,但是一些国际服游戏没法正常登录)
IPv4正常、IPv6泄露访问网站正常,但是DNS检测不正常
因为它们走的不是同一层逻辑。
现代代理协议
现代代理协议之所以出现,是因为传统代理协议在现实网络环境里逐渐不够用了
传统 HTTP / SOCKS5 的目标很单纯:转发请求
但后来大家需要解决的问题变多了:
代理链路要不要加密?
移动网络丢包高怎么办?
UDP 应用怎么处理?
多个连接能不能复用?
规则分流怎么做?
DNS 怎么接管?
不同网络环境下怎么保持稳定?
客户端如何统一管理多种协议?
于是就出现了很多现代代理协议或协议族,比如:
Shadowsocks
VMess
VLESS
Trojan
Hysteria
TUIC
NaiveProxy
还有一些经常和它们一起出现的传输或封装方式:
TLS
WebSocket
gRPC
HTTP/2
QUIC
Reality
uTLS
有的协议不仅用于代理,你也可以在easytier这类软件上看到
!(file://C:\Users\10976\AppData\Roaming\marktext\images\2026-05-11-11-11-00-image.png?msec=1778469060745)
这里要注意,后面这些不一定都是“代理协议本体”,很多是传输层、加密层、伪装层或握手特征相关的方案。现实里它们经常组合在一起,所以普通用户会感觉名词特别多
比如一个节点可能看起来是:
VLESS + TCP + TLS
VLESS + Reality
Trojan + TLS
Shadowsocks + plugin
Hysteria2 + QUIC
TUIC + QUIC
这就像你寄快递:
代理协议:包裹里面的内容怎么组织
传输协议:用货车、飞机、轮船还是高铁送
加密层:包裹要不要上锁
规则分流:哪些包裹走哪条线路
客户端:快递驿站和调度系统
所以现代代理不是单一技术,而是很多层东西叠在一起,是一种多种技术不断迭代互相承载使用的结果
以已经被揭解剖的 Shadowsocks 为例,它可以粗略理解成一种“加密的代理转发协议”
传统 SOCKS5 更像是:
应用 → SOCKS5 代理 → 目标服务器
而 Shadowsocks 更像是:
应用 → 本地 SOCKS/HTTP 入站 → 本地 Shadowsocks 客户端 → 加密连接 → 远端 Shadowsocks 服务端 → 目标服务器
应用本身可能只知道自己在连本地的 SOCKS5 端口,比如:
127.0.0.1:7890
但后面的加密、远端连接、节点出口,都是代理客户端和远端服务端在处理
所以用户看到的是“我设置了一个本地代理端口”,但实际背后可能是:
本地应用流量→ 本地代理端口→ 代理客户端加密封装→ 远端节点解密转发→ 目标网站
这也是现代代理客户端常见的工作方式:在本机开一个本地代理入口,然后把不同应用的流量接进来,再按规则转发到不同节点
VMess、VLESS、Trojan 这类协议则更多出现在 V2Ray / Xray 生态中
可以非常粗暴地理解:
VMess:早期 V2Ray 生态中常见的代理协议,有自己的认证和传输设计
VLESS:更轻量的协议设计,本身不负责加密,通常依赖 TLS、Reality 等外层安全机制
Trojan:设计思路上更接近“跑在 TLS 里的代理协议”,经常和 HTTPS/TLS 场景一起出现
所以它们看起来更复杂,但也更适合现在这种复杂网络环境
Hysteria 和 TUIC 这类协议,经常会和 QUIC、UDP 联系在一起
传统代理很多是基于 TCP 的,而 TCP 在高延迟、丢包、跨境链路、移动网络切换等场景下,体验可能会比较差。QUIC 基于 UDP,在连接迁移、拥塞控制、弱网恢复等方面有自己的优势
所以 Hysteria / TUIC 这类协议的目标,往往不是单纯“能不能代理”,而是更关注:
高延迟环境下的体验丢包环境下的速度
UDP应用支持移动网络切换连接恢复能力
这也是为什么有些人会觉得:
同一个节点,某些协议看网页差不多
但看视频、打游戏、跑大文件、移动网络下体验差很多
因为协议本身、传输方式、拥塞控制、服务端线路、落地 IP、运营商路由,都会影响最终体验
不要把所有问题都归结为“节点好不好”,也不要归类于某机场好不好,补药迷信单一节点口牙!
实际影响因素很多:
本地网络质量
本地运营商
中转线路
远端入口
落地出口
目标网站
代理协议
传输层协议
客户端实现
规则匹配
DNS
策略
其中任何一层拉胯,最后表现出来都可能是笼统的:
慢卡打不开能打开但加载不全网页可以,APP不行
白天可以,晚上不行
手机可以,电脑不行
网络排障永远是分层看,不要一上来就玄学
题外话:如果佬想测以本地网络出发,看代理质量的方式,可以看我这个帖子: [开源][图一乐] 代理拔线?以本地网络环境给代理订阅做个体检 - LINUX DO
不过也不要把“现代协议”神化。
不是说协议越新就一定越快,也不是名字越花就一定越稳。
很多时候,真正决定体验的不是协议名字,而是后面的线路质量和落地质量。
比如:
一个普通协议 + 优质线路 + 干净落地IP
可能体验很好
一个很新的协议 + 烂线路 + 风险落地IP
照样打不开、很慢、被风控
这也是为什么很多机场会强调:
入口线路
中转线路
IEPL / IPLC
BGP
CN2
CMI
落地地区
原生 IP
流媒体解锁
ChatGPT 解锁
倍率
还有一个常见误区:代理协议不等于匿名协议
很多人会觉得用了代理之后,自己就“隐身”了,甚至跑去X和reddit键政,更有甚者在国内实名制平台挂个代理就开始大扯特扯,这是我不理解的
代理最多改变的是访问路径和出口地址:
目标网站看到的是代理节点IP
不一定直接看到你的家庭宽带IP
但这不代表你完全匿名
因为中间仍然有很多角色可能掌握不同信息:
本地网络:
可能知道你连接了某个代理节点
运营商\云服务商:
可以对流量进行长期监测、解包解封装、监控流量去向
代理服务商:
可能知道你的账号、连接时间、流量大小、目标连接信息
目标网站:
知道代理出口 IP、浏览器指纹、登录账号、行为特征
客户端软件:
如果来路不明,本身也可能成为风险点
现在很多机场趁机推私有协议闭源客户端
不排除打算跑路前收集一波用户信息卖了的可能
讲完了,不会写结束语,就先这么着吧(
3 个帖子 - 3 位参与者