コンピュータの通信はTCP/IPというルールで動いているらしい

私たちが普段言葉を使って人とコミュニケーションをとるように、コンピュータはネットワークアーキテクチャというものを使って通信しています。現在の通信はTCP/IPが主流となっています。

ネットワークアーキテクチャ

TCP/IPは通信を役割ごとに4つに階層化されたプロトコル(通信のルール)を組み合わせて成り立っています。言語にも文法などのルールが存在するのと同じですね。

  • アプリケーション層
    アプリケーションを実行するためにデータ形式や処理手順を決める
  • トランスポート層
    データを適切なアプリケーションに振り分ける
  • インターネット層
    ネットワーク間でデータを転送する
  • ネットワークインタフェース層
    同じネットワーク内でデータを転送する(Wi-Fi、有線LANなど)

階層化している理由はそれぞれの層における役割をはっきりさせることで結果的にシンプルな設計にでき、また目的に応じてプロトコルを組み合わせることができるからです。

プロトコルのヘッダを使った通信のルール

TCP/IPでは上の4つの階層のプロトコルを組み合わせて通信します。その際に各プロトコルは自身の役割の情報(ヘッダ)をデータに加えて通信を行います。これをカプセル化といい、ヘッダというカプセルの中にデータを入れるイメージです。

最上位のアプリケーション層からヘッダが付加されてカプセル化され、次に1つ下の層であるトランスポート層でもヘッダが付加されてカプセル化され…というように最下層のネットワークインタフェース層まで行います。

つまりネットワーク上のデータには様々なプロトコルのヘッダが付加されています

送信先にデータが到達すると今度はプロトコルに基づいてヘッダを外して次のプロトコルへと処理を渡していきます。

階層ごとにデータの呼び方は変わる

様々なプロトコルのヘッダが付加されたデータはネットワークアーキテクチャの階層に応じてデータの呼び方が使い分けられています。呼び方を変えることによってどの階層を考えているかが明確になります。

  • アプリケーション層:メッセージ
  • トランスポート層:セグメント
  • インターネット層:パケット
  • ネットワークインタフェース層:フレーム

例えばWebブラウザの通信を考えるとデータは下のように名称が変わります。パケットという言葉は携帯の通信でたまに聞いたことありますね。インターネット間を移動するデータをパケットといいます。

コメント

タイトルとURLをコピーしました