距離ベクトルは、特にルーティング プロトコルの領域におけるコンピュータ ネットワークの基本原理です。この概念は、各可能なパスに関連付けられた「距離」または「コスト」を計算することにより、ネットワーク内でデータ パケットが宛先に到達するための最適なパスを決定するために使用されます。
距離ベクトルの起源
距離ベクトル ルーティング アルゴリズムの登場は、インターネットの前身である ARPANET (Advanced Research Projects Agency Network) の初期の頃、1960 年代後半から 1970 年代前半にまで遡ります。距離ベクトルのようなアルゴリズムが初めて言及されたのは、1978 年に John McQuillan、Ira Richer、Eric Rosen が発表した論文でした。Routing Information Protocol (RIP) と呼ばれる彼らのアルゴリズムは、ネットワークをナビゲートするために距離ベクトル ルーティングの一種を使用していました。
距離ベクトルのさらなる深掘り
ネットワークでは、ルータはネットワークのレイアウトを理解し、ルーティングを決定するために情報を共有する必要があります。距離ベクトル プロトコルは、ルータがこの情報を共有する方法の 1 つです。
ルーティングのコンテキストでは、「距離」は特定のノード (ネットワークやルーターなど) に到達するコストを指し、「ベクトル」はそのノードへの方向を指します。各ルーターはルーティング テーブルを保持しており、これには他のすべてのルーターへの最小コスト パスと、そのパスへの次のホップが含まれます。
距離ベクトル プロトコルは、簡単な手順を採用しています。各ルータは、ルーティング テーブル全体をそのすぐ近くのルータに送信します。その後、これらのルータは受信した情報に基づいて独自のルーティング テーブルを更新し、すべてのルータが一貫したルーティング情報を持つまで、このプロセスがネットワーク全体で繰り返し実行されます。この手順は、ベルマン フォード アルゴリズムまたはフォード フルカーソン アルゴリズムとも呼ばれます。
距離ベクトルの内部の仕組み
距離ベクトル プロトコルの動作は、そのシンプルさが特徴です。最初、各ルータは、そのすぐ近くのルータのみを認識します。ルータがルーティング テーブルを共有すると、より遠くのノードに関する知識が徐々にネットワーク全体に伝播します。
プロトコルはサイクルで動作します。各サイクルで、すべてのルータはルーティング テーブル全体を直接の隣接ルータに送信します。隣接ルータからルーティング テーブルを受信すると、ルータは学習した宛先へのより安価なパスを反映するように自身のテーブルを更新します。
距離ベクトル プロトコルを使用するルータは、ルーティング ループやカウント トゥ インフィニティ問題などの特定の問題に対処する必要がありますが、これらの問題は、スプリット ホライズン、ルート ポイズニング、ホールドダウン タイマーなどの手法を使用して軽減されます。
距離ベクトルの主な特徴
距離ベクトル プロトコルにはいくつかの重要な機能があります。
- シンプルさ: 理解し、実装するのが比較的簡単です。
- 自己起動: ネットワークは障害から自動的に回復できます。
- 定期的な更新: 情報は定期的に共有され、最新のネットワーク知識が維持されます。
- 限られた視野: 各ルーターのネットワークの視野は限られているため、大規模なネットワークでは欠点となる可能性があります。
距離ベクトルプロトコルの種類
以下は、距離ベクトル プロトコルの最も一般的なタイプの一部です。
-
ルーティング情報プロトコル (RIP): これは最も伝統的で基本的な距離ベクトル プロトコルです。RIP は設定が簡単で、小規模でフラットなネットワークや大規模ネットワークのエッジに最適です。ただし、最大ホップ数が 15 であるため、大規模ネットワークにはあまり適していません。
-
内部ゲートウェイ ルーティング プロトコル (IGRP): Cisco 社によって開発された IGRP は、より大規模なネットワークをサポートし、より洗練されたメトリックを使用することで RIP を改良した独自のプロトコルです。
-
拡張内部ゲートウェイ ルーティング プロトコル (EIGRP): これは、距離ベクトル プロトコルとリンク ステート プロトコルの両方の機能を組み込んだ Cisco 独自のプロトコルであり、優れたスケーラビリティとネットワーク コンバージェンス時間を実現します。
プロトコル | 最大ホップ数 | ベンダー | メトリック |
---|---|---|---|
RIP | 15 | 標準 | ホップ数 |
IGRP | 100 | シスコ | 帯域幅、遅延 |
EIGRP | 100 | シスコ | 帯域幅、遅延、信頼性、負荷 |
距離ベクトルの使用法、問題、解決策
距離ベクトル プロトコルは、シンプルでセットアップが簡単なため、主に小規模で複雑性の低いネットワーク セットアップで、さまざまなネットワーク シナリオで使用されます。
ただし、これらのプロトコルではいくつかの問題が発生する可能性があります。
-
ルーティングループ: 特定の状況では、一貫性のないルーティング情報により、パケットのパスがループする可能性があります。この問題を軽減するために、スプリット ホライズンやルート ポイズニングなどのソリューションが使用されます。
-
無限に数える: この問題は、ネットワーク リンクに障害が発生し、ネットワークが新しいパス セットに収束するのに非常に長い時間がかかる場合に発生します。ホールドダウン タイマーは、この問題に対処するために使用される 1 つの手法です。
-
収束が遅い: 大規模ネットワークでは、距離ベクトル プロトコルはネットワークの変更に反応するのに時間がかかることがあります。この問題は、ネットワークの変更に迅速に反応する EIGRP などの最新のプロトコルを使用することで軽減できます。
類似用語との比較
距離ベクトル プロトコルは、リンク ステート プロトコルとよく比較されます。 それらの主な違いは次のとおりです。
基準 | 距離ベクトル | リンク状態 |
---|---|---|
複雑 | 実装が簡単 | 実装がより複雑 |
スケーラビリティ | 小規模ネットワークに最適 | 大規模ネットワークに最適 |
ネットワーク知識 | 隣人のことしか知らない | ネットワークトポロジの完全なビュー |
収束時間 | 遅い(定期的な更新) | 高速(即時更新) |
リソースの使用量 | CPUとメモリの使用量が少ない | CPUとメモリの使用量の増加 |
将来の展望
RIP や IGRP などの従来の距離ベクトル プロトコルは、現代のネットワークではあまり一般的ではなくなってきていますが、これらのプロトコルの基礎となる原理は今でも広く適用可能です。たとえば、インターネット上の自律システム間のルーティングに使用される BGP (Border Gateway Protocol) などのプロトコルは、距離ベクトルのバリエーションであるパスベクトル プロトコルを使用します。
ソフトウェア定義ネットワーク (SDN) などのネットワーク テクノロジの進歩も、将来的に距離ベクトルの原理がどのように使用されるかに影響を与える可能性があります。
プロキシサーバーと距離ベクトル
プロキシ サーバーは、他のサーバーからリソースを求めるクライアントからのリクエストの仲介役として機能します。通常、プロキシ サーバーはルーティングの決定に距離ベクトル プロトコルを使用しませんが、これらのプロトコルを理解することで、プロキシ サーバーが関与するネットワークを含め、データがネットワークを通過する方法についての基礎的な理解が得られます。
OneProxy のようなプロバイダーは、基礎となるネットワーク原理を理解することで、サービスのパフォーマンスと信頼性をより最適化できます。たとえば、最も効率的なパスを選択するという概念は、プロキシ サーバーでは非常に重要です。これは、待ち時間を最小限に抑え、スループットを最大化するのに役立ちます。
関連リンク
距離ベクトルの詳細については、次のリソースを参照してください。