TCP/IPの流れ
TCP/IP通信の全体的な流れを書きます。 3つに分けて説明します。
データの送信に必要な情報を付与する
例えば、手紙を送る時手紙自体をそのままポストに投函しないですよね。封筒に入れたり、宛先を書いたり、切手を貼ったりしてから投函するはずです。 データも同じで、データだけをそのまま送信することはありません。必要な情報を付与してから送ります。
付与の仕方は、以前書いたTCP/IPモデルの第4層から第1層の各層で上から順に付与していきます。また各層には複数のプロトコルがありそれぞれ種類は違いますが、基本的に層から層への命令だと思ってください。
④アプリケーション層
ここで扱うデータのことをメッセージと呼びます。この層では、アプリケーションのデータを扱い、ウェブページのデータならHTTP、メールならSMTP、コンピュータを遠隔操作するならSSHなどのプロトコルがあります。
この層は、宛先のポート番号などの情報を付与します。それらの情報をヘッダといい、メッセージにヘッダを付与したものをセグメントと呼びます。 この層には、正確重視のTCP、速度重視のUDPの2つのプロトコルがあります。
この層は、IPアドレスなどの情報を付与します。その情報をIPヘッダといい、セグメントにIPヘッダを付与したものをパケットといいます。
①ネットワークインターフェイス層
この層は、イーサネットというプロトコルが使われます。イーサネットには繋がれた端末をホストといい、ホストのIDをMACアドレスといいます。このMACアドレスなどの情報をパケットに付与します。それらをフレームといいます。 また、フレームを電気信号に変える役割もこの層でおこなってます。
データを運ぶ
データを送るのは②のネットワーク層の役割です。 ルーターという機器を使いながらIPアドレスなどをもとに目的地を探します。 正しい方向へデータを送信する方法を経路制御といいます。
目的のアプリケーションまでデータを届ける
基本的に送信と逆の手順(第1層から第4層の順)でデータを開封していきます。
①ネットワークインターフェイス層
MACアドレスをもとに、送られてきたデータが自分宛てのデータが確認します。 正しいデータなら次の層に送ります。
IPヘッダの情報や細切れのデータを読み込みます。
TCPヘッダもしくはUDPヘッダの情報を読み込みます。TCPヘッダの場合、データが壊れていないかの確認もします。またポート番号をもとに、データを正しいアプリケーションに送る役割もこの層です。
④アプリケーション層
この層はヘッダの処理は特にありません。送信側の要求が正常に動作すれば完了です。その旨を送信元のアプリケーションに通知をします。
以上がTCP/IPの通信の流れです。