- ベストアンサー
トランスポート層とは
TCP/IPのトランスポート層にはTCPやUDPがあることは分かりました。 トランスポート層について調べると「トランスポート層はその名の通り、データの転送を制御する役割を果たす。もう少し具体的に言うと、データ転送の際にデータの誤りなどを検出し、送信元に再送を要求したりといった機能を持っている。そうして得た正しいデータを、アプリケーション層に属する機能を利用したソフトウェアへ正しい状態で送る、というところまでの役割を持っている。(ウィキブックス)」と大抵はこのような内容が書かれています。 しかしUDPは送りっぱなしで何もしないんですよね。とするとトランスポート層のこのような説明はおかしくないのでしょうか。どうも引っかかってしまい先に進めません。 ご存知の方、教えてください。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
トランスポート層は、「そういう機能を持っている」のです。 そして、その機能を使っているのがTCPなのです。 しかし、それでは時間が掛かるので、その機能のうち、「データ転送の際にデータの誤りなどを検出し、送信元に再送を要求したりといった機能」を使わないのが、UDPなのです。 というより、「データ転送の際にデータの誤りなどを検出し、送信元に再送を要求したりといった機能」は、TCPがしていることなのです。
その他の回答 (4)
- pakuti
- ベストアンサー率50% (317/631)
英語版Wikiには下記のようにあります。 Although not developed under the OSI Reference Model and not strictly conforming to the OSI definition of the Transport Layer, typical examples of Layer 4 are the Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). TCPもUDPもOSIモデルを参考にしていないが 役割的にはOSIモデルの4層にあたる という事かと思われます。
- jjon-com
- ベストアンサー率61% (1599/2592)
質問者のおっしゃっていることは別に間違ってはいないと思います。 http://ja.wikibooks.org/wiki/TCP/IP入門_各層の役割 に書かれているトランスポート層の説明は TCPには該当するけれど UDPには該当しません。 UDPというのはちょっと例外的なプロトコルでして。 応答確認がない,エラー検出がない,再送信がない,パケットは失われる可能性もあるし,順序が入れ替わることもある,というのはすべて IP (Internet Protocol)の性質です。 で,アプリケーションソフトが必要とする通信機能がそんなIPレベルの信頼性で十分なので,アプリケーションソフトがIPパケットをほぼそのまま直接利用できるようにした,というのがUDPの位置づけになります。 よろしければ,UDPとTCPの「RFCによる技術仕様」をご覧になってください。 UDPというのは,送信元プロセスと受信先プロセスを識別するポート番号を付加している程度で,ほぼIPパケットそのままだと言うことが分かります。(図中の「データ」という箇所がIPパケットの中身にあたります) http://ja.wikipedia.org/wiki/User_Datagram_Protocol http://ja.wikipedia.org/wiki/Transmission_Control_Protocol したがって,トランスポート層を代表するプロトコルとしては TCP の方がふさわしいのですが,あくまで代表例・多数派であるというだけであって,それがすべてのトランスポート層プロトコルに言えるかというとそうではない。ですから,「どうも引っかかってしまう」「わざと分かり難くしているように思える」というのであれば, >注釈として"TCP/IP"では云々というような言葉があっていいのではないでしょうか というのはその通りだと思います。 >トランスポート層のTCPやUDP以外のプロトコルも「そういう機能」を >使っているものや使っていないものがあるということでしょうか。 http://ja.wikipedia.org/wiki/トランスポート層 の「トランスポート・プロトコルの比較」を参照。 DCCP,SCTP というプロトコルを私は知らないのですが,それらとTCPとの機能の差が一覧表の形式でまとめてあります。
- kawakawakawa13
- ベストアンサー率25% (514/2010)
1番です。 私も、ネットワークの勉強を始めてから、いきなり歴史の解説が始まり、困惑した一人です。 色々なプロトコルが発明されて、現在まで生き残っているのがTCPとUDPということです。 解説本にも載っていますが、他のOSとの互換性から、この2種類が生き残ったようです。
- BLK314
- ベストアンサー率55% (84/152)
"トランスポート層"とはいわゆる"OSI参照モデル"で出てくる用語です。 厳密には "TCP/IP"は"OSI参照モデル"に完全に準拠しているわけではないです。 ただ、話をわかりやすくするため、"OSI参照モデル"の"トランスポート層" という用語を借りてきているにすぎません。 http://ja.wikipedia.org/wiki/OSI%E5%8F%82%E7%85%A7%E3%83%A2%E3%83%87%E3%83%AB#TCP.2FIP.E3.81.A8OSI.E5.8F.82.E7.85.A7.E3.83.A2.E3.83.87.E3.83.AB "OSI参照モデル"と"TCP/IP実装"の間にずれや矛盾があるのは、 ある意味 当然と言えます。
補足
回答ありがとうございます。 おっしゃることは分かります。 しかし、用語は"OSI参照モデル"のものだとしても、"TCP/IP"にあてはめて使用している以上、"TCP/IP"のトランスポート層の説明がなされるべきではないでしょうか。あるいは注釈として"TCP/IP"では云々というような言葉があっていいのではないでしょうか。 これではわざと分かり難くしているように思えてしまいます。
補足
回答ありがとうございます。 なんとなく分かるような分からないような感じです。 それではトランスポート層のTCPやUDP以外のプロトコルも「そういう機能」を使っているものや使っていないものがあるということでしょうか。 また、インターネット層などの他の層でも機能は持っているがそれを使っているプロトコルと使っていないプロトコルがあるということでしょうか。