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

还是比较复杂的,类似区块链网络