見出し画像

伝送の「開始」と「終了」をしっかりコントロール!トランポート層の役割とは?

「遠くからメールを送っても、データが壊れてないのって何か不思議…」

はい、こんにちは!松井真也です。シリーズ「ネットワークからアプリへの橋渡し:トランスポート層の世界」第1回でございます!

トランスポート層は、アプリが生成したデータを送り出し、また届いたデータをアプリに提供します。「データ伝送の開始と終わり」を担当するという重要な役割を持つレイヤーです。

今回は、このトランスポート層の役割をざっくりと概観しましょう!これによって、この後の詳細な解説の理解に弾みがつくはずです。

では、いってみましょう!

トランスポート層とは何か?

トランスポート層は、ネットワークにおいて、データの送信元と送信先の間で正確で効率的なデータ転送を担う重要な役割を持っています。

この層は、「データがどのように送られるか」、つまり「データの分割や再組み立て、エラーチェック、データの流れの制御」などを行っています。

特に、OSI参照モデルでは、第4層に位置づけられます。として知られています。物理層、データリンク層、ネットワーク層の上ですね。

※余談ですが、説明に使うべきは、OSI参照モデルなのか、TCP/IPモデルなのかという議論がよくありますよね…。このブログでは、第1~4層までOSIモデル、残りは全て「第7層:アプリケーション層」として扱っております。あなたは何派?

話はそれましたが、トランポート層は、データ通信のプロセスにおいて、送信準備と最後のお届けで、大事な役割を果たしているわけです。

トランスポート層の基本的な役割

トランスポート層の役割を、少し詳しく見てみましょう。

最重要の役割は、上に述べたとおり、エンドツーエンドでの信頼性の高いデータ転送を確立することです。

具体的には、エラーの検出と訂正、データの再送制御、データの順序保持、フロー制御、輻輳制御などがあります。

イメージが湧きませんか?例えば、メールを送るとき、その内容が途中で消失したり、データが元に戻せずぐちゃぐちゃにならないのは、トランスポート層がこれらの機能を適切に管理しているからです。ありがたや。

主要なトランスポート層プロトコル

トランスポート層には、TCP(Transmission Control Protocol)とUDP(User Datagram Protocol)という二つの主要なプロトコルがあります。この2つさえ押さえておけばOKですよ!(それが難しいのですけども)

TCPは信頼性が非常に高く、データが正確に届けられることを保証します。これは、データが失われた場合や順序が乱れた場合に再送を行うなど、細かな制御をしてくれます。上に述べた機能の大半は、TCPのものを示しています。名前に「Control」(制御)が含まれていますね。まさに名前のとおりです。

一方、UDPはより軽量であり、少ないオーバーヘッド(送りたいデータ以外の処理データ量)で高速にデータを送ることができます。

しかし、TCPほどの信頼性はありません。UDPは、リアルタイム通信など、とにかく速度が重要視される場面で用いられます。

TCPは書留、UDPは置き配に近いですかね…。

トランスポート層が提供する主なサービス

トランスポート層(のうち、主にTCP)が提供するサービスには、順序制御、フロー制御、輻輳制御などがあります。

後の回で詳しく話しますから、さらりと触れるだけにしましょう。

順序制御は、データパケットが送信された順序通りに受信されることを保証します。

フロー制御は、送信側と受信側のデータ処理速度の差を調整し、受信側のオーバーフローを防ぐためのものです。

輻輳制御は、ネットワーク内のデータ転送量が多すぎることによる輻輳(回線の混雑)を防ぐために行われます。


はい、本日はここまで!今回は、トランポート層の役割をさらっと眺めてみました!次回以降は、技術的なことを掘り下げていきましょう!

では!


この記事が気に入ったらサポートをしてみませんか?