宛先の番号を手がかりにパケットが進む
インターネットでは、送るデータを小さな単位に分けたパケットが、いくつものネットワークを通って相手へ届きます。IPのパケットには送信元と宛先のIPアドレスが入ります。途中にあるルータは宛先を読み、自分が持つ経路の情報と照らし合わせて、次に渡す相手を決めます。この判断を繰り返してパケットを受け渡します。
この仕組みでは、IPアドレスは単なる機器名ではなく、ネットワーク上の位置を示す論理的な番号として働きます。同じ機器でも、接続するネットワークが変われば別のIPアドレスになることがあります。
IPは通信の方法を定めるプロトコルの一つです。ただし、IPだけでデータの到着や順序を必ず保証するわけではありません。IPは主にアドレスを使ってパケットを運ぶ役割を受け持ち、必要に応じて別の通信規則と組み合わされます。
IPv4の4区切りとIPv6のコロン区切り
広く使われてきたIPv4のアドレスは32ビットです。「192.168.1.10」のように、8ビットずつ4組に分け、それぞれを0から255までの十進数で表します。数字の間をピリオドで区切るため、ドット付き十進表記と呼ばれます。32ビットで作れる番号の個数には上限があり、インターネットにつながる機器やサービスの増加に対応するため、より広いアドレス空間を持つIPv6も使われています。
IPv6は128ビットで、「2001:db8::1」のように十六進数をコロンで区切って表します。連続する0を省略する書き方もあるため、同じ長さの数字が常に並ぶとは限りません。IPv4とIPv6はアドレスの長さもパケットの形式も異なります。現在は一斉に片方へ置き換わっているのではなく、両方を扱う方法や、相互の通信を助ける変換技術を使いながら共存しています。
「どのネットワーク」と「その中のどれ」を分ける
IPアドレスは、ネットワークを表す部分と、そのネットワーク内の接続先を区別する部分として解釈されます。IPv4ではサブネットマスクを使い、どこまでがネットワーク側かを表せます。また、「/24」のように先頭から何ビットがネットワーク側かを書くCIDR表記もあります。区切りは十進表記のピリオドの位置と必ず一致するとは限らず、実際の判定はビット単位です。
ルータはこの情報を手がかりに配送先を選びます。一台ずつの経路を個別に並べず、同じ範囲のアドレスをまとめて扱える考え方です。ネットワークの範囲による違いはLANとWANで整理できます。
家の内側とインターネット側では番号が変わる
IPアドレスには、インターネット上で通信先を区別するグローバルIPアドレスと、家庭や組織などの内部で使うプライベートIPアドレスがあります。たとえば「192.168」で始まる範囲の一部は、IPv4のプライベートアドレス用として定められています。プライベートアドレスを付けた機器から、その番号のままインターネット上の相手へ直接パケットを届けることはできません。
そこで多くの家庭用ルータは、内部の複数の機器による通信を、インターネット側のグローバルIPアドレスを使う通信へ変換します。この働きはNATや、ポート番号も利用するNAPTと呼ばれます。ルータは通信の対応関係を管理し、戻ってきたデータを内部の適切な機器へ渡します。そのため、Webサイトから見える送信元IPアドレスと、端末の設定画面に表示されるIPv4アドレスが一致しないことがあります。
アドレスは手作業で固定する場合もあれば、ネットワークへ接続したときに自動で割り当てられる場合もあります。自動割り当てにはDHCPという仕組みがよく使われます。アドレスの重複や設定する範囲の誤りは通信できない原因になるため、割り当てはネットワークの管理と一体です。
DNSは名前をIPアドレスへ案内する
Webサイトを利用するとき、通常はIPアドレスの数字を直接入力せず、文字で表したドメイン名を使います。ドメイン名とDNSのうち、DNSはドメイン名に対応するIPアドレスなどの情報を調べる仕組みです。ブラウザは得られたアドレスを通信先として使い、サーバへ要求を送ります。
したがって、ドメイン名とIPアドレスは同じものではありません。ドメイン名は人が扱いやすい名前であり、IPアドレスはIP通信で配送先を示す番号です。また、IPアドレスだけでは、Webページ、メールなど利用したいサービスまでは指定できません。クライアントサーバモデルでは、接続先の機器に加えて、どのサービスへ要求を送るかも通信に必要になります。
IPアドレスは端末の永久名札ではない
「住所」というたとえは役割をつかむのに便利ですが、現実の住所とまったく同じではありません。IPアドレスは、通信事業者やネットワークの仕組みによって接続のたびに変わることがあります。一台の機器がWi-Fiと携帯電話回線を同時に使えば、それぞれの接続に別のアドレスを持つこともあります。逆に、NATの内側にある複数の機器が、外部からは同じグローバルIPアドレスを使っているように見える場合もあります。
このため、IPアドレスを見ただけで、特定の人や一台の端末を常に断定できるわけではありません。推定できる地域も通信事業者の設備や割り当て方に左右され、GPSのような正確な位置情報ではありません。IPアドレスは通信を成立させる重要な手がかりですが、人の身元や物理的な現在地そのものではない、という区別が大切です。
さらに、自分自身を指すために予約されたループバックアドレスがあります。IPv4の「127.0.0.1」やIPv6の「::1」へ送った通信は、外部のネットワークへ出ず、同じ機器の中へ戻ります。これは通信ソフトウェアの動作確認などに利用されます。ネットワーク上の相手を示すための番号の中に、「この機器自身」を表す特別な値も用意されているのです。