TCP/IPの4層構造の内、第3層のトランスポート層の概要を紹介します。トランスポートの意味は、データを送信することです。トランスポート層は、通信データをどのような仕掛けで送信しているのかを規定します。トランスポート層のイメージを掴めます。
トランスポート層とは?
アプリケーション層で送信データを作成すると、トランスポート層で、送信相手にデータを輸送する準備をします。
この時、トランスポート層は、TCPプロトコルで通信品質について管理しています。
トランスポート層の管理内容
トランスポート層では、データを送信します。但し、送信するだけではなくて、データが正確に相手に届いたか、などの通信品質について管理しています。
つまり、データを送信した後の通信に必要な事柄を定めています。これはTCPプロトコルで規定しています。
TCPプロトコルでは、どのように規定しているの?
データを送信する相手のサーバーは、ウエブサーバやメールサーバーなどの複数のサーバープログラムです。
そのため、データを送信するサーバーは、送信相手の、どのサーバーにデータを送信するのかを、TCPヘッダに記載します。
TCPヘッダは、ポート番号の指定や、シーケンス番号の付加も行っています。これらについては、後述します。
さらに、送信相手のサーバーの状態を確認する、ACK番号などの指定も付加されていますが、今回は、省略しています。
ポート番号の指定
データを送信するサーバーは宛先ポート番号で、送信相手を指定します。また、宛先ポート番号の指定とともに、相手から返ってくるデータのことも予め想定します。そして、どのアプリケーションで受信するのかを、送信元ポート番号で指定しておきます。
理由は、データを送信する側でも、様々なソフトウェアを起動しているからです。つまり、相手が送り返してくれたデータが正しく届けられるようにするための配慮です。
シーケンス番号の指定
TCPヘッダでは、宛先ポート番号、送信元ポート番号の指定とともに、シーケンス番号を指定します。
シーケンス番号とは、パケット分割したデータの順番を指定した通し番号です。
インターネットでは、効率的にデータを送信するため、データを分割してパケット化して送信しています。但し、インターネットのルートは様々です。
そのため、パケットが送信相手に届いた時には、パケットの順番が違っているかもしれません。
シーケンス番号は、パケットの順番が入れ替わっていても、受信先で正しくデータを復元できるようにするためのものです。
まとめ
TCP/IPのトランスポート層について、概要を紹介しました。PC初心者にとっては、このような内容でも取っ付きにくいでしょう。
但し、こんな世界でも、慣れると、身近に感じられるようになります。気軽な気持ちで少しずつ慣れてしまいましょう。