本連載も今回で8回目となり、最終回を迎えました。今回はこれまでの内容を簡単にまとめて、トランスレータをとりまく状況を紹介したいと思います。連載の第1回で、トランスレータはNAT(Network Address Translation)の延長線上にある技術だと説明しました。これは、第2回以降で説明した動作原理などからご理解いただけたと思います。トランスレータは、これまで使ったことがなかった方にとっては難しく感じられたかもしれません。しかし、動作原理がわかると意外と易しく感じていただけたのではないでしょうか。

 それではまず、これまでの内容のポイントを簡単に振り返ってみましょう。

まとめ:トランスレータの役割

 最も基本的かつ重要なポイントは、「IPv4機器とIPv6機器が相互通信するためには、トランスレータが唯一の解決策である」という点です。第1回の図1に示したように、IPv4とIPv6のヘッダーは互換性がありません。さらにUDP(User Datagram Protocol)やICMP(Internet Protocol Control Protocol)も、IPv4用とIPv6用で仕様が異なります。ヘッダーサイズが異なることから、変換後のパケットは変換前のパケットとサイズが異なります。変換後のパケットが変換前のパケットよりも大きくなると、トランスレータでパケットを分割しなくてはならないケースがあります。

 トランスレータはNATと同様に、IPv4アドレスとIPv6アドレスを1対1でマッピングすることも、NAPT(Network Address Port Translation)のように1対nでマッピングすることも可能です。トランスレータを経由するパケットは、送信元アドレスとあて先アドレスの両方が書き換えられます。NATの場合は通常、プライベートアドレスを持つクライアントのアドレスのみが書き換えられます。ここがトランスレータとNATの最も大きな違いです。

まとめ:トランスレーションに必要な五つの要素

 第2回の図1で示したように、トランスレーションには(1)送信元にアドレスを通知する、(2)パケットを(トランスレータに)到達させる、(3)パケットを変換する、(4)アドレスを変換する、(5)パケットを(最終のあて先に)到達させる――の五つの仕組みが必要です。パケットを変換する仕組みやアドレスを変換する仕組みは、これまで説明してきたようにIPv6とIPv4の違いを埋めなければいけないため、NATとは別の動きをします。パケットを(トランスレータに)到達させる仕組みやパケットを(最終のあて先に)到達させる仕組みはNATと同じで、ルーティングプロトコルなどを使用します。

 送信元にアドレスを通知する仕組みは、NATもトランスレータも多くの場合DNSを使います。ただし、トランスレータの場合は、DNSに特殊な処理や設定が必要になる点が違います。特殊な処理や設定の例としては、「IPv6サーバーにマッピングしたIPv4アドレスを、DNSサーバーに登録すること」や「IPv4サーバーに自動的にマッピングしたIPv6アドレスを、IPv6クライアントに通知すること」が挙げられます。

まとめ:アドレスの対応付け

 IPv4アドレスからIPv6アドレスへの対応付けは、IPv4アドレスにプレフィックスを付けるなどの方法で実現可能で、プレフィックスを決めてしまえば自動的に実行できます。一方、IPv6のアドレスをIPv4にマッピングするには、管理者が手動で行うことが多いようです。これは、IPv4のアドレス空間はIPv6のアドレス空間に比べて小さいため、プレフィックスを付けるような方法が利用できないためです。ただしトランスレータの製品によっては、これも自動で行う機能を持ったものもあります。

 IPv4アドレスをIPv6アドレスにマッピングする際に用いるプレフィックスには、ネットワーク管理者が自分の管理するアドレス空間からトランスレータ用に割り当てる「Network-Specific Prefix」と、IANA(Internet Assigned Numbers Authority)によってあらかじめ定義された「Well-Known Prefix」(例えば、64:ff9b::/96)があります。対応付けられたIPv6アドレスの書式は、第4回の図1に紹介したように、先頭64ビットにIPv6のプレフィックスを配置し、32ビットの0を付加した後、IPv4アドレス(32ビット)を最後に配置するものがほとんどでした。しかしながら、第5回の図4で紹介したように、今後は複数の書式で表現する事が可能になります。