サブネットマスク

サブネットマスク（）とは、IPアドレスを分割して、どこがネットワークアドレス部分で、どこが端末を表すホストアドレス部分かを識別するために使う数値。
IPv4の場合は32ビット、IPv6の場合は128ビットの数値である。10進数又は16進数で表記する。10進数表記の場合は8ビット毎に.（ドット）で区切り、16進数の場合は区切らずに、先頭に0xを付加し16進数表記であることを示す。10進数表記はパソコンや小型のネットワーク機器、16進数表記は大型のネットワーク機器や古いネットワーク機器で使用される事が多い。
アドレス表記についてはIPv4、IPアドレスも参照。
ネットワークアドレス.
巨大なTCP/IPネットワーク（インターネットなど）は、多数のネットワーク（サブネット）に分けて管理される。ネットワークアドレスは、これらのネットワークを識別するためのアドレスである。
インターネット.
各ネットワーク（インターネット・サービス・プロバイダなど）に決まった範囲が割り当てられている。日本では日本ネットワークインフォメーションセンター (JPNIC) によって、ネットワークアドレスが一意になるよう管理されている（詳細はインターネットを参照）。
イントラネット.
通常はプライベートIPアドレスを指定する。クラスCのcodice_1で始まるアドレスを多く使用する（詳細はイントラネットを参照）。
ホストアドレス.
IPアドレスのうち、ネットワークアドレス部分以外を指す。個々のネットワーク内においてホストを定義する部分。定められたネットワークアドレスから外れなければ、どのホストアドレスもネットワーク内で自由に利用できる。
定義の仕方（IPv4の場合）.
IPv4のIPアドレス表記は32ビットの数値で、通常これを8ビット単位で4つに区切ったものを10進数表記して
codice_2
のように書き表す。このIPアドレスを2進数で表すと、codice_3(2進) である。このIPアドレスの「前方24ビットをネットワークアドレスとし、後方8ビットをホストアドレスとする」ことを
codice_4
と表記し、この場合のサブネットマスクは24個の codice_5(2進) と8個の codice_6(2進) が並んだ codice_7(2進) となる。通常これを10進数で
codice_8
もしくは16進数で codice_9(16進) と表す。
サブネットマスクは、IPアドレス中のネットワークアドレス部分を1とし、ホストアドレス部分を0として表す。この例では、ネットワークアドレスは codice_10（2進数表記 codice_11(2進)）まで、ホストアドレスは codice_5（8桁の2進数表記 codice_13(2進)）となる。また、IPアドレス中ではネットワークアドレスの後にホストアドレスがくるため、サブネットマスクは、codice_14(2進) のように、codice_6(2進) が現れた後に再度 codice_5(2進) が現れることはありえない。
IPv6の場合.
IPv6では、ネットワークアドレスとホストアドレスを区別するためにはサブネットマスクの代わりにプレフィクス長が使われることが一般的である。例えば codice_17 (省略しないで書くと codice_18) は、「前方64ビットがネットワークアドレスであり、残りの64ビットがホストアドレスである」ことを表す。