アドレスの話は、町の住所にたとえると、すっと頭に入ります。「IP アドレスって、結局なんなんですか? サブネットマスクとかゲートウェイとか、毎回、出てくるんですけど…」
新しく情シスになった人から、かなりの確率で聞かれる質問です。僕も、最初は「数字が並んでるやつ」くらいの理解でした。
そこで、新シリーズ「情シスのためのネットワーク基礎」(全5回)を始めます。特定の製品に偏らず、どの現場でも、一生使う考え方を、実機の画面つきで整理します。
| 回 | テーマ |
|---|---|
| ① 今回 | IP アドレス・サブネットマスク・ゲートウェイ |
| ② | DNS・DHCP・ARP の仕組み |
| ③ | TCP・UDP・ポート番号 |
| ④ | スイッチ・ルーター・VLAN・NAT |
| ⑤ | 通信障害の基本的な切り分け |
結論:アドレスは、住所・町内・出口の3点セット
ネットワークは、町にたとえると、こうなります。
| 用語 | たとえ | 役割 |
|---|---|---|
| IP アドレス | 住所 | ネットワーク上で、機器を見分けるための番号 |
| サブネットマスク | 町内の範囲 | 「ここまでは同じ町内(同じネットワーク)」の境目を決める |
| ゲートウェイ | 町の出口 | 町内の外(別のネットワーク、インターネット)に出るときの、最初の窓口 |
同じ町内なら、直接届けます。町内の外なら、まずゲートウェイ(出口)に渡して、あとは任せます。この動きを押さえておけば、あとの回も、ずっと理解しやすくなります。
IP アドレスの基本
IPv4 のアドレスは、192.168.1.10 のように、0〜255 の数字を4つ並べたものです(32ビット)。
会社や家庭の中で使うアドレスは、プライベートアドレスと呼ばれ、決まった範囲が割り当てられています。
| 範囲 | 表記 |
|---|---|
| 10.0.0.0 〜 10.255.255.255 | 10.0.0.0/8 |
| 172.16.0.0 〜 172.31.255.255 | 172.16.0.0/12 |
| 192.168.0.0 〜 192.168.255.255 | 192.168.0.0/16 |
これらは、インターネットの上では使えない(社内用の住所)ものとして、予約されています。家庭のルーターが、多くの家で 192.168.1.1 や 192.168.0.1 なのは、そのためです。
自分の PC のアドレスの値を見る
Get-NetIPAddress -AddressFamily IPv4 | Where-Object InterfaceAlias -eq 'Wi-Fi' | Format-Table InterfaceAlias, IPAddress, PrefixLength
Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Format-Table DestinationPrefix, NextHop, InterfaceAlias
ipconfig | Select-String 'IPv4|サブネット|ゲートウェイ'

見方はこうです。
- 1つ目:Wi-Fi のアドレスが
192.168.1.10、PrefixLengthが24。この24が、サブネットマスクを短く書いたものです。 - 2つ目:
0.0.0.0/0(=「どこ宛でも」)の行き先(NextHop)が192.168.1.1。これがゲートウェイです。「迷ったら、まずここに渡す」という、既定の出口が書かれています。 - 3つ目:cmd の
ipconfigでも、同じ値が出ます。アダプターが2つ出ているのは、2つ目が、僕の PC の Hyper-V の仮想アダプターだからです。見たい行(Wi-Fi か有線か)を、見分けるのがコツです。
サブネットマスクの読み方
サブネットマスクは、「アドレスの、どこまでが町内の名前で、どこからが家の番号か」を決めます。
255.255.255.0=/24= 先頭の24ビットが町内(ネットワーク部)、残りの8ビットが家の番号(ホスト部)- 同じ町内のアドレスは、町内の部分が同じになります。
実際に、PowerShell で計算してみます。
$addr = [IPAddress]'192.168.1.10'; $netmask = [IPAddress]'255.255.255.0'
[IPAddress]($addr.Address -band $netmask.Address) | Select-Object -ExpandProperty IPAddressToString
[math]::Pow(2, 32 - 24) - 2

- アドレスとマスクを、ビットごとに AND すると、ネットワークアドレス(町内の名前)が出ます。
192.168.1.10と255.255.255.0の AND は、192.168.1.0でした。 - ホストに使える数は、
2 の (32 − 24) 乗 − 2= 254台。「−2」は、町内の名前そのもの(.0)と、全員への呼びかけ用(.255、ブロードキャスト)を、住所として使えないからです。
よく使う長さを、表にしておきます(ホスト数は 2^(32−n) − 2)。
| 表記 | マスク | 使えるホスト数 |
|---|---|---|
| /24 | 255.255.255.0 | 254 |
| /25 | 255.255.255.128 | 126 |
| /26 | 255.255.255.192 | 62 |
| /27 | 255.255.255.224 | 30 |
| /28 | 255.255.255.240 | 14 |
| /29 | 255.255.255.248 | 6 |
| /30 | 255.255.255.252 | 2 |
ゲートウェイの動き
PC が通信するとき、まず、相手が同じ町内かどうかを、サブネットマスクで判断します。
- 相手が同じ町内 → 相手に直接届ける
- 相手が町内の外 → ゲートウェイに渡す(あとは、ルーターたちが運んでくれる)
つまり、ゲートウェイの設定が間違っていると、「社内のサーバーには届くのに、インターネットだけつながらない」という症状になります。これは、第5回の切り分けでも、よく出てくる典型です。
僕のやらかし:/24 は「24台」ではありません
駆け出しの頃、192.168.1.0/24 と書かれた設計書を見て、「24台までつなげるネットワークなんだな」と本気で思っていました。
先輩に、「え、じゃあ25台目の PC をつなぐと、どうなると思ってたの?」と聞かれて、答えに詰まりました。/24 の 24 は、台数ではなく、ネットワーク部のビット数です。答えは、254台。
「24個入りだと思っていた弁当箱が、実は254個入りの大皿だった」くらいの差でした。恥ずかしかったので、その夜、さっきの計算スクリプトを、何度も書いて覚えました。
今回覚えたコマンド
| コマンド | 意味 |
|---|---|
Get-NetIPAddress |
IP アドレスとプレフィックス長を見る |
Get-NetRoute -DestinationPrefix 0.0.0.0/0 |
既定のゲートウェイを見る |
ipconfig |
cmd 由来の、IP 設定の確認 |
Get-NetIPConfiguration |
IP・ゲートウェイ・DNS をまとめて見る |
次回予告
次回は、DNS・DHCP・ARP。「google.com と打つと、どうして画面が出るのか」「IP アドレスは、誰が配っているのか」「同じ町内で、相手の『本当の住所』は、どう調べるのか」を、実機の画面で追いかけます。
参考
ITもごはんも、腹八分目が長続きのコツ!


コメント