エンド・ツー・エンドの原則とIPv6

長 健二朗
ソニーコンピュータサイエンス研究所
kjc@csl.sony.co.jp


本コラムは、IPv6ジャーナル 2001年夏号に掲載されたものです。


最近、一般のひとにもIPv6という言葉が知られるようになった。 IPv6の話になると、当然IPv4との違いという切口で語られる。 ところが、IPv6はIPv4の本来の設計思想への回帰にほかならない。

インターネットの成功は個々の技術よりも、草の根的な技術の発展と普及を可 能にした設計思想とそれを育てた文化によるところが大きい。 にもかかわらず、技術の普及ほどには、インターネットを支える考え方や文化 が十分伝わっていないのが残念である。 IPv6の考え方の根底には、インターネットの設計思想であるend-to-endの原則がある[1]。

そもそもend-to-endの原則は、通信路上に伝送誤りや故障の可能性がある以上、 エンドシステム間でのデータの検証が必要だという認識から生まれた。 例えば、ファイル転送の場合、いくら信頼性の高い伝送路を構築しても、 それだけでは転送を保証できない。 他にも、ルータやホストにおけるメモリのビットエラー、ファイルシステムのバグ、 ディスクのエラー等が起こり得る。 最終的にはアプリケーションがエラーチェックをする必要があるのだ。

さらに、もし、 ネットワーク内部に特定のアプリケーションを想定した機能を組み込むと、 他のアプリケーションにとっては制約となる可能性がある。 例えば、再送機能を組み込んでしまうと、 音声通話などでは不必要な再送による遅延変動が問題になる。 将来登場するアプリケーションを予測できない以上、 その発展を阻害することになりかねない。

end-to-endの原則の誕生は1970年代後半にさかのぼる。 黎明期のインターネットにおいて、TCPとIPを分離して、 複雑なトランスポート機能はエンドシステムに任せ、 ネットワーク内部は信頼性のないパケット配送だけを行なうという単純化が導入された。 回線交換でセッションを個別に制御していた時代の発想の転換だった。 ネットワーク内部には最低限の機能だけを持たせて、 新しいアプリケーションやプロトコルがエンドシステムだけで自由に導入できるようにし、 システムの柔軟性と拡張性を確保するというのがend-to-end通信の提案者達の主張だった。 15年も後に登場したWWWが急速に普及した事実に代表される多くのアプリケーションの登場は、この主張の正当性を証明している。

ところが、その後のインターネットの普及に伴い、 さまざまな機能がネットワーク内部に導入されるようになり、その結果、 end-to-endの原則が崩れつつある[2]。 ファイアウォール、NAT、コンテンツのキャッシュ、 特定のアプリケーションのためのプロキシなど、 いずれもネットワーク内部に組み込まれ、通信路上でエンドシステムを装ったり、 パケットの内容を操作する。 これら個々の技術の影響は必ずしもend-to-endの原則を直接脅かす程ではない。 しかし、インターネット全般でみると複合的な影響、つまり、 ネットワーク内部の機能が複雑化し、ネットワークの透過性が失われる傾向にある。 ファイアウォールやNATの導入により、 すでに多くのアプリケーションは利用できなくなった。 今日では、新しいアプリケーションを使おうとしても、 これらの中継装置が足かせとなって、end-to-endでの新技術の導入ができない状況になっている。

もちろん、原則はあくまで原則であって、すべてをend-to-endで行なうのは現実的でない。 例えば、無線リンクに採用されている誤り訂正は、end-to-endでの再送よりも効率よく伝送エラーを修復できる。 もし、無線伝送のビット誤りまで含めてend-to-endで修復すると大きな性能低下となる。 しかし、ここで重要なのは、あくまでend-to-endで最終的にエラー修復をする前提で、 無線リンクを設計することである。 TCPはパケット損失率が1%程度までなら、 ほとんど性能低下なしにエラー修復ができるので、 リンク層におけるエラー低減はパケット損失率1%程度を達成すればよい。 ところが、往々にして無線技術者はオーバーエンジニアリングしてしまい、 リンク層とTCPのエラー修復機能が不整合を起こして、 全体の性能が低下する事態を招く。 つまり、個別の技術を独立に最適化するのではなく、バランスを考えた設計が求められるのである。

さらに、ネットワーク環境のバランスは、技術と共に変化する。 性能改善のために導入した技術が、 いつのまにか不要になっていることは度々起こるし、 逆にボトルネックになってしまう場合もある。 ネットワークをシンプルに保つためには、常にend-to-endの原則に立ち戻って、 システムを見直すことも必要だ。

このような考え方は、ファイアウォールの設定方針についてもいえる。 通常、ファイアウォールは、ネットワーク側で利用者を守り、 そのために利便性や自由度が低下してもやむを得ないとするアプローチだ。 いっぽう、完璧なファイアウォールなどあり得ないし、内部からの攻撃や、 パスワードの漏洩などファイアウォールでは防げない問題も多くある。 そこで、end-to-endの原則に基づくと、あくまでも利用者の自己管理を前提として、 管理負荷軽減のために最低限の設定を行なう方針となる。

ここには、ネットワーク側での管理を原則とするか、 利用者の自己管理を原則とするかという設計思想の違いがある。 これは、従来、電話網とインターネットの設計思想の違いとされてきたが、 今日ではインターネットの内部にも同様の分離が見られる。 しかし、両者の違いは技術的にみると必ずしも明確ではない。 実際、ほとんどのネットワークは原則をあいまいにしたまま運用されている。 そして、利用者も管理者も無意識のままに、ネットワークの拡大と多様化に伴い、 徐々に自己管理的なものからネットワーク側へ管理が移行して行くことになる。

この現象はすべての社会構造に共通する問題で、 いくら柔軟なシステムを作っても、活性化して改革を繰り返さない限り、 やがてシステムは硬直化していく運命にある。 情報革命の本質は、情報の流通によって異なる考えや文化が交流し柔軟な発想が生まれ、 社会が活性化され改革されていくことにある。 ここで、活性化のために必要なのが、改革の指針となる原則である。 end-to-endの原則をもとに技術の淘汰を繰り返すことによって、 インターネットを発展させるというオープンな文化が、インターネットの原動力となってきた。

IPv6の登場の背景には、アドレスの不足、経路表の増大、 セキュリティ問題など技術面だけでなく、カルチャー面からの危機感があるのだ。 もちろんIPv6がすべての問題を解決するわけではない。 IPv6自体もまだ多くの課題を抱えている。 ただ、技術的な側面だけで考えると変革の本質を見落とす事になる。 一般の利用者にとっては、IPv4とIPv6の違いなど知る必要もないのだ。 end-to-endの原則のルネッサンスというような流れのなかで、 IPv6は軌道修正のためのひとつの、しかし大きなチャレンジだと捉えることができる。

近い将来には、あらゆるデバイスがインターネットに繋がるようになると予想する人もいる。 しかし、家電製品や自動車のセンサーがIPアドレスを持つ事の本当の意味を、 我々はまだ理解していない。 現状のまま推移すると、 これらの機器はファイアウォールを介してプライベートアドレスで接続されていくだろう。 end-to-endの支持者たちは、それではインターネットの発展が減速し、 既存のサービス概念以上のものが出てこなくなると指摘する。 まったく新しいインターネットの使い方が生まれるためには、 まずend-to-endの原則にそったインターネットの再構築が必要だという主張だ。

いっぽうで、インターネットはあまりにも大きくなり、 もはや研究者の理想だけで動くものではなくなった。 IPv6移行に対しても必要性への疑問や根強い抵抗がある。 我々が問われているのは、end-to-endの原則の瓦解を市場原理として受け入れるか、 それとも、さらなるインターネットの自己革新を信じてend-to-endの原則を堅持するのかという選択である。

参考文献

[1] J. H. Saltzer, D. P. Reed and D. D. Clark. End-To-End Arguments in System Design. ACM Transactions on Computer Systems, vol 2(4) pp277-288, November 1984. http://www.reed.com/Papers/endtoend.html

[2] M. S. Blumenthal and D. D. Clark. Rethinking the design of the Internet: The end to end arguments vs. the brave new world. To appear in ACM Transactions on Internet Technology, 2001. http://ana.lcs.mit.edu/anaweb/papers.html