こんにちは!今回は、Webアプリケーションの開発中に直面したある問題をきっかけに、ネットワークの基本となる「IPアドレス」「サブネットマスク」「ネットワークアドレス」、そしてこれらをシンプルに表す「CIDR」について解説します。
この記事を書こうと思った背景
私が今回この記事を書こうと思ったのは、外部API連携機能の実装中に、API側でIPアドレス制限が設定されていることに気づいたからです。連携先では、特定のIPアドレスからのアクセスしか許可されていなかったのですが、開発中のWebアプリケーションサーバーは固定IPを持っていなかったため、どのように連携すればよいか悩んでいました。
そこで、まずは「IPアドレスとはそもそも何か?」という基本概念を理解し、実装方針を固めることにしました。この記事では、そうした経験を共有しながら、ネットワークの基礎知識とCIDRの活用方法についてわかりやすく説明します!
目次
ネットワークの基本をおさらい
IPアドレスって?
-
概要:
IPアドレスは、PCやスマホ、サーバーなど、ネットワークに接続する機器に与えられる「住所」です。
例:192.168.1.100
-
役割:
この住所があるおかげで、データは正しい宛先に送られ、Webアプリケーション同士の通信もスムーズになります。
サブネットマスクって?
-
概要:
サブネットマスクは、IPアドレスの中で「どこからがネットワーク部分で、どこからが各機器(ホスト)の部分か」を見分けるためのルールです。
例:255.255.255.0
(CIDR表記では/24
と同じ意味) -
役割:
ネットワーク内でどの機器が同じグループに属しているかを判断するため、管理やセキュリティの面で非常に重要です。
ネットワークアドレスって?
-
概要:
ネットワークアドレスは、IPアドレスにサブネットマスクを適用し、ホスト部分を全て0にしたアドレスです。
例: IPアドレスが192.168.1.100
で、サブネットマスクが255.255.255.0
の場合、ネットワークアドレスは192.168.1.0
となります。 -
役割:
ネットワーク全体をひとまとめにする「共通の住所」として、ルーターがデータの振り分けを行う際の基準となります。
CIDRって何?
**CIDR(Classless Inter-Domain Routing)**は、従来のクラスベースのIPアドレス体系に代わり、より柔軟にアドレスを管理・割り当てするための方法です。
-
CIDR表記:
例:192.168.1.0/24
この/24
は、「ネットワーク部分が24ビット」であることを意味し、サブネットマスクの255.255.255.0
と同じ情報です。 -
メリット:
- 必要なアドレス数に合わせた柔軟なネットワーク設計が可能
- IPアドレスの無駄を削減し、効率的な管理が実現できる
- ルーティングテーブルの集約が容易になり、ネットワーク全体のパフォーマンスが向上する
CIDRの具体的な活用例
1. 柔軟なアドレス割り当て
外部APIとの連携先では、特定のIPアドレスからしかアクセスできないという制限があるケースが多いです。ISP(インターネットサービスプロバイダ)は、企業や個人に必要な数のIPアドレスをCIDR表記で割り当て、柔軟に管理しています。
- 例: 大企業向けに
/22
(約1024アドレス)、中小企業向けに/24
(256アドレス)など
2. ルーティングテーブルの集約
CIDRを使えば、連続する複数のサブネットをひとまとめにできるため、ルーティングテーブルがスッキリします。
- 例:
これらを
192.168.0.0/24 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24
192.168.0.0/22
とまとめることで、ネットワーク管理が簡単になり、パフォーマンス向上にも寄与します。
3. セキュリティ向上とネットワーク管理
企業内では、部門や拠点ごとに異なるサブネットを設定し、CIDR表記でネットワークを柔軟に設計することで、アクセス制限やセキュリティポリシーを適用しやすくなります。今回のように、固定IPがなくてもネットワークの仕組みを理解することで、連携先APIとのアクセス方法やセキュリティ対策の検討材料になります。
図でサクッと理解!ネットワーク構成
下記の図は、IPアドレス、サブネットマスク、ネットワークアドレス、そしてCIDR表記の関係をシンプルに示しています。
┌────────────────────────────┐
│ IPアドレス │
│ 192.168.1.100 │
└────────────────────────────┘
│
サブネットマスク適用: 255.255.255.0
(CIDR表記: /24)
│
▼
┌────────────────────────────┐
│ ネットワークアドレス │
│ 192.168.1.0 │
└────────────────────────────┘
ポイントまとめ
- IPアドレス: 各機器の「個別の住所」
- サブネットマスク: 「住所のどの部分がネットワークか」を判断するルール
- ネットワークアドレス: サブネットマスクを適用して得られる、ネットワーク全体の「共通住所」
-
CIDR表記: これらの情報をコンパクトに表す方法(例:
/24
)
まとめ
- IPアドレスは各機器の一意の「住所」
- サブネットマスクは、どの部分がネットワークかを見分けるルール
- ネットワークアドレスは、サブネットマスクを適用した結果得られる、ネットワーク全体の共通の「住所」
- CIDRは、これらの概念を柔軟かつ効率的に管理するための表記法