トランスポート層

ラベルの付いた4つの積み重なったブロック。「transport」とラベル付けされた青いブロックは上から2番目です。
インターネットプロトコルスタックのトランスポート層

コンピュータネットワークにおいてトランスポート層は、インターネットプロトコルスイートおよびOSI参照モデルのネットワークスタックにおけるプロトコルの階層化アーキテクチャにおける、メソッドの概念的な区分です。この層のプロトコルは、アプリケーションにエンドツーエンドの通信サービスを提供します。[1] :§1.1.3 コネクション指向通信信頼性フロー制御多重化などのサービスを提供します

インターネットの基盤となるインターネットプロトコルスイート[ 1]のトランスポート層の実装とセマンティクスの詳細は、一般的なネットワークのOSI参照モデルとは異なります。現在インターネットでこの層で使用されているプロトコルはすべて、TCP/IPの開発に端を発しています。OSI参照モデルでは、トランスポート層はしばしば第4層、またはL4と呼ばれますが[2]TCP/IPでは層番号は使用されません。

インターネットプロトコルスイートの中で最もよく知られているトランスポートプロトコルは、伝送制御プロトコル(TCP)です。TCPはコネクション指向の伝送に使用され、一方、コネクションレス型のユーザーデータグラムプロトコル(UDP)は、より単純なメッセージ伝送に使用されます。TCPは、信頼性の高い伝送とデータストリームサービスを組み込んだステートフル設計のため、より複雑なプロトコルです。TCPとUDPは、インターネット上のほぼすべてのトラフィックを構成し、主要なオペレーティングシステムすべてに実装されている唯一のプロトコルです。定義され実装されているその他のトランスポート層プロトコルには、データグラム輻輳制御プロトコル(DCCP)とストリーム制御伝送プロトコル(SCTP)があります。

サービス

トランスポート層サービスは、トランスポート層プロトコルへのプログラミングインターフェースを介してアプリケーションに伝達されます。これらのサービスには、以下の機能が含まれる場合があります。[4]

分析

トランスポート層は、ホストコンピュータ上の適切なアプリケーションプロセスにデータを配信する役割を担います。これは、異なるアプリケーションプロセスからのデータの統計的多重化、すなわちデータセグメントの形成と、各トランスポート層データセグメントのヘッダーへの送信元ポート番号と宛先ポート番号の付加を伴います。送信元IPアドレスと宛先IPアドレスと共に、ポート番号はネットワークソケット、すなわちプロセス間通信の識別アドレスを構成します。OSI参照モデルでは、この機能はセッション層によってサポートされています。

一部のトランスポート層プロトコル(例えばTCP、UDPはサポートされていない)は仮想回線をサポートしており、パケット指向のデータグラムネットワークを基盤としてコネクション指向の通信を提供します。バイトストリームは、アプリケーションプロセスに対するパケットモード通信を隠蔽しながら配信されます。これには、コネクションの確立、データストリームをセグメントと呼ばれるパケットに分割、セグメント番号の付与、そして順序の乱れたデータの並べ替えが含まれます。

最後に、TCPなどの一部のトランスポート層プロトコルは、エンドツーエンドの信頼性の高い通信、すなわちエラー検出コード自動再送要求(ARQ)プロトコルによるエラー回復を提供しますが、UDPは提供しません。ARQプロトコルはフロー制御も提供し、輻輳回避と組み合わせることもできます

UDPは非常にシンプルなプロトコルであり、仮想回線や信頼性の高い通信を提供しないため、これらの機能はアプリケーションプログラムに委任されます。UDPパケットはセグメントではなくデータグラムと呼ばれます。

TCPは、 HTTPによるウェブブラウジングやメール転送など、多くのプロトコルに使用されています。UDPは、多数のホストへの再送信が不可能なため、マルチキャストブロードキャストに使用できます。UDPは一般的にスループットが高く、遅延が短いため、IP-TVやIPテレフォニーなど、パケットロスが許容されるリアルタイムマルチメディア通信や、オンラインコンピュータゲームなどによく使用されます。

X.25フレームリレーATMなど、IPベースではない多くのネットワークでは、トランスポート層ではなく、ネットワーク層またはデータリンク層でコネクション指向通信を実装しています。X.25、電話網モデム、無線通信システムでは、信頼性の高いノード間通信は下位プロトコル層で実装されています。

OSI 接続モード トランスポート層プロトコル仕様では、最もエラー回復の少ないTP0から、信頼性の低いネットワーク向けに設計されたTP4まで、5 つのクラスのトランスポート プロトコルが定義されています。

プロトコルの骨化により、インターネット上で広く使用されているトランスポートプロトコルはTCPとUDPのみである。[6]ミドルボックスの不寛容性を回避するために、新しいトランスポートプロトコルは、許容されているプロトコルのワイヤイメージを模倣するか、UDPにカプセル化されて、ある程度のオーバーヘッド(例えば、内部の整合性チェックによって冗長化された外部チェックサムによる)を受け入れる。[7] QUICは後者のアプローチを採用し、UDP上に信頼性の高いストリームトランスポートを再構築する。[8]

プロトコル

このリストには、インターネット プロトコル スイートOSI プロトコル スイートNetWareIPX/SPXAppleTalk、およびファイバー チャネルのトランスポート層に一般的に配置されるプロトコルがいくつか示されています

インターネットトランスポート層プロトコルの比較

特徴UDPUDP-LiteTCPマルチパスTCPSCTPDCCPRUDP [a]
パケットヘッダーサイズ8バイト8バイト20~60バイト50~90バイト12バイト[b]12バイトまたは16バイト14バイト以上
典型的なデータパケットのオーバーヘッド8バイト8バイト20バイト?? バイト44~48バイト以上[c]12バイトまたは16バイト14バイト
トランスポート層パケットエンティティデータグラムデータグラムセグメントセグメントデータグラムデータグラムデータグラム
コネクション指向いいえいいえはいはいはいはいはい
信頼できる輸送いいえいいえはいはいはいいいえはい
信頼性の低い輸送はいはいいいえいいえはいはいはい
メッセージ境界を保持するはいはいいいえいいえはいはいはい
配達順序なし順序なし注文済み注文済み順序あり / 順序なし順序なし順序なし
データチェックサムオプション[d]はいはいはいはいはいオプション
チェックサムサイズ16ビット16ビット16ビット16ビット32ビット16ビット16ビット
部分チェックサムいいえはいいいえいいえいいえはいいいえ
パスMTUいいえいいえはいはいはいはい?
フロー制御いいえいいえはいはいはいいいえはい
輻輳制御いいえいいえはいはいはいはい?
明示的輻輳通知いいえいいえはいはいはいはい?
複数のストリームいいえいいえいいえいいえはいいいえいいえ
マルチホーミングいいえいいえいいえはいはいいいえいいえ
バンドル/ネーグルいいえいいえはいはいはいいいえ?
  1. ^ RUDPは公式に標準化されていません。1999年以降、標準化関連の開発は行われていません。
  2. ^ データチャンクヘッダーとオーバーヘッドチャンクを除く。埋め込まれたチャンクがなければ、SCTPパケットは実質的に役に立たない。
  3. ^ 以下のようにカウントされます:12バイトのSCTPヘッダー + 16バイトのDATAチャンクヘッダー、または20バイトのI-DATAチャンクヘッダー + 16バイト以上のSACKチャンク。追加の非データチャンク(例:AUTH)や追加データチャンクのヘッダー(50バイト以上になり、オーバーヘッドが容易に増加する可能性がある)はカウントされません。
  4. ^ IPv4ではオプションだが、IPv6では必須である。[10]

OSIトランスポートプロトコルの比較

ISO/IEC 8073/ITU-T勧告X.224「情報技術 - 開放型システム間相互接続 - コネクションモードトランスポートサービス提供プロトコル」は、クラス0(TP0)からクラス4(TP4)までの5つのコネクションモードトランスポートプロトコルのクラスを定義しています。クラス0にはエラー回復機能は含まれておらず、エラーのない接続を提供するネットワーク層で使用するために設計されています。クラス4はTCPに最も近いですが、TCPにはOSIがセッション層に割り当てているグレースフルクローズなどの機能が含まれています。すべてのOSIコネクションモードプロトコルクラスは、データの高速化とレコード境界の保持を提供します。各クラスの詳細な特性は、次の表に示すとおりです。[11]

サービスTP0TP1TP2TP3TP4
コネクション指向ネットワークはいはいはいはいはい
コネクションレスネットワークいいえいいえいいえいいえはい
連結と分離いいえはいはいはいはい
セグメンテーションと再構成はいはいはいはいはい
エラー回復いいえはいいいえはいはい
接続を再開する(過度の数のPDUが未確認の場合)いいえはいいいえはいいいえ
単一の仮想回線上での多重化と多重分離いいえいいえはいはいはい
明示的なフロー制御いいえいいえはいはいはい
タイムアウト時の再送信いいえいいえいいえいいえはい
信頼できる輸送サービスいいえはいいいえはいはい

ISO/IEC 8602/ITU-T勧告X.234で規定されているコネクションレス型のトランスポートプロトコルも存在する。[12]

参考文献

  1. ^ ab R. Braden編 (1989年10月). インターネットホストの要件 - 通信層. ネットワークワーキンググループ. doi : 10.17487/RFC1122 . STD 3. RFC 1122. インターネット標準 3。RFC 1349、4379、5884、6093、6298、6633、6864、8029、9293 によって更新されました。
  2. ^ 「インターネットプロトコルスイートの紹介」『システム管理ガイド』第3巻
  3. ^ “X.225 : 情報技術 – 開放型システム間相互接続 – コネクション指向セッションプロトコル: プロトコル仕様”. 2021年2月1日時点のオリジナルよりアーカイブ。 2023年3月10日閲覧
  4. ^ 「トランスポート層」(PDF) . Galgotias University .
  5. ^ ヒーナ、ケラ。 「データ通信とネットワーク」(PDF)ガルゴティアス大学。 p. 9.
  6. ^ パパステルジオウら。 2017、p. 620-621。
  7. ^ パパステルジオウら。 2017、p. 623-624。
  8. ^ コーベット 2018.
  9. ^ Brian C. Smith, Cyclic-UDP: A Priority-Driven Best-Effort Protocol (PDF) 、 2020年2月23日閲覧
  10. ^ "RFC 8200" . 2025年6月15日閲覧。IPv4とは異なり、IPv6ノードによってUDPパケットが発信された場合のデフォルトの動作では、UDPチェックサムはオプションではありません。
  11. ^ 「ITU-T 勧告 X.224 (11/1995) ISO/IEC 8073」。itu.int 2017 年1 月 17 日に取得
  12. ^ 「ITU-T 勧告 X.234 (07/1994) ISO/IEC 8602」。itu.int 2017 年1 月 17 日に取得

参考文献

  • ジョナサン・コーベット(2018年1月29日)。 「プロトコルの硬直化に対する解決策としての QUIC」。LWN.net
  • Papastergiou, Giorgos; Fairhurst, Gorry; Ros, David; Brunstrom, Anna; Grinnemo, Karl-Johan; Hurtig, Per; Khademi, Naeem; Tüxen, Michael; Welzl, Michael; Damjanovic, Dragana; Mangiante, Simone (2017). 「インターネットトランスポート層の脱骨化:概観と今後の展望」IEEE Communications Surveys & Tutorials . 19 : 619– 639. doi :10.1109/COMST.2016.2626780. hdl : 2164/8317 . S2CID  1846371.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Transport_layer&oldid=1315235037"