前回は、TCP/IPの4階層モデルの「ネットワークインタフェース層」について、OSI参照モデルのデータリンク層に相当する階層の役割やプロトコルについてお話しました。今回はTCP/IPの4階層モデルの、「インターネット層」を紹介します。

インターネット層とその役割

TCP/IP階層モデルの「インターネット層」は、OSI参照モデルの「ネットワーク層」に相当します(図1参照)。

図1:OSI参照モデルとTCP/IP階層モデル

この層は、エンド・ツー・エンドの通信を提供するという働きを持っています。「エンド・ツー・エンド」の意味は、データを送り出す最初の機器から、データを届ける最後の機器までということを表しており、送信元から最終的な宛先までデータを届けることを意味します。

この通信を実現するには次の役割を果たす必要があります(図2参照)。

(1)通信を行うデバイスを識別できること
(2)宛先までデータを送り届けられるよう経路決定ができること

図2:アドレッシングとルーティング

(1)は、デバイスを識別できる識別子を定義することにより実現します。この識別子を「アドレス」と呼んでいます。アドレスを割り当てることにより、ネットワーク上にある各デバイスを一意に識別できるようになります。このように、デバイスにアドレスを割り当てることを「アドレッシング」といいます。

次に、(1)のアドレスを用いて、(2)のように、宛先までどのような経路を通って通信を行うかを決める機能が必要となります。経路(ルート)を決定する機能なので、「ルーティング」と呼ばれています。エンド・ツー・エンドの通信を実現するには、インターネット層で定義しているアドレスを用いて、ルーティングを行います。

この(1)と(2)を実現するためにTCP/IPプロトコルスタックで用意されているプロトコルが「Internet Protocol」です。これを略して、「IP」と呼んでいます。このIPが提供するアドレス情報を「IPアドレス」と呼びます。

「IP」というプロトコル

インターネット層の役割を提供する「IP」というプロトコルには、IP v4(バージョン4)とIPv6(バージョン6)の2つのバージョンがあります。近年ではISP(※)においてIPv6の提供も行われていますが、本連載では、一般的に使用されているIPv4のお話をします。

※ ISP (Internet Service Provider):インターネット接続サービスを提供する事業者のこと。

IPv4は通信を行うために、通信に必要な情報をIPのヘッダ情報に収めて送信しています。それでは、IPv4ヘッダの情報を見てみましょう。

図3:IPv4ヘッダ概略とデータ構成

図3にIPv4ヘッダの概略情報を示しました。実際のIPヘッダにはこれ以外にもさまざまな情報が含まれていますが、今回は、エンド・ツー・エンドの通信を実現するために必要な主要情報だけを記載しています。

IPv4ヘッダには、エンド・ツー・エンドの通信を実現するため、「送信元IPアドレス」と「宛先IPアドレス」が収められています。IPアドレスは、各デバイスのインタフェースにIPアドレスが割り当てられているため、この情報を基に、デバイスを識別し、「どこから」送り出し、「どこへ」届ければよいかを認識できます。IPヘッダには、ほかにも宛先にデータが届いた後の処理のために、IPより上位の層のプロトコルが何であるかを通知しています。これは「プロトコル番号」で認識します。

IPアドレスとMACアドレス

前回は、データリンク層が「MACアドレス」を持っていると説明しました。しかし今回、「IPアドレス」というアドレスも出てきました。なぜ、通信をするためにこのような2つのアドレスが必要になるのでしょうか? これら2つのアドレスの違いについて、これから説明したいと思います。

図4:データリンク層とネットワーク層の役割の違い

図4では、PCからServerまで通信を行う場合の図が記載されています。ここで、ルータという機器に注目してください。この機器は、ネットワーク同士を接続する役割を持っています。図4の青の点線で示している個所が1つのネットワークです。ルータは接続口ごとに異なるネットワークに接続します。この図では、ルータはそれぞれ2つのネットワークに接続しています。この図4を基に、2つのアドレスの違いを見ていきます。

IPアドレスはOSI参照モデルのネットワーク層に位置づけられるアドレス情報で、エンド・ツー・エンドの通信提供のために使用されます。そのため、(1)~(3)のネットワーク層の情報を見るとわかるように、宛先まで複数のネットワークが存在したとしても、送信元IPアドレスと宛先IPアドレスが変わることはありません。

しかし、実際にこの通信を実現するためには次の(1)~(3)の各区間の通信を実現する必要があります。(1)~(3)の通信は、それぞれ同一ネットワーク内で行われている通信です。同一ネットワーク内の通信を提供するのは、OSI参照モデルのデータリンク層の役割になります。この区間ごとの通信を実現するためにも、送信元と宛先のアドレスを示す必要があります。この時、使用されるアドレスが、データリンク層のMACアドレスです。

そのため、(1)PCからルータ1への通信、(2)ルータ1からルータ2への通信、(3)ルータ2からServerへの通信で、それぞれデータリンク層の送信元と宛先が変わっていることがわかります。

このように2つのアドレスは、役割が異なっています。IPアドレスとMACアドレスという2つのアドレスを組み合わせることによって、初めて送信元から宛先までデータを届けることが可能となります。

次回は、IPアドレスについてもう少し詳しいお話をします。

第5回まとめ

  • TCP/IP階層モデルの「インターネット層」はOSI参照モデルの「ネットワーク層」に相当します。
  • インターネット層は、エンド・ツー・エンドの通信を提供する役割を持ちます。
  • TCP/IPプロトコルスタックが、インターネット層で提供するプロトコルは「IP」です。IPが提供するアドレスを「IPアドレス」といいます。
  • IPヘッダには、送信元IPアドレス、宛先のIPアドレス、プロトコル番号などの情報が含まれています。
  • IPアドレスは、ネットワーク層でエンド・ツー・エンドの通信を提供するため、最初の送信元と最終的な宛先を示すために使用されます。
  • MACアドレスは、データリンク層で同一ネットワーク内の通信を提供するため、各区間の送信元と宛先を示すために使用されます。
柏谷 知美
ネットワンシステムズ株式会社 ビジネス推進本部 応用技術部 ネットワークアカデミーチーム所属。
インストラクター歴16年。Cisco認定インストラクターとしてネットワーク系コースを実施してきただけでなく、現在はサーバ、ストレージ、運用管理、セキュリティなど広範囲の技術分野において、オリジナル教育コースや顧客向けのカスタマイズコースの企画・開発を行っている。