トランスポート層

トランスポート層

 トランスポート層は、通信を行う二つのノード間でデータの送受信を管理する層であり、OSI参照モデルでいうところの第4層に位置します。この層は、アプリケーション層から受け取ったデータを適切な形式に変換し、ネットワーク層に送信することで通信を実現します。

 トランスポート層で使用されるプロトコルには、主にTCP(Transmission Control Protocol)とUDP(User Datagram Protocol)があります。TCPは、信頼性の高いデータ通信を実現するプロトコルであり、データの送信順序の保証や、転送エラーの自動再送などを行います。一方、UDPは、簡易なデータ通信を実現するプロトコルであり、データの送信順序の保証や再送の機能はありません。

 TCPやUDPを使用することで、アプリケーション層から送信されるデータは、IPヘッダーに加え、トランスポート層ヘッダーによって識別されます。TCPヘッダーには、送信元ポート番号と宛先ポート番号、シーケンス番号や確認応答番号などが含まれており、データの送信元や宛先を識別するために使用されます。UDPヘッダーには、送信元ポート番号と宛先ポート番号、データの長さなどが含まれています。

 トランスポート層は、通信を行う二つのノード間でのデータの信頼性や速度を向上させるための様々な機能を提供しています。例えば、TCPでは、データの分割や再構築、エラー検出と自動再送、フロー制御などが行われます。UDPでは、データの分割や再構築、エラー検出と自動再送は行われませんが、データの送信元や宛先を識別することができるため、マルチキャスト通信などに使用されます。

 トランスポート層の機能を適切に設計することで、通信の信頼性や効率を向上させることができます。しかし、トランスポート層での通信は、ネットワーク上の様々な問題や攻撃に対して脆弱であるため、セキュリティの確保にも十分トランスポート層には、主にTCP (Transmission Control Protocol) とUDP (User Datagram Protocol) があります。

 TCPは信頼性の高い転送を提供し、接続指向の通信を行います。通信相手との間で接続を確立してから、データの転送を行い、最後に接続を切断することで通信を完了します。TCPは通信路上でデータが誤りなく転送されることを保証し、誤りがあった場合には再送要求を行うなどの手段を用いて、再送やデータの修正を行います。

 一方、UDPは信頼性の低い転送を提供し、接続指向ではなく、接続を確立する必要がありません。そのため、通信量が少ないデータの送信や、リアルタイム性の高い通信に向いています。UDPはエラーチェックや再送要求を行わず、送信したデータが誤りや欠落しても再送を行わないため、通信相手によるエラーチェックや再送要求により正常な通信を行う必要があります。

 トランスポート層は、アプリケーション層で生成されたデータを、ネットワーク層で扱えるようにセグメンテーション(分割)やデータの再構成を行うことが主な役割です。また、TCPにおいては、フロー制御や輻輳制御なども行います。