2020-9-3
P2P 协议
FTP 文件传输协议,通过两个TCP连接来传输文件
- 控制连接
- 数据连接
FTP 的两种工作模式
- 主动模式PORT
- 客户端随机打开一个大于1024的端口N,开放N+1端口监听,连接21
- 服务器主动从自己的数据端口20连接到客户端N+1
- 被动模式PASV
- 客户端打开两个任意的本地端口 N,N+1
- 第一个端口连接服务器的21端口,提交 PASV
- 服务器开启任意的端口 P 返回 227 消息
- 客户端通过N+1连接服务器的端口P
HTTP、FTP 难以解决单一服务器的带宽压力。
种子(.torrent)文件
- announce(tracker URL)
- 文件信息
- info 区:这里指定的是该种子有几个文件、文件有多长、目录结构,以及目录和文件的名字。
- Name 字段
- 每个段的大小
- 段哈希值:将整个种子中,每个段的 SHA-1 哈希值拼在一起。
弊端是 依赖 tracker
去中心化网络 DHT
还是比较复杂的,类似区块链网络