最終更新
リンドくん
たなべ先生、プログラミングでサーバを立てるときに「IPアドレス」とか「CIDR」って言葉が出てくるんですけど、正直よくわかってなくて...
たなべ
なるほど!確かにネットワークの知識って、プログラミングを学ぶ上でも避けて通れないよね。
でも安心して。IPアドレスは「インターネット上の住所」みたいなもので、CIDRはその住所の範囲を指定する書き方なんだ。今日はその仕組みを一緒に学んでいこう。
プログラミングを学んでいると、Webアプリケーションの開発やサーバの構築などで、必ずと言っていいほど「IPアドレス」や「CIDR表記」という言葉に出会います。しかし、これらの概念を正しく理解しないまま進めてしまうと、ネットワークのトラブルシューティングや適切なセキュリティ設定ができなくなってしまいます。
この記事では、ネットワーク学習を始めたばかりの初心者の方でも理解できるよう、IPアドレスの基本概念からCIDR表記の意味、実際の使い方まで、段階的にわかりやすく解説していきます。
HackATAは、エンジニアを目指す方のためのプログラミング学習コーチングサービスです。 経験豊富な現役エンジニアがあなたの学習をサポートします。
✓ 質問し放題
✓ β版公開中(2025年内の特別割引)
リンドくん
IPアドレスって、具体的には何なんですか?数字がドットで区切られてるやつですよね?
たなべ
その通り!例えば192.168.1.1みたいな形式だね。
これはコンピュータがネットワーク上で通信するための識別番号なんだ。郵便物を送るときの住所と同じで、正確なアドレスがないとデータが届かないんだよ。
IPアドレス(Internet Protocol Address)は、インターネットやローカルネットワーク上でコンピュータを識別するための番号です。
現在主流のIPv4(Internet Protocol version 4)では、以下のような特徴があります。
例えば192.168.1.100というIPアドレスは、以下のように構成されています。
この4つの数値の組み合わせにより、理論上は約43億個(2の32乗)のアドレスを表現できます。
IPアドレスには大きく分けて2種類あります。
プライベートIPアドレス(ローカルIP)自宅や会社などの限定されたネットワーク内でのみ使用されるアドレスです。インターネット上では直接通信できません。
以下の範囲が予約されています。
10.0.0.0 〜 10.255.255.255172.16.0.0 〜 172.31.255.255192.168.0.0 〜 192.168.255.255インターネット上で世界中で一意に識別されるアドレスです。インターネットに直接接続されたサーバやルーターに割り当てられます。
この区別は非常に重要です。なぜなら、自宅のPCに割り当てられた192.168.1.5というアドレスは、世界中の他の家庭のネットワークでも同じアドレスが使われている可能性が高いからです。これらはルーターを通じてNAT(Network Address Translation)という仕組みで変換され、インターネットと通信しています。
例えば、自宅でWi-Fiに接続したとき、あなたのスマートフォンには以下のようなIPアドレスが割り当てられるかもしれません。
ここで192.168.1.105があなたのスマートフォンの住所、192.168.1.1がインターネットへの出口(ルーター)の住所となります。
リンドくん
サブネットマスクって何ですか?IPアドレスと一緒によく見るんですけど...
たなべ
これも重要な概念だね!
サブネットマスクは、IPアドレスの中で「どこまでがネットワーク部分で、どこからがホスト部分か」を決めるためのものなんだ。
IPアドレスは、実は2つの部分に分けて考えることができます。
例えば、192.168.1.100というアドレスで、サブネットマスクが255.255.255.0の場合、以下のように分割されます。
この場合、192.168.1がネットワークを識別する部分、100がそのネットワーク内での端末を識別する部分となります。
サブネットマスクは、IPアドレスと同じく4つの数値で構成されますが、その意味は少し異なります。
よく使われるサブネットマスクの例
255.255.255.0 - 254台のホストを収容できるネットワーク(/24)255.255.0.0 - 約65,000台のホストを収容できるネットワーク(/16)255.0.0.0 - 約1,670万台のホストを収容できるネットワーク(/8)これを2進数で見ると、より理解しやすくなります。
つまり、サブネットマスクの「255」の部分がネットワークを示し、「0」の部分がホスト(個別の端末)を示しているのです。
企業のネットワークを例に考えてみましょう。
このように、大きなネットワークを部門ごとに小さく分割することで、管理がしやすくなり、セキュリティも向上します。
リンドくん
先生、さっきから出てくる「/24」とか「/16」って何ですか?
たなべ
それがCIDR表記だよ!
サブネットマスクを簡潔に表す方法なんだ。192.168.1.0/24と書けば、サブネットマスクが255.255.255.0だということを示しているんだよ。
CIDR(Classless Inter-Domain Routing、サイダーと読む)は、IPアドレスとサブネットマスクをスラッシュ記法で簡潔に表現する方法です。
従来の表記方法と比較してみましょう。
従来の表記
CIDR表記
このように、CIDR表記を使うことで、1行で簡潔にネットワークの範囲を表現できます。
スラッシュの後の数字は、ネットワーク部のビット数を表しています。
これを2進数で見ると、以下のようになります。
| CIDR | サブネットマスク | 使用可能なホスト数 | 用途例 |
|---|---|---|---|
| /32 | 255.255.255.255 | 1台 | 単一ホストの指定 |
| /31 | 255.255.255.254 | 2台 | ポイントツーポイント接続 |
| /30 | 255.255.255.252 | 2台 | ルータ間接続 |
| /29 | 255.255.255.248 | 6台 | 小規模オフィス |
| /28 | 255.255.255.240 | 14台 | 小規模ネットワーク |
| /27 | 255.255.255.224 | 30台 | 小〜中規模ネットワーク |
| /26 | 255.255.255.192 | 62台 | 中規模ネットワーク |
| /25 | 255.255.255.128 | 126台 | 中規模ネットワーク |
| /24 | 255.255.255.0 | 254台 | 一般的な企業ネットワーク |
| /16 | 255.255.0.0 | 65,534台 | 大規模ネットワーク |
| /8 | 255.0.0.0 | 16,777,214台 | 超大規模ネットワーク |
実際の設定例を見てみましょう。
例① 小規模オフィスのネットワーク設定
この設定では、最大14台の機器を接続できます。
例② Webサーバへのアクセス制限
この設定により、203.0.113.1から203.0.113.254までの範囲からのアクセスを許可できます。
例③ AWSのVPC(Virtual Private Cloud)設定
このように、クラウド環境でのネットワーク設計でもCIDR表記が標準的に使用されています。
リンドくん
実際にネットワークを設計するとき、どういう風に考えればいいんですか?
たなべ
まずは「何台のホストが必要か」から考えるのがポイントだよ。
それに応じて適切なCIDRブロックを選ぶんだ。将来的な拡張も考慮することが大切だね。
ステップ① 必要なホスト数の見積もり
現在必要な台数だけでなく、将来の拡張も考慮しましょう。
例:
→ /26(62台)または /25(126台)が適切
ステップ② ネットワークの階層化
セキュリティや管理の観点から、ネットワークを適切に分割します。
ステップ③ IPアドレスの割り当てルールを決める
運用を楽にするため、規則的なアドレス割り当てを心がけましょう。
ミス① ネットワークが小さすぎる
問題: /30(2台)で設計したら、すぐに機器を追加できなくなった
対策: 将来の拡張を見越して、少し余裕のあるサイズを選ぶ
ミス② ネットワークが大きすぎる
問題: 小規模オフィスなのに/16で設計してしまい、管理が複雑に
対策: 必要最小限+αのサイズに抑える
ミス③ セキュリティを考慮していない
問題: すべてのサーバが同じネットワークにあり、攻撃を受けやすい
対策: 機能ごとにネットワークを分割し、ファイアウォールで制御
リンドくん
ネットワークの基礎って、思ってたより奥が深いんですね!でも、今日の話でかなり理解が進みました。
たなべ
そうだね!最初は難しく感じるかもしれないけど、実際に手を動かして設定してみると理解が深まるよ。
特にこれからクラウドやコンテナ技術を学ぶなら、この知識は絶対に必要になってくるからね。
この記事では、IPアドレスとCIDR表記について、基礎から実践的な活用法まで解説してきました。
重要なポイントをおさらいしましょう。
ネットワークの知識は、Webアプリケーション開発、クラウドインフラ構築、セキュリティ対策など、あらゆる場面で必要になります。
特にAI時代のエンジニアとして成長するには、コンピュータサイエンスの基礎となるネットワークの理解が不可欠です。