Skip to content

网络基础

快速跳转

  1. 家庭网络基础组成
  2. 网络核心概念
  3. 网络速度单位换算
  4. 常见网络问题排查
  5. 网络安全基础
  6. WiFi 信号增强与中继
  7. 多路由器组网 Mesh
  8. 代理协议与内核详解

最简单的理解:网络就是让两台或多台设备能够互相通信的系统。

你的电脑和手机能上网,是因为它们通过某种方式连接到了互联网(Internet)——一个由全球无数网络设备组成的庞大网络。而你的电脑、手机、平板、智能家居设备之间组成的局域网(LAN),是互联网的一个微小分支。

日常使用场景中,我们说”上网”本质上就是:你的设备 → 家庭网络 → 运营商 → 互联网 → 目标服务器。

类型英文缩写范围典型例子
局域网LAN同一栋建筑或一个家庭内家里 WiFi、公司内网
城域网MAN一座城市范围内校园网、城市宽带网
广域网WAN跨越多个城市或国家运营商骨干网、互联网
互联网Internet全球范围由无数 WAN 和 LAN 互联而成
flowchart LR
    A["互联网"] --> B["光猫<br/>运营商设备"]
    B -->|"光纤转电信号"| C["路由器<br/>家庭网络核心"]
    C -->|"WiFi / 网线"| D["你的设备<br/>电脑 / 手机 / 平板"]
    D -->|"请求"| C
    C -->|"转发"| B
    B -->|"路由"| A

光猫:运营商提供的设备,把光纤信号转换成电信号。通常不能自己更换。

路由器:家庭网络的”交通警察”,负责把来自互联网的数据分发到各台设备,也给每台设备分配 IP 地址。

网线:Cat5e(千兆)、Cat6(万兆)是常见规格,Cat5e 足够日常使用。

WiFi:无线连接方式,通过无线电波传输数据。

WiFi 使用无线电波传输数据,主要有两个频段:

频段速度穿墙能力覆盖范围适合场景
2.4GHz较慢(约 300 Mbps)强远穿墙、远距离设备(如智能音箱)
5GHz快(约 1200 Mbps)弱近同房间设备、看视频、打游戏
特性有线(网线)无线(WiFi)
速度稳定,接近千兆有损耗,波动大
延迟低,稳定较高,受干扰影响
稳定性高受距离、障碍物、干扰影响
灵活性低(需要布线)高(移动方便)

IP 地址是网络上每台设备的”门牌号”,用来标识和寻址。没有 IP 地址,数据包就找不到目的地。

IP(Internet Protocol)地址是一个逻辑地址,由网络层分配。它由两部分组成:

  • 网络部分:标识设备所在的网络
  • 主机部分:标识网络中的具体设备

一台设备在网络中就像一个人——既有身份证(IP 地址),也有物理住址(MAC 地址)。IP 地址可以变,MAC 地址不变。

IPv4 是最早广泛使用的 IP 地址版本,也是目前最普及的版本。

地址格式:

IPv4 地址由 32 位二进制组成,通常用”点分十进制”表示,分为 4 组,每组 8 位(0-255):

二进制:11000000.10101000.00000001.00000110
十进制:192.168.1.6

地址范围:总共约 43 亿个地址(2³² = 4,294,967,296)。

地址分类:

类别范围每类网络数每网络主机数典型用途
A 类1.0.0.0 – 126.255.255.255126~1677 万大型网络(如早期互联网骨干)
B 类128.0.0.0 – 191.255.255.255~1638465534中型网络(企业、大学)
C 类192.0.0.0 – 223.255.255.255~200 万254小型网络(家庭、办公室)
D 类224.0.0.0 – 239.255.255.255——组播地址
E 类240.0.0.0 – 255.255.255.255——实验保留

私有地址与公网地址:

类型范围说明
私有地址10.0.0.0/8、172.16.0.0/12、192.168.0.0/16家庭和公司内部使用,互联网上不可路由
公网地址其他所有地址(分配给运营商的)互联网上唯一可路由的地址

你的家庭网络中:

  • 路由器 WAN 口:运营商分配的公网 IP(如 223.5.6.7),外部网络通过这个地址找到你家
  • 路由器 LAN 口:给路由器本身分配的内网 IP(如 192.168.1.1)
  • 你的电脑:路由器通过 DHCP 分配的内网 IP(如 192.168.1.100)

IPv4 地址耗尽:

全球 IPv4 地址已于 2011 年被IANA(互联网地址分配机构)分配完毕。目前 IPv4 地址主要通过以下方式延长使用:

  • NAT:多个设备共享一个公网 IP(最常见)
  • 地址回收:回收未使用的地址重新分配
  • 购买二手地址:企业间买卖 IPv4 地址

IPv6 是 IPv4 的继任者,为了解决 IPv4 地址耗尽问题而设计。

地址格式:

IPv6 地址由 128 位二进制组成,用冒号分隔的十六进制表示,共 8 组,每组 16 位:

完整格式:2001:0db8:85a3:0000:0000:8a2e:0370:7334
简化格式:2001:db8:85a3:0:0:8a2e:370:7334

简化规则:

  • 每组前导零可以省略(0db8 → db8,0000 → 0)
  • 连续的 0 组可以用 :: 代替(只能使用一次)

地址数量:2¹²⁸ ≈ 3.4 × 10³⁸ 个地址——理论上可以为地球上每粒沙子分配一个 IPv6 地址。

特殊 IPv6 地址:

地址用途
::1环回地址(对应 IPv4 的 127.0.0.1)
fe80::/10链路本地地址(对应 IPv4 的 169.254.x.x,用于同一网络内通信)
::未指定地址(对应 IPv4 的 0.0.0.0)
ff00::/8组播地址

为什么需要 IPv6?

问题IPv4IPv6
地址数量~43 亿,已耗尽~3.4 × 10³⁸,几乎无限
NAT 依赖必须使用 NAT,破坏端到端通信每台设备拥有唯一公网地址,无需 NAT
安全性IPsec 可选,需额外配置内置 IPsec,安全默认启用
自动配置需要 DHCP 服务器分配地址SLAAC(无状态自动配置),即插即用
QoS 支持需要额外标记内置流标签字段,天然支持
移动性切换网络需要重新获取 IP支持移动 IP,切换时地址不变

双栈技术:

目前 IPv4 和 IPv6 共存,采用”双栈”技术——设备和网络同时支持两种协议。服务器同时监听 IPv4 和 IPv6 端口,客户端根据 DNS 返回的记录自动选择。

特性IPv4IPv6
地址长度32 位128 位
地址数量~43 亿~3.4 × 10³⁸
格式点分十进制(如 192.168.1.1)冒号分隔十六进制(如 2001:db8::1)
NAT必需(大多数网络)不需要
安全性IPsec 可选内置 IPsec
自动配置需要 DHCP支持 SLAAC
头部结构复杂,可变长简化,固定长
组播支持支持(增强)
部署状态主流,广泛使用逐步推广中

NAT(Network Address Translation) 是 IPv4 时代最关键的”救命”技术,允许多个内网设备共享一个公网 IP。

工作原理:

flowchart LR
    subgraph LAN["家庭内网"]
        A1["电脑<br/>192.168.1.100:54321"]
        A2["手机<br/>192.168.1.101:54322"]
        A3["平板<br/>192.168.1.102:54323"]
    end
    
    subgraph Router["路由器(NAT)"]
        R["NAT 表<br/>转换内外地址"]
    end
    
    subgraph WAN["互联网"]
        W1["公网 IP<br/>223.5.6.7:54321"]
        W2["公网 IP<br/>223.5.6.7:54322"]
        W3["公网 IP<br/>223.5.6.7:54323"]
    end
    
    A1 --> R --> W1
    A2 --> R --> W2
    A3 --> R --> W3

当内网设备发送请求时:

  1. 数据包到达路由器,源地址是内网 IP(如 192.168.1.100:54321)
  2. 路由器将源地址替换为公网 IP(如 223.5.6.7:65001),并记录映射关系
  3. 目标服务器收到请求,返回响应到 223.5.6.7:65001
  4. 路由器查 NAT 表,将目标地址替换回内网 IP(192.168.1.100:54321)

NAT 的优缺点:

优点缺点
节省 IPv4 地址破坏端到端通信
隐藏内网结构,增加安全性增加 NAT 端口耗尽风险
简化网络部署影响某些 P2P 应用
支持多个设备共享带宽增加配置复杂性

NAT 类型:

类型说明外网能否主动连接内网?
静态 NAT一对一映射(一个内网 IP 对应一个公网 IP)可以(需要端口映射)
动态 NAT一对多映射(多个内网 IP 共享公网 IP)不可以
NAT 过载(PAT)多对一映射,用端口区分(最常见)不可以
PAT + 端口映射多对一 + 指定端口转发可以(映射的端口)
系统命令说明
Windowsipconfig查看所有网络适配器信息
Windowsipconfig /all查看详细信息(包括 DNS)
macOSifconfig查看所有网络接口
macOSifconfig en0查看指定接口(en0 通常是 WiFi)
Linuxip addr查看所有接口(推荐)
Linuxifconfig查看所有接口(旧版)

查看公网 IP:

  • 浏览器访问:whatismyipaddress.com
  • 命令行(Windows):curl ifconfig.me
  • 命令行(macOS/Linux):curl ifconfig.me

域名(如 www.baidu.com)是人类好记的名字,而IP 地址(如 110.242.68.66)是机器能理解的地址。DNS(Domain Name System) 就是一个”电话簿”,负责把域名翻译成 IP 地址。

你输入 www.baidu.com 时,背后的流程是:

flowchart LR
    A["你在浏览器输入<br/>www.baidu.com"] --> B["向 DNS 服务器查询<br/>这个域名对应的 IP"]
    B --> C["DNS 返回 IP<br/>110.242.68.66"]
    C --> D["你的设备向这个 IP<br/>发送访问请求"]
    D --> E["Baidu 服务器响应<br/>页面内容"]
    E --> F["浏览器显示页面"]

DNS 是一个分布式层级系统,像一棵倒着的树:

flowchart TB
    R["根域名服务器<br/>(.)"] --> T1[".com"]
    R --> T2[".cn"]
    R --> T3[".org"]
    R --> T4[".net"]
    
    T1 --> A1["baidu.com"]
    T1 --> A2["google.com"]
    
    A1 --> S1["www.baidu.com"]
    A1 --> S2["mail.baidu.com"]
    A1 --> S3["fanyi.baidu.com"]

DNS 层级:

层级说明示例数量
根域名顶级层级,. 代表.13 组(A-M)
顶级域名(TLD)根域名的下一层.com、.cn、.org1000+
二级域名TLD 的下一层baidu.com、google.com数千万
三级域名二级域名的子域名www.baidu.com、mail.baidu.com无数

DNS 不仅存储域名到 IP 的映射,还存储各种类型的记录:

类型全称用途示例
AAddress域名 → IPv4 地址www.baidu.com → 110.242.68.66
AAAAQuad-A域名 → IPv6 地址www.baidu.com → 2400:da00::1
CNAMECanonical Name域名别名www.example.com → example.com
MXMail Exchanger邮件服务器优先级example.com → mail.example.com (10)
TXTText文本记录(SPF、DKIM、验证)v=spf1 include:_spf.example.com ~all
NSName Server域名服务器example.com → ns1.example.com
PTRPointer反向解析(IP → 域名)66.68.242.110.in-addr.arpa → www.baidu.com
SOAStart of Authority域名管理信息序列号、刷新时间、TTL 等
CAACertification Authority Authorization限制哪些 CA 可以签发证书example.com → letsencrypt.org

最常见的记录:

  • A 记录:99% 的网站都用它,把域名解析到 IPv4 地址
  • AAAA 记录:解析到 IPv6 地址,与 A 记录配合使用
  • CNAME 记录:让多个域名指向同一个服务器(如 www.example.com 和 blog.example.com 都指向同一台服务器)
  • MX 记录:告诉世界”发邮件到 example.com 请找 mail.example.com”

当你在浏览器中输入 www.baidu.com 时,DNS 解析的详细流程如下:

flowchart TB
    A["浏览器输入<br/>www.baidu.com"] --> B{"浏览器缓存<br/>有记录吗?"}
    B -->|"有"| C["直接返回 IP"]
    B -->|"无"| D{"操作系统缓存<br/>有记录吗?"}
    D -->|"有"| C
    D -->|"无"| E["向路由器查询"]
    E --> F{"路由器缓存<br/>有记录吗?"}
    F -->|"有"| C
    F -->|"无"| G["向 DNS 服务器查询<br/>(递归查询)"]
    G --> H{"本地 DNS 缓存<br/>有记录吗?"}
    H -->|"有"| C
    H -->|"无"| I["向根域名服务器查询"]
    I --> J["根服务器返回<br/>.com 服务器地址"]
    J --> K["向 .com 服务器查询"]
    K --> L[".com 返回<br/>baidu.com 服务器地址"]
    L --> M["向 baidu.com 服务器查询"]
    M --> N["返回 A 记录 IP"]
    N --> C
    C --> O["浏览器向 IP 发送请求"]

递归查询 vs 迭代查询:

类型说明示例
递归查询客户端向 DNS 服务器查询,DNS 服务器负责到底你的设备 → 本地 DNS 服务器(“帮我查到为止”)
迭代查询DNS 服务器逐级查询,每一级只返回下一级地址本地 DNS → 根服务器 → .com → baidu.com

DNS 查询结果会被缓存在多个层级,以加速后续访问:

缓存层级说明清理方法(Windows)
浏览器缓存浏览器自身缓存 DNS 记录重启浏览器
操作系统缓存系统级 DNS 缓存ipconfig /flushdns
路由器缓存路由器缓存 DNS 记录重启路由器
本地 DNS 服务器缓存ISP 或自建 DNS 缓存由 DNS 服务器管理

TTL(Time To Live):

每条 DNS 记录都有一个 TTL 值(秒),表示缓存有效期。TTL 过期后,DNS 服务器会重新查询权威服务器。

  • TTL 长(如 86400 秒 = 24 小时):减少 DNS 查询,但域名变更生效慢
  • TTL 短(如 60 秒):域名变更生效快,但 DNS 查询频繁

DoH(DNS over HTTPS) 是一种用 HTTPS 协议加密 DNS 查询的技术,端口 443。

工作原理:

flowchart LR
    A["你的设备"] -->|"HTTPS 加密请求"| B["DoH 服务器<br/>(如 223.5.5.5)"]
    B -->|"HTTPS 加密响应"| A
    B -->|"标准 DNS 查询"| C["上游 DNS 服务器"]
    C -->|"DNS 响应"| B

特点:

特性说明
端口443(与普通 HTTPS 流量一致)
协议HTTPS(HTTP/2 或 HTTP/3)
加密全程 TLS 加密
优势防止 ISP 或中间人看到/修改 DNS 查询
优势防止 DNS 劫持和污染
优势绕过运营商的 DNS 缓存限制
劣势绕过运营商的 DNS 过滤(如学校/公司的内容过滤)
劣势某些网络可能屏蔽 DoH

浏览器中的 DoH 设置:

  • Chrome:设置 → 隐私和安全 → 安全 → DNS 安全设置
  • Firefox:设置 → 隐私与安全 → DNS over HTTPS
  • Edge:设置 → 隐私、搜索和服务 → DNS 安全设置
  • Safari:支持,但默认关闭
常用 DoH 服务器地址
DNS 服务商DoH 地址
阿里 DNShttps://223.5.5.5/dns-query
腾讯 DNShttps://doh.tencent.com/dns-query
Cloudflarehttps://cloudflare-dns.com/dns-query
Googlehttps://dns.google/dns-query

DoT(DNS over TLS) 是一种用 TLS 加密 DNS 查询的技术,端口 853。

工作原理:

flowchart LR
    A["你的设备"] -->|"TLS 加密请求<br/>端口 853"| B["DoT 服务器<br/>(如 223.5.5.5:853)"]
    B -->|"TLS 加密响应"| A
    B -->|"标准 DNS 查询"| C["上游 DNS 服务器"]
    C -->|"DNS 响应"| B

特点:

特性说明
端口853(固定端口)
协议TLS(直接加密,不经 HTTP)
加密全程 TLS 加密
优势防止 ISP 或中间人看到/修改 DNS 查询
优势防止 DNS 劫持和污染
劣势固定端口 853,容易被识别和封锁
劣势浏览器不支持,需要单独客户端
劣势需要手动配置操作系统或应用程序

使用方式:

  • 操作系统:Windows、macOS、Linux 都支持 DoT
  • 路由器:部分路由器支持 DoT(如 OpenWrt)
  • 应用程序:部分应用支持 DoT 配置
Windows 设置 DoT 步骤
  1. 打开”设置” → “网络和 Internet” → “DNS 设置”(或”高级网络设置”)
  2. 编辑 IP 设置 → 编辑 DNS 服务器分配
  3. 选择”手动” → 启用 DNS 加密
  4. 选择”仅对公共网络加密”或”对所有网络加密”
  5. 选择 DNS 提供商(如 Cloudflare、Google)

macOS 步骤:

  1. 系统设置 → 网络 → 选择当前网络
  2. 点击”详细信息” → “DNS”
  3. 添加 DNS 服务器
  4. 在终端执行:sudo scutil --dns 确认配置
特性DoHDoT
端口443(HTTPS)853(固定)
协议HTTPS(HTTP/2 或 HTTP/3)TLS(直接加密)
流量伪装像普通 HTTPS 流量,难以识别固定端口,容易被识别
浏览器支持Chrome、Firefox、Safari、Edge不支持(需单独客户端)
操作系统支持需要浏览器或应用支持Windows、macOS、Linux 支持
配置难度简单(浏览器内设置)较复杂(系统级配置)
抗封锁能力强(与 HTTPS 同端口)中(固定端口易被封锁)
性能略慢(HTTP 头部开销)略快(直接 TLS)
推荐度★★★★★★★★

DNSSEC(DNS Security Extensions) 是一组 DNS 扩展协议,用于验证 DNS 记录的真实性。

工作原理:

  1. DNS 服务器对每条 DNS 记录进行数字签名
  2. 客户端查询时,DNS 服务器返回记录 + 签名
  3. 客户端用公钥验证签名,确认记录未被篡改

解决的问题:

  • DNS 欺骗:防止攻击者伪造 DNS 响应
  • DNS 劫持:防止运营商或中间人篡改 DNS 结果
  • 子域名欺骗:防止攻击者注册恶意子域名

常见问题:

现象可能原因解决方法
网站打不开,但 IP 直连正常DNS 解析失败更换 DNS 服务器或刷新 DNS 缓存
域名解析到错误 IPDNS 污染/劫持使用 DoH 或更换 DNS 服务器
某些网站时通时不通DNS 缓存过期慢刷新 DNS 缓存,检查 TTL
所有网站都打不开DNS 服务器故障更换 DNS 服务器

常用命令:

Terminal window
:: Windows - 刷新 DNS 缓存
ipconfig /flushdns
:: Windows - 查看 DNS 解析结果
nslookup www.baidu.com
:: Windows - 查看当前 DNS 服务器
ipconfig /all
:: macOS/Linux - 查看 DNS 解析结果
dig www.baidu.com
;; 或
host www.baidu.com
常用 DNS 服务器
DNS 服务商DNS 地址DoH 地址特点
阿里 DNS223.5.5.5https://223.5.5.5/dns-query国内最快,推荐国内用户
腾讯 DNS119.29.29.29https://doh.tencent.com/dns-query国内稳定
Google DNS8.8.8.8https://dns.google/dns-query全球最快,但国内可能不稳定
Cloudflare1.1.1.1https://cloudflare-dns.com/dns-query全球快速,但国内可能不稳定

修改 DNS 的步骤(Windows):控制面板 → 网络和共享中心 → 更改适配器设置 → 右键当前连接 → 属性 → 双击”Internet 协议版本 4” → 勾选”使用下面的 DNS 服务器地址”。

端口可以理解为一个程序在设备上的”通信窗口”。一台设备上可以同时运行很多程序,每个程序通过不同的端口来区分。

IP 地址 + 端口 = 唯一的通信目标:

就像一栋大楼(IP 地址)有很多房间(端口),数据包到达大楼后,根据端口号找到具体的房间。

端口号范围是 0-65535,共 65536 个端口:

范围类型说明
0-1023系统端口(知名端口)系统服务使用,启动需要管理员权限
1024-49151注册端口用户程序使用,如数据库、Web 服务器
49152-65535动态/私有端口临时端口,客户端程序使用(如浏览器发起连接时)
端口号协议用途说明
20TCPFTP 数据通道文件传输的数据连接
21TCPFTP 控制通道文件传输的控制连接
22TCPSSH远程登录 Linux 服务器
23TCPTelnet远程登录(不安全,不推荐)
25TCPSMTP发送邮件
53UDP/TCPDNS域名解析
67UDPDHCP 服务器分配 IP 地址
68UDPDHCP 客户端请求 IP 地址
80TCPHTTP普通网页访问
110TCPPOP3接收邮件
123UDPNTP网络时间同步
135TCPWindows RPC远程过程调用
139TCPNetBIOSWindows 文件共享(旧版)
143TCPIMAP接收邮件
161UDPSNMP网络管理
389TCPLDAP目录服务(如 Active Directory)
443TCPHTTPS加密网页访问
445TCPSMBWindows 文件共享
465TCPSMTPS加密发送邮件
587TCPSMTP SUBMISSION邮件提交(加密)
993TCPIMAPS加密接收邮件
995TCPPOP3S加密接收邮件
1080TCPSOCKS5SOCKS 代理
1433TCPMicrosoft SQL Server数据库
1521TCPOracle DB数据库
2049TCPNFS网络文件系统
27017TCPMongoDB数据库
3000TCP开发服务器Node.js / 前端开发
3306TCPMySQL / MariaDB数据库
3389TCPRDPWindows 远程桌面
5432TCPPostgreSQL数据库
5900TCPVNC远程桌面(类 Unix)
6379TCPRedis缓存数据库
8080TCPHTTP 代理常见 HTTP 代理端口
8443TCPHTTPS 代理常见 HTTPS 代理端口
9200TCPElasticsearch搜索引擎
10808TCP/UDP混合代理v2rayN / Clash 默认本地混合端口
更多常见端口
端口号用途
1883MQTT(物联网消息协议)
5683CoAP(物联网协议)
7890Clash HTTP 代理
7891Clash SOCKS5 代理
13659Shadowsocks 常见端口
2053Trojan 代理(伪装成 2053)
3128Squid 代理
4000-4999HTTP 临时端口
5000-5999临时端口
7000-7999HTTP 临时端口
8000-8999HTTP 备用端口
9000-9999临时端口

端口映射(Port Mapping / Port Forwarding) 是 NAT 的一个重要功能,允许外部网络访问内网中的特定服务。

为什么需要端口映射?

由于 NAT 的存在,内网设备默认无法被外部网络主动访问。如果你想从外网访问家里的 NAS、远程桌面、游戏服务器等,就需要在路由器上设置端口映射。

工作原理:

flowchart LR
    subgraph Ext["外部网络"]
        E1["互联网<br/>223.5.6.7:8080"]
    end
    
    subgraph Router["路由器"]
        R["端口映射表<br/>8080 → 192.168.1.100:80"]
    end
    
    subgraph LAN["家庭内网"]
        N1["NAS<br/>192.168.1.100:80"]
    end
    
    E1 --> R --> N1

当外部用户访问 http://223.5.6.7:8080 时:

  1. 数据包到达路由器,目标端口是 8080
  2. 路由器查端口映射表,发现 8080 映射到 192.168.1.100:80
  3. 路由器将数据包转发到内网的 NAS(192.168.1.100:80)
  4. NAS 返回响应,路由器原路返回给外部用户

设置步骤(以 TP-Link 路由器为例):

  1. 登录路由器管理页面(192.168.1.1)
  2. 找到”端口转发”或”虚拟服务器”设置
  3. 添加新规则:
    • 服务名称:如 NAS
    • 外部端口:8080(互联网访问的端口)
    • 内部 IP:192.168.1.100(内网设备 IP)
    • 内部端口:80(设备上的服务端口)
    • 协议:TCP
  4. 保存并重启路由器

常见端口映射场景:

场景外部端口内部端口说明
远程访问 NAS808080从外网访问 NAS 网页
远程桌面33893389从外网远程连接电脑
SSH 远程登录222222从外网 SSH 登录服务器
Web 服务器808080从外网访问自建网站
游戏服务器2701527015如 CS、Minecraft 等

安全注意事项:

风险防范
暴露端口被扫描只映射必要的端口,不常用的关闭
弱密码被破解使用强密码,定期更换
端口被攻击使用防火墙限制访问 IP 范围
端口冲突确保外部端口未被其他服务占用

网关是你家庭网络的”出口”,通常是路由器的 IP 地址(如 192.168.1.1)。你的设备要访问外网,必须经过网关。

通俗理解:网关就像你小区的大门——你要出小区(访问外网),必须经过这个大门。

子网掩码(如 255.255.255.0)用来区分哪些 IP 地址属于同一个局域网。

工作原理:

子网掩码与 IP 地址进行 AND 运算,得到网络地址。相同网络地址的设备在同一个局域网。

IP 地址: 192.168.1.100 → 11000000.10101000.00000001.01100100
子网掩码: 255.255.255.0 → 11111111.11111111.11111111.00000000
AND 运算: 192.168.1.0 → 11000000.10101000.00000001.00000000
网络地址: 192.168.1.0

这意味着 192.168.1.100 和 192.168.1.200 在同一个网络(192.168.1.0/24),可以互相通信。而 192.168.2.100 不在同一个网络,需要通过网关(路由器)转发。

CIDR 表示法:

子网掩码常用 CIDR(无类域间路由) 表示法简化:

子网掩码CIDR主机数量说明
255.0.0.0/81677 万A 类网络
255.255.0.0/1665534B 类网络
255.255.255.0/24254C 类网络,家庭常用
255.255.255.128/25126更小的子网
255.255.255.192/2662更小的子网

家庭网络通常使用 /24(255.255.255.0),即 192.168.1.0/24,包含 192.168.1.1 到 192.168.1.254 共 254 个可用地址。

HTTP(超文本传输协议)是网页通信的基础协议。你在浏览器中输入网址时,浏览器通过 HTTP 向服务器请求网页内容,服务器再把网页数据传回来。

HTTPS = HTTP + SSL/TLS 加密。HTTPS 在 HTTP 的基础上增加了加密层,保证数据在传输过程中不会被窃听或篡改。

如何判断网站是否安全:

特征含义
地址栏有 🔒 锁图标HTTPS 加密连接,安全
地址栏显示”不安全”HTTP 未加密,可能被窃听
地址栏显示证书信息说明网站拥有合法的 SSL 证书

为什么现在几乎所有网站都用 HTTPS?

  1. 加密传输:防止数据被窃听(如密码、信用卡号)。
  2. 防劫持:防止运营商或中间人篡改网页内容。
  3. 浏览器默认行为:Chrome、Edge 等浏览器默认将 HTTP 网站标记为”不安全”。
  4. SEO 友好:Google 优先展示 HTTPS 网站。

HTTP 协议版本演进:

版本年份传输层特点
HTTP/1.01996TCP每个请求建立新连接,慢
HTTP/1.11997TCP持久连接(Keep-Alive),但队头阻塞
HTTP/22015TCP多路复用、头部压缩、服务器推送
HTTP/32022QUIC/UDP基于 UDP,消除队头阻塞,更快

TCP(传输控制协议)和 UDP(用户数据报协议)是两种常见的传输层协议,决定了数据在网络中传输的方式。

特性TCPUDP
连接方式面向连接(先握手再通信)无连接(直接发)
可靠性可靠,保证数据完整到达不可靠,可能丢包
速度较慢(有确认和重传机制)快(直接发送)
头部开销20-60 字节8 字节
顺序保证保证数据按顺序到达不保证顺序
流控有(滑动窗口)无
拥塞控制有无
典型应用网页、邮件、文件传输游戏、视频流、语音通话、DNS

通俗理解:

  • TCP 像打电话:先建立连接,再传输数据,挂断后结束。保证每句话都说清楚。
  • UDP 像发短信:发出去就不管了,不保证对方收到。但速度更快。

MAC 地址(Media Access Control Address) 是网络设备的物理地址,烧录在网卡芯片中,全球唯一。

格式:48 位(6 字节),用冒号或连字符分隔的十六进制表示:

冒号格式:00:1A:2B:3C:4D:5E
连字符格式:00-1A-2B-3C-4D-5E

MAC 地址的作用:

MAC 地址用于局域网内的设备寻址。当数据包到达路由器后,路由器根据目标 MAC 地址将数据包转发给对应的设备。

IP 地址 vs MAC 地址:

特性IP 地址MAC 地址
类型逻辑地址物理地址
可变性可以更改固定不变(理论上)
作用范围全局(跨网络)本地(同一局域网)
层级网络层数据链路层
示例192.168.1.10000:1A:2B:3C:4D:5E

查看 MAC 地址:

系统命令
Windowsipconfig /all(查看”物理地址”)
macOSifconfig(查看 ether 字段)
Linuxip link(查看 link/ether)

理解网络寻址的关键是区分逻辑地址和物理地址:

地址类型说明示例作用范围
域名人类可读的名称www.baidu.com全球
IP 地址(IPv4)网络层逻辑地址192.168.1.100全局
IP 地址(IPv6)网络层逻辑地址2001:db8::1全局
MAC 地址数据链路层物理地址00:1A:2B:3C:4D:5E本地局域网
端口应用层标识80、443、22本地设备

数据包的路由过程:

flowchart LR
    A["浏览器输入<br/>www.baidu.com:443"] --> B["DNS 解析<br/>域名 → IP"]
    B --> C["目标:110.242.68.66:443"]
    C --> D{"目标 IP 在<br/>同一局域网吗?"}
    D -->|"是"| E["ARP 获取目标 MAC"]
    E --> F["直接发送数据包"]
    D -->|"否"| G["ARP 获取网关 MAC"]
    G --> H["发送给网关(路由器)"]
    H --> I["路由器逐跳转发"]
    I --> J["到达目标服务器"]

这是小白最容易混淆的地方:

  • Mbps(Megabits per second):运营商说的”100M宽带”,单位是位(bit)
  • MB/s(Megabytes per second):下载软件显示的下载速度,单位是字节(Byte)

1 Byte = 8 bits,所以:

运营商标称理论最高下载速度
100 Mbps100 ÷ 8 = 12.5 MB/s
200 Mbps200 ÷ 8 = 25 MB/s
500 Mbps500 ÷ 8 = 62.5 MB/s
1000 Mbps(千兆)1000 ÷ 8 = 125 MB/s

理论速度是”最大上限”,实际速度受很多因素影响:

  • WiFi 损耗:WiFi 实际速度通常是理论值的 60-80%
  • 服务器限速:对方服务器可能限制了下载速度
  • 网络拥塞:高峰时段网络拥堵
  • 路由转发:数据经过多个路由器会额外消耗时间

大多数路由器的管理页面通过 192.168.1.1 或 192.168.0.1 访问(具体地址印在路由器底部标签上)。

常见的路由器品牌管理地址:

品牌管理地址
TP-Link192.168.1.1 或 tplogin.cn
小米 / 红米miwifi.com
华硕192.168.1.1 或 router.asus.com
华为192.168.3.1
中兴192.168.1.1
路由器常见设置项
  • WiFi 名称和密码:修改无线网络的 SSID 和密码。建议密码至少 12 位,包含大小写字母和数字。
  • DHCP 设置:路由器自动给设备分配 IP 地址的服务。一般保持默认开启。
  • 端口转发:把外网访问某个端口的请求转发到内网某台设备。需要搭建局域网服务器时使用。
  • QoS(服务质量):按设备或应用分配带宽优先级。比如给游戏设备优先分配带宽。
  • 家长控制:限制某些设备的使用时间或访问特定网站。
  • 固件升级:路由器软件更新。建议在路由器管理页面检查是否有新版本。

2.4GHz 和 5GHz 的切换

  • 设备在同一房间 → 连 5GHz
  • 设备在另一房间或隔墙 → 连 2.4GHz
  • 设备是手机、电脑等常用设备 → 连 5GHz
  • 设备是智能音箱、摄像头等 IoT 设备 → 连 2.4GHz

WiFi 密码设置

  • 使用 WPA2 或 WPA3 加密(不要选 WEP 或开放网络)
  • 密码至少 12 位
  • 不要使用简单密码如 12345678

如果家里 WiFi 信号覆盖不全(比如卧室信号弱、阳台没信号),有几种解决方案:

方案成本优点缺点适合场景
WiFi 信号放大器(中继器)低(50-200 元)便宜、安装简单占用带宽,信号衰减一半小型扩展,一两个房间没信号
Mesh 路由器中(600-1500 元/套)无缝漫游,信号稳定需要买多个节点大户型、多房间覆盖
无线桥接低(用现有路由器)利用现有设备配置复杂,稳定性一般技术用户
布线高(需改装修)最稳定、速度最快成本高,需要装修装修时提前规划

WiFi 信号放大器的使用:

  1. 把放大器插在信号强弱交界处的插座上。
  2. 通过手机 App 或网页配置,连接到主路由器的 WiFi。
  3. 放大器会自动转发信号到信号弱的区域。

大户型或多层住宅通常需要一个路由器无法覆盖,这时候需要多个路由器组网。

Mesh 网络是什么?

Mesh 网络是由多个路由器(节点)组成的分布式网络。每个节点既可以作为路由器,也可以作为中继,自动选择最佳路径传输数据。

flowchart TB
    A["主节点<br/>连接光猫"] --> B["子节点 1<br/>客厅"]
    A --> C["子节点 2<br/>卧室"]
    A --> D["子节点 3<br/>书房"]
    B -.->|"无线回程"| A
    C -.->|"无线回程"| A
    D -.->|"无线回程"| A
    B --> E["设备 A"]
    C --> F["设备 B"]
    D --> G["设备 C"]

Mesh 网络的优点:

  • 无缝漫游:在房屋内移动时,设备自动切换到信号最强的节点,不掉线。
  • 统一管理:通过一个 App 管理所有节点。
  • 自动负载均衡:自动分配带宽,避免某个节点过载。
  • 可扩展:以后需要更多覆盖时,买同品牌的 Mesh 路由器添加即可。

常见 Mesh 网络品牌:

  • 小米 WiFi 6 路由器:支持 Mesh,价格亲民。
  • TP-Link 易展路由器:支持 Mesh,型号丰富。
  • 华硕 AiMesh 路由器:支持 Mesh,功能强大。
  • 华为全屋 WiFi:支持 Mesh,搭配华为生态。

6.1 完全断网(电脑显示”未连接到互联网”)

Section titled “6.1 完全断网(电脑显示”未连接到互联网”)”
flowchart TD
    A["电脑显示<br/>未连接到互联网"] --> B{"光猫指示灯正常吗?"}
    B -->|"不亮 / 红灯"| C["联系运营商<br/>可能是宽带故障"]
    B -->|"正常"| D{"路由器指示灯正常吗?"}
    D -->|"异常"| E["重启路由器<br/>拔掉电源等 30 秒再插上"]
    D -->|"正常"| F{"WiFi 能连上吗?"}
    F -->|"不能"| G["重启路由器 + 电脑<br/>检查网线连接"]
    F -->|"能"| H["执行 DNS 排查<br/>见 6.3"]

排查步骤:

  1. 检查物理连接:网线是否插紧,光猫和路由器电源是否正常。
  2. 重启设备:拔掉路由器电源,等 30 秒再插上(路由器缓存可能导致问题)。
  3. 检查光猫指示灯:
    • 电源灯亮 = 供电正常
    • 光信号灯亮 = 光纤信号正常
    • 网络灯闪 = 正常通信
  4. 如果光猫光信号灯亮红灯:光纤可能断裂,联系运营商。

现象:WiFi 图标显示已连接,但打开网页显示”无法访问此网站”或转圈。

常见原因:

  1. DNS 问题:DNS 服务器无法解析域名 → 更换 DNS 服务器(见 3.2)。
  2. 网关问题:路由器的网关配置错误 → 检查网关地址是否正确。
  3. 路由器 DHCP 故障:设备没有获取到有效的 IP → 在路由器设置中重启 DHCP。
  4. IP 冲突:两台设备分配了同一个 IP → 重启路由器让 DHCP 重新分配。

Windows 下快速诊断:

Terminal window
:: 检查网络连接状态
ping 192.168.1.1
:: 检查能否访问外网
ping 223.5.5.5
:: 检查 DNS 解析
nslookup www.baidu.com
:: 如果以上都正常但网页打不开,尝试刷新 DNS 缓存
ipconfig /flushdns

现象:网络能通,但下载速度远低于预期。

排查方向:

  1. 测速:使用 Speedtest 或运营商提供的测速工具测试实际速度。
  2. 对比有线和 WiFi:如果有线速度快但 WiFi 慢,说明是 WiFi 问题(距离、干扰)。
  3. 检查是否有其他设备占带宽:路由器管理页面可以看到哪些设备在线、占用多少带宽。
  4. 检查路由器的”限速”设置:某些路由器有 QoS 或带宽限制功能。

现象:电脑提示”IP 地址冲突”或网络不稳定、时通时断。

原因:两台设备被分配了相同的 IP 地址。

解决方案:

  1. 重启路由器,让 DHCP 重新分配 IP。
  2. 在设备设置中改为”自动获取 IP”(Windows:网络设置 → 适配器设置 → 属性 → IPv4 → 自动获取)。
  3. 如果问题反复出现,检查是否有设备设置了固定 IP 与 DHCP 范围冲突。

现象:大多数网站能打开,但某个特定网站打不开或加载很慢。

可能原因:

  1. DNS 污染:运营商或网络层面对某些域名进行了 DNS 劫持 → 更换 DNS 服务器。
  2. 网站本身的问题:服务器宕机、维护、或网站被墙 → 用手机流量测试(排除本地网络问题)。
  3. 代理 / VPN 配置错误:浏览器或系统设置了错误的代理 → 检查代理设置并清除。
  4. 浏览器缓存问题:清除浏览器缓存后重试。

公共 WiFi(如咖啡厅、机场、酒店)是开放网络,任何人都可以接入。风险包括:

  • 中间人攻击:攻击者在同一 WiFi 下可以窃听你的通信。
  • 恶意热点:攻击者可以搭建一个和你家 WiFi 同名的热点,诱导你连接。
  • DNS 劫持:连接公共 WiFi 后,访问的网页可能被替换成广告或钓鱼页面。
  • 路由器 WiFi 密码:至少 12 位,包含大小写字母 + 数字 + 特殊字符。
  • 路由器管理密码:不要使用默认密码(如 admin / admin),首次设置时修改。
  • 不同服务使用不同密码:不要用同一个密码登录所有网站。
  • Windows 防火墙:系统自带,默认开启,一般不需要额外设置。
  • VPN(Virtual Private Network):加密你的网络流量,在公共 WiFi 下尤其有用。
    • 免费 VPN 可能有带宽限制或数据安全风险
    • 商业 VPN(如 ExpressVPN、NordVPN)更稳定可靠
    • 如果在国内使用 VPN,需要注意相关法律法规

你的设备在家庭网络中会开放一些端口(如 135、445 等系统端口),理论上局域网内其他设备可以访问。如果设备有漏洞,局域网内的恶意设备可能利用这些端口进行攻击。

建议:

  • 保持系统和软件更新(更新会修复漏洞)。
  • 开启 Windows 防火墙(默认开启)。
  • 不确定的端口不开启(除非你需要)。

了解常见的网络攻击类型,可以帮助你更好地识别和防范风险。

攻击类型现象防范方法
钓鱼攻击收到伪装成银行、电商的邮件或短信,要求点击链接输入密码不点击不明链接,直接访问官方网站
ARP 欺骗局域网内突然断网或网速异常更新路由器固件,关闭不必要的共享
DDoS 攻击网站或服务器突然无法访问企业级网站使用 CDN 和 DDoS 防护服务
木马病毒电脑变慢、弹出广告、文件被加密安装杀毒软件,不下载不明来源的软件
WiFi 蹭网WiFi 密码泄露,有人偷连你的网络使用强密码,定期修改,开启 MAC 地址过滤
中间人攻击连接公共 WiFi 后,通信被窃听使用 HTTPS 网站,通过 VPN 加密
网络命令速查
命令用途示例
ipconfig查看本机 IP 和网络信息ipconfig
ping测试网络连通性ping 223.5.5.5
tracert查看数据包的路由路径tracert www.baidu.com
nslookup查询域名的 IP 地址nslookup www.baidu.com
netstat查看网络连接和端口占用netstat -an
arp -a查看局域网内设备的 MAC 地址arp -a
ipconfig /flushdns刷新 DNS 缓存ipconfig /flushdns
ipconfig /release释放当前 IPipconfig /release
ipconfig /renew重新获取 IPipconfig /renew

代理(Proxy)是一个中间服务器,你的设备不直接访问目标网站,而是先连接代理服务器,由代理服务器代为访问目标网站并返回结果。

flowchart LR
    A["你的设备"] -->|"请求"| B["代理服务器"]
    B -->|"代为请求"| C["目标网站"]
    C -->|"响应"| B
    B -->|"返回结果"| A

为什么要用代理?

用途说明
访问受限内容绕过网络限制,访问某些网站或服务
隐私保护隐藏真实 IP 地址,让目标网站只看到代理 IP
绕过 IP 封锁当你的 IP 被某网站封锁时,通过代理 IP 访问
负载均衡企业环境中,通过代理服务器分发流量到多个服务器
内容过滤企业网络中,通过代理服务器过滤特定内容

代理协议可以从多个维度进行分类:

类型协议特点
加密协议VLESS、Vmess、Trojan、Shadowsocks、WireGuard、Hysteria 2流量加密,难以被检测或封锁
非加密协议HTTP、SOCKS4、SOCKS5流量明文传输,容易被检测和封锁
传输层协议特点
TCPSOCKS5、Shadowsocks、Vmess、Trojan、VLESS可靠传输,适合网页浏览、文件下载
UDPWireGuard、Hysteria 2、Tuic低延迟,适合游戏、视频通话
混合v2rayN / sing-box 本地混合监听同时支持 TCP 和 UDP,自动选择最优传输
类型协议支持范围
HTTP 代理HTTP、HTTPS仅支持 HTTP/HTTPS 请求(网页访问)
SOCKS 代理SOCKS4、SOCKS5支持任意 TCP/UDP 流量(网页、游戏、下载、SSH)

原理:客户端发送 HTTP 请求到代理服务器,代理服务器代为请求目标网站并返回结果。

加密性:HTTP 代理本身不加密流量。但如果目标网站是 HTTPS,客户端到代理之间的流量会加密(隧道模式)。

特点:

  • 简单,大多数应用都支持
  • 只能代理 HTTP/HTTPS 请求
  • 流量特征明显,容易被检测
配置示例
--proxy-server="http://127.0.0.1:8080"

原理:客户端通过 SOCKS 协议连接代理服务器,代理服务器代为转发任意 TCP/UDP 流量。

加密性:SOCKS4 和 SOCKS5 本身不加密流量,但支持 TLS 加密传输。

特点:

  • 通用性强,支持任意 TCP/UDP 流量
  • SOCKS5 支持用户名密码认证
  • 流量特征明显,但比 HTTP 代理更隐蔽
配置示例
--proxy-server="socks5://127.0.0.1:1080"

原理:Shadowsocks 是一个加密代理协议,使用 TLS 加密流量,通过 UDP 或 TCP 传输。

加密性:加密协议,流量经过加密后难以被检测。

特点:

  • 加密传输,流量隐蔽
  • 支持多种加密方式(AES-256-GCM、ChaCha20-IETF-Poly1305 等)
  • 配置简单,性能良好
  • 已被多个国家封锁,需要配合科学上网工具使用

加密方式对比:

加密方式速度安全性推荐场景
AES-256-GCM快高通用场景
ChaCha20-IETF-Poly1305最快高移动设备、低配置服务器
RC4快低(已被破解)不推荐
none最快无仅测试,不用于生产

原理:Vmess 是 V2Ray 项目开发的代理协议,支持多种传输方式(TCP、WebSocket、gRPC)和多种加密方式。

加密性:加密协议,支持多种加密方案。

特点:

  • 高度可定制,支持多种传输层和应用层
  • 抗封锁能力强,流量特征不明显
  • 配置较复杂,需要专业工具
  • 是目前最常用的科学上网协议之一

传输层支持:

  • TCP(带 TLS 加密)
  • WebSocket(伪装成 WebSocket 流量)
  • gRPC(伪装成 gRPC 流量)

认证方式:UUID + 可选的用户名密码

原理:Trojan 协议基于 TLS 加密,流量伪装成正常的 HTTPS 流量,极难被检测。

加密性:加密协议,流量特征与正常 HTTPS 流量几乎一致。

特点:

  • 抗封锁能力最强,流量伪装度最高
  • 配置简单,只需指定服务器、端口、密码
  • 对证书有要求,需要有效的 TLS 证书
  • 性能良好,延迟低

认证方式:密码(路径 + 密码)

原理:WireGuard 是一个现代化的 VPN 协议,使用 UDP 传输,基于现代加密算法。

加密性:加密协议,基于 Curve25519 等现代加密算法。

特点:

  • 速度快,延迟低
  • 基于 UDP 传输,适合游戏和视频
  • 配置简单,安全性高
  • 需要公网服务器和特定端口
  • 在某些国家被封锁
配置示例
# WireGuard 配置文件
[Interface]
PrivateKey = 你的私钥
Address = 10.0.0.2/24
[Peer]
PublicKey = 服务器的公钥
Endpoint = 服务器地址:端口
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

VLESS 是 Xray(V2Ray 分支)项目开发的新一代代理协议,其核心创新在于代理协议与传输协议的分离。

与传统协议的区别:

特性Vmess / TrojanVLESS
代理协议与传输协议耦合在一起完全分离
认证方式UUID + 可选密码仅 UUID
加密方式协议内置加密传输层负责加密
灵活性低高

VLESS 的分层架构:

flowchart TB
    subgraph App["应用层(代理协议)"]
        A1["VLESS<br/>认证 / 流量管理"]
    end
    
    subgraph Transport["传输层(传输协议)"]
        T1["WebSocket (WS)"]
        T2["XHTTP (HTTP/2 / HTTP/3)"]
        T3["gRPC"]
        T4["TCP + TLS"]
        T5["Reality (反向TLS)"]
        T6["XTLS (加密传输)"]
    end
    
    subgraph Network["网络层"]
        N1["TCP"]
        N2["UDP"]
    end
    
    A1 --> T1
    A1 --> T2
    A1 --> T3
    A1 --> T4
    A1 --> T5
    A1 --> T6
    T1 --> N1
    T2 --> N1
    T3 --> N1
    T4 --> N1
    T5 --> N1
    T6 --> N1
    T1 --> N2
    T2 --> N2
    T3 --> N2

VLESS 传输协议详解:

传输协议伪装方式抗封锁能力性能说明
WebSocket (WS)伪装成 WebSocket 流量中中最常用,兼容性好
XHTTP伪装成 HTTP/2 或 HTTP/3 流量强高新一代 HTTP 协议,性能优秀
gRPC伪装成 gRPC 流量中中高兼容性,但流量特征明显
TCP + TLS标准 TCP 加密连接中高最基础,性能最好
Reality反向 TLS 验证,伪装成访问真实网站极强中当前最抗封锁的方案
XTLSTLS 加密 + 流量混淆强高加密传输,流量特征更隐蔽

VLESS + Reality(当前最推荐方案):

Reality 是 VLESS 的一种传输协议,其原理是:

  1. 客户端连接代理服务器时,会伪装成访问一个真实存在的网站(如 www.microsoft.com)。
  2. 代理服务器通过反向 TLS 验证来确认客户端身份。
  3. 如果客户端通过验证,流量会被代理转发;否则被丢弃。
flowchart LR
    A["客户端"] -->|"伪装成访问<br/>www.microsoft.com"| B["代理服务器"]
    B -->|"反向TLS验证"| A
    A -->|"验证通过"| B
    B -->|"转发流量"| C["目标网站"]
    C -->|"响应"| B
    B -->|"返回结果"| A
VLESS 配置示例(Xray 配置文件片段)
{
"outbounds": [{
"protocol": "vless",
"settings": {
"vnext": [{
"address": "服务器地址",
"port": 443,
"users": [{
"id": "UUID",
"encryption": "none",
"flow": "xtls-rprx-vision"
}]
}]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "www.microsoft.com",
"fingerprint": "chrome",
"publicKey": "公钥",
"shortIds": ["短ID"]
}
}
}]
}

Hysteria 2 是一个基于 QUIC 协议的新一代代理协议,使用 UDP 传输。

原理:

  • 基于 QUIC(快速 UDP 互联网连接)协议
  • QUIC 是 HTTP/3 的传输层,原生支持加密和拥塞控制
  • 使用 UDP 传输,抗丢包能力强

加密性:加密协议,基于 XChaCha20-Poly1305 加密。

特点:

  • 速度快:基于 QUIC,天然优化了拥塞控制和重传
  • 抗丢包:UDP 传输,适合高丢包环境
  • 低延迟:适合游戏、视频通话
  • 配置简单:只需指定服务器、端口、认证密钥
  • 性能优秀:相比 TCP 协议,延迟更低
配置示例
# Hysteria 2 服务器配置
listen: :443
ports:
- name: 1080
protocol: socks
bind: 0.0.0.0
auth:
type: password
secret: "你的认证密钥"
tls:
cert: /path/to/cert.pem
key: /path/to/key.pem

Hysteria 1 vs Hysteria 2:

特性Hysteria 1Hysteria 2
QUIC 版本旧版 QUIC新版 QUIC(QUIC v1)
加密算法ChaCha20-Poly1305XChaCha20-Poly1305
性能良好更好
推荐不推荐推荐

除了上述主流协议,还有一些值得关注的新协议:

协议内核传输层特点状态
TuicTuicQUIC/UDP基于 QUIC,适合低延迟场景开发中
NaiveProxyChromeWebSocket复用 Chrome 网络栈,难以检测实验性
Hysteria 1HysteriaQUIC/UDPHY2 的前身不推荐
KCPTrojan-GoUDPUDP 加速协议,降低延迟已淘汰
Trojan-GoTrojan-GoTCP/UDPTrojan + Shadowsocks + KCP 混合维护中

NaiveProxy:

NaiveProxy 是一个基于 Chrome 网络栈的代理协议,其原理是:

  1. 客户端使用 Chrome 的 WebSocket 实现来发送流量。
  2. 服务器伪装成普通的 WebSocket 服务器。
  3. 由于使用了 Chrome 的流量特征,极难被 DPI 检测。
flowchart LR
    A["客户端<br/>Chrome网络栈"] -->|"WebSocket流量"| B["代理服务器<br/>伪装成WS服务器"]
    B -->|"转发"| C["目标网站"]

Tuic:

Tuic 是一个基于 QUIC 的代理协议,特点:

  • 基于 QUIC,低延迟
  • 支持 UDP 传输
  • 适合游戏和视频
  • 目前仍在开发中,稳定性待验证
协议加密传输层代理协议/传输分离抗封锁配置难度推荐度
HTTP否TCP否弱简单★★
SOCKS5可选TCP/UDP否中简单★★★
Shadowsocks是TCP/UDP否中中等★★★
Vmess是TCP/UDP否强复杂★★★★
Trojan是TCP否极强中等★★★★
VLESS是TCP/UDP是极强复杂★★★★★
VLESS+Reality是TCP是极强复杂★★★★★
WireGuard是UDP否中中等★★★
Hysteria 2是UDP否中中等★★★★
NaiveProxy是TCP否强复杂★★★

代理客户端(如 v2rayN、Clash)只是用户界面,真正的协议实现、流量处理、加解密逻辑都在代理内核中完成。理解内核比理解客户端更重要。

代理内核是一个独立的程序,负责:

  • 实现代理协议的加解密逻辑
  • 处理网络流量转发
  • 管理连接和路由规则
  • 提供本地监听端口(SOCKS5、HTTP)

客户端通过连接内核的本地端口来使用代理功能。

flowchart LR
    A["浏览器 / 应用"] -->|"SOCKS5/HTTP"| B["代理客户端<br/>(用户界面)"]
    B -->|"本地端口"| C["代理内核<br/>(协议实现)"]
    C -->|"代理协议"| D["远程代理服务器"]
    D -->|"目标流量"| E["目标网站"]

简介:Xray 是 V2Ray 项目的分支,由 Xtls 社区维护。是目前功能最强大的代理内核之一。

支持的协议:

  • 代理协议:VLESS、Vmess、Trojan、Shadowsocks、HTTP、SOCKS
  • 传输协议:TCP、WebSocket、gRPC、KCP、QUIC、Reality、XTLS、XHTTP

特点:

  • 支持最多的协议类型
  • 支持 Reality、XTLS 等高级特性
  • 支持规则路由、DNS 策略路由
  • 支持 API 控制
  • 性能优秀

平台支持:

  • Windows、macOS、Linux、Android、iOS、树莓派

配置方式:JSON 配置文件

Xray 配置示例
{
"inbounds": [{
"port": 10808,
"listen": "0.0.0.0",
"protocol": "dokodemo-door",
"settings": {
"network": "tcp,udp",
"address": "127.0.0.1"
},
"tag": "socks-in"
}],
"outbounds": [{
"protocol": "vless",
"settings": {
"vnext": [{
"address": "服务器地址",
"port": 443,
"users": [{
"id": "UUID",
"flow": "xtls-rprx-vision"
}]
}]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "www.microsoft.com",
"publicKey": "公钥",
"shortIds": ["短ID"]
}
}
}]
}

简介:sing-box 是新一代代理内核,由 SagerNet 社区开发。以高性能、低内存占用著称。

支持的协议:

  • 代理协议:VLESS、Vmess、Trojan、Shadowsocks、WireGuard、Hysteria、Tuic、NaiveProxy、HTTP、SOCKS
  • 传输协议:TCP、WebSocket、gRPC、Reality、XHTTP、QUIC

特点:

  • 高性能:基于 Rust 编写,性能优于 Xray
  • 低内存:内存占用低,适合低配置设备
  • 模块化:插件式架构,易于扩展
  • 规则路由:支持复杂的规则路由
  • DNS 策略路由:支持 DNS 分流
  • 支持 Hysteria、Tuic、NaiveProxy 等新协议

平台支持:

  • Windows、macOS、Linux、Android、iOS、树莓派、嵌入式设备

配置方式:JSON / YAML 配置文件

sing-box 配置示例
{
"inbounds": [{
"type": "socks",
"listen": "0.0.0.0",
"listen_port": 10808
}],
"outbounds": [{
"type": "vless",
"tag": "proxy",
"server": "服务器地址",
"server_port": 443,
"uuid": "UUID",
"tls": {
"enabled": true,
"server_name": "www.microsoft.com",
"utls": {
"enabled": true,
"fingerprint": "chrome"
}
},
"flow": "xtls-rprx-vision"
}]
}

Xray vs sing-box:

特性Xraysing-box
开发语言GoRust
性能优秀更优
内存占用中等低
协议支持丰富丰富(更多新协议)
配置格式JSONJSON / YAML
社区维护Xtls 社区SagerNet 社区
推荐场景通用高性能、低配置设备

简介:shadowsocks-go 是 Shadowsocks 协议的 Go 语言实现,是原始 Shadowsocks 项目的现代替代品。

支持的协议:

  • Shadowsocks(所有加密方式)
  • Shadowsocks-AEAD

特点:

  • 轻量级,性能良好
  • 仅支持 Shadowsocks 协议
  • 配置简单
  • 跨平台

平台支持:

  • Windows、macOS、Linux、Android、树莓派

适用场景:

  • 只需要 Shadowsocks 协议
  • 需要轻量级、高性能的代理服务器
  • 不想使用复杂配置的 Xray 或 sing-box

简介:Clash 是一个基于 Go 的代理内核,以其强大的规则路由功能著称。Clash Meta(原 Mihomo)是增强版,支持更多协议。

支持的协议:

  • Clash 原版:Vmess、Trojan、Shadowsocks、HTTP、SOCKS
  • Clash Meta:VLESS、Trojan、Shadowsocks、Vmess、HTTP、SOCKS、WireGuard、TUN

特点:

  • 规则路由:根据 IP、域名、进程名等条件决定走代理还是直连
  • 配置文件:使用 YAML 格式,易于编辑
  • API 控制:支持 API 管理连接
  • Clash Meta:支持 VLESS、WireGuard 等新协议
  • 分应用代理:可以为不同应用设置不同代理

平台支持:

  • Windows、macOS、Linux、Android、iOS

配置方式:YAML 配置文件

Clash 配置示例
proxies:
- name: "proxy-name"
type: vless
server: 服务器地址
port: 443
uuid: UUID
tls: true
udp: true
proxy-groups:
- name: "PROXY"
type: select
proxies:
- proxy-name
- DIRECT
rules:
- DOMAIN-SUFFIX,google.com,PROXY
- GEOIP,CN,DIRECT
- MATCH,PROXY

简介:Hysteria 是基于 QUIC 协议的代理协议,Hysteria 2 是改进版。

支持的协议:

  • Hysteria 1(不推荐)
  • Hysteria 2(推荐)

特点:

  • 基于 QUIC,UDP 传输
  • 速度快,抗丢包
  • 适合游戏和视频通话
  • 需要有效 TLS 证书

平台支持:

  • Windows、macOS、Linux、Android、树莓派

适用场景:

  • 游戏加速
  • 视频通话
  • 高丢包网络环境

简介:Trojan-Go 是一个支持多种协议的代理内核,基于 Go 语言开发。

支持的协议:

  • Trojan
  • Shadowsocks
  • KCP(UDP 加速)
  • WebSocket

特点:

  • 支持 Trojan + Shadowsocks 混合
  • 支持 KCP 加速 UDP 流量
  • 配置简单
  • 适合混合部署

平台支持:

  • Windows、macOS、Linux、Android、树莓派
内核开发语言协议支持性能内存规则路由推荐度
XrayGo最丰富优秀中等是★★★★★
sing-boxRust丰富最优秀低是★★★★★
shadowsocks-goGo仅SS良好低否★★★
Clash MetaGo丰富良好中等是★★★★
HysteriaGo仅HY2优秀低否★★★
Trojan-GoGoTrojan+SS+KCP良好中等否★★★

内核选择建议:

需求推荐内核
通用场景,协议支持最全Xray
高性能,低配置设备sing-box
只需要 Shadowsocksshadowsocks-go
规则路由,分应用代理Clash Meta
游戏/视频加速Hysteria
混合部署(Trojan + SS)Trojan-Go

代理客户端是用户界面,负责管理内核配置、切换节点、设置系统代理。

内核:Xray

特点:

  • 支持多种代理协议(Vmess、VLESS、Trojan、Shadowsocks、HTTP、SOCKS)
  • 支持本地混合监听(同时支持 TCP/UDP)
  • 支持系统代理、浏览器代理、PAC 规则
  • 支持分应用代理(为不同应用设置不同代理)
  • 支持订阅管理(批量导入节点)

本地混合监听端口:

  • 默认端口:10808(TCP/UDP 混合)
  • 可在设置中修改
客户端平台内核特点
Clash for WindowsWindowsClash经典客户端,规则路由
Clash VergeWindows/macOS/LinuxClash Meta现代界面,支持 VLESS
ClashXmacOSClash菜单栏应用,简洁易用
ClashX PromacOSClash Meta增强版,支持更多协议
Clash Meta(原 Mihomo)全平台Clash Meta核心内核,可配合各种客户端使用
客户端平台特点
SFIWindows/macOS/Linuxsing-box 的官方前端
NekoboxWindows/macOS支持 Xray + sing-box 双内核
StashiOS/macOS基于 sing-box,界面精美
客户端平台内核特点
SurgeiOS/macOS自研功能强大,付费
ShadowrocketiOS多内核iOS 上最流行的代理客户端
v2rayNWindowsXray功能全面的免费客户端
NetchWindows多内核分应用代理

Chromium 系浏览器(Chrome、Edge、Brave、Vivaldi)支持通过启动参数 --proxy-server 设置代理。详细的启动参数语法、配置示例与 v2rayN / Clash 配合使用的完整步骤,请参阅《浏览器使用》— 2.3.2 浏览器指定代理。

Windows 和 macOS 都支持系统级代理设置,所有应用都会使用这个代理。

Windows 设置路径: 设置 → 网络和 Internet → 代理 → 手动设置代理

macOS 设置路径: 系统设置 → 网络 → 选择当前网络 → 代理 → 勾选”勾选代理服务器”

一些浏览器扩展(如 SwitchyOmega、Proxy SwitchyOmega)可以方便地切换代理配置,不需要每次修改启动参数。

常用扩展:

  • SwitchyOmega:支持多种代理配置切换,支持 PAC 自动配置
  • Proxy SwitchyOmega:类似 SwitchyOmega,支持 PAC 脚本
PAC(Proxy Auto-Config)脚本示例

PAC 是一个脚本文件,可以根据访问的目标网址自动决定是否使用代理。比如:

// PAC 脚本示例
function FindProxyForURL(url, host) {
if (isInNet(host, "223.5.5.5", "255.255.255.255")) {
return "PROXY 127.0.0.1:10808";
}
return "DIRECT";
}

这意味着:只有访问 223.5.5.5 时走代理,其他地址直连。

特性加密代理非加密代理
流量可见性中间人无法看到通信内容中间人可以看到所有内容
流量特征难以识别代理流量容易被检测和封锁
性能略低(加密/解密开销)略高
适用场景翻墙、隐私保护局域网代理、负载均衡

网络管理员可以通过以下方式检测代理流量:

检测方法说明防范
深度包检测(DPI)分析数据包内容识别代理流量使用加密协议
流量特征分析识别代理协议的流量模式使用伪装度高的协议(VLESS+Reality)
端口封锁封锁常见代理端口使用非标准端口
SNI 检测识别 TLS 握手中的域名信息使用 Reality、SNI 混淆
流量统计分析流量模式识别代理行为使用流量填充、多节点轮换

即使使用代理,以下信息仍可能泄露:

泄露方式说明防范
DNS 泄露DNS 请求绕过代理直连确保 DNS 请求也走代理,使用 DNS over HTTPS/TLS
WebRTC 泄露浏览器通过 WebRTC 暴露真实 IP禁用 WebRTC 或使用浏览器扩展
应用层泄露某些应用绕过代理直连使用系统代理或 TUN 模式
IPv6 泄露设备通过 IPv6 直连禁用 IPv6 或使用 IPv6 代理
流量指纹通过流量模式识别用户行为使用流量填充、随机化请求间隔
常见代理端口参考
端口协议说明
80HTTP标准 HTTP 端口
443HTTPS标准 HTTPS 端口
1080SOCKS5默认 SOCKS5 端口
10808混合监听v2rayN / Clash 默认本地混合端口
10809混合监听备用本地混合端口
8080HTTP 代理常见 HTTP 代理端口
3128SquidSquid 代理默认端口
7890HTTP 代理Clash 默认 HTTP 端口
7891SOCKS5Clash 默认 SOCKS5 端口
13659Shadowsocks常见 Shadowsocks 端口
8443HTTPS常见 HTTPS 代理端口
2053Trojan常见 Trojan 端口(伪装成 2053)
443VLESS+Reality常见 VLESS+Reality 端口(伪装成 HTTPS)
443Hysteria 2常见 Hysteria 2 端口(伪装成 HTTPS)