peerdist.dll 是 BranchCache 体系中“对等分发(Peer Distribution)”客户端协议栈的实现载体,一般位于 C:\Windows\System32\peerdist.dll,由 PeerDistSvc 服务加载,并对外导出 PeerDistClient 系列接口。
实现 Peer Distribution 协议的客户端侧逻辑,负责缓存内容的请求、应答、超时重试与状态机管理,是 BranchCache 分布式缓存模式(Distributed Cache Mode)在本机实际落地的模块。
读取内容源生成的 Content Information(包含 segment/block 哈希、盐值与 AES-128 对称密钥),据此把文件切分为段与块,完成块级哈希校验、解密与重组,确保从其他对等主机取回的数据块可信且未被篡改。
基于 WSD(Web Services on Devices,WS-Discovery / SOAP over HTTP)在本地子网内探测可提供缓存的主机,维护 peer graph 与邻居列表,并按块的可用性选择数据来源。
在 PeerDistSvc 缓存目录中维护已缓存的数据块,执行容量上限、TTL 过期、重复块去重与类 LRU 淘汰策略,同时响应其他主机发来的块请求,充当局域网内的分发节点。
导出 PeerDistClientOpenContent、PeerDistClientAddContentInformation、PeerDistClientBlockRead、PeerDistClientGetInformationByHandle 等接口,供 SMB 客户端、BITS 后台智能传输服务及 HTTP 缓存提供程序调用,形成“先查对等端、再回源”的读取路径。
与 SMB(445)、HTTP/HTTPS、BITS 传输、WSD(3702 等)协同工作,内容传输支持加密与完整性校验,避免缓存数据在局域网内被窃听或伪造。