トランスポート層

トランスポート層（トランスポートそう ）とは、コンピュータと電気通信では、TCP/IPモデルにおけるの4階層の内の第3層の事である。上位のアプリケーション層からのサービス要求に応じ、また下位のインターネット層に対してサービス要求を行う。
トランスポート層はOSI参照モデルにおける7階層の内の第4層の名前でもある。上位のセッション層からのサービス要求に応じ、また下位のネットワーク層に対してサービス要求を行う。
トランスポート層の定義はそれら2モデルで僅かに異なる。この記事では主としてTCP/IPモデルについて言及する。OSI参照モデルでのトランスポート層の定義も参照の事。
トランスポート・プロトコル.
トランスポート・プロトコルは、トランスポート層（第四層）の通信プロトコルである。インターネットにおける2大トランスポート・プロトコルとして、コネクション型の「TCP」（Transmission Control Protocol）と、コネクションレス型の「UDP」（User Datagram Protocol）がある。その他、Datagram Congestion Control Protocol（DCCP）やStream Control Transmission Protocol（SCTP）が有る。
トランスポート層は通常はホストコンピュータのオペレーティングシステム上のプロセスに制御され、ルータやスイッチには制御されない。通常トランスポート層は、ネットワーク層（第三層）によって提供された信頼性が低く極めて基本的なサービスを、より強力な物へ転換する。
TCP/IPモデルでは、トランスポート層はホストコンピュータ上の適切なアプリケーションプロセスにデータを配送する責任が有る。これは異なったアプリケーション・プロセスからのデータの統計的多重化、すなわちデータのパケット化、およびトランスポート層の各データ・パケット・ヘッダへの送信元／送信先ポート番号の追加を伴う。送信元および送信先のIPアドレスと共に、そのポート番号はネットワーク・ソケット、すなわちプロセス間通信の識別アドレスを構成する。OSI参照モデルでは、この機能はセッション層が対応している。
いくつかのトランスポート層プロトコル（例えばUDPでなくTCP）では、仮想回線の対応、言い換えれば基礎的なパケット指向のデータグラムネットワーク越しのコネクション型通信を提供する。バイトストリームはアプリケーション・プロセスに対してパケット・モード通信を隠蔽したまま配信される。これはコネクションの確立、セグメントと呼ばれるパケットへのデータ・ストリームの分割、セグメントの番号付けと不規則に並ぶデータの並べ換えを伴って実現される。
最終的に、いくつかのトランスポート層プロトコル（例えばUDPでなくTCP）は、始点から終点まで（エンド・ツー・エンド）の信頼できる通信、すなわち誤り検出コードと自動再送要求（ARQ）プロトコルによるエラー復旧を提供する。ARQプロトコルは更に輻輳回避としても用いられるフロー制御も提供する。
多くの非IPベース・ネットワーク（例えばX.25、フレームリレー、およびATM）では、トランスポート層よりはむしろネットワーク層やデータリンク層（第二層）で、コネクション指向通信が実装されている。X.25、電話網のモデム、および無線通信システムでは、信頼できるノード対ノードの通信がより下位のプロトコル層で実装されている。
OSI/X.25プロトコル・スイートでは、（TP0としても知られ、最低限のエラー復旧を提供する）クラス0から（TP4としても知られ、インターネットに似た低信頼ネットワーク用に設計された）クラス4まで、五つのクラスのOSI トランスポート・プロトコルが存在する。
TCP.
TCPはより複雑で最も一般的である。
TCPは、WebブラウズのHTTPやメール転送を含む、多くのプロトコルに使われる。
UDP.
UDPは、膨大な数のホストへの再送は不可能である事から、マルチキャストや放送に使われる事もある。UDPは典型的には高いスループットと短い待ち時間（レイテンシ）を与える。従って、例えばIP-TVやIPテレフォニー、またオンラインゲームという、時にはパケット・ロスが起こる事が許されるリアルタイム・マルチメディア通信に使われる事が多い。
UDPは極めて単純なサービスであり、仮想回路も信頼できる通信も提供せず、それらをアプリケーションに任せる。UDPパケットはセグメントというよりはむしろデータグラムと呼ばれる。
トランスポート層サービスの一覧.
以下のようなサービスが、トランスポート層のプロトコルによって提供される。アプリケーションはこのようなサービスを全て使う必要はない。不必要なサービスの利用は無駄なオーバヘッドになり逆効果を招きかねない。