ルータにおけるRIBとFIBの違いを教えてください。


入力されたパケットはFIB(SRAMやCAMに格納されている)を参照して
出先IFと出先ポートを決定するようですが(間違っていたら直してください)、
RIBがよく分かりません。

RIBとFIBの違いでググったら
http://www.j-tokkyo.com/2007/H04L/JP2007-096912.shtml
が出てきましたが、知りたいのは格納方法ではなく中身の違いです。

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/10/22 10:36:49
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:taku_j_7 No.1

回答回数139ベストアンサー獲得回数12

ポイント20pt

解り易く言うとこんな感じでしょうか。


【RIB】

RIBはBGPを通じて得られるルーティング情報などを扱い、

パケットが到達するまでの経路を処理し、ループなどが起こらないようにする。

RIBテーブルは通常DRAMに保持。


【FIB】

パケットをどこに転送すればよいかを扱うテーブル。

上記のRIBから作成される、高速で転送する為にツリー型のデータ構造。

FIBはDRAMよりも高速なSRAMかCAMに保持。


Ciscoを触っていて、RIBという表現をあまり耳にしない事もあり、

単純なIPルーティングテーブル(経路情報テーブル)で問題無いと考えています。

id:labtest

理解できなくて再質問させて頂きます。

>単純なIPルーティングテーブル(経路情報テーブル)

とはIPプレフィックスと宛先情報のテーブルのことですか?


その後自分で調べたのですが、

http://wiki.livedoor.jp/rai_no/d/BGP4

の「テーブル/DB」に

BGPスピーカが経路を学習する際通るテーブル 以下の三つで構成(以下略)

と記述があります。BGPに詳しくないのでもし分かったら教えて下さい。

ちなみにCisco RIBとググると色々出てきますが、残念ながら分かりませんでした。

2008/10/21 18:50:59
id:taku_j_7 No.2

回答回数139ベストアンサー獲得回数12

ポイント20pt

>>単純なIPルーティングテーブル(経路情報テーブル)

>とはIPプレフィックスと宛先情報のテーブルのことですか?

その認識で問題ありません。


BGPについては下記のサイトで掴んでみて下さい。

http://www.atmarkit.co.jp/fnetwork/rensai/iprt02/iprt01.html


>http://wiki.livedoor.jp/rai_no/d/BGP4

BGP4のテーブルは用途に合わせて、格納されている情報が違います。

簡単に言うと

名称 格納されている情報
Adj-RIBs-In 他のBGPスピーカから取得したルート
Loc-RIB 自身で使うローカルポリシーのルート
Adj-RIBs-Out 他のBGPスピーカへ伝達するルート

となります。


Ciscoのサイトを見るとRIBは「ルーティング情報ベース」とそのまま記載されていますね。

前レスの通り、FIBはこのルーティング情報ベースをツリー型で効率化したものです。

Cisco製品の場合、FIBとARP情報をまとめたものを「CEFテーブル」と呼んでおり、

このテーブルを対向機器とやり取りするようです。

id:zzz_1980 No.3

回答回数492ベストアンサー獲得回数64

ポイント40pt

この資料の図3を見てください。

http://www.cisco.com/web/JP/product/hs/switches/cat6500/prodlit/...

Cisco Catalyst 6500 のルーティング情報の扱い方に関するブロック図が掲載されています。

  • FIB

forwarding infrmatin base

一般的なMPLSではIEEE802.3(ethernet)フレーム上のmac address,tag情報を手がかりに転送先を決めます。

パケットの転送に取りこぼしは許されないため、転送先情報はハードウェアから直接参照されるようになっています。

  • RIB

router information base,ルーティング情報ペース

一般的にはIPにおける経路情報のことを差していると考えてかまいません。


経路制御プロトコルにはいろいろあり、それらの情報を全部ハードウェアで直接参照するのは大変なため、いったんRIBにまとめておきハードウェアに解釈しやすい形に変換してFIBに書き出しておく、と考えておくといいでしょう。


BGPは経路制御プロトコルのひとつです。インターネットサービスプロバイダ間で経路情報をやりとりするために使われています。

一般的な経路制御プロトコルを扱うプロセスのほか、図3にある「IS-ISプロセス」と呼ばれるCisco のIntermediate System-to-Intermediate Systemにて使われているプロトコルをあつかうプロセスがのっています。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません