常见的协议/代理协议
更新时间: 10/19/2024
基础模型
OSI
OSI 模型,全称为开放系统互连参考模型(Open System Interconnect),是由国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定
网络互连的七层框架
物理层(Physical Layer)
数据链路层(Data Link Layer)
网络层(Network Layer)
传输层(Transport Layer)
会话层(Session Layor)
表示层(Presentation Layer)
应用层(Application Layer)
TCP/IP
TCP/IP模型是一种网络通信协议模型,由传输控制协议(TCP)和互联网协议(IP)组成
5层TCP/IP模型
物理层(Physical Layer)
数据链路层(Data Link Layer)
网络层(Network Layer)
传输层(Transport Layer)
应用层(Application Layer)
即:将OSI模型的 应用层、表示层、会话层
合并成了一个 应用层
层级与设备及常见的协议,如图
通信协议
TCP
传输控制协议(Transmission Control Protocol),是 TCP/IP模型 中的传输层协议之一
关于TCP
特点:它是一种面向连接的协议,需要进行三次握手来建立连接
优劣:虽然这种机制确保了数据的稳定传输,但它会产生较大的延迟
场景:常用于文件传输、网页浏览、电子邮件等
UDP
用户数据报协议(User Datagram Protocol),是 TCP/IP模型 中的传输层协议之一
关于UDP
特点:它为应用程序提供了一种无需建立连接,就可以发送封装的 IP 数据包的方法
优劣:虽然效率高,但是稳定性并不强
场景:常用于音频、视频、实时游戏等
HTTP
超文本传输协议(HyperText Transfer Protocol),缩写:HTTP
关于HTTP
特点:基于 TCP协议 ,用于从Web服务器传输超文本到本地浏览器的传送协议,是一种是无状态协议,使用cookie和session开管理。最新的版本为 HTTP/3 ,采用基于 UDP协议的QUIC
优劣:使用明文不加密;无法验证数据完整性;不验证身份
场景:HTML 文件、图片文件、查询结果等
HTTPS
超文本传输安全协议(Hypertext Transfer Protocol Secure),缩写:HTTPS
关于HTPS
QUIC
谷歌公司开发的一种全新的传输协议,全称:quick
关于QUIC
特点:基于 UDP协议,可实现可靠传输、快速握手、拥塞控制、加密等功能
优劣:连接建立速度快、可以多路复用、头部压缩;但现有的网络设施兼容支持差
场景:被广泛运用到 HTTP/3 中
WS
WebSocket是一种在单个TCP连接上进行全双工通信的协议,简称:WS
关于WS
特点:基于 TCP协议 ,使用HTTP协议进行握手,使用TCP协议进行传输
优劣:更高的实时性;但的兼容性差、占用较多服务器资源、数据完整性和安全性有待提升
SSH
安全外壳协议(Secure Shell Protocol),简称:SSH
KCP
KCP以浪费 10%-20% 的带宽的代价,换取平均延迟降低 30%-40% 的传输效果
仓库:https://github.com/skywind3000/kcp
对比TCP
TCP保证数据准确交付,UDP保证数据快速到达
KCP则是两种协议的一个折中,在力求在保证可靠性的情况下提高传输速度
mKCP
mKCP是一个基于 UDP 的流式传输协议,由 KCP 协议修改而来,可以按顺序传输任意的数据流
对比TCP
mKCP 同样也是牺牲带宽来降低延迟,传输同样的内容,mKCP 一般比 TCP 消耗更多的流量
KCPTUN
Kcptun 基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流
仓库:https://github.com/xtaci/kcptun
安全协议
TLS
传输层安全性协议(Transport Layer Security),缩写:TLS
关于SSL
TLS的前身就是安全套接层(SSL,Secure Sockets Layer)
特点:基于 TCP/IP协议 上实现的一种安全协议,采用公开密钥技术
优劣:密码算法过时,容易被破解,现已用TLS代替
SSL不使用了,浏览器却还是SSL证书
浏览器中使用的数字证书(Digital Certificate),早期是SSL
但后来由于安全问题已经废弃,如今使用的都是TLS,也称:SSL/TLS 证书
关于TLS
特点:基于 TCP/IP协议 上实现的一种安全协议
优劣:加密、数据完整性、身份认证;加解密会消耗CPU资源
XTLS
由 Project X Community 开发并维护,基于 TLS 1.3 开发的网络代理工具
关于XTLS
特点:使用 TLS 1.3 协议 握手,TCP协议 进行传输
优劣:通过混淆、伪装和流量控制等技术,增加了网络流量的隐蔽性和安全性;但可能会减慢通信速度
代理协议
HTTP(S)
HTTP 代理协议是一种基于 HTTP协议 的特定协议,用于实现代理服务器
关于HTTP代理协议
特点:它允许客户端通过一个中间服务器来访问其他服务器上的资源
优劣:提高网速、隐藏真实IP;但增加了带宽消耗,数据可能被篡改或泄露
区别:HTTP协议,用于传输数据;HTTP代理协议,用于代理
socks5
防火墙安全会话转换协议(Protocol for sessions traversal across firewall securel),简称socks,最新的版本为:socks5
关于SOCKS5
特点:基于 TCP/IP协议,用于客户端与外网服务器之间通讯的中间传递
优劣:速度比 HTTP 快,但数据是明文没有加密,需配合 SSL/TLS 进行加密
Shadowsocks
一种基于 Socks5代理 方式的加密传输协议,中文名影梭,简称:SS
仓库:https://github.com/shadowsocks/shadowsocks-rust
历史进程
2012年4月,V2EX论坛用户 @clowwindy 发布第一个翻墙协议 Shadowsocks
2015年8月22日,作者 @clowwindy 称受到了中国警方的压力,宣布停止维护此计划(项目)并移除其GitHub个人页面所存储的源代码
目前由老外维护
ShadowsocksR
在 Shadowsocks 的 Socks5 基础上添加了混淆协议,简称:SSR
历史进程
2016年,@breakwa11 发起的Shadowsocks分支并对其进行了一些优化
2017年7月27日,破娃 @breakwa11 遭到人肉,删除了GitHub上的所有代码、解散交流群组
VMess(V2Ray)
在 Shadowsocks 被封杀后,V2Ray成立,VMess协议是其专属的加密通讯协议
仓库:https://github.com/v2ray/v2ray-core
历史进程
2019年,Victoria Raymond以及其社区团队开发的反审查工具
2019年2月,V2Ray项目创始人Victoria Raymond突然消失,其Twitter、Telegram以及知乎停止更新
2019年,新的社区V2Fly成立,后续关于 V2Ray 的更新都由 V2Fly 社区负责
V2Ray 现在已经是 Project V 项目的核心工具,而 Project V 是一个平台
关于VMess
全称 Virtual Machine Encryption Security Service,简称VMess,它是一种基于TLS的网络传输协议,用于建立安全的TCP和UDP连接
支持协议:
Blackhole(出站协议)
Dokodemo-door(入站协议)
Freedom(出站协议)
HTTP(HTTP代理协议)
MTProto(telegram专用协议)
Shadowsocks(梯子协议,不支持SSR)
Socks(传统代理协议)
VMess(v2ray专用加密传输协议)
Vless(xray协议)
Trojan
利用 TLS 加密方式的协议,全称为Trojan-GFW,2019年沿用至今,是目前最成功的科学上网伪装技术之一
官网:https://trojan-gfw.github.io/trojan/
仓库:https://github.com/trojan-gfw/trojan
简介
Trojan-Go
Trojan-Go 兼容原版 Trojan 的绝大多数功能,2020年沿用至今
官网:https://p4gefau1t.github.io/trojan-go/
仓库:https://github.com/p4gefau1t/trojan-go
新特性
Websocket 传输支持,以实现 CDN 流量中转(基于 WebSocket over TLS)和对抗 GFW 中间人攻击
支持对用户更友好的 YAML 配置文件格式
自定义路由模块,可实现国内外分流 / 广告屏蔽等功能
ShadowTLS
一个可以使用别人的受信证书的 TLS 伪装代理
官网:https://www.ihcblog.com/a-better-tls-obfs-proxy/
仓库:https://github.com/ihciah/shadow-tls
对比Trojan
它和 trojan 的表现类似,但它在做真实 TLS 握手的同时,可以直接使用别人的受信证书(如某些大公司或机构的域名),而不需要自己签发证书
当直接使用浏览器打开时,可以正常显示对应可信域名的网页内容
VLESS(Xray)
Xray是 V2ray 的升级版,包含V2ray所有协议,以及新的VLESS协议
仓库:https://github.com/XTLS/Xray-core
XrayR:基于Xray的后端框架
历史进程
关于VLESS
简介:VLESS 是一个无状态的轻量传输协议,最突出的就是它可以配合 XTLS 进行数据加密,效果更好、性能更强
优势:在使用 TLS 的情况下,VLess 协议比 VMess 速度更快,性能更好,因为 VLess 不会对数据进行加解密
Hysteria2
Hysteria 2 基于经过修改的 QUIC协议 ,简称hy2
官网:https://v2.hysteria.network/zh/
仓库:https://github.com/apernet/hysteria
关于hy2
- 特点:伪装成标准的 HTTP/3 流量,有很强的的防封锁能力;但是无法套CDN
mieru
mieru【見える】是一款安全的、无流量特征、难以主动探测的,基于 TCP 或 UDP 协议的 socks5 / HTTP / HTTPS 网络代理软件
仓库:https://github.com/enfein/mieru
关于mieru
原理:mieru 的翻墙原理与 shadowsocks / v2ray 等软件类似,在客户端和墙外的代理服务器之间建立一个加密的通道。GFW 不能破解加密传输的信息,无法判定你最终访问的网址,因此只能选择放行
特性:实现客户端和代理服务器之间所有传输内容的完整加密
naive
消除了客户端的tls指纹和tls-in-tls特征
仓库:https://github.com/klzgrad/naiveproxy/
历史进程
NaiveProxy,挪威语叫NaïveProxy,翻译成中文:天真的代理
2019年底由klzgrad大神开发的一种突破GFW网络审查的新型科学上网代理技术,它使用Chrome的网络堆栈来伪装流量,具有较强的抗审查能力和较低的可检测性,重用Chrome网络堆栈是确保性能和安全性的最佳实践
对比Trojan
Trojan最大的优点就是伪装成互联网最常见的HTTPS流量,而NaiveProxy最大的优势不仅伪装成 HTTP/2 的流量
而且使用互联网最常用的浏览器Chrome网络堆栈的指纹,更加难以被识别,而且这些也是Go语言模仿不了的
tuic
个人开发者 @EAimTY 基于 QUIC协议 开发的新代理工具
仓库:https://github.com/EAimTY/tuic
关于tuic
已删库,删库说明
Brook
Brook 是一个高效的 Socks5 代理软件,官方支持Windows、Linux、MacOS、IOS、Android、树莓派等设备
仓库:https://github.com/txthinking/brook
支持协议
Brook(自主研发新版)、Stream Brook(旧版)协议、Shadowsocks 协议、SOCKS5 协议等