『ルータの中身と仕� P.59�P.77� by カ�ー




みなさんは「ルータとはどんな�でしょ��」と聞かれてなんと答えますか��
一言で言え�

「あるネ�ワーク間でパケ�を転�ルー�ング�する��

となる�かもしれませんが、皆さんご存知のように最近�ルータはそれ�けでは語りつくせな�ど��な事をして�す。今回の特�はそんな「ルータの中身と仕事」につ�解説されて�す�

「いまさらそんなこと説明されなくても�・・」と思う方もいるかもしれませんが(私もそう思いました�^^;�、新しい発見もあってなかなか面白�事でした�


 はじめに興味深かった�がpart1「定義」�最後にある
「ルータは、L3スイ�とどこが違う�」と�コラ�です。これにつ�は、私�周りでも上司に聞かれて回答に困って�人がいました。(笑�
こ�記事では、L3スイ�の特徴につ�次のように定義して�す�

(1)L3スイ�は、ルータとLANスイ�が一体化したも�
(2)ローカルルータが行って�社��イーサネット同士を接続するために特化して作られて�ため、価格の割にパケ�転送�力が高い
(3)イーサネット以外�インターフェースを持たな�
(4)実��ルー�ングプロトコルの信頼性に疑問が残る
(5)パケ�フィルタリングやQoSと�た機�が貧弱であったり、柔軟性に�ける


 たしかに、Catalyst3550なんかではイーサネットインターフェース�けですし、私�身もルー�ングプロトコルであるIS-ISが使えな��router isisコマンド�入るが動かな�とか、PBR(Policy Based Routing)ができなかったと�経験があります。(最近�IOSでは問題な�もしれませんが�・・��

しかしながら、ハイスペックなルータではASICによるパケ�の高速転送もできますし、イーサネット以外�インターフェースを持つL3スイ�もあります�(4)�(5)につ�もメーカーの実�第�と思います�で、個人�は
今後ますますL3スイ�とルータの�があいま�なって�て、上司の�朴な質問�回答に苦し�人が増える�ではな�と思います。(笑�

そ�ほかに興味深かった�が、Part3「高速化技法」でルータがパケ�を転送する際のヘッダ解析��つ�触れられて�す�

 ルータがルー�ング��ブルから、IPヘッダのあて先に適合するルートを見つけ�すとき、どのような方法があるのでしょ���

 まず誰もが思いつく方法として、単純にルー�ング��ブルを上から�とつひとつ見て��方があります。この方法では運がよけれ�1回目の比�見つかるかもしれませんが、基本�ルータはロンゲスト��検索�最も長くアドレスのビット�が一致する経路を使�を行います�で、より長く一致するルートを探す�があるため最後まで��ブルを確認する�があり、テーブルが大きけれ�大きいほど時間がかかり現実的ではありません�
 
そこで
探索法�定番と�れて��ー法とハッシュ法につ�解説されて�すが、個人�「なるほどね�~」と思った�がハ�ュ法でした�

ハッシュ法�ハッシュ関数を使�す。ネ�ワークの世界ではよく出てくる言葉ですが、ハ�ュ関数とは何でしょ���

【ハ�ュ関数�
 数字や�など不定長の��を一定長の��タに要�るため�関数・手���ことであり、�力される��タはハッシュ値と呼ばれる。“SHA-1”や“MD5”と�ハッシュ関数が代表�、いずれも一方向関数であるため生���タから原文を推定することは不可能であるが、原�同じであればハッシュ値は�同じになる�

 ここで重要なのは“不定長の��を一意な一定長の��タに要�きる”と�ことです�

これにより比�る文字�を減らすことができ、検索処��高速化につながります。特にハッシュ法�、比�る文字�が長くなりがちなフィルタ検索に向いて�そうです�

たとえ�「MACアドレスがXかつ、IPアドレスがYで、�ート番号がZであるIPパケ�をフィルタする」と�た�合、MACアドレス48ビット+IPアドレス32ビット+�ート番号16ビット�96ビット�のビット�をパケ�を受信するた�に比�る�があります。そこでこ�ビット�を短�4ビット�ハッシュ値に変換しておき、パケ�を受信するた�に、そのヘッダのMACアドレス、IPアドレス、�ート番号をハ�ュ関数にかけて、ハ�ュ値同士を比�れ�4ビット�比�けですみます�

※実際にはすべてビット��4ビットで表現するため、���タが違ってもハ�ュ値が重�る可能性があるため、これほど簡単には短くできな��
す�

私�、ハ�ュ関数はMD5認証などセキュリ�で使�の�と思って�したが、このような検索処�使えると�ことでとても感�ました。これを�た人は偉いです���笑�

最後に、まったく別の手法が紹介されて�す。それ�CAMと呼ばれる専用チップを使�法です�
 CAMはビット�の比��を持った特殊なメモリーで、あらかじめ登録しておいたビ�列と、�力したビ�列を比�て、合致するも�を瞬時に出�
すると�も�です�

 私�今まで「CAMは高速にMACアドレスを検索できるも�・・」と��然とした認識しかなく、なにげにCatalystで“show cam dynamic ���”なんて叩�ましたが、この特�改めてCAMの優位性を�認識しました�

 以上、「ルータの中身と仕事」と�タイトルから一見�歩�解説に思える記事ですが、いろいろ勉強になる�容でしたので、みなさんも一読されてみては�がでしょ���


※カ�ーさん、ありがと�ざいます。「ルータとレイヤ3スイ�の違い」�おっしゃるとおり、どんどんなくなってきて�す�。カ�ーさんの今回のレビューを読んだ方は、ルータとレイヤ3スイ�の違いはもうばっちりです���(Gene)


日経NETWORKの詳細、購読申し込みはこちら�




(C) Copyright 2000-2004 Gene All Right Reserved