ユーザーに向けてIPv4パケットを一斉同報する「IPv4マルチキャスト」(以下,マルチキャストと表記)は,以前からNATとの相性があまり良くないことで知られています。キャリア・グレードNATもNATの一種ですので,マルチキャストとの相性が問題になります。そこで今回は,キャリア・グレードNAT環境でマルチキャストを行うために,どういう手を打つべきかを考えてみます。
まず,従来のNATとマルチキャストの関係について押さえておきましょう。ポイントは二つあります。
一つは,「ブロードバンド・ルーターがNAT処理をするときにマルチキャストを扱う方法はさまざまである」ということです。古いブロードバンド・ルーターのなかには,NATを処理するときにマルチキャストの通信を処理できない(処理しない)ものもあります。
NATを行っているときにマルチキャストを扱えないブロードバンド・ルーターを使っているユーザーに対しては,マルチキャストの通信をL2TPなどのVPN通信でトンネリングしてNATを通過させる方法などもあります。ただしこの方法は,通信事業者などがトンネリング用のサーバーを設置し,運用する必要があります。ただこうしたケースは少なく,プロバイダはNATでマルチキャスト通信を扱った運用実績が少ないのが実情です。
NATとマルチキャストの関係でもう一つ押さえておきたいポイントは,「マルチキャストはもっぱら,単一のプロバイダ網に閉じて行われる」ということです。つまり,あるプロバイダがそのプロバイダのユーザーだけに向けてマルチキャストを行うケースがほとんどなのです。
キャリア・グレードNAT装置の配下に配信サーバーを置くのが最適解
これまで説明したポイントを踏まえて,キャリア・グレードNATとマルチキャストの関係を見ていきましょう。実はキャリア・グレードNATに関連するインターネット・ドラフトには,IPマルチキャストについての記述はありません。そしてキャリア・グレードNATはこれから実用化されるしくみなので,マルチキャストを扱った実装例もありません。
単純に考えれば,キャリア・グレードNATでは,マルチキャストとの相性問題が従来のNATより複雑化するはずです。NATの回数が「キャリア・グレードNAT装置」と「ユーザー宅のブロードバンド・ルーター」の2回に増えるからです。
しかし筆者は,マルチキャスト配信を行うネットワークの構成を工夫することで,従来と同じ手間でマルチキャストとNATの相性問題を解決できると考えます。この工夫とは,キャリア・グレードNAT装置よりもユーザーに近いところに,マルチキャストの配信サーバーを置くことです(図1)。これで,マルチキャストに対してNATが行われるのは従来と同じ1回で済みます。IPマルチキャストは,同一のプロバイダ網の中に閉じて実施するのが一般的です。キャリア・グレードNAT装置の配下に配信サーバーを置いても,従来のマルチキャストとやり方が大きく異なることはありません。このように検討してきた経緯から,筆者が開発に携わっているキャリア・グレードNATシステムは,今のところマルチキャストを扱う機能を実装していません。

ネットワークバリューコンポネンツ ニュービジネスチーム