4. ルーティングプロトコル

ネットワーク上のすべてのデバイスのルーティングテーブルを手動で設定するのは、非常に面倒な作業になります。このプロセスを自動化するために、動的なルーティングプロトコルを使用します。これらのプロトコルにより、ルーターはさまざまなルートを学習し、ルーティングテーブルに構築し、それに応じてパケットを転送することで、ネットワークの変更に自動的に適応できます。ルーティングプロトコルには、ディスタンスベクタとリンクステートの 2 つの主要なタイプがあります。

ディスタンスベクタプロトコル

ディスタンスベクタプロトコルは、「噂によるルーティング」の原則に基づいて動作します。各ルーターは、定期的に自身のルーティングテーブル全体を直接接続されているネイバーと共有します。ルーターがネイバーからルーティングテーブルを受信すると、新しいルートやより良いルートがあれば自身のテーブルを更新します。「距離」は通常、ホップカウントなどのメトリックで測定されます。この方法は単純ですが、コンバージェンスが遅くなる可能性があり、ルーティングループの影響を受けやすいです。ディスタンスベクタプロトコルの例として、ルーティング情報プロトコル(RIP)があります。

リンクステートプロトコル

対照的に、リンクステートプロトコルは、各ルーターにネットワークトポロジの完全なマップを提供します。ルーターはルーティングテーブル全体を共有する代わりに、自身のリンクの状態(例:接続されているネイバーと接続のコスト)に関する情報をネットワーク上の他のすべてのルーターに送信します。この情報を使用して、各ルーターはネットワークの同一のマップを独立して構築し、すべての宛先への最適なパスを計算します。このアプローチは、ディスタンスベクタプロトコルよりも高速なネットワークコンバージェンスにつながり、スケーラビリティも高くなります。例として、Open Shortest Path First(OSPF)プロトコルがあります。

ネットワークコンバージェンス

プロトコルについてさらに詳しく説明する前に、ルーティングにおけるネットワークコンバージェンスとして知られる重要な概念を理解することが重要です。ルーティングプロトコルを使用する場合、ルーターは情報を収集および交換するために通信します。コンバージェンスとは、すべてのルーターがネットワークトポロジについて一貫性があり正確なビューを持っている状態を指します。すべてのルーティングテーブルがネットワーク全体を正しくマッピングしている場合、ネットワークは「コンバージェンスした」と見なされます。リンクダウンなど、変更が発生した場合、すべてのルーターが変更を学習し、ルーティングテーブルを更新するまで、コンバージェンスは一時的に失われます。

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!ネットワークルーティングと IP アドレス指定の理解を深めるための実践的なラボをいくつか紹介します。

  1. Linux での IP アドレス指定の管理 - 静的および動的 IP アドレスの設定、デフォルトゲートウェイの設定、ネットワーク構成の検証を練習します。これらはルーティングテーブルがどのように構築され、利用されるかを理解するために不可欠です。
  2. Linux での ping と arp によるネットワーク層の相互作用の探求 - デバイスがネットワーク層でどのように相互作用するかを学習し、ARP とデフォルトゲートウェイがリモートトラフィックをどのように処理するかを観察します。これはルーティングプロトコルが管理するメカニズムについての洞察を提供します。
  3. Linux でのネットワーク層接続のシミュレーション - Docker を使用してネットワークノードをシミュレートし、IP アドレスを割り当て、サブネットをまたいだ接続性をテストします。これは、ネットワークの変更とルーティングの決定に関連する概念を直接適用するものです。

これらのラボは、ネットワーク構成と接続性の概念を実際のシナリオに応用し、ルーティングプロトコルが自動化する基本的な要素に対する自信を構築するのに役立ちます。

クイズ

ネットワークトポロジについてすべてのルーティングテーブルが合意している状態を指す用語は何ですか? (英語で、大文字と小文字に注意して回答してください。)