間違いだらけのネットワーク作り(171) 2001/03/24
「OSPFにおける1エリアのルータ数」

CWCの広域LANに関連する話題が掲示板で続きましたが、そろそろ次のテーマに移りたいですね。 L2VPNのScalabilityについて簡単にまとめると、

○L2VPNがフレームリレーなどのサービスと比較してScalabilityが劣るということはない。 
○WAN側1セグメント/OSPFでは100拠点程度まで実績がある。 OSPFを使う場合、条件によっては100拠点未満でもエリアを分割する必要がある。
(ただし、これはL2VPNのScalabilityの問題ではなく、他網でも同様なOSPFの問題)
○100拠点を超える規模ではVLANを分割して設計すればよいだけで、大規模ネットワークにL2VPNが使えないということではない。

となるでしょうか。 L2VPNは大手通信事業者も近いうちに参入して今後一層認知度が高まり、普及する予感がします。
L2VPNのScalabilityについての議論はこの辺でいったん一区切りとし、L3VPN、つまりIP−VPNのScalabilityについてL2との比較で論議したいと思います。
IP−VPNではそもそもOSPFは使えないので同一条件での比較は出来ませんが、スタティック、BGP4、経路数、等の条件によって1つのVPNとして扱える拠点数は最大どの程度の数になるのか。 理論値と実績の両側から情報を収集したいと思います。 掲示板への書き込み、メール、お待ちします。

さて、今週は少し細かくはまりすぎの感はありますが、OSPFのエリアあたりルータ数についてIPの世界に詳しい二人の方からメールで見解を頂いたのでご紹介します。
 

OSPFにおける1エリアのルータ数

以下は「OSPFは1エリアにはせいぜい60台程度のルータが妥当、100台を同一ドメインに収容するのは疑問という意見があるのですが、見解を聞かせてください。」という私の質問に答えていただいたものです。
 

Tさんの見解
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
OSPFの負荷は、台数だけで決まるのではなく、そのネットワーク構成、とくにリンク(セグメント)の数が大きく影響されます。
また、経路数、ルータのCPU、メモリなどにも依存しますので一概にはいえません。

しかし、100台のルータと、それらがつながる1つのセグメントだけである、というネットワークでOSPFを走らすのであればまず問題はないでしょう。

ただしこれは、その100台のルータの外側にさらにOSPFが走っていてそこが複雑な構成になっている、とか、経路がいっぱい流れている、ということでなければ、ということです。

普通、OSPFを使うようなところは複雑なネットワーク構成が多く、そういうところではエリア内に100台となると、たしかにきついと思います。しかしこの例(L2VPN)は一つのセグメントに100台がつながっているという、かなり単純なトポロジーなので問題ない、ということです。

OSPFの処理で一番処理がかかるであろう、ダイクストラのアルゴリズムはエリア内のノードの数を n 、エリアの中の全リンクの数を l とすると、O( l * log(n) ) のオーダーになります。 上の場合はリンクは一つしかないので大丈夫ということになります。

また、これはどうでもいいことですが、流れるリンクステートはルータLSAが100個でその中はLink Type2のリンクが一つ、またネットワークLSAは1個になります。 あとは、各拠点のルータでstaticをredistributeとかしているでしょうから、その分のAS external LSAが流れます。

なお、OSPFのareaには何台までか、という絶対的なもの指標はありません。 上にも言っているとおり、トポロジーやルータの処理能力に大きく左右されます。 60台というのは、きっとInternet Routingという著書で有名なCiscoのHalabiが、”50台まで。60台とか70台は避けた方がいい”と言っているからでしょう。 これはCiscoのwebで見ることができたはずです。

また、たしかソフトバンクの日本語のインターネットワーキングデザインガイドという本にも50台以下にしろ、と書いてあったと思います。 また、OSPFを作ったMoyは、その著書の中で”1991年に多くて200台と言ったが、ベンダによって350というところもあれば、50とかそれ以下とかいうところもある。 ただ、あまり少なくしすぎないべきだ。”とかなりあいまいな表現を使ってます。 まあ、上の2つはどちらもかなり昔なので、あまりこれにこだわってもしょうがないです。

そういうわけで、まあ、広域LANの部分だけのOSPFドメインであれば大丈夫です。

でも、広域LANにつながるルータの向こう(各拠点)にも、OSPFを話すルータが複雑なトポロジーでたくさんあるのは、同一エリアにするのは難しいでしょう。 この場合は、広域LANの部分をarea0(バックボーンエリア)にして、各拠点を他のエリアにするのがいいと思います。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

Iさんの見解
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
OSPFは非常に静かなプロトコル(RIPのように騒がしくブロードキャストを出さないという意味で)です。そのため、100台ぐらいでは問題無いと思っています。 ハローパケットの間隔のチューニング程度で動いてしまうと考えています。(何といっても隣接ルータが数百台もあるネットワークになってしまいます。)

Ciscoが1エリア50〜60台が限界だということについては、CiscoがEIGRPをユーザに選択させたく強調していたように感じています。 
CiscoのSE(CCIE)にも質問してみたのですが、現在のCiscoのパフォーマンスでは50〜60台で限界ということは無いといっています。

では何台ぐらいであれば問題無いかと聞いてみたところ、はっきりとしたことは言えないし、実績も無いため保証はできないといったところです。(少し考えると、おっしゃる通りDRの負荷が一番高くなると思います。個々さえ解決すれば問題無いのかなという気もします。)

やはり、一般的なWANの回線(専用線ベースやフレームリレー)を使用した場合には同一エリアに数百台といった構成は実際にはないと思いますので、実績としてはないのかなと思っています。

OSPFは経路変更の収束計算量が多いため、頻繁に経路変更が多いネットワークでは収束時間についても考慮しておくことが必要かもしれません。(切り替えに数十秒かかるとセションダウンが考えられます。)

また、実際の検証試験を行うことも不可能に近い(数百台のルータを接続し、全てを設定し、ある程度の負荷をかけた上でのテストになるので実際には無理ですね。)こともあり、また、OSPF負荷についてはなかなか情報がないため見積もりが難しいと思っています。 (Ciscoの単純なIPパケットのスループットについてはデータがあるため、近似計算が可能ですが)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

*私は自分に分からないことはすぐ、「教えてください」という表題のメールを「この人なら」と思う方に飛ばすのですが、Tさん、Iさんには期待した以上の回答を頂きました。 ありがとうございます。

*広域LANやIP−VPNを使う場合のルーティングをはじめとする設計手法については、近いうちにオフネットの研究会でも取り上げてディスカッションしたいと思います。
 
 

ホームページへ