最終更新
リンドくん
たなべ先生、「サブネット」って言葉をよく聞くんですけど、何のことかよくわからなくて...
たなべ
確かに最初は難しく感じるよね。でも実は、大きなネットワークを小さく区切るっていう、シンプルな考え方なんだよ。
マンションの部屋割りみたいなものかな。
HackATAは、エンジニアを目指す方のためのプログラミング学習コーチングサービスです。 経験豊富な現役エンジニアがあなたの学習をサポートします。
✓ 質問し放題
✓ β版公開中(2025年内の特別割引)
ネットワークを学び始めると必ず出会う「サブネット」という概念。
ITエンジニアやネットワーク管理者にとって必須の知識ですが、初心者の方には理解しづらい部分も多いのではないでしょうか?
この記事では、サブネット計算の基礎から、より効率的なネットワーク設計を可能にするVLSM(可変長サブネットマスク)まで、初心者の方でも理解できるよう、できるだけわかりやすく解説していきます。
リンドくん
そもそも、なんでネットワークを分割する必要があるんですか?
たなべ
理由はいくつかあるんだけど、一番大きいのはセキュリティと効率性なんだ。全部屋が繋がった大きな家より、部屋が分かれている方が管理しやすいよね?
サブネット(Subnet)とは、Subnetwork(サブネットワーク)の略で、大きなネットワークを小さく分割したものを指します。
例えば、会社全体で使うネットワークを、部署ごとに分けて管理する。これがサブネット化の基本的な考え方です。
サブネット化には以下のような重要なメリットがあります。
IPアドレスは、ネットワーク上のデバイスを識別するための番号です。
そしてサブネットマスクは、そのIPアドレスのどの部分が「ネットワーク部」で、どの部分が「ホスト部」なのかを決定する役割を持っています。
例えば、以下のような表記があります。
これをCIDR表記(後述)で書くと以下のようになります。
この「/24」という数字は、サブネットマスクの左から24ビットがネットワーク部であることを示しています。
リンドくん
計算って聞くと難しそうですね...数学苦手なんですけど大丈夫ですか?
たなべ
心配しないで!基本は2進数の理解だけなんだ。それさえ分かれば、あとはパターンを覚えるだけだよ。
IPアドレス(IPv4)は32ビットの数値で、通常は4つの数字(オクテット)で表現されます。
これを2進数で表すと:
各オクテットは8ビット(0〜255の範囲)で構成されています。
サブネットマスクは、IPアドレスを「ネットワーク部」と「ホスト部」に分ける境界線を決めます。
よく使われるサブネットマスク
| CIDR表記 | サブネットマスク | ホスト数 | 用途例 |
|---|---|---|---|
| /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 | 会議室など |
| /30 | 255.255.255.252 | 2 | ルーター間接続 |
例として、192.168.1.0/24のネットワークを4つのサブネットに分割してみましょう。
ステップ① 必要なビット数を計算
ステップ② 新しいサブネットマスクを決定
ステップ③ 各サブネットの範囲を計算
実務では、以下のようなツールを使って計算を簡単にすることができます。
Pythonでの簡単な計算例
このように、プログラミングを活用することで、複雑な計算も簡単に行えます。
リンドくん
先生、VLSMって何ですか?普通のサブネット化とは違うんですか?
たなべ
そうだね、VLSMは必要な規模に応じて異なるサイズのサブネットを作れるんだ。
マンションで例えると、ワンルームから3LDKまで、色々なサイズの部屋を効率的に配置できるようなものだね。
VLSM(Variable Length Subnet Mask:可変長サブネットマスク)は、1つのネットワーク内で異なるサイズのサブネットを使用できる技術です。
従来の固定長サブネットマスク(FLSM)では、すべてのサブネットが同じサイズである必要がありましたが、VLSMではそれぞれのサブネットに必要なホスト数に応じて、最適なサイズのサブネットを割り当てることができます。
例として、以下のような要件があるとします。
ステップ① 必要なホスト数を多い順に並べる
ステップ② 大きいサブネットから順に割り当て
このように、VLSMを使うことで、192.168.10.0/24のアドレス空間を効率的に活用できました。
VLSM設計を成功させるには、以下のポイントに注意しましょう。
リンドくん
計算は理解できたんですけど、毎回計算するのは大変そうですね...
たなべ
そこで便利なのが計算ツールや覚えておくべきパターンなんだ。実務では効率が大事だからね。
サブネット計算で頻繁に使う数値を覚えておくと、計算が格段に速くなります。
2のべき乗表
サブネットマスクの対応表
| プレフィックス | サブネットマスク | ブロックサイズ | ホスト数 |
|---|---|---|---|
| /30 | 255.255.255.252 | 4 | 2 |
| /29 | 255.255.255.248 | 8 | 6 |
| /28 | 255.255.255.240 | 16 | 14 |
| /27 | 255.255.255.224 | 32 | 30 |
| /26 | 255.255.255.192 | 64 | 62 |
| /25 | 255.255.255.128 | 128 | 126 |
| /24 | 255.255.255.0 | 256 | 254 |
実務では、以下のようなオンラインツールを活用するのも効果的です。
実務では、以下のようなスクリプトを用意しておくと便利です。
このようなツールを活用することで、複雑なVLSM設計も効率的に行えます。
リンドくん
最初は難しそうだと思ったんですけど、基本を押さえれば意外と理解できそうですね!
たなべ
その通り!基礎をしっかり理解することが一番大事なんだ。あとは実践を重ねることで、自然と身についていくよ。ぜひ実際に計算してみたり、ツールを使って設計してみてね!
この記事では、サブネット計算とVLSMの基礎から実践的な応用まで解説してきました。
重要なポイントをおさらいしましょう。
サブネット設計は、ネットワークエンジニアにとって必須のスキルです。
最初は複雑に感じるかもしれませんが、基礎をしっかり理解し、実際に手を動かして計算してみることで、確実に身につけることができます。
今後、クラウドサービスやIoTデバイスがさらに普及する中で、効率的なネットワーク設計の重要性はますます高まっていくでしょう。
ぜひこの記事で学んだ知識を活かして、実際のネットワーク設計に挑戦してみてください。