IPアドレスとサブネットマスクをまとめて表記するTech TIPS

IPアドレスとともに重要な役割を担う「サブネットマスク」。両者をまとめて表現するには、「192.168.1.40/255.255.255.0」のように「IPアドレス/サブネットマスク」と表記する。「192.168.1.40/24」のように「IPアドレス/マスクbit数」とも表せる。

» 2007年01月06日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows NT/Windows 2000/Windows XP/Windows Server 2003


解説

 TCP/IPネットワークを管理・設定する場合、IPアドレスやルータ・アドレス(デフォルト・ゲートウェイ・アドレス)などの値のほかに「サブネットマスク」と呼ばれる値も重要な役割を持つ(単にネットマスクと呼ばれることも多いが、本TIPSではサブネットマスクと呼ぶことにする)。サブネットマスクの設定が間違っていると、通信相手によってつながったり、つながらなかったりするという事態が生じるなど、さまざまなトラブルの元となる。本TIPSでは、このIPアドレスとサブネットマスクの表記方法についてまとめておく。

 サブネットマスクとは、具体的には次のような形式で表示される。

C:\>ipconfig

Windows IP Configuration


Ethernet adapter ローカル エリア接続:

        Connection-specific DNS Suffix  . : example.co.jp
        IP Address. . . . . . . . . . . . : 192.168.1.40
        Subnet Mask . . . . . . . . . . . : 255.255.255.0 ……サブネットマスク
        Default Gateway . . . . . . . . . : 192.168.1.2

C:\>



 「Subnet Mask」のところに表示されている255.255.255.0というのがサブネットマスクの値である。

●IPアドレスとサブネットマスクを組み合わせて表現する方法1

 IPアドレスとサブネットマスクは常にペアで扱う必要があるので、簡単に表現できるように、特別な表記方法が用意されている。といっても、非常に簡単である。次のように、IPアドレスとサブネットマスクの値を「/」記号で区切って並べるだけである。

※IPアドレスとサブネットマスクの表現方法1

IPアドレス:       192.168.1.40
サブネットマスク: 255.255.255.0
  
まとめた表記:     192.168.1.40/255.255.255.0



 このようにまとめて表現すれば、簡潔に表現できるし、IPアドレスとサブネットマスクといった説明語を付けなくてもよいため(どちらがIPアドレスでどちらがサブネットマスクであるかも一目瞭然である)、ネットワークの説明図などではよく利用される。

●IPアドレスとサブネットマスクを組み合わせて表現する方法2

 上記の方法は、IPアドレスとサブネットマスクがどのような値の組み合わせであっても表現できる。だが現実のネットワークで利用されているサブネットマスクの値を考慮すると、さらに簡便な表現方法がある。

 例えばサブネットマスクの255.255.255.0という値は、32bitの2進数で考えると最上位から24bitが全部1、それ以外が0という値である。

10進数表現 2進素表現
255.255.255.0 11111111 11111111 11111111 00000000
サブネットマスクの10進数と2進数表現

 そこでこの255.255.255.0という値を/24と表記することにする。そうすると、先ほどのIPアドレスとサブネットマスクの組は次のように表現できる。

※IPアドレスとサブネットマスクの表現方法2

IPアドレス:       192.168.1.40
サブネットマスク: 255.255.255.0
  
まとめた表記:     192.168.1.40/24



 最初の方法と比べると、さらに短くコンパクトに表現できる。これらは元々は、Classless Inter-Domain Routing(CIDR:サイダー)という、IPアドレスを集約してルーティング情報をまとめる技術でよく使われていた表記方法であるが、現在では広く一般的に使われている。

 方法1(サブネットマスクを直接表記する方法)と方法2(サブネットマスク中の1のbit数を表記する方法)の違いは、表現できるサブネットマスクにある。方法1では任意のサブネットマスクが表現できるが、方法2では、最上位bitから1が連続している必要がある。具体的には次のようになる。

サブネットマスク 短縮表記
255.0.0.0 /8
255.255.0.0 /16
255.255.255.0 /24
255.255.255.128 /25
255.255.255.192 /26
255.255.255.224 /27
255.255.255.240 /28
255.0.255.0 (表現不可)
サブネットマスクの例とその短縮表現
サブネットマスクを2進数で表現し、最上位から連続して何bitが1になっているかをもって「/ビット数」のように表現する。しかし一番下のように、1と0が不連続に並んでいるサブネットマスクはこの方法では表現できない。なおこの表のうち、最初の3つは「クラスA」「クラスB」「クラスC」と呼ばれていたが、CIDRの普及により、現在ではそのような呼び方はしなくなった。

 最後の例の255.0.255.0は2進数では「11111111 00000000 11111111 00000000」となるが、このように1と0が不連続に並んでいる場合は、方法2では表現できない。このような場合は、「/255.0.255.0」のように方法1で表現する必要がある。

 とはいえ現実のネットワークではこのようなサブネットマスクを利用することはあり得ないので(理論的には可能だが、管理者にとってはほとんど何のメリットもないし、面倒になるだけだから)、方法2の表記方法でも問題ない。現在ではこの表記方法が広く利用されている。ただしいずれの方法で表記されていても、両者は簡単に区別できる(方法2では/の後ろに1〜32の数字が1つだけ存在する)。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。