IPアドレスとは?
IPアドレスは、ネットワーク上の機器を識別し、他の機器がデータを送れるようにするための番号です。郵便の住所のようなもので、ルーターは各パケットの宛先アドレスを読み取り、届くまで順番に転送していきます。現在使われているバージョンは2つあり、IPv4(例:192.0.2.10)とIPv6(例:2001:db8::10)です。
IPv4とIPv6の形式
IPv4アドレスは32ビットです。203.0.113.25のように、0から255までの10進数4つをドットで区切って表記します。それぞれの数字は1バイトで、オクテットと呼ばれます。IPv4アドレスの総数は232、つまり約43億個で、世界中の機器の数より少ないため、アドレスを共有する仕組みが必要になりました。
IPv6アドレスは128ビットです。16進数4桁のグループ8つをコロンで区切って表記します。例:2001:0db8:0000:0000:0000:0000:0000:0010。次の2つのルールで短く書けます。
- 各グループの先頭のゼロは省略できます。
0db8はdb8になります。 - すべてゼロのグループが連続している部分は
::に置き換えられますが、1つのアドレスで1回しか使えません。
したがって、上のアドレスは通常2001:db8::10と書きます。IPv6には2128個のアドレスがあり、各ネットワークにきわめて大きなブロックを割り当てられます。
グローバルアドレスとプライベートアドレス
グローバル(パブリック)アドレスはインターネット上で一意であり、ファイアウォールで遮断されていなければどこからでも到達できます。プライベートアドレスはローカルネットワーク内でのみ有効です。プライベートアドレスはインターネット上でルーティングされないため、多くの家庭やオフィスが同じ範囲を同時に再利用しています。
RFC 1918では、次の3つのIPv4プライベートアドレス範囲が定められています。
| 範囲 | CIDR | アドレス数 |
|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 16,777,216 |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 1,048,576 |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 65,536 |
そのほかに目にする特殊なIPv4範囲は次のとおりです。
- ループバック(127.0.0.0/8):機器が自分自身と通信するためのアドレスです。
127.0.0.1はlocalhostと呼ばれます。IPv6のループバックアドレスは::1です。 - リンクローカル(169.254.0.0/16):DHCPでアドレスを要求しても応答がない場合に、機器が自分で設定するアドレスです。
169.254.x.xが表示されていたら、DHCPが動作していない可能性が高いです。IPv6のリンクローカルアドレスはfe80::/10で、すべてのIPv6インターフェースが持っています。 - キャリアグレードNAT(CGNAT)(100.64.0.0/10):ISPが、顧客と自社のNAT装置との間で使う共有アドレス範囲です(RFC 6598)。ルーターのWANアドレスがこの範囲にある場合、実際のグローバルIPv4アドレスは割り当てられていません。
- ドキュメント用の範囲:
192.0.2.0/24、198.51.100.0/24、203.0.113.0/24(IPv6では2001:db8::/32)は、この記事のような例示のために予約されています。
IPv6では、fc00::/7(実際にはfd00::/8)のユニークローカルアドレスが、IPv4のプライベートアドレスに相当します。グローバルユニキャストアドレスは、現在2000::/3から始まります。
NATで1つのグローバルアドレスを共有する仕組み
ネットワークアドレス変換(NAT)を使うと、多数のプライベート機器が1つのグローバルIPv4アドレスを共有できます。192.168.1.20のノートパソコンがWebサイトを開くと、ルーターは送信元アドレスを自身のグローバルアドレスに置き換え、ポート番号で接続を区別しながらその接続をテーブルに記録します。応答が戻ってくると、ルーターは元のアドレスに戻してノートパソコンに渡します。
NATには副次的な効果があります。ポートフォワーディングを設定しない限り、外部のホストはNATの内側にある機器へ接続を開始できません。これは本来のセキュリティ機能ではありませんが、自宅のサービスが初期状態では外部から到達できないことを意味します。CGNATではISPが2段目のNATを行うため、自分のルーターでポートフォワーディングを設定しても役に立ちません。
固定アドレスと動的アドレス
動的アドレスは、通常DHCPによって自動的に割り当てられ、時間とともに変わることがあります。ほとんどの家庭用インターネット接続や、ローカルネットワーク内の大半の機器は動的アドレスを使います。固定(静的)アドレスは手動で設定するか、特定の機器に予約されたもので、変わることがありません。サーバー、プリンター、ネットワーク機器は、他のシステムが常に同じ場所で見つけられる必要があるため、通常は固定アドレスを使います。
自分のIPアドレスの確認方法
知っておくべきアドレスは2種類あります。お使いの機器のプライベートアドレスと、Webサイトから見えるグローバルアドレスです。グローバルアドレスは、当サイトのIPアドレス確認ツールで表示できます。IPv4とIPv6のどちらで接続しているかも分かります。
機器のプライベートアドレスは、次の方法で確認できます。
- Windows:コマンドプロンプトで
ipconfigを実行します。 - macOS:ターミナルで
ipconfig getifaddr en0を実行します(Wi-Fiは通常en0です)。 - Linux:
ip addrを実行します。
ルーターのステータス画面に表示されるアドレスがオンラインツールの表示と異なる場合は、ルーターがNATまたはCGNATの内側にあるか、VPNやプロキシを使用しています。
IPv6普及の基本
IPv6は、従来のアドレス空間が枯渇したため、IPv4に代わるものとして設計されました。実際には両方が並行して稼働しており、これをデュアルスタックと呼びます。大規模なネットワーク、携帯キャリア、コンテンツ事業者の多くはIPv6に対応していますが、小規模なサイトや企業ネットワークの多くは今もIPv4のみなので、どこでもIPv6が使えると考えることはできません。
実務上のポイントは次のとおりです。
- IPv6では、すべての機器がグローバルアドレスを持てるため、通常NATは不要です。そのためファイアウォールが重要になります。
- 一般的な家庭のネットワークには
/56または/64のブロックが割り当てられ、各ローカルネットワークは/64を使います。詳しくはサブネットのガイドをご覧ください。 - ドメインは、DNSの仕組みで説明しているとおり、AAAAレコードでIPv6アドレスを公開します。
次のステップ
ネットワークを小さく分割したい場合や、あるアドレス範囲に何台のホストを収容できるかを調べたい場合は、サブネット計算ツールをご利用ください。スラッシュの後ろの数字の意味については、サブネットマスクとCIDRの記事をお読みください。