IPv6からIPv4にアクセスする代表的な方式としては,プロキシ型,NAT-PT型,SIIT型,TRT型がある。

 プロキシ型は,既存のプロキシ・サーバーをデュアル・スタック対応にして,IPv6パソコンとプロキシ・サーバー間のセッションと,プロキシ・サーバーとIPv4インターネット上のWebサーバー間のセッションをプロキシ・サーバー上で相互につないでやる方式である。

 NAT-PT型は,アドレス解決の機能とプロトコル変換の機能を別々の装置に分離してあるところがプロキシ型と違う。どちらもDNS空間がプロトコル空間とは別であることをうまく使っているが,NAT-PT型はDNSの結果を細工するのに対し,プロキシ型はプロトコル空間をまたぐところまでは名前のみで通信している。

 NAT-PT型でIPv6パケットをIPv4パケットに乗せ換えるしくみは,別のトランスレータ技術の一つであるSIITの中で定められた手順を流用している。SIITのトランスレータ技術は,ICMPを活用したものだが,色々と制限事項が多く現実的には活用しにくいと考えられている。IPv6アドレス体系で定めたIPv4変換可能アドレスを使うのが特徴だ。ただ,IPv4パケットとIPv6パケットのプロトコル変換のしくみがすでに安定して動作する環境が整っていたことから,NAT-PT型で採用された。

 NAT-PT型とよく似たトランスレータ技術がTRT型である。アドレス解決のしくみはNAT-PT型と全く同じ。ただ,トランスレータ上で実行するプロトコル変換のしくみがNAT-PT型とは異なっている。TRT型では,プロトコル変換をTCPやUDPなどのトランスポート層レベルで実行する。プロトコル階層に注目するとTRT型は,アプリケーション層でプロトコル変換するプロキシ型と,ネットワーク層でプロトコル変換するNAT-PT型のちょうど中間に位置づけられる。

 NAT-PT型とTRT型のどちらが優れているかは一概には言いにくい。トランスポート・レベルの処理が不要な分NAT-PT型の方が高速なプロトコル変換が可能だが,トランスレータ処理には例外も多く,例外処理に柔軟に対応できるTRT型の方が結果として処理負荷が軽くなる場合もある。ルーターを開発してきた経験上,個人的には,ルーターに実装するにはNAT-PT型は処理がやや重すぎるように感じている。トラフィックが多いネットワークでトランスレータを導入したい場合には,TRT型を採用した外部サーバーを用意し,ルーターはあくまでパケット転送だけに注力させるのが適切ではないだろうか。

図3●NAT-PTのしくみ



次回へ