サブネッティング
一言でいうと
ネットワークアドレスを複数に分割すること。
試験のポイント
- CCENT試験で最重要項目の1つです
- ネットワークアドレスを複数に分割するための計算方法をしっかり理解しましょう。
- サブネットマスクのパターンによって、ネットワークアドレスがどのような変化をするかが一番のポイントです。
クラスレスアドレス
前回、IPアドレスのネットワーク部とホスト部の区切りを、クラスによって識別する考え方を説明しました。これをクラスフルアドレスといいます。クラスフルアドレスでは、クラスによって8ビット単位でネットワーク部とホスト部の区切りを考えます。しかし、これには使われない(ホストに割り当てられない)で無駄になるIPアドレスが多くなるという欠点がありました。
現在ではIPアドレスを無駄にしないため、ネットワーク部とホスト部の区切りをクラスによらず柔軟に考えるクラスレスアドレスが使われています。クラスレスアドレスでは、ネットワーク部とホスト部の区切りが必ずしも8ビット単位にはなりません。12ビットであったり20ビットであったり、必要に応じて柔軟に区切りを決めます。
クラスレスアドレスの考え方を導入すると、クラスフルアドレスでは1つのネットワークを複数のネットワークに分割したり、クラスフルアドレスでは複数のネットワークを1つに集約したりできます。1つのネットワークを複数のネットワークに分割することをサブネッティング、複数のネットワークを1つのネットワークに集約することをスーパーネッティングといいます。
本稿では、サブネッティングの方法を解説します。ポイントはネットワークを分割するために設定するサブネットマスクの計算方法です。実際のネットワーク構築はもちろん、CCENT試験対策としても重要です。
サブネッティングの方法
サブネッティングする(ネットワークを分割する)ためのサブネットマスク[1]を考えるときには、クラスごとの8ビット単位のサブネットマスクをスタート地点とします。これをナチュラルマスクと呼びます。
例えば、クラスBのネットワーク部とホスト部は、ナチュラルマスクで見ると次図のように分かれています。
このナチュラルマスクに対し、ネットワーク部とホスト部の区切りを後ろにずらしてやります。すると、ネットワーク部のビット数が増えます(その分、ホスト部のビット数が減る)。その結果、次図のようにネットワークを分割することができます。こうして分割した(サブネッティングしてできた)ネットワークのことをサブネット[2]と呼びます。
一般に、ネットワーク部とホスト部の区切りをnビット後ろにずらすことによって、ネットワークを2n個に分割できます。例えば、クラスBの172.16.0.0/16というネットワークアドレスに対し、区切りを後ろに8ビットずらして/24とすることで[3]、172.16.0.0/24から172.16.255.0/24まで、28=256個のサブネットができます[4]。
注
[1]: サブネットマスクについて復習したい方は、前回の記事を参照してください。
[2]: 「サブネット」という言葉は、分割しているいないにかかわらず、1つのネットワークを指し示すこともよくあります。サブネットという言葉で厳密に分割しているかどうかを気にしないほうがよいです。
[3]: 「/24」はサブネットマスクのプレフィックス表記です。前回の図8を参照
[4]: 以前は、ネットワーク部とホスト部の区切りをnビットずらすと、1つのネットワークアドレスを2n-2個に分割できるとしていました。これは、nビットずらした分のビットがすべて「1」のものと、すべて「0」のものをサブネットから除外していたためです。nビットずらした分のビットがすべて「0」のものを特にゼロサブネットと呼びます。現在はこれらをサブネットから除外しません。