エンドツーエンド原理
(エンドツーエンド接続性 から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/26 14:19 UTC 版)
エンドツーエンド原理(End-to-End Principle)は、コンピュータネットワークの古典的設計原理であり[注 1]、1981年に Jerome H. Saltzer、David P. Reed、デービッド・ダナ・クラークらの論文 End-to-end arguments in system design で初めてその概念が提唱された[1][注 2]。通信プロトコルの操作は可能な限り通信システムの終端で行い、また制御対象のリソースになるべく近いところで行うべきであるというもの。
注釈
- ^ ピーター・J・デニングの「コンピューティングの大原則」の1つ
- ^ 1981年に発表されたこの論文[1]は、改定後1984年にACMのTOCSにて出版された[2][3]。
- ^ Saltzer, Reed, Clark の論文[2]からの完全な引用は次の通り。通信を含むシステムにおいては、通常通信サブシステムの周囲でモジュラーな境界を設け、あるモジュールとシステムの他の部分との間で堅固なインタフェースを定義する。すると、各モジュールは一連の機能を何らかの方法で実装することになる。各機能について通信サブシステムが実装する場合やクライアント側が実装する場合が考えられ、両方で協調して機能する場合や両方に独立に実装して冗長性を持たせる場合なども考えられる。実装を選択するにあたり、アプリケーションの要求仕様から次のような主張が成り立つ。すなわち、その機能を完全かつ正しく実装するには、通信システムの終端にあるアプリケーションの持つ知識と助力が必須である。したがって、問題の機能を通信システム自体の機能として実装することは不可能であり、さらに言えば通信システムの全クライアントの性能ペナルティを生じる(時には、性能向上策としてその機能の下位部分を通信システムに実装するのが有効な場合もある)。下位層に機能を実装する考え方に対して、我々はこのような考え方をエンドツーエンド論 (end-to-end argument) と呼ぶ。(p. 278)
- ^ 実際、LANであっても通信に失敗する可能性はゼロではない。「より高いレベルの信頼性への配慮はネットワークの制御戦略を問わず必要とされている」[4]
- ^ 経済学用語で言えば、ネットワークに信頼性を追加するための限界費用は、同レベルの信頼性を終端ホストの改良で得るのに必要となる限界費用を越えている。ネットワーク内での信頼性改良の経済的に効率的なレベルは、具体的な状況に依存するが、ゼロ近辺でないことは確かである。[2]明らかに、より下位層でネットワーク信頼性を高める努力は、アプリケーション性能に重大な影響を及ぼすといえる。(p. 281)
- ^ 契約上の救済策を強制できる可能性があったとしても、非決定的な形で中間のリソースを共有するネットワークでは完全な信頼性を達成するのは不可能である。それはせいぜい統計的な平均的性能を示す程度である。
- ^ より正確には:[5]無限の再試行を行うPARプロトコルが正しく機能するなら、メッセージを失ったり複製を得たりすることは決してない。したがって、試行回数が有限であっても送信側の設定によって失敗確率を必要なだけ低減させることができる。(p. 3)
- ^ ARPANET FRQ[9] (pp. 47 f.) によれば、ARPANETはある機能群を概念的に分離させていた。BBNの1977年の論文[10]に以下の記述がある。ARPAネットワークの実装は、いくつものノード間で転送を繰り返すために生じる遅延を最小化するために、メッセージをパケットに分割する技法を採用している。また、通信中の2つのホスト間で同時に複数のメッセージを転送可能である。しかし、複数のメッセージやメッセージ内の複数のパケットは転送先IMPに送信時とは異なる順序で到着することがあり、重複して届くこともある。ARPAネットワークの発信元-受信先の転送手続きではパケットやメッセージの元の順序への並べ替えや重複の除去を行い、あるメッセージを構成する全パケットが到着したら宛先ホストにメッセージを渡し、エンドツーエンドの肯定応答を返す。(p. 284)
- ^ この要件は ARPANET RFQ にも明確に記されている[9]。ネットワークユーザーとしてのARPA契約者の観点からすると、通信サブネットはソフトウェアとハードウェアをネットワーク契約者が維持する自己完結型のファシリティである。相互接続ソフトウェアの設計においては、一般的な入出力のようにデータだけをサブネットとやりとりし、サブネット操作の詳細に関与すべきでない。特に誤りチェック、障害検出、メッセージ交換、障害回復、回線切り替え、通信障害、通信品質保証はネットワークの信頼性保証に必要とされ、ネットワーク契約者の唯一の責任となる。 (p. 25)
- ^ Waldenの1972年の論文に次の記述がある[12]。各IMPは隣接するIMPがパケットを受信したことを示す肯定応答を返すまで、パケットを保持する。問題がなければ肯定応答が返される。するとIMPは次のIMPがそのパケットについて責任を持つことになったと認識でき、パケットのコピーを破棄できるようになる。(p. 11)
- ^ 1973年には、BBNはARPANETが当初想定していた完全な信頼性を達成できないことを認識している[13]。
実際1973年に Metcalfe は「ARPANETでは十分な割合で検出されないビット誤りが発生している」と結論付けている[14] (p. 7-28)。 また BBN Report 2816 (pp. 10 ff.)[15] にもARPANETの初期の運用で得られた経験を元に行われた追加の改良が記されている。当初、ネットワーク設計内で誤りを発生するのは通信回線のみと想定され、IMP内のモデムインタフェースはそのような誤りを「ほとんどすべて」検出するべくCRCチェックサム機構を備えていた。システムの他の部分、ホストインタフェース、IMPプロセッサ、メモリ、インタフェースはいずれも誤りを発生しないと想定されていた。しかし、我々は我々の経験を考慮してこの立場を再評価する必要がある。(p. 1) - ^ ちなみに、ARPANETはまたエンドツーエンド信頼性機構とそれによるコストのトレードオフのよい例でもある。例えば最大8個のメッセージが2終端間のネットワーク上を転送中だと想定すると、エンドツーエンド信頼性を完全に達成することは当時としては非常にコストがかかった。肯定応答が宛先のIMPから全く届かないことを想定すると、タイムアウトして再送するまで(そして肯定応答が返ってくるまで)送信中の全メッセージをメモリ上に保持しておかなければならないが、当時メモリは高価であり現実的ではなかった。ホストベースのエンドツーエンド信頼性機構を実装した場合、ホストレベルのプロトコル (Network Control Program) はかなり複雑になっただろう。ホストレベルの信頼性機構が望ましいということは RFC 1 でも明記されているが、いくらかの議論の後、その方向性は採用しないことになった(もちろん、上位層プロトコルやアプリケーションがそのような機構を実装するのは自由だった)。当時の議論は Bärwolff 2010[16](pp. 56-58 および脚注、特に 151 と 163)に詳しい。
- ^ パケット通信による音声データ転送は1971年まで遡り、1972年にはARPAが正式な研究を開始している。RFC 660 (p. 2)[17]にある通り、BBNは1974年に音声向けに信頼性を保証しないメッセージサービス (Raw Message Interface, RMI) をARPANETに導入したが、音声以外のデータ転送にも利用を認めた(BBN Report 2913[18]pp. 55 f)。また、Bärwolff 2010,[16] (pp. 80-84) を参照。
出典
- ^ a b Saltzer, J. H.; Reed, D. P.; Clark, D. D. (April 8–10, 1981), “End-to-End Arguments in System Design”, Proceedings of the Second International Conference on Distributed Computing Systems (Paris, France: IEEE Computer Society): 509-512
- ^ a b c d e f Saltzer, J. H.; Reed, D. P.; Clark, D. D. (1984), “End-to-End Arguments in System Design”, ACM Transactions on Computer Systems 2.4: 277-288 - SaltzerのMITでのホームページにある版
- ^ Saltzer, J. H. (1980), End-to-End Arguments in System Design. Request for Comments No. 185, MIT Laboratory for Computer Science, Computer Systems Research Division
- ^ Clark, D. D.; Pogran, K. T.; Reed, D. P. (1978), “An Introduction to Local Area Networks”, Proceedings of the IEEE 66.11: 1497–1517
- ^ Sunshine, C. A. (1975), “Issues in Communication Protocol Design – Formal Correctness. Draft”, INWG Protocol Note 5 (IFIP WG 6.1 (INWG))
- ^ Blumenthal, M. S.; Clark, D. D. (2001), “Rethinking the Design of the Internet: The End-to-End Arguments vs. the Brave New World”, ACM Transactions on Internet Technology 1.1: 70–109
- ^ Baran, P. (1964), “On Distributed Communications Networks”, IEEE Transactions on Communications 12 (1): 1–9
- ^ Davies, D. W.; Bartlett, K. A.; Scantlebury, R. A.; Wilkinson, P. T. (1967), “A Digital Communication Network for Computers Giving Rapid Response at Remote Terminals”, SOSP '67: Proceedings of the First ACM Symposium on Operating System Principles (New York, NY): 2.1–2.17
- ^ a b Scheblik, T. J.; Dawkins, D. B.; Advanced Research Projects Agency (1968), RFQ for ARPA Computer Network. Request for Quotations, Advanced Research Projects Agency (ARPA), Department of Defense (DoD)
- ^ McQuillan, J. M.; Walden, D. C. (1977), “The ARPA Network Design Decisions”, Computer Networks 1.5: 243–289 - Crowther et al. (1975) に基づいており、その論文は BBN Report 2918 とその元になった BBN Report 2913 に基づいている(どちらも1974年)。
- ^ Clark, D. D. (2007), “Application Design and the End-to-End Arguments”, MIT Communications Futures Program Bi-Annual Meeting (Philadelphia, PA) - 講演のスライド
- ^ Walden, D. C. (May 25–26, 1972), “The Interface Message Processor, Its Algorithms, and Their Implementation”, AFCET Journées d’Études: Réseaux de Calculateurs (AFCET Workshop on Computer Networks) (Paris, France: Association Française pour la Cybernétique Économique et Technique (AFCET))
- ^ McQuillan, J. M. (1973), Software Checksumming in the IMP and Network Reliability - RFC 528. Historic. NWG.
- ^ Metcalfe, R. M. (1973), Packet Communication, Cambridge, MA: Harvard University - 学位論文。改訂版は MIT Laboratory for Computer Science Technical Report 114 に掲載された。大部分は MIT Project MAC は Xerox PARC について。
- ^ Bolt, Beranek and Newman Inc. (1974), “Interface Message Processors for the Arpa Computer Network”, BBN Report 2816. Quarterly Technical Report No.5 (Bolt, Beranek and Newman Inc. (BBN))
- ^ a b Bärwolff, M. (2010), End-to-End Arguments in the Internet: Principles, Practices, and Theory - Createspace/Amazon を通してオンライン自費出版
- ^ Walden, D. C. (1974), Some Changes to the IMP and the IMP/Host Interface - RFC 660. Historic. NWG.
- ^ BBN (1 July 1974 to 30 September 1974), “Interface Message Processors for the Arpa Computer Network”, BBN Report 2913. Quarterly Technical Report No. 7 (Bolt, Beranek and Newman Inc. (BBN))
- 1 エンドツーエンド原理とは
- 2 エンドツーエンド原理の概要
- 3 概要
- 4 基本的内容
- 5 歴史
- 6 エンドツーエンド接続性
- 7 脚注
エンドツーエンド接続性
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/06/12 02:14 UTC 版)
「エンドツーエンド原理」の記事における「エンドツーエンド接続性」の解説
エンドツーエンド接続性(End-to-End Connectivity)は、インターネットの特徴であり、ネットワーク上の全ノードが(途中のネットワークで変換を加えることなく)他の任意のノードにパケットを送信できることを意味する。これはTCP/IPの特性である。 しかし、ネットワークを構成する要素や技術(例えばネットワークアドレス変換)は、エンドツーエンド接続性を保持していない。この特性がない場合、新たなプロトコルを使用するにはそれをサポートする新たな機器などが必要となる。このことは、TCPのコネクションを使わないでインターネットを利用する新たなアプリケーションの展開を妨げている。例えば、IPsecの普及、IPv6への移行、Peer to Peerアプリケーションの普及、ネットワークゲームの普及などが挙げられる。 エンドツーエンド接続性は時として以下のような実用的理由で意図的に放棄されることがある: IPv4 アドレス空間は限りある資源であり、必要と思われるよりIPアドレスが少なくなることは明らかである。 セキュリティのために一種のアドレス変換を行ってルーティング範囲を制限すること。これはつまり、ネットワークアドレス変換(NAT)を隔てた位置にあるコンピュータは信頼されていない領域から直接アクセスできない。 この傾向により、インターネットユーザーは2種類に分かれつつある。一方は実際にインターネット接続が可能な人々で、もう一方は外向きのTCP接続でしかインターネットを利用できない人々である。
※この「エンドツーエンド接続性」の解説は、「エンドツーエンド原理」の解説の一部です。
「エンドツーエンド接続性」を含む「エンドツーエンド原理」の記事については、「エンドツーエンド原理」の概要を参照ください。
- エンドツーエンド接続性のページへのリンク