IPアドレス(IPv4/IPv6)を、ネットワークアドレスとホストナンバに分けるための、マスクビット列のこと。サブネットマスク、アドレスマスクとも呼ばれる。
例えばIPv4では、ネットマスクを表わすのに、次のような表記を用いる。いずれも同じものを表わしている。
なお、Cisco Systemsのスイッチやルータの設定ではIPアドレスに似た表記方法をするが、全ての0と1を反転させた値を用いる(例えば0.0.3.255)。これは例外と言える。
IPv6の場合には、専らビット数表記される。
ノードのIPアドレスとネットマスクの論理積(AND演算)を行なうと、ネットワークアドレスになる。
例えば、あるネットワークに属するノードのIPアドレスが192.168.8.0〜192.168.15.255の範囲だとすると、ネットワークアドレスは192.168.8.0であり、ネットマスクは/21(255.255.248.0、0xfffff800)である。
ネットマスクは、昔は必ずしも先頭からビットを立てる必要はなかったのだが、IPアドレスを連続させるため常識として先頭から立てていた。今はRFCで常に先頭から立てるようにルールが変更されている。
そして、ネットワークアドレスを表記する際に、「192.0.2.10/24」のように記述することで、先頭24ビットがネットマスクである、と表わすことができる。
| ビット数 | ネットマスク | ネットマスク | 使えるアドレス数 |
|---|---|---|---|
| (16進) | (10進) | ||
| /8 (Class A) | 0xff000000 | 255.0.0.0 | 16,777,214 |
| /9 | 0xff800000 | 255.128.0.0 | 8,388,604 |
| /10 | 0xffc00000 | 255.192.0.0 | 4,194,302 |
| /11 | 0xffe00000 | 255.224.0.0 | 2,097,150 |
| /12 | 0xfff00000 | 255.240.0.0 | 1,048,574 |
| /13 | 0xfff80000 | 255.248.0.0 | 524,286 |
| /14 | 0xfffc0000 | 255.252.0.0 | 262,144 |
| /15 | 0xfffe0000 | 255.254.0.0 | 131,072 |
| /16(Class B) | 0xffff0000 | 255.255.0.0 | 65,534 |
| /17 | 0xffff8000 | 255.255.128.0 | 32,766 |
| /18 | 0xffffc000 | 255.255.192.0 | 16,382 |
| /19 | 0xffffe000 | 255.255.224.0 | 8,190 |
| /20 | 0xfffff000 | 255.255.240.0 | 4,094 |
| /21 | 0xfffff800 | 255.255.248.0 | 2,046 |
| /22 | 0xfffffc00 | 255.255.252.0 | 1,022 |
| /23 | 0xfffffe00 | 255.255.254.0 | 510 |
| /24(Class C) | 0xffffff00 | 255.255.255.0 | 254 |
| /25 | 0xffffff80 | 255.255.255.128 | 126 |
| /26 | 0xffffffc0 | 255.255.255.192 | 62 |
| /27 | 0xffffffe0 | 255.255.255.224 | 30 |
| /28 | 0xfffffff0 | 255.255.255.240 | 14 |
| /29 | 0xfffffff8 | 255.255.255.248 | 6 |
| /30 | 0xfffffffc | 255.255.255.252 | 2 |
| /31 (無意味) | 0xfffffffe | 255.255.255.254 | 0 |
| /32 (ホスト) | 0xffffffff | 255.255.255.255 | (1) |