2013年12月31日火曜日

IPv4アドレスが枯渇している時代だから!NAPT性能で選ぼう!(2013年)

IPv4アドレスが枯渇したとか騒がれたが、一向にIPv6が普及する見込みがない。IPv6を使えるようにするより、NAPTして一つのIPv4アドレスを効率よく使用したほうが超楽。大体IPv6に対応したWEBアプリケーション自体まだまだ少ないし、グローバルIPオプションは高いし。

現場ではNAPTをNAT(NATじゃないのにね!)ということがある。「なぷと」って言いづらいから「なっと」って言ってるんだろうけど、正直この業界に入った当初は混乱した。

【先輩】固定グローバル1個あるからNATしてルータ下の端末がインターネット出れるように
    とりあえず設定しといて、細かいのはあとで俺がやるから。

【オレ】NAT?グローバル1個しかないっすよ?

【先輩】あぁ?マスカレードのことだよ!そこはお前会話の流れで!その・・・あれだよ!

 【オレ】そうっすか!了解っす!

シスコはIPマスカレードって言うことを推奨しているようだけど、メーカーによって言い方はてんでバラバラ。まぁマスカレードとかNAPTって書いたあることがほとんど。たまにNAPTのことを「動的NAT」って言い方をしているメーカもあるから注意すること。(動的NATは本来は違う機能なのにね)

 さて、このNAPT処理、実はFWと似た機能と思って差し支えないと思う。ローカルから外部へは通して、その戻りのみを外部からローカルに通す。それ以外の通信は通さない。動作としてはFWそのものだね。実際アライドテレシスだとNAPT機能はFW機能の中に組み込まれており、設定コマンドもFW関連のコマンドになる。シスコやヤマハに慣れた人がアライドで戸惑うのは結構この部分だったりする。

NAPT・およびFWの性能を指し示す指標の一つとして「最大セッション数」がある。これはその装置が管理できるセッション数の最大値のことで、NAPT性能に大きくかかわる。
セッションとは端末が通信を行う際に使用する仮想の通信線みたいなものと捉えるとわかりやすい。通信線をたくさん張るほど(セッションをたくさん張るほど)たくさんの通信ができる。では実際にパソコンがどんな時にどの程度セッションを張るのか。

Windowsであればコマンドプロンプトを開き、下記コマンドを実行することで、その端末が張っているセッションの情報を表示することができるので、気になったら確認するといい。ちなみにこのコマンドをうまく使うと、ウイルス対策ソフトが無くても、ウイルスの感染確認やマルウェアそのものを特定できたるする可能性があるがその話は別途。

【コマンド】netstat -an

尚、セッション数の参考値は下記の通り。

Googleマップ・・・・80~100セッション程度
Youtube・・・50セッション程度
ニコニコ動画・・・80セッション程度
iTunes・・・200セッション程度

何れもアプリ・コンテンツ単体の数値で同時に利用するとすべて加算される。一般的なパソコンの利用であるのであれば1端末あたり平均400~500セッションは見込んでおくと良いだろう。ただし、セッション数についてはコンテンツの容量が増えるほど増え、近年消費セッション数は増加傾向にある。加えてタブブラウザの存在である。ブラウザを起動すると複数のタブを一気に開くものがあるが、あれはセッションを一気に張るため、ルータのセッションテーブルを消費してしまう。よって、特定の端末の通信がNAPTテーブルを占有することを防止するためにルータ側でのセッション管理(端末毎のNAPTセッション使用数制限)が必須となってくる。

※キャリアグレードNAT(LSN)では1端末の割り当てセッションが数十セッションという話があるが、本当にそれだけしか割り当てないのなら実用に耐えることはできないと思う。
https://www.nic.ad.jp/ja/newsletter/No41/0800.html


 ルータによってセッションテーブルの多きさは変わってくる。当然セッションテーブルが大きいものに越したことはない。10万円~20万円程度のギガ対応ルータでNAPT性能を比べてみよう。

【アライドテレシス】
AR570S・・・最大セッション数 10000セッション
       希望小売価格 \218,000

【YAMAHA】
RTX1200・・・最大セッション数 20000セッション 
        希望小売価格 \131,250

【NEC】
IX2215・・・最大セッション数 65,535セッション 
        希望小売価格 \118,000

シスコは保守費があるので含めないけど・・・ISR 1900シリーズなら65535セッションはいけると思う。

IX2215とISR1900シリーズの65535セッションという数字はNAPT処理で使用できるセッション数の上限値、よってNAPTテーブルのサイズで選ぶならIX2215だろう。

尚、NAPTテーブルが小さくても、セッション管理をうまくすることでセッションテーブルが一杯にならないようにしているルータもある。この処理はメーカによって異なり、開発側の腕の見せ所だろう。
アライドなんかは小さいテーブルでNAPTをバリバリ回しているイメージがある。まぁバグがなけりゃね。。。今の製品は知らないけど昔は結構泣かされたわい。

ちなみにIXシリーズはNAPTテーブルのデフォルト値が4096(だったかな?)なので、上限値を引き上げる設定をする必要があるので注意すること。
 http://jpn.nec.com/univerge/ix/faq/ip.html#Q2-2


今回はこんなもんかな。

0 件のコメント:

コメントを投稿