Skip to content

术语表 ​

按正文首次依赖与主题定位术语;定义以相应章节和固定版本为准。同名词跨层出现时须保留上下文。以下第一组定位为 第 1 章。

中文英文/符号本书定义
比特bit取值为 0 或 1 的二进制位
字节byte/B本书固定为八比特
八位组octet明确宽度为八比特的单位
偏移offset从数据起始处计数的位置,起点为 0
半开区间[a,b)包含 a,不包含 b;长度 b-a
无符号整数unsigned integer不带负号、按非负值解释的整数字段
位标志bit flag把特定位赋予独立布尔意义的编码
位掩码bit mask用于选中特定位的值
十六进制转储hex dump原始字节的显示形式,通常两数字一字节
ASCIIAmerican Standard Code for Information Interchange七比特字符编码表
空字符NULASCII 值 0,对应字节 00
回车/换行CR/LF字节 0d/0a;组合 CRLF 占两字节
转义escape在某种语言或格式中用特殊写法表达字符的规则
码点code pointUnicode 编号;不等于屏幕字形或线上字节
Unicode 标量值Unicode scalar valueUnicode 码点范围内排除代理码点的值
UTF-8Unicode Transformation Format — 8-bit每标量值使用 1—4 八位组的编码
续字节continuation byteUTF-8 多字节编码中前缀为 10 的后续字节
编码/解码encoding/decoding按指定规则构造表示/恢复数据,包含合法范围
Base64Base64任意字节的受限字符表示,不提供保密性
大端序big-endian多字节整数的高权重字节先出现
小端序little-endian多字节整数的低权重字节先出现
网络字节序network byte order通常指大端序;具体字段仍需查协议
主机字节序host byte order本地多字节值的存储顺序,不决定线上协议
序列化serialization把对象按明确字段规则变为可传递表示
测试向量test vector给定输入与独立确定的预期结果,用于校验

第 2 章:程序与 Socket ​

定位:第 2 章。

中文英文/缩写精确含义
进程process具有执行状态、地址空间和系统资源的执行实体
内核kernel管理系统资源并提供受控接口的操作系统部分
用户态user space普通应用运行的资源访问层次
系统调用system call应用请求内核服务的接口边界
文件描述符file descriptor/FD进程描述符表中的资源引用编号
打开文件描述open file description持有文件偏移及状态的内核资源记录
套接字socket通信端点抽象;创建后不必已经连接
地址族address family决定通信域与地址结构的参数
回环地址loopback address用于同一网络环境内本机通信的地址
通配绑定地址wildcard address指示接受相应本地接口而非单个指定接口的绑定规则
监听对象listening socket被动接受连接的入口资源
已连接对象connected socket具有具体本地与远端端点的收发对象
主动打开/被动打开active/passive open主动发起连接/等待传入连接的 TCP 建立角色
四元组four-tuple本地 IP/端口与远端 IP/端口,需保留网络上下文
半关闭half-close正常结束一个方向,允许另一个方向继续
有序结束orderly shutdown按传输规则结束发送,区别于异常复位
复位reset/RSTTCP 连接中止等异常状态的标志与处理
阻塞/非阻塞blocking/nonblocking条件未满足时等候/报告尚不能完成的接口模式

第 3 章:字节流与定界 ​

定位:第 3 章。

中文英文/缩写精确含义
字节流byte stream具有位置与顺序的字节序列,不自带应用提交边界
报文段TCP segmentTCP 首部与对应数据的传输层单位
序号sequence number与 TCP 流中位置关联的标识,不是应用请求号
消息定界message framing按协议规则确定应用消息范围
固定长度消息fixed-length message每条占共同规定的 N 字节宽度
长度前缀length prefix在对应内容前编码其规定范围的长度
分隔符delimiter在特定解析状态中标记边界的字节序列
转义引导escape introducer使后续值按转义规则解释的标记
类型—长度—值Type-Length-Value/TLV显式类型、声明长度及对应值的字段结构类别
增量解析incremental parsing跨多个输入片段维护缓存与解释状态
已消费范围consumed range已确认属于完成阶段或消息并从缓存推进的范围
未完整前缀incomplete prefix尚未完成但可扩展成合法消息的输入
截断truncation消息尚未完整而输入已经结束等状态
背压backpressure下游不能继续处理时限制上游供给的机制
最大分段大小Maximum Segment Size/MSS对应 TCP 数据部分的分段大小限制,与消息长不同
TCP 分段卸载TCP Segmentation Offload/TSO在相应条件下由设备执行 TCP 分段
通用分段卸载Generic Segmentation Offload/GSO对应软件分段支持
通用接收卸载Generic Receive Offload/GRO接收处理中的合并支持,与观测点有关

协议状态、代理与解析责任 ​

定位:第4章、第5章、第6章、第7章、第8章。

术语英文/缩写本书含义
协议头/负载header/payload供某层解释的控制结构/该层所承载的内容;相对层次而言
帧frame某协议按格式界定的单位,不等于TCP段
记录recordTLS或相应密码记录层的独立处理单位,不等于握手消息
状态机state machine根据当前状态和输入执行转换、输出及错误处理的模型
不变量invariant在指定状态转换中必须持续成立的条件
正向代理forward proxy为请求方接受目标请求并代其建立后续连接
反向代理reverse proxy作为服务入口接收请求并向后端服务分发
隧道tunnel某层建立的运输关系,可承载另一层字节或包,终结点须明确
NAT/NAPTaddress/port translation改写地址/端口及维护相应映射,不自动解析代理命令
TUN/TAPvirtual network interface分别常用于网络层包/链路层帧的虚拟接口,不是某个远端代理协议
CONNECTHTTP CONNECT成功后切换成面向所请求目标的字节通道;区别于SOCKS同名命令
SOCKS方法method本地或相应SOCKS连接选择的认证子协议,不是目标地址类型
BINDSOCKS BIND为指定关系接受入站连接的命令,有两阶段响应
UDP关联UDP association控制与映射状态,决定数据报如何转发,不是UDP天然建立的连接
代理链proxy chain利用前一代理通道建立后一段连接的组合,逐层决定秘密和目标
落地/出口egress实际为最终目标建立连接的节点或路径角色
解析器/递归解析器resolver/recursive resolver接受解析需求/进一步获取DNS结果的组件,信任终点不一定相同
引导解析bootstrap resolution为建立代理或加密解析连接而先找到其端点的过程
域名目标domain destination代理命令传递名称,让后续节点按其职责解析,非已解析IP
Fake-IP映射synthetic-IP mapping本地合成地址与域名的状态关联,不是任意远端可反算的编码
DNS泄漏DNS leakage解析路径超出原本期望的路由/隐私边界,不能只凭是否使用UDP53定义
DoT/DoHDNS over TLS/HTTPS到选定DNS终结点的加密运输,不隐藏查询于该解析器
认证/授权authentication/authorization验证凭据或身份/决定允许做什么;与网站身份验证分开

HTTP与现代运输 ​

定位:第9章、第10章、第11章、第12章。

术语英文/缩写本书含义
方法、目标与字段method/target/fieldHTTP操作、所指资源/端点及元数据,和消息Body分别解释
消息定界message framing确定一份消息或Body何处结束,不能用一次TCP读取替代
分块传输编码chunked transfer codingHTTP/1.1的一种消息Body定界方式,不等于HTTP/2 DATA帧
内容编码content coding如压缩后的内容表示,与分块传输编码不同
持久连接persistent connection在同一运输连接上处理多个请求,不保证它们同时推进
管线化pipelining先连续发送请求而不逐个等待响应,与独立流复用不同
升级Upgrade按相应HTTP规则切换协议,WebSocket握手的一种路径
掩码masking按规则异或变换,如WebSocket客户端掩码;不自动提供秘密加密
控制帧control framePing/关闭等状态控制单位,与应用消息分开
压缩上下文接管context takeover在后续消息保留压缩历史,影响大小、内存和信息边界
HTTP/2流HTTP/2 stream同连接内带编号的逻辑请求/响应状态,非Socket
HPACK/QPACKheader compressionHTTP/2/3字段编码与动态状态,不是Body压缩
gRPC消息前缀length-prefixed message压缩标志1字节与长度4大端,之后再解释Protobuf等消息
Protobuf字段wire field按字段号、wire type和内容编码,不按源码变量名直接传输
流量控制flow control接收方用额度限制发送,保护接收资源
拥塞控制congestion control发送方依据路径反馈控制在途与速率,区别于接收窗口
队头阻塞head-of-line blocking较早未完成部分阻止后续内容推进;必须指出发生的层次
QUIC流QUIC streamQUIC连接内有序可靠字节方向或双向组合,不等于IP五元组
QUIC包号空间packet number space恢复与确认状态的分组,区别于加密级别
加密级别encryption levelInitial、0-RTT、Handshake、1-RTT等保护阶段
DATAGRAMQUIC DATAGRAM不保证重传和顺序的消息通道,仍受拥塞与大小约束
连接IDconnection IDQUIC运输连接标识的一部分,不是代理UDP关联号
连接迁移connection migration同一QUIC连接适应路径变化的机制,不复制后端应用状态
PTOProbe TimeoutQUIC探测超时,用于恢复推进,不等于已确认丢失所有在途包
RTORetransmission TimeoutTCP等相应运输的重传超时,与应用总超时分开
RTTround-trip time指定两端的往返时间,不等于网站首字节或页面完成时间
GOAWAY/流重置GOAWAY/reset相应协议的连接退役/流中止机制,不应互相当作同一种故障

密码学、TLS与后量子交换 ​

定位:第13章、第14章、第15章、第16章、第17章。

术语英文/缩写本书含义
威胁模型threat model指明攻击者能力、秘密泄漏时点、保护对象及观察位置
机密性confidentiality未获授权者不能取得所保护内容,不等于隐藏全部元数据
密码完整性integrity对指定密钥、上下文和消息的篡改检测保证
熵entropy秘密的不确定性尺度,字符长度不直接等于秘密熵
对称密钥symmetric key双方用于相应对称运算的秘密材料
分组密码block cipher固定块上的带密钥可逆变换,如AES;完整消息还需构造模式
AEADauthenticated encryption with associated data同时保护明文与指定附加数据的真实性/完整性,并加密明文
AAD/ADassociated data被认证但不由这次AEAD加密的上下文字节
标签authentication tagAEAD等构造的验证输出,不是CRC或FNV
Noncenumber used once在指定密钥下满足唯一性要求的输入,可显式、隐式或计数生成,不必总随机
IVinitialization vector相应密码模式的初始化输入,语义依算法;不能任意与Salt互换
Saltsalt派生或相关构造的公开输入;唯一性/随机性义务依协议
MAC/HMACmessage authentication code带秘密的消息认证构造,不是数字签名或普通散列
HKDF-Extract/Expandextraction/expansion从秘密与Salt提取,再按info和长度派生;不是弱口令强化方案
域分离domain separation用标签/上下文区分不同密码用途,必须保留准确原始字节
公钥/私钥public/private key非对称算法的一对相关材料;用途依KEM、交换或签名区分
ECDH/X25519key agreement双方结合私有与对方公开份额形成共同秘密,不单独证明对方身份
数字签名digital signature对消息及签名身份作相应密码验证,不等于用私钥加密明文
Ed25519signature scheme基于相应曲线构造的签名,与X25519密钥交换不同
KCIkey-compromise impersonation某端秘密泄漏后,攻击者冒充其他身份的分析问题,需指定泄漏材料
PFSforward secrecy在明确的长期秘密之后泄漏及历史临时秘密不再可得等条件下,历史会话仍保密
重放replay再次提交旧的有效材料;记录、握手、请求与业务各有不同范围
证书路径certificate path到信任锚的签名与约束验证,与服务名称匹配分别执行
SAN/名称验证subject alternative name验证连接所期望服务名是否在相应证书身份范围内
SNIserver name indicationClientHello中的名称选择信息,本身不是服务器身份证明
ALPNapplication-layer protocol negotiationTLS内选择上层协议的机制,不自动验证Body符合该协议
Transcripthandshake transcript按TLS规则纳入摘要的握手字节及特殊替代,不含任意TCP头
FinishedTLS Finished用握手派生秘密认证摘要,区别于TCP ACK
HRRHelloRetryRequestTLS要求重试特定握手材料的服务器消息,带特殊摘要处理
traffic secrettraffic secret派生某方向/阶段记录key和IV的秘密,不等于证书私钥
KeyUpdateTLS KeyUpdate按规则更新应用流量秘密,不自动执行新的临时公钥交换
PSK/恢复票据pre-shared key/ticket已有秘密及其恢复标识/状态安排,具体存储和PFS依协议
0-RTT/1-RTTearly/full interaction labels相应层的交互阶段简称;TLS、QUIC与代理各自定义,不共用重放保证
ExporterTLS keying material exporter从当前TLS秘密和标签/context派生应用输出,不直接暴露流量密钥
KEMkey encapsulation mechanism形成共享秘密及封装密文的接口,不是任意长消息的公钥加密
ML-KEMmodule-lattice KEMFIPS203定义的后量子KEM,参数和编码按具体组
ML-DSAmodule-lattice signatureFIPS204签名方案,与ML-KEM承担不同职责
NTTnumber-theoretic transform加速相应多项式运算的表示变换,本身不是加密模式
隐式拒绝implicit rejectionKEM解封装失败时按规定产生替代结果,避免直接暴露某些失败信息
混合交换hybrid key agreement结合传统和后量子组件;保护结论依组合、认证与秘密存续条件
ECHEncrypted ClientHello保护相应ClientHello内容的机制,不隐藏代理请求中已明示的目标

VLESS与现代扩展 ​

定位:第18章至第25章。以下实现材料均以正文固定Xray/REALITY版本为准。

术语所属层本书含义
VLESS代理语义用户标识、命令、目标与响应格式;基础格式本身不等于加密通道
AddonVLESS头长度界定的扩展内容,具体Flow用Protobuf编码
FlowVLESS/实现策略如xtls-rprx-vision的处理选择,不是TCP流号
RAW/TCP承载正常TCP字节流的直接承载,不是操作系统Raw Socket
Mux/XUDP内部代理组织复用任务或数据报语义的相应格式,不等于HTTP/2流或XMUX
REALITY安全握手专用认证及TLS处理组合,须区分认证与非认证路径
握手目标DREALITY服务端角色配置的握手参考/非认证转发目标,非用户请求的网站W
AuthKeyREALITY认证静态X25519结果经指定HKDF形成的认证材料,非网站TLS密钥
shortIdREALITY入口匹配本实现8字节匹配材料,文本配置可更短并补零;不能单独替代全部验证
legacy_session_idREALITY借用字段此处装载专用认证密文,仍须按实际AAD/Nonce规则处理
VerifiedREALITY客户端状态专用验证成功状态;普通CA证书通过不等于它为真
VLESS Encryption独立安全包装基础VLESS之前的交换、记录、缓存恢复与外观处理,非基础头自带密码
nfsKeyEncryption静态材料交换所得相关秘密,命名不等于具备PFS
pfsKeyEncryption完整交换的临时ML-KEM32与X25519 32连接;缓存恢复可能复用
UnitedKeyEncryption本版本pfsKey64连接nfsKey32的96字节派生材料
native/xorpub/randomEncryption外观分别不加额外XOR、公开材料XOR、再变换记录头等路径;非同一安全强度的别名
CommonConnEncryption实现负责记录及相关缓冲的连接包装,Vision可按条件绕过其部分路径
XorConnEncryption实现random相关头部变换包装,不等于另一套独立AEAD
恢复票据Encryption状态关联服务端缓存PFS材料的16字节值,生命周期及去重依实现
Vision Padding块VisionUUID初始标记及命令/内容长度/Padding长度等,区别于TLS记录
Continue/End/DirectVision命令00继续、01结束Padding保留相应保护、02按条件进入Direct;不是全部等价于裸TCP
DirectVision处理状态按方向切换后续读写路径,仍保留不应穿透的HTTP/XOR/额外安全层
CanSpliceCopy本地实现状态就绪/候选/禁止等复制条件,非线上协议字段
splice/Zero-Copy系统数据路径在特定平台/连接条件减少用户内核搬运,不是全路径零成本
XHTTPHTTP承载用请求/响应恢复双向逻辑字节通道,不是另一份VLESS身份协议
packet-upXHTTP模式有限上传批次加持续下载,批次通过seq重排
stream-upXHTTP模式持续上传请求与独立持续下载请求,通过S关联
stream-oneXHTTP模式同一请求的持续Body与Response Body组成双向通道,无同样S关联
S/seqXHTTP元数据会话字符串/十进制批次号,非用户UUID或应用字节偏移
autoXHTTP本地策略固定条件分支选模式/版本,非自动测速或完整线上能力协商
XMUXXHTTP客户端管理选择与退役HTTP客户端对象,不直接保证固定TCP连接数
DownloadSettingsXHTTP分流下载侧独立拨号与承载配置,不提供跨源站sessions表同步
HTTP PaddingXHTTP布局放入Header/Cookie/查询等的形状控制与格式检查,不是秘密MAC认证
回退多层实现路径VLESS回退、Trojan TLS后转发及REALITY非认证路径须分别定位,不能混成一种机制

其他代理协议的字段与状态 ​

定位:第26章、第27章、第28章、第29章。

术语所属协议本书含义
2017 AEADShadowsocksSalt派生子密钥,TCP长度/负载分别AEAD,区别于历史流密码及2022
SIP022Shadowsocks 2022新PSK输入、独立头、响应关联及UDP会话规范
SIP023/EIHShadowsocks扩展身份层用下一层PSK散列辅助选择用户/中转,不是基础2022必有字段
滑动窗口2022 UDP等记忆一定范围内已接收包号以拒绝重复/过旧,不负责补齐丢包
AuthIDVMess AEAD时间8、随机4、CRC4经专用AES保护的16字节身份输入,非VLESS明文UUID
CmdKeyVMessUUID原始字节与固定ASCII串经MD5所得长期派生材料
VMess KDFVMess AEAD专用嵌套HMAC-SHA256构造,不能当普通HKDF计算
connectionNonceVMess头线上8字节派生上下文,不直接等于12字节GCM Nonce
Body Key/IVVMess指令头保护下传递的本次负载材料,随机不自动意味着PFS
长度掩码VMess BodySHAKE输出异或长度,不等于认证长度
AuthenticatedLengthVMess实验另外AEAD保护长度的选项路径,需双方相容
SessionHistoryVMess实现用户与Body Key/IV组合的本地历史,不是线上另加一个ID字段
摘要凭据Trojan56字节ASCII hex(SHA224(password)),可重复使用的认证材料
CRLFTrojan/文本结构0d 0a两个字节,位置按结构解释,不应任意搜索二进制目标头
MasqueradeHysteria等未认证路径提供网站内容的机制/目标,不等于已证明不可识别
Hysteria-CC-RXHysteria2认证相应接收方字节/秒速率信息,影响另一端发送方向
TCPResponseHysteria2目标流状态、消息及Padding;Hook分支可能先成功后拨号
FastOpenHysteria实现提前交付连接、首次Read检查代理响应,非TCP Fast Open或TLS0-RTT
Session IDHysteria UDP32位代理UDP关联,非QUIC连接ID或密钥Salt
Packet IDHysteria UDP16位分片识别值,未分片语义不等同逐包重放窗口
BrutalHysteria控制器按目标速率与确认比例进行发送节奏/窗口控制的实现,不是所有连接强制算法
Authenticate TokenTUIC v5当前TLS Exporter按UUID标签和口令context导出的32字节值
ASSOC_IDTUIC UDPQUIC连接内16位UDP关联编号,与运输流号不同
PKT_ID/FRAG_IDTUIC UDP原包及分片识别字段,不是密码Nonce
None地址TUIC后续UDP片可用ff表示地址省略,所列实现不再携带端口
native/quic模式TUIC UDP分别用DATAGRAM/可靠单向流运输,勿与Encryption native外观混用
DissociateTUIC释放UDP关联的命令,不等于关闭整条QUIC连接
Full Cone兼容TUIC等代理语义服务器关联Socket可接受相应回程的设计,不改变所有物理NAT属性

性能、观测与证据 ​

定位:第30章,并参见来源登记。

术语英文/缩写本书含义
有效吞吐goodput实际交付的应用有效数据量/时间,与包含头、Padding、重传的网络字节率分开
首字节时间time to first byte到指定首个返回字节的累计时间,不等于服务器纯计算时间
冷启动/复用状态cold/reused connection是否已存在运输、安全及账号状态,影响握手统计边界
带宽时延积bandwidth-delay product目标速率乘RTT,在途容量的分析尺度,非实际缓冲必然分配量
排队时延queueing delay数据等待资源服务的时间,可在无明显丢包时很高
连接池connection pool管理可重用对象及生命周期;池对象与实际Socket须区别
排空draining不再给旧对象新任务,等待已有任务结束的退役策略
故障范围failure domain共享某资源时可能同时受其失败影响的任务集合
MTU/PMTUmaximum/path MTU链路/路径可承载的网络层包大小尺度
代理分片/IP分片proxy/IP fragmentation分别由代理层/网络层拆包重组,均非TCP字节分段
DPLPMTUDpacketization layer PMTU discovery分包层依据探测和反馈判断可用大小,不只依赖ICMP必达
RSSresident set size驻留内存尺度,不等于当前有效负载或所有配置容量之和
缓冲池/GCbuffer pool/garbage collection复用内存/回收对象的机制,驻留与分配速度影响不同
累计时间cumulative timing从共同起点到各事件的值,不能当独立分段耗时直接相加
捕获丢弃capture drops捕获路径资源不足等造成记录缺失,区别于真实网络丢包
启发式分析heuristic analysis分析器基于所见数据给出的判断,不是自动完整真相
固定实现证据pinned implementation特定提交中读到的分支和数据路径,不等于所有版本/平台运行结果
构造样例/标准向量constructed example/test vector分别是本书明确构造/来源独立确定的材料,均不冒充生产抓包
机制推导/基准测量reasoning/benchmark前者依据格式与条件演算,后者依实际运行;本书未虚构后者

从字节与状态机出发,理解每一层的职责。