BitTorrent Peer Flags
在使用 BitTorrent(简称BT)下载资源时,你可能会注意到一些BT软件会在节点后面标明一些标志,比如:“H X O U u” 等等,这些标志叫做 Peer Flags 也就是对等节点的标志。这些标志用于表示当前对等节点的状态或功能(也就是说这些标志可以帮助你了解各个对等节点的功能支持情况),接下来的文章将会详细讲解这些 Flags 的具体含义
常见的 Peer Flags
标志 | 含义 | 详细 |
---|---|---|
D | 正在从对等节点下载数据 | 他:上传给你 / 您:正在下载 |
d | 对等节点拒绝提供数据 | 他:拒绝上传 / 您:期待下载 |
U | 正在向对等节点上传数据 | 他:期待下载 / 您:同意上传 |
u | 拒绝向对等节点上传数据 | 他:期待下载 / 您:拒绝上传 |
O | 宽容用户(在没有其他更好用户选择前,不拒绝对方连接) | 他:期待下载 / 您:同意上传 |
K | 你不想下载 | 他:同意上传 / 您:不想下载 |
? | 该节点不想下载 | 他:不想下载 / 您:同意上传 |
特殊的 Peer Flags
标志 | 含义 | 详细 |
---|---|---|
E | 对等节点使用的是加密传输 | 所有流量都使用加密传输 |
e | 对等节点使用的是加密传输 | 节点在握手阶段使用了协议加密 |
H | 对等节点来自 DHT(分布式哈希表) | 对等节点通过 DHT 来找到你的 |
h | 对等节点通过 UDP 内网穿透来建立的连接 | 对等节点通过 NAT 打洞来连接的 |
X | 对等节点通过 PEX(Peer Exchange)来连接 | 通过交换PEX获取的 peer 列表中包含了你的节点 |
I | 对等节点通过传入连接来建立连接 | 该对等节点是一个入站连接,而不是本地发起的连接 |
P | 节点通过 μTP(Micro Transport Protocol)来传输数据 | 所有通信都会通过 uTP 而非标准的 TCP(uTP可以提高传输效率) |
F | 错误用户 | 节点曾传来散列校验失败的区块 |
L | 对方是本地对等节点 | 节点通过本地服务发现(LSD)协议发现 |
S | 低优先级 | 无响应或未能满足一定的下载性能标准而被视为低优先级 |
详细解释
O (Optimistic Unchoke)
Optimistic Unchoke(即乐观解除阻塞)是 BitTorrent 协议中的一个机制,用于优化对等节点之间的资源共享,尤其是在新节点加入或未知节点未建立可靠连接时。
含义
当本地的客户端以乐观的方式解除对某个对等节点的阻塞时,就会添加 O
标志。这将意味着:
- 本地客户端将主动向该对等节点发送数据,即使当前无法确定该节点是否会对本地客户端有回报
- 此机制通常用于发现新的高质量对等节点或者维持现有连接的多样性
L (Local Peer/Local Discovery)
L
标志表示该对等节点是通过 本地服务发现 (LSD, Local Service Discovery)
协议来发现的,并且该对等节点位于本地网络中(简单点来说,可以说这个对等节点可能就在你家)
含义
- 表示该对等节点与本地客户端就在同一个局域网内,并且是通过 LSD 协议发现的
工作原理
客户端通过 UDP 向互联网的多播地址发送广播消息,如果其他有支持 LSD 的客户端会监听广播地址,那么就会响应广播,一旦发现新的节点客户端将会尝试建立连接,加入对等网络
H (Peer from DHT)
H
标志 表示该对等节点是通过 DHT (Distributed Hash Table) 网络发现的。DHT 是 BitTorrent 协议中的一项分布式机制,用于在没有 Tracker 的情况下,找到正在共享特定种子文件的对等节点。
含义
- 该对等节点是通过 DHT 网络发现的(换一种说法:是通过去中心化的方式找到的。因为 DHT 不依赖任何服务器),而非传统的 Tracker 或其他方法 (如 LSD)
工作原理
本地客户端通过 DHT 网络向其他节点发送查找请求,并询问与目标 Info Hash 相关的对等节点,每一个节点都会返回一部分相应,最终本地客户端会获得与目标种子文件相关的节点列表
DHT 的优点:
- 去中心化
- 不需要依赖 Tracker (跟踪服务器) ,任何节点都可以参与资源共享
- 抗审查
- 因为没有单一的服务器或控制点,DHT 更加难以被封锁或被关闭
- 高可用
- 只要有足够多的活跃节点,通过 DHT 随时都可以找到其他的对等节点
X (Peer from Peer Exchange, PEX)
X
标志 表示该对等节点是通过 Peer Exchange(PEX) 机制发现的。PEX 是 BitTorrent 协议的一部分,用于让已连接的对等节点共享它们已知的其他对等节点的信息,从而帮助客户端快速找到更多可用的对等节点。
含义
- 表示该对等节点是通过其他对等节点共享的节点列表中发现的,而不是通过 Tracker、DHT或 LSD
工作原理
当客户端成功连接到一个对等节点后,它会与该节点交换已知的其他对等节点的地址(IP地址以及端口),这些地址通常是该节点通过 Tracker、DHT 或 PEX 本身获取的。通过 PEX,节点列表会在网络中不断传播,形成一个去中心化的节点发现机制
P (uTorrent uTP)
P
标志 代表该对等节点正在使用 μTorrent 的 μTP(Micro Transport Protocol) 进行通信。该协议是由 BitTorrent 开发团队引入的一种协议,用于优化文件传输的效率和公平性,特别是在拥塞网络中的表现。
含义
- 表示该对等节点使用了 μTP 进行内容传输。
什么是 μTP?μTP 是基于 UDP (用户数据报协议) 的传输协议,是传统 TCP 的替代方案,该协议被设计用来解决传统TCP协议在高延迟或拥塞网络中效率低下的问题
参考链接:
qBittorrent Git仓库