トランスポート層
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/09/12 05:59 UTC 版)
トランスポート層サービスの一覧
以下のようなサービスが、トランスポート層のプロトコルによって提供される。アプリケーションはこのようなサービスを全て使う必要はない。不必要なサービスの利用は無駄なオーバヘッドになり逆効果を招きかねない。
- コネクション型
- ネットワーク層はコネクションレス・サービスしか提供しないが、アプリケーションが利用する上ではコネクション指向のほうが容易なため、しばしばコネクション指向サービスはトランスポート層の中の最上部に組み込まれる。
- 配送順序の保証
- 一般的にネットワーク層は、データのパケットが送信された時と同じ順序で届く事を保証しない。しかしこれは多くの場合に必要となる機能なので、トランスポート層がそれを提供する。配送順序を保証する最も単純な方法は、各パケットに番号を付ける事で、受信側がパケットを並べ替えられるようにする事である。
- 信頼できるデータ
- パケットの待ち行列が一杯になりネットワークに輻輳が発生すると、ネットワーク・ノードはパケットを削除しなければならないため、ルータ、スイッチ、ブリッジ、およびホストでパケットは喪失することになる。イーサネットは破損したパケットを再送しないため、パケットは混信や雑音が原因で喪失または破損する可能性がある。TCPなどのいくつかのトランスポート層プロトコルはこれを解決できる。チェックサムなどの誤り検出コードにより、データが破損していないという事を検査したり、また送信者へ肯定応答 (ACK) メッセージが送られた事によってそれを検証しても良い。自動再送要求システムは喪失または破損したデータの再送に使われる事がある。エラーを完全になくすことは不可能だが、検出されないエラーを大幅に減少する事は可能である。
- フロー制御
- コンピュータ上のメモリの量には限りがあるので、受信機器がフロー制御をしないと、処理しきれないほどの大量の情報でメモリを溢れさせる可能性がある。今日では、帯域幅が比較的高価であるのに対してメモリは安価なのでこれは大きな問題ではないが、初期の頃は重大な問題だった。フロー制御は受信者のバッファメモリが溢れる前にデータの転送レートを抑えるものである。ネットワーク層によって既にフロー制御が提供されている時もあるが、それが無い場合にトランスポート層が付け加える事がある。UDPではフロー制御はできない。
- 輻輳制御
- ネットワーク・ノードの待ち行列バッファが満杯となり、パケットを取りこぼし始める時にネットワーク輻輳が生じる。また、自動再送要求はネットワークの輻輳状態を持続してしまう可能性が有る。この状況はフロー制御にスロースタートを含む輻輳回避を付け加える事で回避できる。これは転送の開始時やパケット再送時に消費する帯域幅を低い水準に維持する。UDPでは輻輳制御はできない。
- バイト指向型
- トランスポート層は、通信をパケット単位ではなくバイト単位のデータ列に変換する機能を付加しても良い。これにより不揃いな大きさのパケットを簡便に取り扱う事ができる。
- ポート番号
- (TCP/IPモデルではトランスポート層に相当する部分だが、OSI参照モデルではセッション層に当たる)ポート番号は本質的には同じ場所に有る複数の実体を扱う方法である。例えば、郵便物の宛先における部屋番号は一種のポートであり、同じ建物内の別々の居住者を識別する。コンピュータ・アプリケーションでは、それぞれのアプリケーションが各々に割り当てられたポートに送られたデータを受け取る。そのため、複数のネットワーク・アプリケーションを同時に一つのコンピュータで利用することができる。
- 1 トランスポート層とは
- 2 トランスポート層の概要
- 3 トランスポート・プロトコル
- 4 トランスポート層サービスの一覧
- 5 トランスポート・プロトコルの比較
- 6 例
- トランスポート層のページへのリンク