データグラムは、パケット交換ネットワークに関連付けられた基本的な転送単位です。データグラムは通常、ヘッダーとペイロードセクションで構成されます。データグラムは、パケット交換ネットワーク上でコネクションレス通信サービスを提供します。データグラムの配信、到着時間、到着順序は、ネットワークによって保証される必要はありません。
歴史
1970年代初頭、パケット交換に関するCCITT報告者[1] Halvor Bothner-Byによって、データと電報を組み合わせたデータグラムという用語が作成されました。[2] [3]この言葉は新しいものでしたが、その概念にはすでに長い歴史がありました。
1964 年、ポール・バランはRAND コーポレーションのレポートで、核攻撃に耐えなければならない仮想の軍事ネットワークについて説明しました。送信元と送信先のアドレスを持つ小さな標準化されたメッセージ ブロックが、高度に冗長化されたメッシュ コンピュータ ネットワークのコンピュータ ノードに保存され、転送されました。バランは次のように書いています。「エンド ステーションへの仮想接続を呼び出してメッセージを送信したネットワーク ユーザーは、システムを見かけ上の回線接続を提供するブラック ボックスと見なすこともあります」。[4]現在仮想回線と呼ばれる概念は設計に登場していますが、[5]ネットワークは構築されませんでした。
1967 年、ドナルド・デイビスはパケットとパケット交換を紹介した重要な論文を発表しました。彼が提案したコア ネットワークは、ポール・バランが提案したものと似ていますが、独自に開発されました。彼は、「ネットワークのすべてのユーザーが何らかのエラー制御を自分で用意する」ことを想定しています。彼の目標は「共通キャリア通信ネットワーク」です。当時は文字単位で送信されていたユーザー端末によるコンピュータ サービスへのリモート アクセスをサポートするために、彼はネットワーク周辺に、文字フローをパケット フローに変換したり、その逆を行ったりするインターフェイス コンピュータを含めました。[6]デイビスは次のように書いています。「私たちは仮想回線にかなり反対でした。通信ネットワークはパケットのみを扱うべきであり、これらのパケットを組み立てるプロトコルはエンドツーエンドで、顧客同士の間で行われるべきだと信じていたからです。」[5]
1970年、ローレンス・ロバーツとバリー・D・ウェスラーは、最初のマルチノードパケット交換ネットワークであるARPANETに関する記事を発表しました。 [7]付随する論文では、そのスイッチングノード(IMP)とパケットフォーマットについて説明しました。[8]ネットワークコアは、バランとデイビスのモデルと同様にデータグラムスイッチングを実行しましたが、ネットワークによってホストに提供されるサービスはコネクション指向でした。[9] [10]したがって、信頼性の高いメッセージ転送サービスがユーザーコンピューターに提供され、ネットワーク設計が大幅に簡素化されました。これにより、ARPANETは仮想回線ネットワークと呼ばれるようになりました。[11]
ロバーツはパケット交換のアイデアを通信専門家に提示したが、怒りと敵意に直面した。ARPANET が稼働する前は、ルーターのバッファがすぐに不足すると主張した。ARPANET が稼働した後は、政府の補助金がなければパケット交換は経済的ではないと主張した。バランも同様の拒絶に直面し、軍にパケット交換ネットワークを構築するよう説得できなかった。[12]
1973年、ルイ・プーザンは、純粋なデイビス・データグラム・モデルを実装した最初の大規模ネットワークであるCYCLADESの設計を発表しました。 [13] CYCLADESチームは、無視できないデータグラム損失と並べ替えが発生する可能性があるネットワークサービスでエンドツーエンドの原則を使用しながら、ユーザーアプリケーションに信頼性の高い仮想回線サービスを提供するという非常に複雑な問題に初めて取り組みました。[ 14 ] [15]プーザンの関心は「最初の段階では、パケット交換技術のブレークスルーではなく、Cyclades用の信頼性の高い通信ツールを構築すること」でしたが、[13]彼のチームのメンバーであるヒューバート・ジマーマンとジェラール・ル・ランの2人は、インターネットのTCPの設計に多大な貢献をし、その主な設計者であるヴィント・サーフもそれを認めました。[16]
1981年、国防高等研究計画局(DARPA )はインターネットプロトコル(IP)の最初の仕様を発行しました。これは、データグラムの概念に大きな進化をもたらし、フラグメンテーションを導入しました。[17]フラグメンテーションにより、グローバルネットワークの一部では大きなパケットサイズが使用され(通常、処理オーバーヘッドを最小限に抑えるローカルエリアネットワーク)、他の部分ではより小さなパケットサイズが使用される可能性があります(通常、応答時間を最小限に抑えるワイドエリアネットワーク)。ネットワークノードは、データグラムをいくつかの小さなパケットに断片化する場合があります。
1999年、インターネット技術特別調査委員会(IETF)は、すでに広く導入されていたネットワークアドレス変換(NAT)の使用を認可しました。NATでは、各パブリックアドレスを複数のプライベートデバイスで共有できます。[18]これにより、迫り来るインターネットアドレスの枯渇が延期され、より長いアドレスをサポートする新世代のインターネットプロトコルであるIPv6を導入する時間が十分に確保されました。データグラムに対するエンドツーエンドのネットワーク透過性という当初の原則は、このために緩和されました。NATノードは接続ごとに状態を管理する必要があり、部分的に接続指向になりました。
2015年、IETFは、 データグラムスイッチングノードがアクティブキュー管理(AQM)を実行するという1998年の情報RFC 2309をアップグレードし、 RFC 7567の発行を通じて、より強力で詳細な現在のベストプラクティスの推奨事項にしました。 初期のデータグラムキューイングモデルは実装が簡単で、キューの長さ以上の調整は必要ありませんでしたが、「インターネットのパフォーマンスを改善および維持する」ために、より洗練されたパラメーター化されたメカニズムのサポートが必要であることがわかりました(RED、ECNなど)。この主題に関するさらなる研究も求められ、特定された項目のリストが示されました。[19]
意味
データグラムという用語は次のように定義される: [20]
「送信元と送信先のコンピュータおよび転送ネットワーク間の以前の交換に依存せずに、送信元から送信先のコンピュータにルーティングするのに十分な情報を運ぶ、自己完結型の独立したデータ エンティティ。」
— RFC 1594
データグラムは、例えばほとんどの音声電話での会話のように、2つの通信ポイント間で固定期間の接続が存在しないため、以前の交換に依存せずに自己完結的である必要があります。[21]
データグラムサービスは、メール配信サービスによく例えられます。ユーザーは宛先アドレスを提供するだけで、配信の保証はなく、受信成功の確認もありません。そのため、データグラムサービスは信頼できないと考えられています。データグラムサービスは、事前に決められたパスを作成せずにデータグラムをルーティングします。そのため、データグラムサービスはコネクションレス型と考えられています。また、データグラムと他のデータグラムが送受信される順序も考慮されません。実際、同じグループ内の多くのデータグラムは、異なる順序で同じ宛先に到達する前に、異なるパスに沿って移動することができます。[22]
構造
各データグラムには、ヘッダーとデータ ペイロードという2 つのコンポーネントがあります。ヘッダーには、機器とネットワーク間の事前の交換に依存せずに、発信元機器から宛先へのルーティングに十分なすべての情報が含まれています。ヘッダーには、送信元アドレスと宛先アドレスのほか、タイプ フィールドと長さフィールドが含まれます。ペイロードは転送されるデータです。タグ付きヘッダーにデータ ペイロードをネストするこのプロセスは、カプセル化と呼ばれます。
例
インターネットプロトコル
インターネットプロトコル(IP) は、いくつかの種類のデータグラムの標準を定義します。インターネット層は、IP によって提供されるデータグラム サービスです。たとえば、UDP はインターネット層のデータグラム サービスによって実行されます。IP は、完全にコネクションレスで、ベスト エフォート型の信頼性の低いメッセージ配信サービスです。TCPは、IP 上で実行される高レベルのプロトコルで、信頼性の高いコネクション指向のサービスを提供します。
参照
参考文献
- ^ 「CCITT は公衆データ ネットワーク開発の一環としてパケット スイッチングを研究しています」。
- ^ Rémi Després (2010 年 11 月). 「X.25 仮想回線 - フランスの Transpac - インターネット以前のデータ ネットワーキング」. IEEE Communications Magazine . 48 (10). doi :10.1109/MCOM.2010.5621965.
- ^ 「Comment j'ai inventé le Datagramme」(フランス語)。2019年2月28日時点のオリジナルよりアーカイブ。
- ^ 「分散通信ネットワークについて」(PDF)。2016年10月26日時点のオリジナル(PDF)よりアーカイブ。
- ^ ab Pelkey, James L. (1988年5月27日). 「Donald Davies へのインタビュー」(PDF) . p. 7.
- ^ 「リモート端末で迅速な応答を提供するコンピュータ用デジタル通信ネットワーク」(PDF) 。 2022年10月9日時点のオリジナルよりアーカイブ(PDF) 。
- ^ Lawrence Roberts、Barry D. Wessler (1970)。「リソース共有を実現するためのコンピュータ ネットワーク開発」。1970年 5 月 5 ~ 7 日開催の春季合同コンピュータ カンファレンス- AFIPS '70 (春季) の議事録。p. 543。doi : 10.1145/1476936.1477020。S2CID 9343511。
- ^ Frank E Heart、RE Kahn、Severo M Ornstein、William R Crowther、David C Walden (1970)。「ARPA コンピュータ ネットワークのインターフェイス メッセージ プロセッサ」。1970年 5 月 5 ~ 7 日開催の春季合同コンピュータ カンファレンス - AFIPS '70 (春季) の議事録。pp . 551 ~ 567。doi : 10.1145 /1476936.1477021。ISBN 978-1-4503-7903-8. S2CID 9647377。
- ^ 「ホストの相互接続のためのインターフェイス メッセージ プロセッサ仕様」(PDF)。2014 年 1 月。3
つのパラメータによって、送信元ホストと宛先ホスト間の接続が一意に指定されます。」 「宛先 IMP は、メッセージの受信に対する肯定応答を送信元 IMP に返し、送信元 IMP はこの肯定応答を送信元ホストに渡します。」 「各リンクは単方向であり、ネットワークによって制御されるため、一度に 1 つのメッセージしか送信できません。
- ^ Pelkey, James. 「8.4 伝送制御プロトコル (TCP) 1973-1976」。起業家資本主義とイノベーション: 1968-1988 年のコンピュータ通信の歴史。
ただし、Arpanet には欠点があり、真のデータグラム ネットワークではなく、エンドツーエンドのエラー訂正も提供していませんでした。
- ^ 「アンドリュー・L・ラッセルによるルイ・ポウジン氏へのインタビュー」(PDF)。2012年4月。
アーパネットは仮想回線でした。「本質的には内部データグラムを使用する仮想回線サービスです。
- ^ Roberts, L. (1988-01-01)、「ARPANET とコンピュータ ネットワーク」、パーソナル ワークステーションの歴史、ニューヨーク、ニューヨーク州、米国: Association for Computing Machinery、pp. 141–172、doi :10.1145/61975.66916、ISBN 978-0-201-11259-7、2023-11-30取得
- ^ ab Pouzen, Louis. 「Cyclades ネットワークのプレゼンテーションと主要な設計側面」。2007 年 9 月 27 日時点のオリジナルよりアーカイブ。
- ^ トランザクションのための TCP の拡張 -- 概念。doi : 10.17487 / RFC1379。RFC 1379 。
- ^ ベネット、リチャード(2009年9月)。「変化のための設計:エンドツーエンドの議論、インターネットの革新、そしてネット中立性の議論」(PDF)。情報技術とイノベーション財団。pp.7、11 。 2017年9月11日閲覧。
- ^ V. Cerf ; Y. Dalal ; C. Sunshine (1974 年 12 月)。インターネット伝送制御プログラムの仕様。ネットワークワーキンググループ。doi : 10.17487 / RFC0675。RFC 675 。 廃止。RFC 7805 により廃止。NIC 2。INWG 72。
- ^ J. Postel編 (1981 年 9 月)。インターネット プロトコル - DARPA インターネット プログラム プロトコル仕様。IETF。doi : 10.17487 / RFC0791。STD 5。RFC 791。IEN 128、123、111、80、54、44、41、28、26。 インターネット標準 5。RFC 760 は廃止されました。RFC 1349、2474、および 6864 によって更新されました。
- ^ P. Srisuresh、M. Holdrege (1999 年 8 月)。IP ネットワーク アドレス変換 (NAT) の用語と考慮事項。ネットワーク ワーキング グループ。doi : 10.17487 / RFC2663。RFC 2663 。 情報提供。
- ^ F. Baker ; G. Fairhurst 編 (2015 年 7 月)。アクティブ キュー管理に関する IETF 推奨事項。インターネット エンジニアリング タスク フォース。doi : 10.17487 / RFC7567。ISSN 2070-1721。BCP 197。RFC 7567。 現在のベストプラクティス。RFC 2309 は 廃止されます。
- ^ A. Marine、J. Reynolds 、G. Malkin (1994 年 3 月)。FYI on Questions and Answers - よく聞かれる「新しいインターネット ユーザー」の質問に対する回答。ネットワーク ワーキング グループ。doi : 10.17487/RFC1594。FYI 4. RFC 1594。 廃止。RFC 2664 によって廃止。RFC 1325 より廃止。
- ^ Tanenbaum, Andrew S.; Wetherall, David J. (2011).コンピュータネットワーク、第 5 版. ピアソン. p. 59. ISBN 978-0-13-255317-9。
- ^ パケット並べ替えメトリック。2006 年 11 月。doi : 10.17487 / RFC4737。RFC 4737 。
