なぜなにTorrent
  • Cover
  • イントロ
    • はじめに
    • Torrentとは
    • ゴール
  • Torrentファイルを読み込む
    • About
    • Bencode
    • Bencodeの実装
    • TorrentFileの中身
  • Httpサーバーを作成してみる
  • UPnpによるポートマップ
    • UPnPによるポートマップ
    • UPnPの実装
  • Trackerへアクセスしてみる
    • About
    • TrackerはHttpサーバ
    • リクエストの中身
    • レスポンスの中身
    • テスト
  • ダウンロードゲームへ参加してみる
    • About
    • ダウンロードゲーム
    • ブロックデーターの実装
    • 配信用、Peerを作成してみよう
    • 基本戦術
    • Chokeの実装
  • DHTに対応してみる
    • About
    • Tracker無しでPeerを探す
    • KademliaのkBucketを利用している
    • RootingTableを実装してみよう
    • FindNodeでネットワークの構築
    • FindNodeを実装
    • GetPeersでInfoHashに対応するPeerを探す
    • テスト
  • [Dartの基礎]
    • [なぜDart]
    • Hello World
    • Test/Debug
      • Get started with Observatory
Powered by GitBook
On this page
  1. DHTに対応してみる

About

PreviousDHTに対応してみるNextTracker無しでPeerを探す

Last updated 7 years ago

前章までで紹介した方法では、ダウンロードゲームに参加するためのPeer探しは、サーバー・クライアント方式でした。

せっかく、P2Pアプリなのに、P2Pで完結していないのは少し残念ですね。本章では、TrackerなしでP2Pで完結する方法について紹介します。

本章を通して、実際にKademlia(DHT)を利用したP2Pネットワークを組めるようになります。 サーバーを用意しなくても、様々なネットワークサービスを作るためのノウハウを獲得したという事になります。対規模なネットワークサービスを構築するため、負荷分散についいての考え方の一つを得る事にもなります。

キーワード

  • Kademlia

  • DHT

  • スモールワールド

Kyorohiro work

http://kyorohiro.strikingly.com