
ブロードバンドルータで理解するTCP/IPルーティング
連載:ルータの仕組みを学ぼう
第3回(最終回) ブロードバンドルータの内と外
加地眞也
2001/7/6
前回までに解説した、基本的なルーティングの動作は理解できただろうか。今回はさらに一歩進めて、一般的なブロードバンドルータに搭載されているルーティング技術について見てみよう。
■ブロードバンドルータの内側と外側〜LANとWAN
ブロードバンドルータには、「LAN側」「WAN側」の2つのポートがそれぞれ用意されている。WAN側はADSLモデムやCATVモデムなど、外部のネットワークと接続するためのポートだ。LAN側は、ハブ(コラム参照)として構成され複数ポートの場合もあるが、家庭内のPCなどの機器を接続するためのポートだ。
通常のルータであれば、単に同じポートが複数並ぶだけであり、ブロードバンドルータのように内部と外部で区別されることはない。
![]() |
| 写真1 メルコ「BLR-TX4」の背面写真。左にWAN側ポートが、右にLAN側ポートが4つ並んでいるのが分かる |
ブロードバンドルータでは、このように外部と内部とを切り分け、内部から外部へのアクセスは可能だが、外部から内部へのルーティングは行えないようにしているのが普通だ。これはもちろん、外部からの不正アクセスを禁止するためである。「簡易ファイアウォール機能」と表記されているブロードバンドルータ製品があるのは、これに由来している。もっとも、あくまで“簡易”であって、完全なファイアウォールではない点に注意しなくてはならない。
ルーティングとは、あるセグメントから隣り合った別のセグメントへの「相互」のルーティングを行うことだが、ブロードバンドルータではこれを「一方通行」にしてしまうわけだ。もちろん、それらの機能をオフにして、通常のルータとして動作させることも可能だ。
ブロードバンドルータは、LANのようなネットワークとインターネットとを接続することを前提にしており、最初からこれらの機能を搭載しているのが通常のルータとの大きな違いである。つまり、家庭内やSOHO環境では、当然そうした利用が主であるとの配慮なのだ。では順に、それらの機能について見てみよう。
■外部からの隠ぺい〜IPマスカレード
外部から内部へのアクセスを遮断するのは、実はとても簡単だ。ルータでのルーティングを禁止してしまえばよい。前回説明したルーティングテーブルを元に、ルータはルーティングを行う。そこで、ルーティングテーブルの内容を削除したり、そのルーティング機能自体を動作しないようにすればいい。しかし、それでは当然、内部から外部へのアクセスも行えなくなってしまう。
●IPアドレス変換で複数ノードの同時接続を実現するNAT
そこでルータにおいて、内部から外部へと送信されるIPパケットを、あたかもルータ自身が外部とアクセスしているかのように書き換え、“仮想的”に内部ノードと外部が通信できるようにする手法が多く用いられている。いくつかの方法があるが、ブロードバンドルーターでは「NAT(Network
Address Translation)」か「IPマスカレード(NAPT(Network
Address Port Translation)とも呼ばれる)」という2つの方式が一般的だ。
NATやIPマスカレードは、元々は「IPアドレスの枯渇」に対応するため、苦肉の策で考案されたものだ。足りなくなったIPアドレスを補うために、IPアドレスのある特定の範囲を「プライベートアドレス」として、会社内イントラネットなど、インターネットに直接接続されないノードで使用するためのアドレス範囲が定義された。逆に、インターネット上で通常使用されるプライベートアドレス以外のアドレスを「グローバルアドレス」と呼ぶ。
|
|||||||||||||
| 図1 プライベートアドレスとして利用できるIPアドレスの範囲 |
ルータでは、プライベートアドレスがふられた内部ノードからのIPパケットを受け取ると、いちど内部でIPパケットの送信元アドレスをルータの外部ポート(ブロードバンドルータではWAN側ポート)のIPアドレスへと変換して、外部ノードへと送信する。つまり、外部ノードから見ればルータからのパケットにしか見えないことになる。これがNATである。
TCPの場合には「往復」のパケットが発生するが、単純に「往」のパケットのみを変換したのでは、ルータへと戻ってきた「復」のパケットを送信元の内部ノードへと返せなくなる。そこでルータでは、「アドレス変換テーブル」というものを保持しておき、通信ごとに対応を管理、正しく内部ノードへと「復」パケットも戻すようにしている。
ところが多くの場合、NATは使用しにくい。なぜならNATを正常に機能させるには、ルータは内部ノードの数だけグローバルアドレスを持っていなければならないからだ。これでは、グローバルアドレスの節約にはまったくつながらない。あるいは、ただ1つだけのグローバルアドレスでNATを行おうとすると、あるアクセスが発生している間はほかのアクセスが行えなくなる場合もある。同じ送信元TCP/UDPポートを使用するアクセスを複数同時に行うことは、そもそも処理できないからだ。
●同時アクセス機能を強化したIPマスカレード
そこで考えられたのが「IPマスカレード」である。IPマスカレードでは、IPアドレスのほかにTCP/UDPポートも変換する。つまり、少なくともTCP/UDPポート数の上限までは同時アクセスが可能になるわけだ。
![]() |
| 図2 IPマスカレードの仕組み |
![]() |
| 画面1 メルコ「BLR-TX4」でのIPマスカレードの設定画面。ここでIPマスカレードを「使用しない」に設定すると、通常のルータとして動作するようになる。なお、「不明なポートを転送するLAN側アドレス」とは、DMZ(後述)で使用するノードの指定 |
NATやIPマスカレードは、IPアドレス枯渇の問題を解決すると同時に、セキュリティ面でも大きな効果をもたらすことになった。考えてみてほしい。WAN側からLAN側へ、つまりプライベートアドレスのような「ルーティング不可能な」アドレスには、どのようにアクセスすればいいのだろうか? 不可能である。なぜなら、インターネット上に存在するルータは、プライベートアドレスがインターネット上で使用されていないことを知っており、どのルータのルーティングテーブルにもプライベートアドレスは記載されていないからだ。
ネットワーク階層図を使って考えてみよう。
![]() |
| 図3 IPマスカレードにおけるネットワーク階層図 |
前回までの通常のルーティグとは異なり、トランスポート層まで含めてルータによって分断されている。つまり、ルータが明示的にルーティングや変換をしない限り、IPパケットは直接通過できないことを意味している。
NATやIPマスカレードは、その成り立ちや背景から、「邪道」「一時的な流行」などと見られることも多いが、ネットワーク構成上は、セキュリティの確保において非常に有効な手段であることも理解してもらえるだろう。
|
■外部からのアクセスを実現する「フォワーディング」「DMZ」
一方で、外部から内部へとまったくアクセスできないのでは困る、というケースもありえる。オンラインゲームやインスタント・メッセンジャーなどでは、外部から内部のノードへとセッションが張られ、実行されることも多いからだ。
IPマスカレードによって確保されるセキュリティには、明らかに反するニーズではあるのだが、実現方法は単純だ。IPマスカレードと逆のことを行えばよい。外部からルータの外部ポートへのアクセスが発生した際には、IPパケットの送信先としてルータのWAN側IPアドレスが指定されているので、これを中継するルータが内部ノードのIPアドレス(プライベートアドレス)に差し替えるのだ。もっとも、複数ある内部ノードのどれに対してパケットを送ればよいのかルータは分からないので、あらかじめ定義しておく必要がある。
ある特定のTCP/UDPポートへのアクセスがあった場合、あらかじめ指定したノード(のIPアドレス)へと転送する方法を「フォワーディング」「アドレス変換/置換」などと呼ぶ。あるいは、IPマスカレードに比べると静的にアドレスを設定するので、「静的IPマスカレード」と呼んでいるルータもある。
これとは別に、TCP/UDPポートを特定せず、すべてのアクセスを指定したノードへと転送する方法を「DMZ(DeMilitarized Zone:非武装地帯)*1」などと呼ぶ。いうなれば「無条件フォワーディング」である。
![]() |
| 図6 フォワーディングの仕組み |
![]() |
| 画面2 メルコ「BLR-TX4」でのフォワーディングの設定画面。BLR-TX4では「アドレス変換テーブル」と呼んでいる。ここでは、WAN側の6699ポートへ届いたバケットを特定の内部ノードへフォワードするように指定している |
DMZ機能を使えば、IPマスカレードの動作とは関係なしに、内部ノードがインターネットに直接接続されたのとほぼ同様の利用が可能になる。ただし、当然これではセキュリティ面の恩恵は受けられない。セキュリティ面のリスクを覚悟して使用すべきだ。
|
■パケットフィルタリングとファイルウォール
簡易ファイアウォール機能を実現するもう1つの要素が、「パケットフィルタリング」機能の搭載である。パケットフィルタリングはその名前の通り、ある一定のルールに基づいて特定のパケットだけをフィルタリングする、つまりふるい落とす機能だ。ルータならではともいえる非常に基本的な機能で、特定のIPアドレスやポートなどの条件に該当するパケットのルーティングを禁止/許可する。それらのアドレスやポートの条件を「ルールセット」と呼ぶ。
通常のルータでは、先のIPマスカレード機能を使わなくともほぼ同様の効果を得られるわけだが、ブロードバンドルータでは、IPマスカレードによってWAN側→LAN側のルーティングが規制される前提があるので、逆にLAN側→WAN側だけのパケットフィルタリングのみに対応している場合が多いようだ。設定できるルールセットに制限がある場合も多いが、IPアドレスやポートをいちいち設定する方法のほかに、例えば「NBT(NetBIOS over TCP/IP:Windowsネットワークのプロトコル)パケットをフィルタリングするなど、あらかじめ用意されたルールセットで設定できる場合もある。
![]() |
| 画面3 メルコ「BLR-TX4」でのパケットフィルタリングの設定。「フィルタの設定」から用意されているルールセットを選択するか、フィルタリングするIPアドレスとポートの組み合わせを指定する。LAN→WAN方向のパケットのみに対応する |
|
ブロードバンドルータは、今後もっとも普及するネットワーク機器となる可能性が高い。しかしまだ歴史も浅く、ISDNルータなどに比べるとこなれていない点も多く、これからもさらなる機能追加が行われていくだろう。
場合によっては、利用上の不満や不備も感じられるかも知れない。しかし一方で、これだけ手軽に使える高機能なネットワーク機器もまた珍しい。便利さに隠された機能や特徴の本質をしっかり理解して使いこなせる、賢いユーザーを目指そう。
| 「Master of IP Network総合インデックス」 |
TechTargetジャパン
- 実機では測定できない性能を測定? (2012/2/7)
システムの完成前に、達成し得る性能値や必要なサーバリソースを知るには? その解となる「性能シミュレーション技法」を解説 - 性能チューニング個所の検討 (2012/1/30)
アプリのチューニングや環境増強で、どの程度改善が見込める? 今回からは「実際に活用できる性能対策」を解説します - 遅いところを直すだけでいいのですか? (2012/1/24)
負荷が集中したときの性能ボトルネックを改善するのに、アプリケーションサーバとDB、どちらを優先すべきでしょう? - cloudfoundry.comを使ってみよう (2012/1/19)
VMwareが提供するPaaSプラットフォーム「CloudFoundry」。注目を集めるこの基盤を活用してPaaSを構築!
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -









