🎯 この章で学ぶこと

  • IPアドレス(IPv4/IPv6)の表記と意味
  • グローバルIPとプライベートIPの違いと使い分け
  • サブネットマスク/CIDRと「同じネットワークか」の判定
  • ipconfig / ip addr で自分のIPを確認する
  • ルーティング・デフォルトゲートウェイ・pingによる疎通確認

9.1 IPアドレスとは — ネットワーク上の住所

IPアドレスは、ネットワークにつながった機器一つひとつに割り当てられる「住所」です。手紙に宛先住所が必要なように、パケットを正しく届けるにはこの住所が欠かせません。現在も広く使われているのがIPv4で、次のように0〜255の数字を4つ、ドットで区切って表します。

192.168.1.10
  │   │  │  └─ 4つ目の区切り(オクテット)
  └───┴──┴─── それぞれ 0〜255 の値

この4つの数字は、内部では32ビットの2進数です(第2章のビットの話を思い出してください)。各区切りは8ビット=1バイトで、8ビットで表せる範囲がちょうど0〜255になります。32ビットで表せるIPアドレスは約43億個。一見多そうですが、世界中の人・スマホ・家電がネットにつながる時代には足りなくなりました。これをIPv4アドレスの枯渇問題といいます。

その解決策として作られたのがIPv6です。128ビットに拡張され、事実上枯渇しないほど膨大な数(約340澗個)を扱えます。表記は次のように16進数(第2章)をコロンで区切ります。

2001:0db8:85a3:0000:0000:8a2e:0370:7334

IPv6は少しずつ普及していますが、社内ネットワークの実務では今もIPv4が主役です。本書もまずIPv4を中心に解説します。

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

IPv4アドレスには、インターネット上で世界に1つだけのグローバルIPと、家庭内・社内など閉じたネットワークの中だけで使うプライベートIPの2種類があります。プライベートIPには、次の決まった範囲が予約されています。

範囲アドレス主な用途
クラスA相当10.0.0.0 〜 10.255.255.255大規模な社内ネットワーク
クラスB相当172.16.0.0 〜 172.31.255.255中規模なネットワーク
クラスC相当192.168.0.0 〜 192.168.255.255家庭・小規模オフィス

自宅のPCやスマホのIPを見ると、たいてい 192.168.x.x になっているはずです。これはプライベートIPで、世界中の無数の家庭で同じ 192.168.1.10 が使い回されています。同じ住所が世界中にあって混乱しないのは、プライベートIPがそのLANの中でだけ意味を持つからです。外へ出るときはルーターがグローバルIPに変換します。この変換の仕組みがNATで、第10章で詳しく扱います。

💡 なぜ2種類に分けるのか

理由は2つあります。1つはアドレスの節約です。すべての機器にグローバルIPを配ると43億個ではとても足りません。家庭内の機器はプライベートIPで済ませ、外に出るときだけ共有のグローバルIPを使えば、大幅に節約できます。もう1つは安全性です。プライベートIPはインターネットからは直接見えないため、外部から社内の1台ずつを名指しで狙うことが基本的にできません。この「分ける」設計自体が、素朴なけれど強力な防御になっています。

9.3 サブネットマスクとCIDR — ネットワークの区切り方

IPアドレスは、実はネットワーク部ホスト部の2つに分かれています。ネットワーク部は「どの町か(どのネットワークか)」、ホスト部は「その町のどの家か(どの機器か)」を表します。この境目を示すのがサブネットマスクです。

IPアドレスサブネットマスク
192.168.1.10255.255.255.0
意味192.168.1 が町、10 が家255 の部分がネットワーク部

サブネットマスクが 255.255.255.0 のとき、先頭から24ビットがネットワーク部、残り8ビットがホスト部です。この「先頭から何ビットがネットワーク部か」を、スラッシュに続けて書く簡潔な表記がCIDR(サイダー)です。

192.168.1.10 / 255.255.255.0   ← 従来の書き方
192.168.1.10/24                ← CIDR表記(どちらも同じ意味)
             └ 先頭24ビットがネットワーク部

2台の機器が同じネットワークにいるかは、「ネットワーク部が一致するか」で判定します。同じネットワーク内なら直接やり取りでき、違うネットワークならルーター(9.5)を経由します。簡単な例で確かめましょう。いずれも /24(先頭3つが一致すれば同じ)とします。

機器A機器Bネットワーク部(/24)判定
192.168.1.10192.168.1.20どちらも 192.168.1同じネットワーク(直接通信できる)
192.168.1.10192.168.2.201 と 2 で異なる別ネットワーク(ルーター経由)
✅ CIDRの数字が大きいほどネットワークは小さい

/24 はホスト部が8ビットなので約254台、/16 はホスト部が16ビットなので約6万5千台を収容できます。スラッシュの数字が大きいほどネットワーク部が長く、収容できる台数は少なくなります。逆に数字が小さいほど大きなネットワークです。「/の数字が大きい=小さな区画」と覚えておくと混乱しません。

9.4 自分のIPを確認する

ここからは実際に手を動かします。まず「自分のPCのIPアドレス」を確認しましょう。OSによってコマンドが異なります。

WindowsではコマンドプロンプトまたはPowerShellで ipconfig を使います。

C:\Users\you> ipconfig

Windows IP 構成

イーサネット アダプター イーサネット:
   IPv4 アドレス . . . . . . . . . . . .: 192.168.1.10
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: 192.168.1.1

macOS / Linuxでは ip addr(新しい環境)または ifconfig(従来)を使います。

$ ip addr show
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
    inet 192.168.1.10/24 brd 192.168.1.255 scope global enp0s3
    ...

ここで確認すべき3点は次のとおりです。この3つが「自分がどのネットワークのどこにいて、外へ出る出口はどこか」を教えてくれます。

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

別のネットワーク宛てのパケットを、宛先へ橋渡しするのがルーターの仕事です。ルーターは複数のネットワークにまたがって接続し、届いたパケットの宛先IPアドレスを見て「次はどちらへ渡すか」を判断します。この「経路を選んで転送する」働きがルーティングです。

では、自分のネットワークにいない宛先(たとえばインターネット上のサーバー)へは、どこへ送ればよいのでしょうか。その「とりあえずの出口」がデフォルトゲートウェイです。宛先が同じネットワークになければ、PCはまずデフォルトゲートウェイ(通常は手元のルーター、例 192.168.1.1)へパケットを渡します。あとはルーターからルーターへとバケツリレーで運ばれ、宛先のネットワークまで届きます。

自分のPC(192.168.1.10)
     │ 宛先が同じLAN内 → 直接
     │ 宛先が外 → デフォルトゲートウェイへ
     ▼
デフォルトゲートウェイ / ルーター(192.168.1.1)
     ▼  ルーターからルーターへ中継
   ……インターネット……
     ▼
宛先のサーバー

PCが持つ「宛先ごとの送り先の一覧表」をルーティングテーブルといいます。Windowsは route print、Linux/macOSは ip route で確認できます。

$ ip route
default via 192.168.1.1 dev enp0s3       ← 宛先不明はすべてここ(デフォルトGW)へ
192.168.1.0/24 dev enp0s3 scope link      ← このネットワークは直接届く

実際にパケットがどのルーターを通って宛先へ届いたか、経路そのものを見ることもできます。Windowsは tracert、Linux/macOSは traceroute です。

$ traceroute example.com
 1  192.168.1.1        1.2 ms      ← 手元のルーター(デフォルトGW)
 2  10.0.0.1           5.4 ms      ← プロバイダの機器
 3  203.0.113.1       12.8 ms
 ...
 8  93.184.216.34     18.5 ms      ← 宛先に到達

1行が1台のルーター(ホップ)にあたり、パケットが何台を経由したかが分かります。「どこまで届いて、どこで止まったか」が見えるため、障害の切り分けに役立ちます。

9.6 疎通確認 — pingで「届くか」を確かめる

ネットワークのトラブル対応で最初に使う道具が ping です。指定した相手に「届きますか?」という小さなパケット(ICMPエコー要求)を送り、相手から「届いています(エコー応答)」が返るかを確かめます。相手が生きていて、経路がつながっていれば返事が返ります。

$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.8 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.7 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.9 ms

--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss

time= は往復にかかった時間(応答が速いほど良好)、packet loss はパケットの取りこぼし率です。ロスが多い・時間が大きく揺れる場合は回線品質に問題があります。Windowsでは ping example.com のように使い、既定では4回送って止まります(Linux/macOSは Ctrl+C で停止)。

💡 pingで「近い所から遠い所へ」切り分ける

「ネットにつながらない」ときは、手元から順に外へpingして、どこまで届くかを確かめるのが鉄則です。次の順に試すと、原因がどこにあるか一気に絞り込めます。

  1. ping 127.0.0.1(自分自身=ループバック)— 返らなければPCのネットワーク設定そのものが不調
  2. デフォルトゲートウェイ(例 ping 192.168.1.1)— 返らなければLAN内・ケーブル・Wi-Fiの問題
  3. 外部のIP(例 ping 8.8.8.8)— 返らなければルーターから外への経路の問題
  4. ドメイン名(例 ping example.com)— IPは届くのにここだけ失敗なら名前解決(DNS)の問題(第10章)

「8.8.8.8 には届くのに example.com はダメ」なら、ネットワーク自体は正常でDNSが原因、と即座に判断できます。この切り分けの思考は実務で毎日役立ちます。

⚠️ pingが返らない=故障、とは限らない

セキュリティ上の理由で、ping(ICMP)への応答をわざと無効にしているサーバーやファイアウォールは珍しくありません。したがって「pingが返らないから相手は落ちている」と断定はできません。Webサーバーなら、pingではなく実際に curl(第11章)でHTTPを叩いてみる、といった別の確認も併せて行いましょう。1つの道具の結果だけで結論を出さないのが、切り分けのコツです。

🛡️ セキュリティ・運用の視点 — ネットワーク分離は多層防御の要

ネットワークを目的ごとに区切ることをセグメンテーション(ネットワーク分離)といい、運用と防御の基本です。たとえば「業務PCのネットワーク」「サーバーのネットワーク」「来客用Wi-Fi」をサブネットで分けておけば、来客用に紛れ込んだ不審な機器が、いきなり社内サーバーへ手を伸ばすことを防げます。万一どこか1区画が侵害されても、被害をその区画に封じ込めやすくなる——これが多層防御の考え方です。さらに、9.2で見たようにプライベートIPとNAT(第10章)のおかげで、社内の各PCはインターネットから直接名指しで狙われません。「見えないものは攻撃しにくい」という素朴な原則が、ここでも効いています。分離の設計と運用は、🧑‍💻 一人情シスコース第5章(ネットワークの基礎運用)でも実務目線で扱われるテーマです。

まとめ

練習問題

問題 9-1

次の3台は、それぞれ同じネットワークにいるでしょうか。サブネットマスクはすべて /24(255.255.255.0)とします。
A: 192.168.10.5 / B: 192.168.10.200 / C: 192.168.20.5

解答を見る

/24 なので、先頭3つの数字(ネットワーク部)が一致すれば同じネットワークです。AとBはどちらも 192.168.10 で一致するため同じネットワークにいて、直接通信できます。Cは 192.168.20 でA・Bと異なるため別ネットワークで、AやBと通信するにはルーター(デフォルトゲートウェイ)を経由します。ホスト部の末尾の数字(5, 200)は判定に関係ありません。

問題 9-2

「ネットが遅い・切れる」と相談を受け、ping 192.168.1.1(デフォルトゲートウェイ)を実行したところ、次の結果になりました。ここから何が読み取れますか。
10 packets transmitted, 6 packets received, 40% packet loss

解答を見る

ゲートウェイまでの通信で、送った10個のうち4個が失われています(パケットロス40%)。ゲートウェイまでのLAN内(手元の区間)ですでに大きな取りこぼしが起きていることを示します。原因はLANケーブルの接触不良や断線、Wi-Fiの電波状態の悪さ、あるいはポートやハブの不調などが考えられます。まだ外(インターネット)まで行かない手前の段階で問題があるため、プロバイダやWebサイト側ではなく、まず手元の配線・無線環境を疑うべきです。有線に替える、ケーブルを挿し直す、Wi-Fiなら電波の良い場所で再確認する、といった切り分けが有効です。

問題 9-3

ping 8.8.8.8 は正常に応答が返るのに、ping example.com は「名前を解決できません」と失敗します。ネットワークのどこに問題があると考えられますか。

解答を見る

IPアドレス(8.8.8.8)への通信は成功しているので、ネットワークの経路そのものは正常です。失敗しているのは「example.com という名前を、IPアドレスに変換する」段階だけなので、原因は名前解決(DNS)にあります。DNSサーバーの設定が間違っている、DNSサーバーに届いていない、といった可能性が高いです。DNSの仕組みと確認方法は第10章で扱います。この問題は「ネットが繋がらない」相談の非常に典型的なパターンで、ネットワーク自体とDNSを切り分けられることが実務では重要です。