はじめに
インターネットや社内ネットワークで通信を行う際、「IPアドレス」という言葉を耳にする機会は多いでしょう。しかし、IPアドレスが何のために存在し、どのような役割を担っているのかを正確に説明できる人は意外と多くありません。
この記事では、ネットワーク層におけるIPの役割を中心に、IPアドレスが必要な理由やデータリンク層との違い、経路制御(ルーティング)の仕組みまでを初心者にも分かりやすく解説します。ネットワークの基礎を理解したい方や、IT資格の学習をしている方にも役立つ内容です。
IPとは
IP(Internet Protocol)は、TCP/IPで使用されるネットワーク層のプロトコルです。
その役割は、異なるネットワーク同士を接続し、目的のコンピュータまでデータを届けることです。家庭内のLANだけでなく、企業ネットワークやインターネットなど世界中のネットワークでは、このIPによって通信が行われています。ネットワーク内で住所の役割を果たすのがIPアドレスであり、送信元と宛先の情報を持つことで、データは目的地まで届けられます。データリンク層ではMACアドレスを利用して同一ネットワーク内の通信を行いますが、IPアドレスはネットワークをまたいだ通信を実現するためのアドレスです。
つまり、MACアドレスは同じネットワーク内で通信するための住所、IPアドレスは異なるネットワークを越えて通信するための住所という違いがあります。
IPが必要な理由
もしMACアドレスだけで通信を行う仕組みだった場合、通信できる範囲は同じネットワーク内に限定されます。例えば、自宅のパソコンからWebサイトへアクセスする場合、途中には家庭用ルータやプロバイダ、複数の通信事業者など数多くのネットワークが存在します。MACアドレスはネットワークを越えて利用されるものではないため、このような通信は実現できません。そこでIPアドレスを利用することで、複数のネットワークを経由しながら目的のコンピュータまでデータを届けられるようになります。インターネットが世界中で利用できるのは、このIPによるネットワーク間通信のおかげです。
データリンク層を抽象化する仕組み
ネットワークにはイーサネットやWi-Fiなど、さまざまなデータリンク方式があります。
それぞれ通信方法や仕様が異なりますが、IPはそれらの違いを意識することなく通信できるよう設計されています。これをデータリンク層の抽象化といいます。
例えば、送信元が有線LANで接続されていても、途中で光回線や無線LANを経由し、最終的に別のLANへ到達することがあります。途中で通信方式が変わっても、IP層から見ると「IPパケットを届ける」という共通の仕組みで動作します。このように、下位層の違いを吸収することで、アプリケーションは通信方式を意識せず利用できるようになっています。
MTUとフラグメンテーション
データリンクごとに、一度に送信できるデータサイズには上限があります。この上限をMTU(Maximum Transmission Unit)と呼びます。例えば、通信経路の途中にMTUが小さいネットワークがあると、大きなIPパケットはそのままでは通過できません。その場合、IPv4ではフラグメンテーションという仕組みによってパケットを複数に分割し、それぞれを送信します。受信側では分割されたパケットを再び組み立て、元のデータとして上位層へ渡します。そのため、アプリケーションは途中でパケットが分割されたことを意識する必要はありません。ただし、フラグメンテーションは通信効率を低下させるため、現在では途中で分割するよりも、通信開始時に最適なMTUを調べるPath MTU Discovery(PMTUD)が利用されるケースが多くなっています。
ネットワーク機器とIPアドレス
ネットワーク機器によって、IPアドレスが必要かどうかは異なります。
ハブやブリッジなどの機器はデータリンク層で動作するため、基本的にはIPアドレスを使ってパケットを転送しません。一方で、ルータはネットワーク層で動作する機器であり、IPアドレスを利用して異なるネットワーク同士を接続します。そのため、ルータには各ネットワークへ接続するためのIPアドレスが設定されています。なお、近年は管理や監視のためにスイッチへIPアドレスを設定することもありますが、これは管理用であり、通常のフレーム転送とは別の用途です。
経路制御(ルーティング)とは
IPが目的のコンピュータまでデータを届けるためには、途中でどのルータへ転送すればよいかを判断する必要があります。この仕組みを経路制御(ルーティング)と呼びます。TCP/IPでは、ホップ・バイ・ホップ(Hop-by-Hop)ルーティングという方式が採用されています。これは送信元が最終目的地までのすべての経路を指定するのではなく、各ルータが次に転送すべきルータを判断しながらデータを中継していく方式です。例えば、自宅からWebサイトへアクセスする場合でも、「自宅ルータ → プロバイダ → 通信事業者 → データセンター」というように、各ルータが次の転送先を判断しながら目的地までデータを届けています。
ルーティングテーブルとは
ルータやパソコンは、次にどこへデータを送ればよいかを判断するためにルーティングテーブル(経路制御表)を保持しています。ルーティングテーブルには、「宛先ネットワーク」「次に転送するルータ(ネクストホップ)」「使用するネットワークインターフェース」などの情報が登録されています。
送信先のIPアドレスを確認し、この表を参照することで最適な経路が選択されます。家庭用ネットワークでは、多くの場合デフォルトゲートウェイとして家庭用ルータが登録されており、宛先が自宅ネットワーク以外の場合は、まずルータへパケットが送られます。
まとめ
IPはネットワーク層で動作し、異なるネットワーク間でデータを届けるための重要なプロトコルです。
データリンク層の違いを吸収することで、通信方式を意識せずアプリケーションが利用できる環境を実現しています。また、MTUやフラグメンテーション、ルーティングなどの仕組みによって、複雑なネットワーク経路でも安定した通信が可能になっています。
ネットワークを学習する際は、「IPアドレス=住所」と覚えるだけではなく、「ネットワークを越えて通信を実現する仕組み」であることまで理解すると、ルータやTCP/IP全体の仕組みも理解しやすくなります。


コメント