ブロック鎖P2Pネットワークトポロジーの進化:P2Pネットワーク - Javaパースペクティブブロック鎖実践シリーズ3から

このセクションでは、私たちはもっと根深いブロックチェーン・ネットワークを理解するように、いくつかの主流のチェーンブロックのP2Pネットワーク構造を導入するネットワーク接続を開始します。

Fiの

Fiは、アプリケーションレベルの相互接続ネットワークです。どこでものような私たちの生活、中:人々が使うモバイル無線LANワイヤレスネットワーク、小さなスイッチネットワーク。ネットワーク接続タイプは、ネットワーク接続装置及び方法の数を定義し、ネットワークの通信機構を決定します。唯一のネットワーク接続の種類と2つの物理的接続のマルチポイント接続。

ポイント接続

ポイント接続をポイントし、これは2つのネットワークデバイス、ラップトップ2の間、例えば、相互接続されたデータの送信を含みます。

マルチポイント接続

名前が示唆するように、三つ以上のデバイスとの間に設けられているネットワーク接続を指します。コンピュータネットワークは、一般的にマルチポイント接続です。

UDPプロトコルを使用して、現在のプログラムブロック鎖の少数を除いて、ネットワークのトランスポート層プロトコルによって接続された機器間のデータ伝送を除き、それらのほとんどは、TCP / IPプロトコルを使用します。

P2Pネットワークトポロジ

P2Pは、定義により、ノードはネットワーク上のノード間のネットワークに接続された、「ピア・ツー・ピア」を意味します。ネットワーク内の各ノードは、ノード間で共通のサービスを提供することを意味するネットワーク内のノードは、両方のサービス・プロバイダ・リソースだけでなく、受信者は、何の「特別な」ノードが存在しない、同じです。

二つの問題、一つのリソースロケータを解決するために、P2Pネットワーク技術は、第二は、資源の獲得です。P2Pネットワークトポロジが略完全に半分散型、構造化されていない、完全に分散型アーキテクチャを分散、集中4つに分割されています。

一元化トポロジ

中央ノードは、インデックス情報の他のすべてのノードが保持していることを、インデックス情報は、一般的に、ノードのIPアドレス、ポート、ノードのリソースを含みます。QQは、ネットワークトポロジに似ています。

一元化トポロジ

短所

パフォーマンスのボトルネックになりやすい1は、拡張ノード。

図2は、単一障害点、ネットワーク全体の崩壊と信頼性と安全性を低下させる簡単リード中央インデックスサーバの麻痺があります。

小規模ネットワークのためのより適切な、有限では大規模なネットワークを増幅します。

完全分散構造化されていないトポロジ

ランダムトポロジーを形成するように、すなわち、ノードと新しいノードとの間に、接続パスを確立するためにランダムなP2Pネットワークに追加されます。

ノードとノード間の伝送近い「にフラッディングアルゴリズム即ち:それはネットワーク全体に広がるまで、隣接ノードにブロードキャストトランザクションがノードから生成され、近いパス10 10ファックス100ノード。

集中型のトポロジーとは異なり、彼は何の中央サーバーを持っていない、各マシンは、ネットワーク内の真のピアとの関係です。

完全分散型の非構造化P2Pネットワークトポロジ

短所

図1に示すように、ネットワークは構造化されていないので、したがって、完全にランダムグラフ、ノード間のリンクは事前に定義されたトポロジーに従わない、それは一般に、任意の性能保証の合計を提供しません。

図2は、パーティション、鎖切断があります。

利点

小さなシステムでフォールトトレランス、および頻繁に少数のノードを追加する出口効果

トポロジーの完全な分散アーキテクチャ

完全分散構造P2Pネットワークトポロジは、ネットワーク内のノードを編成するための技術は、例えば、そのような技術の構造化ネットワークによって代表的アルゴリズムを達成することができる(DHTと略される分散ハッシュテーブル)分散ハッシュテーブルを使用することですタペストリー、ペストリー、コードおよびCAN。

菓子は、 マイクロソフトリサーチによって提案されたスケーラブルな分散オブジェクトの位置およびルーティングプロトコルであり、大規模なP2Pシステムを構築するために使用することができます。ペストリーでは、各ノード128は、ノード識別子番号(ノードID)が割り当てられ、すべてのノード識別子は、0から2128までの範囲の、環状の空間が形成さNODEID - 1つのノードは、分散システムによって追加されました列ノードはランダムにIPアドレス空間128ノードIDを割り当て。

ペストリー

セミ分散トポロジ

集中型と分散型のハイブリッド構成は図示のように、ネットワークは複数含むスーパーノードの分散ネットワークから構成し、及びスーパーノードの複数の一般ノードとそれがローカル集中ネットワークで構成されています。

新しい共通のノードが追加され、最初の新しく追加されたノードをスーパーノード通信、スーパープッシュ再び他のスーパーノードリストを選択し、スーパーノードステータスリストに従って親ノードとして選択された特定のどのスーパーノードを決定するノードを追加します。

セミ分散トポロジ

この構造氾濫放送はスーパーノード間で発生した大規模洪水の問題を回避するために、。実際には、ハイブリッド構造は、比較的柔軟で、より効果的なネットワークアーキテクチャであり、実装の困難は、比較的小さいので、ハイブリッド型構造を達成するために開発されている複数のシステムが存在します。実際には、ビットコインネットワークは現在、A構造です。

[OK]を、私たちはその後、入力された、P2Pネットワークトポロジのより詳細な説明があり、一例として、我々ビットコインP2Pネットワークは、その後、我々はそれをアピールし、それがどのような違いと言っていますか?

まず、我々はそれがポイントであることから、その後、ディスカバリ・ノード(位置決め)との相互作用があり、P2Pは、ピアネットワークへのピアである、ということを知っているし、我々は二つの部分を説明します。

ネットワーク・ノードの発見

ノード発見は、任意のブロックアクセスノードチェーンブロックチェーンP2Pネットワークの最初のステップです。ノード検出を分けることができ、最初のノードの検出起動後のノード発見

初期ノード発見

一般的には二つのタイプ、DNS-送信とハードコードに分け。

1、DNSの道:初期化の中心となり、ドメイン名を検索し、ビットコインのコミュニティ擁護者は、いくつかのドメイン名を維持します。

図2に示すように、ハードコーディングされた:我々は、子ノードを呼び出すアドレスのコード番号、接続の初期化の試行にハードコーディングされました。すべてのノードのすべての種子が失敗した場合、すべてのノードは、これらの種子のノードを接続しようとします。

ノード検出を開始した後

ビットコインネットワークでは、ノードは隣接ノードに送信されるピア(ピアリスト)の独自のリストを維持することができ、最初の発見後のノードは、最初にやるべきことは、リストに他のノードにあります

イーサネット・ネットワーク内の場所は、また、ノード(NodeTable)の同様のリストを維持するが、Kademliaのネットワークと呼ばれる高度なアルゴリズムを、P2Pネットワークプロトコルを使用して異なるビットコイン簡単なメンテナンス、有するノードのリスト、KADネットワークをいいます。

これは、リソースを見つけるためにDHTを使用して分散ハッシュテーブルの略で、中国は、分散ハッシュテーブルと呼ばれます。KADネットワークを迅速にターゲットノードを見つけるために使用されるルーティングテーブルを維持します。ノード発見は後、デ​​ータ交換プロトコルUDP、TCPに切り替えるかどうUDPプロトコルに基づいて、KADネットワークので、イーサネットノード発見のノードは、正方形に基づいています。

リソース・ロケータ - LAN浸透

P2Pネットワークアーキテクチャのブロック鎖が完全に分散トポロジですしかし、今、私たちのネットワーク環境は、ローカルエリアネットワークとインターネットによって構成されています。それでは、どのようにLANそれに配備公共のインターネットノードのノードを見つけるのですか?

LANは、あなたがの罰金が言っていることを、制御することができるということであれば、唯一のVPCネットワークのルーティング設定する必要がパブリックIPをマッピングしてLANにあなたのIPにポートとポートイントラネット浸透

それが制御されていないとどのようにそれを行う場合は?道はあるNAT UPnP技術とプロトコル

簡単に言えばNAT技術は、Tに置き換えることであるCP パケットの送信元アドレスを内部ネットワークにマッピングされました。

U P NPはそれはインテリジェント相互接続デバイスのための主に使用されている略語であるユニバーサルプラグアンドプレイ(ユニバーサルプラグアンドプレイ)で新しいデバイスが追加された場合、ネットワーク上のすべてのデバイスがすぐに知ることができます。

LANルーティングデバイスがNATゲートウェイ機能をサポートするUPnPプロトコルをサポートしています限り、あなたは自動的にパブリックネットワークにあなたのブロック鎖のノードをマッピングすることができるようビットコイン広場とイーサネットは、ツールを貫通LAN UPnPプロトコルとして使用されています。

リソース - ノード間の相互作用プロトコル

ノードの接続が確立されると、ノード間の相互作用は、いくつかの特定のコマンドに従うことでこれらのコマンドは、メッセージヘッダに書き込まれ、メッセージボディは、メッセージ内容に書き込まれます。

コマンドが2分割され、一方は、要求コマンドである(PING)インタラクティブコマンドデータ(ポン)

ノードの後の最初の事はに接続されている握手ビットコインとイーサネット広場にこのプロセスは、それは、お互いに挨拶するためにいくつかの簡単な情報を提供することで、ほぼ同じです。例えば、それは互換性のあるかどうかを確認するために、バージョン番号を交換します。イーサネットは唯一の広場、対称暗号化ハンドシェイクプロセス、無ビットクレジットを提供します。

この方法(握手)では、ピア・ノードが接続可能なノードのリストを取得し、それはまた探しに他のネットワークノードに自分のメッセージをパブリッシュします。それが再確立接続時にノードの再起動にピア・ノード迅速かつ前回できるように、ローカル・ノードのノード情報は、最後の同期ピア接続を保存します。

最大90分間ノードの永続的な接続は、任意の通信せず、ネットワークから切断されているとみなされる場合ピング機構は、ノード間の接続を維持することができ、ネットワークは新たなピア・ノードを探し始めるだろう。従って、ビットは、中央に形成されている集中制御を必要とすることなく、クレジットネットワークノードおよび有機動的調整とネットワーク変更、あろう

概要

このセクションでは、我々は歴史の私たちの主なP2Pの進化を説明し、我々はビットコインP2P通信ネットワークの基礎を理解し、次のセクションでは、我々は、異なる通信ノードに応じて彼らのさまざまな方法を説明します。

 

参考文献:

「マスタリングビットコインSecond Editionの」

P2Pネットワークトポロジ

ブロック100は、チェーンを尋ねます

 

公開された18元の記事 ウォン称賛11 ビュー20000 +

おすすめ

転載: blog.csdn.net/weixin_38652136/article/details/105145816