Sirius
Sirius
Home avatar

Fan的博客

Kademlia 算法(一)

Kademlia 是一种通过分布式哈希表(DHT)实现的协议算法,专为非集中式对等网络(P2P)而设计。它由 Petar Maymounkov 和 David Mazières 于 2002 年提出。Kademlia 协议包含了对应网络的结构,规定了节点之间通过查询进行信息交换的方式。很多著名的点对点(P2P)系统,比如 BitTorrent 的 DHT 网络、以太坊(Ethereum)等,都使用了 Kademlia 或其变种算法。

BitTorrent 的 DHT协议

本文介绍 BitTorrent 使用的 DHT(分布式哈希表)网络,它通常被称为 “Mainline DHT”。

最初,BitTorrent 依赖于 Tracker 服务器 来协调 Peer(下载或上传同一个文件的用户)之间的连接。用户客户端连接到 Tracker,报告自己的信息和想要的 Torrent 文件,Tracker 则返回其他正在下载/上传该文件的 Peer 的列表。这种方式的问题在于 Tracker 是一个中心点

BT握手与TCP的连接与释放

定位了DHT爬虫的一个问题,在这梳理一下BT握手流程

BitTorrent 客户端(假设为 A)与另一个 Peer(假设为 B)从建立 TCP 连接开始,经过标准握手、扩展握手,最终到通过 ut_metadata 扩展获取种子元数据的完整流程

top命令全字段解析+实例

top是linux下一个用户态工具,和windows下任务管理器差不多,就是实时显示linux系统运行状态,进程线程cpu占用,内存使用情况等等。可以实时动态地查看系统的整体运行情况,是一个综合了多方信息检测系统性能和运行信息的实用工具。

CPP中的转型操作

本文讲解 C++ 中的四种转型操作符 static_castdynamic_castreinterpret_castconst_cast,以及它们与传统 C 风格强制转换的区别。