サブネット

ネットワークアドレス指定とルーティング

インターネットなどのIPネットワークに参加しているコンピュータは、少なくとも1つのIPアドレスを持っている。通常、このアドレスは各デバイスに固有のもので、ネットワークサーバによってDHCPを使用して自動的に、あるいは管理者によって手動で、またはステートレスアドレス自動構成によって自動的に構成できる。
アドレスは、ホストを識別し、ネットワーク上でそれを見つけるという機能を果たす。最も一般的なネットワークアドレッシングアーキテクチャはInternet Protocol version 4（IPv4）であるが、その後継であるIPv6も2006年頃から普及してきている。IPv4アドレスは32ビットで構成されるが、読みやすさのために1オクテット（8ビット）ごとに区切ってそれぞれを10進数表記し、ドットで区切る表記が行われる。これをドット数値記法という。IPv6アドレスは128ビットで構成されるが、16ビットごとに区切って16進数表記し（これをヘクステットという）、コロンで区切る表記が行われる。IPアドレスは、ネットワークプレフィックスとホスト識別子の2つの論理部分に分けられる。サブネット上の全てのホストは、同じネットワークプレフィックスを持つ。このプリフィックスはアドレスの上位のビットである。ネットワーク内でプレフィックスに割り当てられるビット数は、ネットワークアーキテクチャによってはサブネット間で異なる場合がある。ホスト識別子は固有のローカル識別子であり、ローカルネットワーク上のホスト番号またはインターフェース識別子のいずれかである。
このアドレス構造により、発信元と宛先のネットワークプレフィックスが異なる場合は、ルータと呼ばれる特別なゲートウェイコンピュータを介して、複数のネットワークにまたがるIPパケットを宛先ホストに選択的にルーティングできる。発信元と宛先のネットワークプレフィックスが同じである場合は、宛先ホストに直接送信することができる。ルータはサブネット間の論理的または物理的な境界を構成し、それらの間のトラフィックを管理する。各サブネットは、指定されたデフォルトルータによって処理されるが 、内部的にネットワークスイッチによって相互接続された複数のイーサネットセグメントで構成されている場合がある。
アドレスのルーティングプレフィックスは、IPアドレスに使用されるのと同じ形式で記述されたサブネットマスクによって識別される。例えば、IPv4アドレスの最上位24ビットで構成されるルーティングプレフィックスのサブネットマスクは255.255.255.0となる。ネットワークプレフィックスの仕様の最新の標準形式は、IPv4とIPv6の両方に使用されるCIDR表記である。アドレスの後にスラッシュ(/)とプレフィックスのビット数を表記する。IPv6では、これがネットワークプリフィックスやルーティングプレフィックスを表すための唯一の形式である。
例えば、サブネットマスクが255.255.255.0のIPv4ネットワーク192.0.2.0は192.0.2.0/24と表記され、IPv6表記2001:db8::/32はアドレス2001:db8::とそのネットワークプレフィックスが上位32ビットであることを表す。
IPv4において、CIDRが導入される前のクラスフルネットワークでは、ネットワークプレフィックスはその上位ビットの範囲によってクラスA、B、Cが決定され、そこからサブネットマスクが決定された。CIDRの導入以来、ネットワークインターフェースへのIPアドレスの割り当てには、アドレスとサブネットマスクという2つのパラメータを必要となる。
IPv4送信元アドレスと、それに関連付けられたサブネットマスク、および宛先アドレスが与えられると、ルータは宛先がオンリンク(on-link)かオフリンク(off-link)かを判断できる。宛先のサブネットマスクは必要ではなく、一般にルータには知らされない。しかし、IPv6の場合は、オンリンクの決定方法が異なり、近隣探索プロトコル(NDP)を必要とする。インタフェースへのIPv6アドレス割り当ては、オンリンクプレフィックスの一致の要件を持たず、逆もまたそうである（リンクローカルアドレスを除く）。
ローカルに接続された各サブネットは、接続された各ルータのルーティングテーブル内の個別のエントリで表される必要があるため、サブネット化によってルーティングが複雑になる。ただし、ネットワークを慎重に設計することで、ツリー階層のブランチ内にあるより遠いサブネットの集合へのルートをスーパーネットに集約し、単一のルートで表すことができる。

特別なアドレスとサブネット

IPv4は、特別なアドレス機能の認識を容易にするために、特別に指定されたアドレスフォーマットを使用する。大きなネットワークをサブネット化することによって作られるサブネットのうち最初と最後のものは伝統的に特別な指定を持ち、そして早い時期から特別な使用法の意味合いを持っていた。さらに、IPv4は、リンク上の全てのホストへのブロードキャスト送信に、全ビットが1のホストアドレス、つまりネットワーク内の最後のアドレスを使用する。
大きなネットワークをサブネット化して得られる最初のサブネットは、サブネットビットグループ内の全てのビットが0に設定されている。そのため、これを「サブネットゼロ (subnet zero)」という。大きなネットワークをサブネット化して得られる最後のサブネットは、サブネットビットグループ内の全てのビットが1に設定されています。そのため、これを「オールワンサブネット (all-ones subnet)」という。

IETFは元々、これら2つのサブネットの実運用上での使用を推奨していなかった。プレフィックス長が利用できない場合、分割前の大きなネットワークと最初のサブネットは同じアドレスを持つため、混乱を招く可能性がありる。同様の混乱は、最後のサブネットの終わりのアドレスとして指定されるブロードキャストアドレスでも起こる。そのため、パブリックインターネット上で全て0と全て1で構成されるサブネット値を予約することが推奨され、サブネットごとに利用可能なサブネットの数が2つ減ることになる。この非効率性は取り除かれ、1995年にその慣行は廃止されたと宣言され、現在ではレガシーな機器を扱うときにのみ関係がある。
全て0のホスト値と全て1のホスト値は、それぞれサブネットのネットワークアドレスとそのブロードキャストアドレス用に予約されている。CIDRを使用するシステムでは、サブネットの可用性ではなくホストの可用性のために、2の数が減算され、2ⁿ個のサブネット全てが使用可能になる。例えば、CIDRでは、/28ネットワークの16個のサブネット全てが使用可能である。各ブロードキャストアドレス、つまり*.15, *.31, …, *.255は、各サブネットワークのホスト数のみを減らす。

IPv6

IPv6アドレス空間の設計は、IPv4とは大きく異なる。IPv4でサブネット化する主な理由は、特に企業で、利用可能な比較的小さいアドレス空間の利用効率を向上させることだった。IPv6にはそのような制限はない。エンドユーザでさえも大きなアドレス空間が利用可能であり、制限要因とはならないからである。
IPv4と同様に、IPv6のサブネット化も可変長サブネットマスキング（VLSM）およびCIDRの概念に基づいている。これは、グローバル割り当て空間の間、および、サブネットとインターネット全体のカスタマーネットワーク内のトラフィックのルーティングに使用される。
IPv6サブネットは、常にホスト識別子に64ビットのアドレスを使用する。アドレスサイズが128ビットなので、ルーティングプレフィックスは/ 64となる。より小さなサブネットを使用することも技術的には可能であるが、ステートレスアドレス自動設定には64ビットが必要であるため、イーサネットテクノロジに基づくローカルエリアネットワークには実用的ではない。Internet Engineering Task Force(IETF)は、2つのホストしかないポイント・ツー・ポイントリンクには/127サブネットの使用を推奨している。
IPv6はブロードキャストトラフィックやネットワーク番号に対して特別なアドレスフォーマットを実装していないため、サブネット内の全てのアドレスをホストのアドレス指定に使用できる。オール0のアドレスは、サブネットルータエニーキャストアドレスとして予約されている。
過去には、IPv6カスタマーサイトに推奨される割り当ては、48ビット(/48)プレフィックスを持つアドレス空間だった。この勧告は、例えば56ビットのプレフィックスを使うなど、より小さなブロックを推奨するために修正された。住宅用カスタマーネットワークのもう1つの一般的な割り当てサイズは64ビットのプレフィックスである。