アウトプットの部屋

エンジニアになるためのアウトプット

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の通信の流れです。