MENU

IPアドレスとは何か

目次

はじめに: IPアドレスはネットワーク上の宛先を表す

ブラウザでWebページを開くと、ブラウザはサーバーへHTTPリクエストを送ります。フォーム送信やAPI呼び出しも、裏側ではサーバーとの通信です。

このとき必要なのは、リクエストの中身だけではありません。「どこへ送るか」という宛先も必要です。IPアドレスは、ネットワーク上のコンピュータやサーバーを識別し、通信相手を見つけるために使われます。

基本情報技術者試験でも、IPアドレスはネットワーク分野の土台です。IPv4、グローバルIPアドレス、プライベートIPアドレス、DNS、ポート番号と合わせて理解すると、Web通信の流れが見えやすくなります。

IPアドレスは、ネットワーク上で通信相手を見つけるための宛先情報です。

IPアドレスは「どこへ送るか」を表す

HTTPリクエストには、メソッド、URL、ヘッダー、ボディなどが含まれます。ただし、ネットワークとしては「そのデータをどの相手に届けるのか」も判断しなければなりません。

IPアドレスは、そのための宛先情報です。郵便でいえば、本文とは別に住所が必要になるイメージです。Web開発ではURLを見ることが多いですが、サーバーログやアクセス制限、障害調査ではIPアドレスを直接見ることがあります。

IPアドレスを理解すると、HTTPリクエストがどの相手に向かって送られているのかを考えやすくなります。

IPv4の形をJavaScriptで分解してみる

IPアドレスとしてよく見る形に、IPv4アドレスがあります。IPv4は、次のように4つの数値をドットで区切って表します。

192.168.1.10

それぞれの数値は、0から255までの範囲になります。JavaScriptで分解してみます。

const ipAddress = "192.168.1.10";

const parts = ipAddress.split(".").map(Number);

console.log(parts);
console.log(parts.every((part) => part >= 0 && part <= 255));

実行すると、次のような配列として扱えます。

[192, 168, 1, 10]
true

各部分が0から255なのは、8ビットで表されるためです。IPv4は4つの8ビットを合わせた、合計32ビットの宛先表現です。

IPv4アドレスは、0から255までの数値を4つ並べた32ビットの宛先表現です。

グローバルIPアドレスとプライベートIPアドレス

IPアドレスには、インターネット上で使われるものと、家庭や社内ネットワークの中で使われるものがあります。

インターネット上で通信相手を識別するために使われるIPアドレスを、グローバルIPアドレスと呼びます。一方、家庭や会社の中だけで使われるIPアドレスを、プライベートIPアドレスと呼びます。

代表的なプライベートIPアドレスの範囲は次のとおりです。

10.0.0.0 から 10.255.255.255
172.16.0.0 から 172.31.255.255
192.168.0.0 から 192.168.255.255

自宅や社内で 192.168.1.10 のようなIPアドレスを見ることがあるのは、この範囲がプライベートIPアドレスとして使われるためです。まずは「グローバルはインターネット側」「プライベートは内側」と分けて理解すると十分です。

グローバルIPアドレスはインターネット側の宛先、プライベートIPアドレスは家庭や社内ネットワーク内の宛先として使われます。

ドメイン名とIPアドレスの関係

Webサイトへアクセスするとき、私たちは多くの場合、IPアドレスを直接入力しません。代わりに、example.com のようなドメイン名を使います。

ドメイン名は人間にとって扱いやすい名前です。しかし、ネットワーク上で通信相手を見つけるには、最終的にIPアドレスが必要になります。そこで使われるのがDNSです。

DNSは、ドメイン名とIPアドレスを対応付ける仕組みです。

人間が入力するもの: example.com
通信で必要になるもの: 対応するIPアドレス

ブラウザでURLを入力すると、ドメイン名から対応するIPアドレスを調べ、その宛先へ通信を始めます。

ドメイン名は人間が扱いやすい名前で、IPアドレスはネットワーク上で通信相手を見つけるための宛先です。

IPアドレスとポート番号の違い

IPアドレスと一緒に出てくる用語に、ポート番号があります。どちらも通信の宛先に関係しますが、役割は異なります。

IPアドレスは、どのコンピュータやサーバーへ送るかを表します。一方、ポート番号は、そのコンピュータやサーバーの中のどのサービスへ届けるかを表します。

IPアドレス  → どの機器へ送るか
ポート番号  → その機器のどのサービスへ届けるか

HTTPでは 80、HTTPSでは 443 が代表的なポート番号です。開発環境では localhost:3000localhost:8000 のように、ポート番号を明示してアクセスすることもあります。

IPアドレスは通信相手の機器を表し、ポート番号はその機器の中のどのサービスに届けるかを表します。

試験ではどう問われるか

基本情報技術者試験では、IPアドレスはネットワークの基礎として問われます。

まず、IPv4アドレスの形を押さえます。192.168.1.10 のように、0から255までの数値を4つ並べる形式です。IPv4が32ビットで表されることも、ビット数の理解とつながります。

次に、グローバルIPアドレスとプライベートIPアドレスの違いです。さらに、DNSやポート番号との関係もよく出てきます。用語を単独で覚えるより、次のように通信の流れとして並べると理解しやすくなります。

ドメイン名を入力する
DNSでIPアドレスを調べる
IPアドレスを宛先にして通信する
ポート番号でサービスを指定する
HTTPリクエストとレスポンスをやり取りする

試験では、IPアドレスを単独で覚えるより、DNS、ポート番号、TCP/IPと結び付けて理解することが大切です。

実務ではどう使われるか

実務でも、IPアドレスを見る場面は多くあります。

サーバーログには、アクセス元のIPアドレスが記録されることがあります。エラーが発生した時間帯に、どこからアクセスが来ていたのかを確認すると、調査の手がかりになります。

管理画面やAPIを特定の場所からだけ使えるようにするため、IPアドレスでアクセス制限をすることもあります。ローカル開発では、同じネットワーク内の別端末から開発サーバーへアクセスするときに、プライベートIPアドレスを使うことがあります。

ただし、IPアドレスを見れば個人や正確な住所が必ず分かる、というわけではありません。Web開発では、IPアドレスを「通信の宛先や送信元を調べるための手がかり」として扱うのが現実的です。

実務では、IPアドレスを見ることで、どこからアクセスが来たのか、どの相手へ接続しようとしているのかを調査しやすくなります。

まとめ: IPアドレスを理解すると通信経路が見えやすくなる

IPアドレスは、ネットワーク上で通信相手を見つけるための宛先情報です。IPv4アドレスは、0から255までの数値を4つ並べた形で表されます。

グローバルIPアドレスはインターネット側で使われ、プライベートIPアドレスは家庭や社内ネットワークの中で使われます。ドメイン名はDNSによってIPアドレスと対応付けられます。

また、IPアドレスはどの機器へ送るかを表し、ポート番号はその機器のどのサービスへ届けるかを表します。IPアドレスを理解すると、HTTP通信の裏側でデータがどの相手に向かっているのかをイメージしやすくなります。

IPアドレスを理解すると、HTTP通信の裏側でデータがどの相手に向かっているのかをイメージしやすくなります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

20代前半に、ゲームボーイアドバンス、ニンテンドーDS、Wii向けソフトの開発に携わりました。

その後、20代後半にかけては組み込み系エンジニアとして、主にサーバーソフトウェアの開発を経験。

30代からはWebエンジニアとして、さまざまなWebサービスの開発に携わってきました。

現在は40代となり、ゲーム開発、組み込み開発、Web開発で培った経験を活かしながら、技術をわかりやすく伝える活動にも取り組んでいます。

コメント

コメントする

CAPTCHA


目次