メインメニューを開く
ホスト識別子を分割してサブネットを作成

サブネット英語: subnet)とは、IPネットワークを論理的に細分化したもののことである[1]:1,16。1つのネットワークを2つ以上のネットワークに分割することをサブネット化(subnetting)という 。

同一のサブネットに属するコンピュータは、IPアドレスの上位のビットが同じになっている。これにより、IPアドレスは2つの部分に分けられ、サブネット内で共通の部分をネットワークアドレスまたはルーティングプリフィックス(routing prefix)といい、それ以外の個々のコンピュータによって違う部分のことをホストアドレスまたはホスト識別子(host identifier)という。ホストアドレスは、特定のホストまたはネットワークインタフェースの識別子である。

ネットワークアドレスはCIDR表記で表すことができる。これは、ネットワークアドレスの後にスラッシュ(/)とネットワークアドレスのビット数を表記するものである。例えば、198.51.100.0/24は、所定のアドレスから始まるIPv4ネットワークのプレフィックスで、24ビットがルーティングプレフィックス用に割り当てられ、残りの8ビットがホストアドレス用に予約されている。198.51.100.0から198.51.100.255までの範囲のアドレスがこのサブネットに属する。IPv6アドレス2001:db8::/32は、296個のアドレスを持ち、32ビットのルーティングプレフィックスを持つ大きなアドレスブロックである。

IPv4の場合、サブネットの大きさはサブネットマスクで表すこともできる。これは、サブネット内の任意のIPアドレスとサブネットマスクのビット単位のAND演算を適用すると、ルーティングプレフィックスが生成されるビットマスクである。サブネットマスクもIPアドレスのようにドット区切りの10進表記で表される。例えば、255.255.255.0はプレフィックス198.51.100.0/24のサブネットマスクである。

送信元アドレスと宛先アドレスのルーティングプレフィックスが異なる場合、トラフィックはルータを介してサブネットワーク間で交換される。ルータはサブネット間の論理的または物理的な境界として機能する。

既存のネットワークをサブネット化することの利点は、適用する状況により異なる。CIDRを使用したアドレス割り当てアーキテクチャや大規模な組織では、アドレス空間を効率的に割り当てる必要がある。サブネットがより大きな組織内の異なるエンティティによって管理上制御されている場合には、サブネット化により、ルーティング効率が向上したり、ネットワーク管理に利点をもたらす可能性がある。サブネットは、組織のネットワークアドレス空間をツリー状のルーティング構造に分割し、階層的アーキテクチャで論理的に配置することができる。

目次

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

 
256個のアドレスを含むIPv4アドレス空間200.100.10.0/24を、128個のアドレスを持つ2つの小さなアドレス空間、200.100.10.0/25と200.100.10.128/25にサブネット化する概念図

インターネットなどの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表記である。アドレスの後にスラッシュ(/)とプレフィックスのビット数を表記する[2]。IPv6では、これがネットワークプリフィックスやルーティングプレフィックスを表すための唯一の形式である。

例えば、サブネットマスクが255.255.255.0のIPv4ネットワーク192.0.2.0192.0.2.0/24と表記され、IPv6表記2001:db8::/32はアドレス2001:db8::とそのネットワークプレフィックスが上位32ビットであることを表す。

IPv4において、CIDRが導入される前のクラスフルネットワーク英語版では、ネットワークプレフィックスはその上位ビットの範囲によってクラスA、B、Cが決定され、そこからサブネットマスクが決定された。CIDRの導入以来、ネットワークインターフェースへのIPアドレスの割り当てには、アドレスとサブネットマスクという2つのパラメータを必要となる。

IPv4送信元アドレスと、それに関連付けられたサブネットマスク、および宛先アドレスが与えられると、ルータは宛先がオンリンク(on-link)かオフリンク(off-link)かを判断できる。宛先のサブネットマスクは必要ではなく、一般にルータには知らされない[3]。しかし、IPv6の場合は、オンリンクの決定方法が異なり、近隣探索プロトコル(NDP)を必要とする[4][5]。インタフェースへのIPv6アドレス割り当ては、オンリンクプレフィックスの一致の要件を持たず、逆もまたそうである(リンクローカルアドレスを除く)。

ローカルに接続された各サブネットは、接続された各ルータのルーティングテーブル内の個別のエントリで表される必要があるため、サブネット化によってルーティングが複雑になる。ただし、ネットワークを慎重に設計することで、ツリー階層のブランチ内にあるより遠いサブネットの集合へのルートをスーパーネット英語版に集約し、単一のルートで表すことができる。

IPv4編集

ネットワークプレフィックスの決定編集

IPv4のサブネットマスクは32ビットで構成されている。これは、上位ビットからの1の連続と、それに続く0の連続である。1はネットワークプレフィックスに使用されるアドレス内のビットを示し、末尾の0はその部分がホスト識別子として指定されることを示す。

次の例は、アドレス(192.0.2.130)とそれに関連付けられた/24のサブネットマスク(255.255.255.0)からネットワークプレフィックスとホスト識別子を分離する方法を示している。

2進数表記 ドット10進数表記
IPアドレス 11000000.00000000.00000010.10000010 192.0.2.130
サブネットマスク 11111111.11111111.11111111.00000000 255.255.255.0
ネットワークプレフィックス 11000000.00000000.00000010.00000000 192.0.2.0
ホスト識別子 00000000.00000000.00000000.10000010 0.0.0.130

IPアドレスとサブネットマスクをビット単位でAND演算した結果、ネットワークプレフィックスは192.0.2.0となる。ホスト識別子130は、アドレスとサブネットマスクの1の補数のビット単位のAND演算によって得られる。

サブネット化編集

サブネット化は、ホスト部の上位ビットをネットワークプレフィックスの一部として指定し、サブネットマスクを適切に調整するプロセスである。これにより、ネットワークをより小さなサブネットに分割する。次の図は、上記の例のホスト部分からネットワークプレフィックスに2ビット移動して、以前の4分の1のサイズの小さいサブネットを形成した例である。

2進数表記 ドット10進数表記
IPアドレス 11000000.00000000.00000010.10000010 192.0.2.130
サブネットマスク 11111111.11111111.11111111.11000000 255.255.255.192
ネットワークプレフィックス 11000000.00000000.00000010.10000000 192.0.2.128
ホスト識別子 00000000.00000000.00000000.00000010 0.0.0.2

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

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

大きなネットワークをサブネット化して得られる最初のサブネットは、サブネットビットグループ内の全てのビットが0に設定されている。そのため、これを「サブネットゼロ (subnet zero)」という[7]。大きなネットワークをサブネット化して得られる最後のサブネットは、サブネットビットグループ内の全てのビットが1に設定されています。そのため、これを「オールワンサブネット (all-ones subnet)」という[8]


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

全て0のホスト値と全て1のホスト値は、それぞれサブネットのネットワークアドレスとそのブロードキャストアドレス用に予約されている。CIDRを使用するシステムでは、サブネットの可用性ではなくホストの可用性のために、2の数が減算され、2n個のサブネット全てが使用可能になる。例えば、CIDRでは、/28ネットワークの16個のサブネット全てが使用可能である。各ブロードキャストアドレス、つまり*.15, *.31, …, *.255は、各サブネットワークのホスト数のみを減らす。

サブネットのホスト数編集

利用可能なサブネットの数、およびネットワーク内の可能なホストの数は、容易に計算できる。下記の例は、サブネットを作成するために2ビットが借用され、4 (22)個のサブネットを作成した場合である。

ネットワーク ネットワーク(2進数表記) ブロードキャストアドレス
192.168.5.0/26 11000000.10101000.00000101.00000000 192.168.5.63
192.168.5.64/26 11000000.10101000.00000101.01000000 192.168.5.127
192.168.5.128/26 11000000.10101000.00000101.10000000 192.168.5.191
192.168.5.192/26 11000000.10101000.00000101.11000000 192.168.5.255

サブネットを表すビットの後の残りのビットは、サブネット内のホストのアドレス指定に使用される。上記の例では、サブネットマスクは26ビットで構成され、ホスト識別子に6ビットが残される。これにより、62(26−2)個のホストの組み合わせが可能になる。

一般に、サブネット上で使用可能なホストの数は 2h−2 である(hはアドレスのホスト部分に使用されるビット数)。使用可能なサブネットの数は 2n である(nはアドレスのネットワーク部分に使用されるビット数)。

サブネットマスクが31ビットの場合は規則が当てはまらない[11]。これは、ホスト識別子が1ビットで、2つのアドレスしか許容されないことを意味する。このようなネットワークは通常はポイント・ツー・ポイントのリンクであり 、2つのホスト(エンドポイント)しか接続できないので、ネットワークとブロードキャストアドレスの指定は不要である。

/24のネットワークは、サブネットマスクを1ビットずつ増やすことによって、次のサブネットに分割できる。これは、/24ネットワークでアドレス指定できるホストの総数に影響する。

プレフィックスサイズ サブネットマスク 利用可能な
サブネット数
サブネットあたりの
利用可能なホスト数
利用可能な
ホスト数の合計
24 255.255.255.0 1 254 254
25 255.255.255.128 2 126 252
26 255.255.255.192 4 62 248
27 255.255.255.224 8 30 240
28 255.255.255.240 16 14 224
29 255.255.255.248 32 6 192
30 255.255.255.252 64 2 128
31 255.255.255.254 128 2 256

IPv6編集

IPv6アドレス空間の設計は、IPv4とは大きく異なる。IPv4でサブネット化する主な理由は、特に企業で、利用可能な比較的小さいアドレス空間の利用効率を向上させることだった。IPv6にはそのような制限はない。エンドユーザでさえも大きなアドレス空間が利用可能であり、制限要因とはならないからである。

IPv4と同様に、IPv6のサブネット化も可変長サブネットマスキング(VLSM)およびCIDRの概念に基づいている。これは、グローバル割り当て空間の間、および、サブネットとインターネット全体のカスタマーネットワーク内のトラフィックのルーティングに使用される。

IPv6サブネットは、常にホスト識別子に64ビットのアドレスを使用する[12]。アドレスサイズが128ビットなので、ルーティングプレフィックスは/ 64となる。より小さなサブネットを使用することも技術的には可能であるが[13]、ステートレスアドレス自動設定には64ビットが必要であるため、イーサネットテクノロジに基づくローカルエリアネットワークには実用的ではない[14]Internet Engineering Task Force(IETF)は、2つのホストしかないポイント・ツー・ポイントリンクには/127サブネットの使用を推奨している[15][16]

IPv6はブロードキャストトラフィックやネットワーク番号に対して特別なアドレスフォーマットを実装していないため[17]、サブネット内の全てのアドレスをホストのアドレス指定に使用できる。オール0のアドレスは、サブネットルータエニーキャストアドレスとして予約されている[18]

過去には、IPv6カスタマーサイトに推奨される割り当ては、48ビット(/48)プレフィックスを持つアドレス空間だった[19]。この勧告は、例えば56ビットのプレフィックスを使うなど、より小さなブロックを推奨するために修正された[20]。住宅用カスタマーネットワークのもう1つの一般的な割り当てサイズは64ビットのプレフィックスである。

関連項目編集

脚注編集

  1. ^ Jeffrey Mogul; Jon Postel (August 1985). Internet Standard Subnetting Procedure. IETF. RFC 950. https://tools.ietf.org/html/rfc950.  Updated by RFC 6918.
  2. ^ V. Fuller; T. Li (August 2006). Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan. Network Working Group. RFC 4632. https://tools.ietf.org/html/rfc4632. 
  3. ^ R. Braden, ed (October 1989). Requirements for Internet Hosts -- Communication Layers. Network Working Group IETF. sec. 3.3.1. RFC 1122. https://tools.ietf.org/html/rfc1122#section-3.3.1.  Updated by RFC 1349, RFC 4379, RFC 5884, RFC 6093, RFC 6298, RFC 6633, RFC 6864, RFC 8029.
  4. ^ T. Narten; E. Nordmark; W. Simpson; H. Soliman (September 2007). Neighbor Discovery for IP version 6 (IPv6). Network Working Group. RFC 4861. https://tools.ietf.org/html/rfc4861. 
  5. ^ H. Singh; W. Beebee; E. Nordmark (July 2010). IPv6 Subnet Model: The Relationship between Links and Subnet Prefixes. IETF. RFC 5942. https://tools.ietf.org/html/rfc5942. 
  6. ^ Document ID 13711 - Subnet Zero and the All-Ones Subnet”. Cisco Systems (2005年8月10日). 2010年4月25日閲覧。 “Traditionally, it was strongly recommended that subnet zero and the all-ones subnet not be used for addressing. [...] Today, the use of subnet zero and the all-ones subnet is generally accepted and most vendors support their use.”
  7. ^ Document ID 13711 - Subnet Zero and the All-Ones Subnet”. Cisco Systems (2005年8月10日). 2010年4月23日閲覧。 “the first [...] subnet[...], known as subnet zero”
  8. ^ Document ID 13711 - Subnet Zero and the All-Ones Subnet”. Cisco Systems (2005年8月10日). 2010年4月23日閲覧。 “[...] the last subnet[...], known as [...] the all-ones subnet”
  9. ^ Jeffrey Mogul; Jon Postel (August 1985). Internet Standard Subnetting Procedure. IETF. p. 6. RFC 950. https://tools.ietf.org/html/rfc950#page-6. "It is useful to preserve and extend the interpretation of these special addresses in subnetted networks. This means the values of all zeros and all ones in the subnet field should not be assigned to actual (physical) subnets." 
  10. ^ Troy Pummill; Bill Manning (December 1995). Variable Length Subnet Table For IPv4. IETF. RFC 1878. https://tools.ietf.org/html/rfc1878. "This practice is obsolete! Modern software will be able to utilize all definable networks."  (Informational RFC, demoted to category Historic)
  11. ^ A. Retana; R. White; V. Fuller; D. McPherson (December 2000). Using 31-Bit Prefixes on IPv4 Point-to-Point Links. RFC 3021. https://tools.ietf.org/html/rfc3021. 
  12. ^ R. Hinden; S. Deering (February 2006). IP Version 6 Addressing Architecture - section 2.5.1. Interface Identifiers. IETF. sec. 2.5.1. RFC 4291. https://tools.ietf.org/html/rfc4291#section-2.5.1. "For all unicast addresses, except those that start with the binary value 000, Interface IDs are required to be 64 bits long and to be constructed in Modified EUI-64 format."  (Updated by RFC 5952, RFC 6052, RFC 7136, RFC 7346, RFC 7371, RFC 8064.)
  13. ^ S. Thomson; T. Narten; T. Jinmei (September 2007). IPv6 Stateless Address Autoconfiguration - section 5.5.3.(d) Router Advertisement Processing. IETF. sec. 5.5.3. RFC 4862. https://tools.ietf.org/html/rfc4862#section-5.5.3. "It is the responsibility of the system administrator to ensure that the lengths of prefixes contained in Router Advertisements are consistent with the length of interface identifiers for that link type. [...] an implementation should not assume a particular constant. Rather, it should expect any lengths of interface identifiers."  (Updated by RFC 7527.)
  14. ^ M. Crawford (December 1998). Transmission of IPv6 Packets over Ethernet Networks - section 4 Stateless Autoconfiguration. IETF. sec. 4. RFC 2464. https://tools.ietf.org/html/rfc2464#section-4. "The Interface Identifier [AARCH] for an Ethernet interface is based on the EUI-64 identifier [EUI64] derived from the interface's built-in 48-bit IEEE 802 address. [...] An IPv6 address prefix used for stateless autoconfiguration [ACONF] of an Ethernet interface must have a length of 64 bits."  (Updated by RFC 6085, RFC 8064.)
  15. ^ M. Kohno; B. Nitzan; R. Bush; Y. Matsuzaki; L. Colitti; T. Narten (April 2011). Using 127-Bit IPv6 Prefixes on Inter-Router Links. IETF. RFC 6164. https://tools.ietf.org/html/rfc6164. "On inter-router point-to-point links, it is useful, for security and other reasons, to use 127-bit IPv6 prefixes." 
  16. ^ W. George (February 2012). RFC 3627 to Historic Status. IETF. RFC 6547. https://tools.ietf.org/html/rfc6547. "This document moves "Use of /127 Prefix Length Between Routers Considered Harmful" (RFC 3627) to Historic status to reflect the updated guidance contained in "Using 127-Bit IPv6 Prefixes on Inter-Router Links" (RFC 6164)." 
  17. ^ R. Hinden; S. Deering (February 2006). IP Version 6 Addressing Architecture - section 2 IPv6 Addressing. IETF. sec. 2. RFC 4291. https://tools.ietf.org/html/rfc4291#section-2. "There are no broadcast addresses in IPv6, their function being superseded by multicast addresses. [...] In IPv6, all zeros and all ones are legal values for any field, unless specifically excluded." 
  18. ^ R. Hinden; S. Deering (February 2006). IP Version 6 Addressing Architecture - section 2.6.1 Required Anycast Address. IETF. sec. 2.6.1. RFC 4291. https://tools.ietf.org/html/rfc4291#section-2.6.1. "This anycast address is syntactically the same as a unicast address for an interface on the link with the interface identifier set to zero." 
  19. ^ IPv6 Addressing Plans”. ARIN IPv6 Wiki. 2010年4月25日閲覧。 “All customers get one /48 unless they can show that they need more than 65k subnets. [...] If you have lots of consumer customers you may want to assign /56s to private residence sites.”
  20. ^ T. Narten; G. Huston; L. Roberts (March 2011). IPv6 Address Assignment to End Sites. IETF. ISSN 2070-1721. BCP 157. RFC 6177. https://tools.ietf.org/html/rfc6177. "APNIC, ARIN, and RIPE have revised the end site assignment policy to encourage the assignment of smaller (i.e., /56) blocks to end sites." 

参考文献編集

  • RFC 1812 Requirements for IPv4 Routers
  • RFC 917 Utility of subnets of Internet networks
  • RFC 1101 DNS Encodings of Network Names and Other Type
  • Blank, Andrew G. TCP/IP Foundations Technology Fundamentals for IT Success. San Francisco, London: Sybex, Copyright 2004.
  • Lammle, Todd. CCNA Cisco Certified Network Associate Study Guide 5th Edition. San Francisco, London: Sybex, Copyright 2005.
  • Groth, David and Toby Skandier. Network + Study Guide, 4th Edition. San Francisco, London: Wiley Publishing, Inc., Copyright 2005.

外部リンク編集