DS-Liteの仕組み

2019/7/24-1

DS-Liteは、基幹ネットワークをIPv6で構築し、ユーザのローカルネットワークとIPv4インターネットをつなぐことができる技術です。 基幹ネットワークをIPv6だけで構築しつつ、ユーザに対してはIPv4サービスも提供できます。

DS-Liteという名前は、Dual-Stack Liteの略です。 名前の意図としては、IPv6とIPv4のデュアルスタックを軽量に実現できる技術である、というものです。 この軽量は、ISP側によるIPv4でのCGN(Carrier Grade NAT)と比べて軽量という意図があります。

CGNによるNATでは、ユーザによるプライベートIPv4アドレスでのネットワーク、ISPでのCGN配下のIPv4ネットワーク、IPv4インターネットという3種類のIPv4ネットワークによる通信になるため、NAT444と呼ばれることもあります。 CGNによるNAT444では、ユーザがIPv4インターネットと通信するまでにNATを2段経由します。 しかし、DS-Liteは、ユーザ側ではなくISP側でユーザーネットワーク用のIPv4 NATを行うので、NATが1段ですむというのがDS-Liteの大きな特徴です。

DS-Lite概要

では、DS-Liteの仕組みをざっと紹介します。 DS-Liteは、RFC 6333で規定されています。

DS-Liteでは、ISPなどのバックボーンネットワークをIPv6 のみで構成し、家庭内などの利用者の環境にはDS-Lite対応CPE(Customer Premises Equipment、SOHOルータのようなものだと思ってください)を設置します。 CPEは、IPv6グローバルアドレスとIPv4プライベートアドレスによるネットワークをユーザに提供します。

CPEは、IPv6 パケットをそのままバックボーンネットワークへと転送します。 DS-Liteでは、IPv6は、IPv6としてそのまま通信が可能な環境です。


IPv4パケットは、CPEによってIPv6 カプセル化されて、バックボーンネットワークに設置されたAFTR(Address Family Transition Router)と呼ばれる機器まで転送されます。 AFTRまでのカプセル化を行う機能はB4(Basic Bridging BroadBand)と呼ばれます。 AFTRは、CPEによってカプセル化されたIPv4 パケットをIPv6 パケットから取り出したうえでNATによる変換を行い、IPv4インターネットへとパケットを転送します。 B4は、何らかの方法でAFTRのIPv6アドレスを知る必要があります。 B4に対してAFTRの名前を手動で設定することによってAFTRのIPv6アドレスを得る場合もあります。 AFTRの名前をDHCPv6によって得るための仕組みとしてRFC 6334も標準化されています。

B4とAFTRは、DS-Liteの大きな特徴です。 B4はB-fourと発音し、「前」という意味の英単語「Before」と同じように発音されます。 一方、AFTRは「後」という意味を持つ英単語「After」から母音のeを抜いた形になっています。 ユーザ側を「前」として「前後」という意味を持つ英単語に絡めた名前です。

DS-LiteとCATV網

DS-Liteの利点のひとつとして、バックボーンネットワークをシングルスタックで運用できることから、デュアルスタック運用にかかるコストを削減できるという点が挙げられます。 DS-Liteの提案者の中心であるAlain Durand 氏は、提案時点ではCATV 網を運用するComcast に所属していました(RFC 6333発行時点ではJuniper Networks)。

それもあって、DS-Lite の仕組みは、CATV網の技術と相性が良いものになっています。 CATV網では、IPを利用した通信のために、各CPEにIPアドレスを割り当てます。 IPv4のプライベートアドレス10.0.0.0/8 では1600 万個のCPE までしか制御できませんが、これではComcast のような大規模なユーザを抱えるCATV 事業者には心もとないといえます。 そこで、CATV網上で高速な通信を行うための国際規格であるDOCSISでは、2006年に改訂されたバージョン3.0からIPv6 に対応しています。 DOCSIS 3.0により、CATV事業者は、自社の網内をIPv6だけで構成できるようになりました。

さらにDS-Liteのような仕組みを導入することで、ユーザに対するIPv4インターネットへの接続性は、そのIPv6上に構築したトンネル経由で提供できます。 DS-Liteが米国最大のCATV事業者であるComcast社員によって提案されたのは、実に自然なことだったといえるでしょう。

Lightweight 4over6(lw4o6)

DS-Liteは、「軽量である」という名前になっていますが、実際は、そこまで軽量であるとは言い難い部分もあります。 DS-Liteという名前が生まれた経緯について、Mark Townsley氏は、次のように語っています(参考)。

そして、いまはsoftwireワーキンググループは反対側の部分を行っています。 最初、我々はDS-Liteを開発しました。 というのは、、、、 まあ、あれを作る手助けをしたこをは申し訳なく思います。 名前でさえです。。。

Q: 任天堂のDS-Liteと同じだから紛らわしいということですか?

それは面白いですね(笑。 いままで気がつきませんでした。 いや、そういうわけじゃないんですよ。

DS-Liteという名前の由来ですが、パリでICANNミーティングが行われていたとき、softwireのco-chairだったAlain Durand氏と一緒にバーにいました。 当時の彼は米国の大手ケーブルテレビ会社に勤めていて(取材者注:当時はComcast)、「こういうことをしたいんだ」として、「各家庭のユーザに対してIPv4を提供(原文はprovision)したくないが、ユーザに対するIPv4サービスは行えるようにしておきたいので、それもデュアルスタックだ」と言ってました。 それを聞いて私は、「素晴らしい。それはデュアルスタックだけど、従来よりもライトだ」と言いました。 それが「Dual-Stack Lite」という名前の誕生でした。

悲しいことに、「シンプル」とか「ライト」という単語を見たとしても、それはシンプルでもライトでもなかったりもします。 確かに、IPv4提供(原文はprovisioning)という意味ではライトですが、問題はNATのステートを全て各家庭のゲートウェイに入れたうえで、サービスプロバイダネットワークに集結させてしまっているところです。 そこが重い部分です。

そこで、lw4o6が作られています。

DS-Liteに対して拡張を加えた Lightweight 4over6(lw4o6)と呼ばれる規格がRFC 7596として2015年に定義されています。 lw4o6は、DS-Liteでは中央で管理していたNAPTの機能をユーザの手もとにあるCPEに移すことで、運用者がCGNを運用せずに済むようにしています。

DS-Liteは、デュアルスタックを手軽に実現できることを連想させる名称でしたが、実際にはCGNの運用にかかる部分が手軽とはいえなかったので、その部分を軽減した標準がlw4o6であるといえます。

当然ですが、lw4o6 のアーキテクチャはDS-Liteに似ています。 lw4o6でも、DS-Liteと同様に、IPv4 を運ぶためにIPv6トンネルを利用します。また、IPv6トンネルの両端となるB4とAFTRという構成要素もDS-Liteと同じです。 ただし、全く同じというわけではありません。 RFC 7596では、lw4o6拡張のあるB4をlwB4、AFTRをlwAFTRと呼んでいます。


DS-Liteとlw4o6の大きな違いは、DS-LiteではNAPT機能がAFTRに入る一方で、lw4o6ではlwB4に入るという点です。 DS-LiteではAFTRが担っていたNAPT機能をlwB4が担うので、NAPTに必要となるパブリックIPv4アドレスとポート番号のセットをlwB4が知っている必要があります。 lwB4は、RFC 7598にあるSoftwire46のDHCPv6オプションを受け取ることで、それらの情報を得ます。

lwB4は、受け取った情報からlw4o6のIPv6アドレスを生成します。 IPv6 アドレスの生成方法は、RFC 7597 で定義されているMAP-Eにおける手法を利用します。 MAP-EにおけるIPv6アドレスの生成については別の機会に紹介します。

DS-LiteとIPv6 IPoE

日本国内では、NTTフレッツ網でIPv6 IPoEとともに使われる手法として知っている人もいると思います。 IPv6 IPoEでDS-Liteを使うことで、IPv4パケットがIPv6トンネルの上を運ばれるようになるため、DS-Liteを利用するユーザによるIPv4インターネットとの通信もVNEを通じてインターネットへと転送されるようにできます。

NTTフレッツ網でDS-Liteを使うことで、フレッツ網でのIPv4 PPPoEを回避することができるというわけです。

その話を理解するには、そもそもIPv6 IPoEとIPv4 PPPoEとIPv6 PPPoEに関する前提を知る必要があります。 NTTフレッツ網でのIPv6 IPoEに関しては、解説動画を作ってあるので、そちらをご覧ください。

最近のエントリ

過去記事

過去記事一覧

IPv6基礎検定

YouTubeチャンネルやってます!