IP

イーサネットや無線LANなどの物理的なネットワークを相互に接続した通信を実現するためのプロトコル。
ネットワークインターフェース層に位置するMACアドレスは小規模なローカルエリアネットワークで通信を行うためのものであるため、複数のネットワークを前提とした通信を実現する。

IPデータグラム

IPを使うネットワークでデータをIPデータグラムというデータ構造に収めて伝送する。データの宛先と送信元を示すIPアドレスと管理情報が含まれる。
イーサネットフレームのデータとして収められてネットワークで伝送される。(タイプ:0800)

hoge

MACアドレスの解決

アドレス解決プロトコル(ARP)を使って、IPアドレスに対応するMACアドレスを取得する。問い合わせのイーサネットフレームをブロードキャストすることで、該当のホストが受信した場合は、MACアドレスを含めた応答を返却する。
ホスト上にIPアドレスとMACアドレスの対応表(ARPテーブル)で記録する。

フラグメント

IPデータグラムは最大で65535バイトになる。
イーサネット上のMTUより大きなサイズになるため、MTU以下のサイズに分割するフラグメントをおこなう。
分割した場合、各フレームがすべて到達しているかを検出したり、正しい順序で復元する必要がある。分割されたフレームには、分割もとのIPヘッダと分割に関する情報のヘッダが付与される。受信側はこの情報を使ってもとのデータグラムを再構築する。
また、ヘッダ中に識別子フィールドとしてごく短期間の間でのみ一意な値が付番される。この付番によって、送られてきたフラグメントされたIPデータグラムを識別する。

hoge

IPルーティング

イーサネットのブリッジでは、イーサネットフレームワークの宛先MACアドレスで中継処理を行っていた。IPでは、インターネット層のプロトコルも認識してその情報をもとに中継処理を行う。
ネットワークインターフェース層の、送信元と宛先は中継するにつれて変化するが、インターネット層の送信元IPと宛先IPは変化しない。

  • 同じネットワーク内の場合
    • 送信元のARPテーブルから宛先IPアドレスに対応するMACアドレスをイーサーネットフレームの宛先にする
  • 異なるネットワークの場合
    • 送信元
      • ARPテーブルからルーターへのMACアドレスをイーサーネットフレームの宛先にする
    • ルーター
      • 受信したIPデータグラムを確認し、自身宛でない場合、中継処理をおこなう。
      • 処理にかかった時間をIPヘッダ中のTTLから減少させて、0になった場合破棄する。
      • 中継処理:宛先IPアドレスを調べる。ルーターのもっているネットワークインターフェースのネットワークアドレスと比較して、一致する場合、フレームをルーター自身が持っているARPテーブルから宛先MACアドレスを所得する。そして、送信元MACアドレスがルーターのイーサネットフレームを送信する。

hoge

ルーティングテーブル

ルーティングテーブルを理解する - Qiita

デフォルトゲートウェイ

ルーターが1台しかないネットワークでは、自信宛か、それ以外のネットワーク宛かの判定だけできればよい。これを満たすようにルーティングテーブルを簡略化するための考え方。
自身宛でなければ、どの宛先のネットワークでも特定のルーターにおくるようにデフォルトゲートウェイを設定する。

TCP/IP 4階層モデル

アプリケーション層

OSI 7階層参照モデルのセッション層からアプリケーション層に相当します。プログラム間でどのような形式や手順でデータをやり取りするか定める。Webや電子メール等のアプリケーションプロトコルもこの層に属する。

トランスポート層

OSI 7階層参照モデルのトランスポート層に相当する。通信を行うプログラムの間でデータ伝送を実現する。必要に応じて、エラーの検出と快復や双方向の通信路の確立なども行います。UDP, TCPはこの層のプロトコル。

インターネット層

OSI 7階層参照モデルのインターネット層に相当する。複数のネットワークを相互に接続した環境での、機器間のデータ伝送を実現します。IPはこの層のプロトコル。

ネットワークインターフェース層

OSI 7階層参照モデルのデータリンク層、物理層に相当する。ネットワークハードウェアが通信を実現するための層。各種イーサネット、無線LANなどがこの層に属します。

  • リピーター
  • スイッチ
    • ブリッジ