サブネットマスクの分析[サブネットマスク変換とサブネット設計]
2015年3月2日(月)
![](https://thinkit.co.jp/sites/default/files/styles/main_image_730x/public/main_images/5386_main_1_8_8.jpg?itok=NEGUPiU2)
この連載では、Cisco CCENT/CCNAの資格試験対策とするために、Cisco Press公式ガイドブックに掲載されている例題を抜粋し、その例題の解答について解説を行っています。今回は、IPv4アドレスのサブネットマスクに関する問題について解説します。サブネットマスクとは、IPアドレスにおいてネットワーク部とホスト部の分け方を示したものです。
■サブネットマスクの変換
まず、サブネットマスクの変換に関する例題を2つ示します。
※問題2と4は『シスコ技術者認定試験 公式ガイドブック Cisco CCENT/CCNA ICND1 100-101J』 p.348より抜粋。
●サブネットマスクの表記方法
サブネットマスクは、ネットワークビット数とホストビット数を明らかにするために用いられます。ネットワークビットにあたる部分を1、ホストビットにあたる部分を0としてIPアドレスと同じように表記します。
例えばネットワークビット数が24、ホストビット数が8の場合、11111111 11111111 11111111 00000000となります。しかしこれでは見づらいですので、IPアドレスの表記と同様にオクテットごとに10進数に変換して 255.255.255.0 のように表記します。これがドットつき10進表記(DDN)です。
また、スラッシュの後にネットワークビット数を書き、 /24 のように表現することもあります。これはプレフィックス表記やCIDR表記と呼ばれます。この例のネットワークビット数が24、ホストビットが8の場合のそれぞれの表記をまとめると以下の表のようになります。
2進数表記 | 11111111 1111111 11111111 00000000 |
ドットつき10進表記 | 255.255.255.0 |
プレフィックス表記 | /24 |
●2進数表記とドットつき10進表記の変換
それではこれらの相互変換について説明します。まず、ドットつき10進表記で登場する値は9つしかありません。それぞれの2進数の値、1の数との関係は次の表のようになります。
2進数 | 10進数 | 1の数 |
---|---|---|
00000000 | 0 | 0 |
10000000 | 128 | 1 |
11000000 | 192 | 2 |
11100000 | 224 | 3 |
11110000 | 240 | 4 |
11111000 | 248 | 5 |
11111100 | 252 | 6 |
11111110 | 254 | 7 |
11111111 | 255 | 8 |
この表を利用して、2進数表記とドットつき10進表記の変換ができます。例えば、2進数表記で 11111111 11111111 11110000 00000000 の場合、各オクテットをこの表に従って変換すればよいので、255.255.240.0となります。255.255.255.192 は、11111111 11111111 11111111 1100000 です。
●プレフィックス表記に関する変換
プレフィックス表記からドットつき10進表記に変換する場合は、まず2進数表記に変換しドットつき10進表記に変換します。例えば、 /14 は 11111111 11111100 00000000 00000000 と変換し、255.252.0.0 と変換します。
ドットつき10進表記をプレフィックス表記に変換するには、先ほどの表の「1の数」の項目を利用します。例えば 255.255.255.248 の場合、1~3オクテット目の255は1が8個、4オクテット目の248は1が5個なので、1の数は8+8+8+5=29 と計算し、/29であるとわかります。
この「1の数」の項目は、プレフィックス表記からドットつき10進表記に変換するときにも利用できます。例えば、先ほどの /14 の場合は 14 = 8+6 より、1オクテット目が255、2オクテット目が252とすぐにわかるので、255.252.0.0と変換できます。
この2進数と10進数の変換表は覚えてしまうくらい練習を重ねましょう。
●例題
それでは例題の解答です。
例題2は、255.255.255.240 のプレフィックス表記を問われています。表の「1の数」を利用して各オクテットの1の数を求めます。255は8、240は4なので、8+8+8+4となり、正解は/28、つまりbです。
例題4はプレフィックス表記からドットつき10進表記への変換です。30 = 8+8+8+6 なので 255.255.255.252 、つまりbが正解です。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。
全文検索エンジンによるおすすめ記事
- 既存のサブネットの分析[サブネットID、ブロードキャストアドレス、ホストアドレスを割り出す]
- クラスフルIPv4ネットワークアドレスの分析[クラスフルアドレスの種類と規模]
- VLSM(Variable Length Subnet Mask:可変長サブネットマスク)の利用
- IPv4アドレスのスケーラビリティ(規模拡張性)[CIDR/プライベートIPアドレス]
- IPv4のサブネット化の概要[サブネットをサイジング/プライベートアドレスとパブリックアドレスを見分ける]
- ルータの負荷を軽減できるルート集約の考え方
- ルータの負荷軽減のため、最適な集約ルートを割り出す
- CiscoルータでのIPv4サポートの有効化[ルータとスイッチのコマンド/showコマンドとステータスコード]
- ネットワーク層の機能(後編) ―IPアドレスとルーティングプロトコル―
- IPv4の高度なACL[番号付き拡張ACL/名前付き拡張ACL/ワイルドカードマスク]