ウェブエンジニア問題集
第4.1章

IPアドレスとルーティング — ネットワーク上の住所と経路

6
この章の目次開く

IPアドレスは、ネットワーク上の相手を指すための 論理的な住所 です。ブラウザがDNSでIPアドレスを得たあと、実際の通信はこのIPアドレスを宛先にして進みます。

この章では、Web開発者がインフラやDocker、クラウド設定で迷いやすい IPアドレス、サブネット、ルーティング、NAT を整理します。

学習者学習者

127.0.0.1localhost0.0.0.0192.168.x.x が全部出てきて、どれが何なのか混乱します。

IPアドレスとは

IPアドレスはネットワーク上の機器を識別する住所です。代表的には IPv4 と IPv6 があります。

IPv4: 192.168.1.100
IPv6: 2001:db8:85a3::8a2e:370:7334

IPv4は約43億個しかなく、現在のインターネット全体には足りません。そのため、家庭や会社の中では プライベートIP を使い、インターネットに出るときに NAT でグローバルIPへ変換する構成が一般的です。

グローバルIPとプライベートIP

種類使われる場所
グローバルIP203.0.113.10インターネット上で一意な住所
プライベートIP192.168.1.10家庭内LAN、社内LAN、Dockerネットワークなど
ループバック127.0.0.1自分自身を指す

プライベートIPとしてよく使われる範囲は次の3つです。

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

127.0.0.1自分自身 です。自分のPCで起動したサーバーへアクセスするために http://127.0.0.1:3000http://localhost:3000 を使います。

先生先生

ここは実務で混乱しやすいポイント。Docker、AWS、ローカル開発で「どのIPを指定すればいいか」に迷ったら、この表に戻って確認しよう。

MACアドレスとの違い

IPアドレスはネットワーク上の論理的な住所ですが、MACアドレスはネットワーク機器に紐づく物理的な識別子です。

IPアドレスMACアドレス
役割ネットワーク上の論理アドレス同一LAN内の物理アドレス
変化接続先ネットワークで変わる原則として機器に固定
使う範囲ネットワークをまたいだ通信同一ネットワーク内の配送

インターネット上ではIPアドレスで宛先を決めますが、同じLAN内で最後にどの機器へ届けるかにはMACアドレスが使われます。この対応を調べる仕組みが ARP です。

サブネットとCIDR

IPアドレスは、ネットワーク部とホスト部に分かれます。この境界を表すのが サブネットマスクCIDR です。

192.168.1.0/24

/24 は、先頭24ビットがネットワーク部であることを表します。この場合、同じネットワークに属する代表的な範囲は次のようになります。

項目
ネットワークアドレス192.168.1.0
利用できるホスト192.168.1.1 から 192.168.1.254
ブロードキャストアドレス192.168.1.255

クラウドのVPC、サブネット、セキュリティグループを扱うときも、このCIDR表記が出てきます。

デフォルトゲートウェイとルーティング

自分と同じネットワークにいる相手なら直接届けられます。しかし、別ネットワークの相手へ送る場合は、まず デフォルトゲートウェイ に渡します。

ルーターは「この宛先IPなら次にどこへ渡すか」という ルーティングテーブル に従ってパケットを転送します。インターネットは巨大なルーターの連鎖です。

NATとポートフォワーディング

家庭や会社の中では複数の端末がプライベートIPを持ちますが、インターネットへ出るときはルーターのグローバルIPを共有することが多いです。この変換が NAT です。

PC: 192.168.1.10:53000
  → NAT
Router: 203.0.113.10:62001
  → Internet

外から家庭内や社内のサーバーへアクセスさせたい場合は、ルーターに ポートフォワーディング を設定して「外部のこのポートへ来た通信を内部のこの端末へ転送する」と指定します。

ネットワーク設定の確認
インフラやDocker設定で迷ったら、IPアドレスの種類とNATの仕組みを思い出す

ちゃんと使うためのポイント

  • IPアドレスはネットワーク上の論理的な住所
  • 127.0.0.1 は自分自身、0.0.0.0 はサーバーが全インターフェースで待ち受ける指定
  • プライベートIPはそのままインターネットから到達できない
  • 別ネットワークへの通信はデフォルトゲートウェイへ渡される
  • NATはプライベートIPとグローバルIPを変換する仕組み

次の章では、example.com のような名前をIPアドレスに変換する DNS・ドメイン・ネームサーバー を扱います。

CS基礎クイズに挑戦するこの章で学んだCS基礎の知識を、4択クイズでアウトプットして定着させよう