記事を閲覧いただきありがとうございます。
KANGEN Holdingsにてネットワークエンジニアとして従事している山田と申します。
これまでCiscoのオンプレ環境しか経験してきていないという、クラウド全盛の時代としては化石のような人間ですが、、、
そんな自分だからこそ、お伝えできる知識を記事にできたらと思っています。
本連載は「ネットワークエンジニアなら知っておきたいFIB/RIBについて」というテーマで全3回を予定しております。
読者ターゲットは「ルーティング設計も経験し普段OSPFやBGPのテーブル、ルーティングテーブルの把握したうえで運用できるようになった」というレベルのエンジニアを対象とします。
普段の業務に対してのレベルアップにつながると幸いです。
はじめに
普段ネットワークエンジニアとして設計・構築・運用をする際に考えることはなんでしょう。
数多くあるとは思いますが、キャパシティという観点で意識することは何でしょう。
トラフィックはもちろんですが、導入するNW機器において意識すべきFIB/RIBという、普段あまり意識されないけれど非常に重要な役割を担っている要素に焦点を当てて解説していきます。
コントロールプレーンとデータプレーン
FIB/RIBを理解する上で、コントロールプレーンとデータプレーンという2つの要素を理解する必要があります。
-
コントロールプレーン:ネットワーク全体の制御を行う部分です。ルーティングプロトコル(OSPF、BGPなど)を用いて経路情報を交換し、最適な経路を決定します。
例:司令塔 - ネットワーク全体の状況を把握し、どの経路を通るべきか指示を出す -
データプレーン:実際にパケットを転送する部分です。コントロールプレーンで決定された経路情報に基づいて、パケットを宛先まで転送します。
例:配送業者 - 司令塔の指示に従い、荷物を目的地まで届ける
FIB/RIBとは何か?
FIB/RIBは、それぞれ
- FIB (Forwarding Information Base): 転送情報ベース
- RIB (Routing Information Base): 経路情報ベース
の略称です。
ネットワークを流れるデータ(パケット)は、目的地まで様々な経路を通って届けられます。
その際、ルーターと呼ばれる機器が「どの経路を通ってパケットを転送するか」を判断します。
FIB/RIBは、このルーターがパケットを転送するために必要な情報を保持していますが、それぞれ役割が異なります。
RIB (Routing Information Base)
RIBは、ネットワーク全体の経路情報を網羅したデータベースです。
ルーターは、RIPやOSPFといったルーティングプロトコルを用いて他のルーターと交換した経路情報や、自分で記述したStaticルートなど全てがこのRIBに格納されます。
例えるなら、RIBは全国の道路地図のようなものです。
どこに行くにも、まずはこの地図を見てたくさんある到達可能な道を比較し、どの道を通るのが最適かを判断します。
※最適と判断された経路を業務上ベストパスと呼ぶことが多いように思います。
このRIBはコントロールプレーンにおいて動作します。
FIB (Forwarding Information Base)
FIBは、パケット転送に特化したデータベースです。
RIBから実際にパケット転送に必要な情報を抜き出して作成されます。
例えるなら、FIBは道路地図から目的地までの最適なルートを抜き出したガイドブックのようなものです。
実際に移動する際には、このガイドブックを見ながら進みます。
このRIBはデータプレーンにおいて動作します。
ルーティングテーブルとの関係性
ネットワークエンジニアであれば、ルーティングテーブルという言葉はおなじみですね。
ルーティングテーブルは、パケットの宛先IPアドレスと、次にパケットを転送するルーター=ネクストホップの対応関係をまとめたものです。
厳密には異なりますが、ルーティングテーブル=RIBのと捉えても現場においては問題ありません。そして重要な点ですが、FIBの元となる情報でもあります。
FIBはルーティングテーブルの中で選抜されたベストパスの情報が記載されます。
ルーターはパケットを受け取った際に転送先を知るための参照先が必要となりますが、これがFIBです。
FIB内で宛先IPアドレスを検索し、実際にパケットを転送するインターフェースを決定し転送をしています。
FIB/RIBの重要性
FIB/RIBは、ネットワーク機器における性能と安定性に大きく影響します。
- 高速なパケット転送:FIBはRIBを元に最適経路のみが記載されています。FIBによって、受信したトラフィックは選出済みのベストパスに従い転送するのみ=パケット転送に特化した処理が可能なため(第2回で解説します)、高速な転送が可能です。
- 柔軟な経路制御:RIBはネットワーク全体の経路情報(RIP,OSPF,Staticなど)を保持しているため、状況に応じて最適な経路を選択できます。
- 冗長性の確保:複数の経路が存在する場合、RIBは代替経路を保持しておくことで、障害発生時にも迅速に切り替えることができます。
まとめ
今回は、FIB/RIBの概要と、ルーティングテーブルとの関係性について解説しました。
- FIB/RIBは、ルーターがパケットを転送するために必要な情報を保持するデータベース
- RIBはネットワーク全体の経路情報を網羅したデータベース、FIBはパケット転送に特化したデータベース
- ルーティングテーブルはRIBの一部であり、FIBの元となる情報
- FIB/RIBは、ネットワークの性能と安定性に大きく影響する
次回は、FIB/RIBが実際にどのような場面で活躍するのか、具体的な例を挙げながら解説していきます。