【基本】サブネットマスク
はじめに
前回の記事で、動的IPアドレスを割り当てられる際、IPアドレス以外にも重要なヘッダーが付与されることに触れました。その中には、サブネットマスクというネットワークを効率的に運用するための重要な仕組みがあります。
そこで今回は、サブネットマスクについて特徴・役割などをまとめていきます。
サブネットマスクとは?
サブネットマスク(Subnet Mask)は、IPアドレスの中で「ネットワーク部」と「ホスト部」を区別するための数値です。32ビットの数値で表され、IPアドレスと組み合わせて使用します。
サブネットマスクはIPアドレスの区切り方を決める数字なのです。
IPアドレスとセットで使用して「ネットワーク部」と「ホスト部」に分ける
ネットワーク部
ネットワーク部はIPネットワークの世界における一つのネットワークを表す数値のことです。
一つのネットワークとは、物理的にルーターなどのネットワーク機器で区切られた範囲を指します。
ネットワーク部の範囲は「1」が続いている箇所までを指します。
ホスト部
ホスト部は、ネットワーク部が指し示すネットワーク内で、そのホストを識別するための情報です。
ホスト部は「0」が現れた箇所から最後までの範囲を表します。
数字は全部で32個ありますが、これはビット数を表しており、32ビットを指します。
これを人が見てもわかりやすくするために、8ビットごとに.
(ドット)が表記されています。
上記のイメージで言うと、最初の24ビットに「1」があるため、この24ビットがネットワーク部、残りの8ビットがホスト部と判別できます。
また、1ビットあたり2種類の数字(0,1)を表すため、複数ビットが組み合わさることで、2のビット乗分の範囲を表すことができます。
例えば、8ビット分をホスト部が使用している場合、2の8乗で(以下2^8のように^
をつかって表記する)256通りからホスト部で固定的に必要な2つのアドレス(ネットワークアドレス・ブロードキャストアドレス)分を引いた、254通りのIPアドレスが使用できます。
さらに、ネットワークも同様に計算すると、2^24で16,777,216通りのネットワークアドレスを使用することができます。
これらを整理すると、通信できる範囲を表すネットワークのアドレスは全部で16,777,216個使用することができ(設定できるネットワーク数が16,777,216個)、その各ネットワークの中で254個のIPアドレス、つまり254台の端末が1つのネットワーク内で通信することができます。
合わせて、ネットワーク部で何ビット使用しているかを表すため、/8
や/24
といった表記がされます。/
の後の数字がネットワーク部として何ビット使用しているかを表しています。
IPアドレスの割り当て
クラスフルアドレッシング
もともとIPアドレスは、ICANN(IANA)が、ユーザーが使用するネットワークの規模に応じてA・B・Cクラスという形で使用できる番号の範囲を決め、固定配布していました。
ネットワークの数はそのままで、右隣の「1つのネットワークで使用できるIPアドレスの数」がそのネットワーク内で使用できるIPアドレスの数を指します。
クラスAが大規模事業者向け・クラスBが中規模事業者向け・クラスCが小規模事業者・一般ユーザ向けに割り振られていました。
※クラスD(224.0.0.0~)はマルチキャスト用、クラスE(240.0.0.0~)は実験用(一般未使用)で、一般ユーザは関わらない部分です。
しかし、これはユーザの規模に応じて固定的に配布されることから、IPアドレスの無駄遣いが生じていました。
例えば、クラスCでは、使用可能ホスト数(通信可能な端末数)は254個(= 2^(ホスト部のビット数) - 2(-2はネットワークアドレスとブロードキャストアドレス))ですが、実際にこのネットワーク内で使用するIPアドレスが50個だった場合、204個のアドレスが無駄に使われてしまうことを意味します。
同時に必要以上にネットワークで使用するIPアドレスも使用することになってしまいます。
このように、固定的な配布方式はIPアドレスの無駄遣いがあることから、現代ではクラスレスアドレッシングによりIPアドレスを効率よく使用しています。
クラスレスアドレッシング
CIDR(Classless Inter-Domain Routing)で任意の区切りを定義することができます。
ビット数によるネットワーク数・ホスト数の変化
サブネット: 11111111.11111111.11111111.00000000 (255.255.255.0)
255.255.255.0というサブネットマスクを2進数で表記した場合、上記のようになります。最初の24ビットがネットワーク部、残りの8ビットがホスト部となります。
したがって、ネットワークアドレスが約1677個(=2^24)、1つのネットワーク内で使用できるIPアドレスは254個(=2^8-2)あります。
1つのネットワーク内で使用するホスト数が決まっている場合、ネットワークを増やし、ホスト数を減らすことで、1つのネットワークで使用するIPアドレスを減らすことができます。このような方法をサブネット化と言います。
サブネット化によって、既存ネットワーク数の増加に応じて、1ネットワークあたりのIPアドレスを減らすことができます。
※ネットワーク数を減らして、ホスト数を増やすことをスーパーネッティング ※アドレス集約と言います。
例えば、ネットワーク内で50台の端末を使用することを想定した場合、ホスト部を6ビット(64 = 2^6)と設定し、残り26ビットをネットワーク部とすることで、ネットワークアドレスが増えて細分化(サブネット化)され、IPアドレスが効率的に使用できるようになります。
この場合、ネットワーク部がホスト部から2ビット借用していると表現されます。
このようにIPアドレスを動的に調整できるのが、サブネットマスクの特徴です。
サブネットマスクが必要な理由
ネットワークの効率的な運用
大きなネットワークを小さなサブネットに分割して管理することで、1ネットワークあたりのトラフィックを減らすことができ、管理がしやすくなります。
ブロードキャストドメインの制限
不要なネットワークトラフィックを減らすことにつながります。
IPアドレスの有効活用
必要な分だけIPアドレスを割り当てられることができます。
サブネットマスクの表記方法
1. ドット付き10進表記
(例)255.255.255.0
2. プレフィックス表記(CIDR表記)
(例)/24 (255.255.255.0と同じ)
サブネットマスクの読み方
IPアドレス: 192.168.1.100
サブネットマスク: 255.255.255.0 (/24) の場合
// 各アドレスを2進数表記すると
IPアドレス: 11000000.10101000.00000001.01100100 (192.168.1.100)
サブネット: 11111111.11111111.11111111.00000000 (255.255.255.0)
↑ネットワーク部↑|↑ホスト部↑
ネットワークアドレス: 192.168.1.0(ホスト部が全て0)
使用可能なホストアドレス: 192.168.1.1~192.168.1.254
まとめ
サブネットマスクははじめ理解が難しく感じますが、ネットワークを効率的に運用するための重要な仕組みです。適切にサブネット分割を行なうことで、ネットワークのパフォーマンス向上やIPアドレスの有効活用が可能になります。
少しずつ理解していきましょう!私自身も理解を深めていきます。
最後までお読みいただき、ありがとうございました。
参考・画像引用元URL
Discussion