この付録では、IP ルーティングの概要を述べます。この章の内容は次のとおりです。
IP (インターネットプロトコル) アドレスの長さは 32 ビットです。このため、インターネット全体では合計でおよそ 40 億個のアドレスが存在できることになります。各 IP アドレスは、オクテット (8 ビット) ごとにドットで区切られて示されます。たとえば、アドレス 11111111 00000001 00000101 00001010 は 127.1.5.10 と記述されるか、あるいは 16 進表記により 7f.1.5.a0 と記述されることになります。
このようにアドレスは膨大な数に上るため、ネットワークは管理ドメインとして階層的に編成されます。このような編成から、名前を管理するドメインやネットワーククラスなどが定義されるようになりました。サイトの規模はそれぞれ異なるため、IP アドレスは大きく 3 つの種類 (クラス) に分けられます。大規模サイトは、クラス A のアドレスを予約し、224 個の個別アドレスを受け取ることができます。小規模サイトは、クラス C のアドレスを予約し、28 個の個別アドレスを受け取ることができます。
クラス A は、最初のオクテットをネットワークアドレスに使用し、残りのオクテットをこのネットワーク内のホストアドレスに使用します。たとえば、ネットワークアドレスが 129.0.0.0 のサイトは、129.0.0.0 から 129.255.255.255 の範囲の 224 個のアドレスを所有します。
ネットワーク |
ホスト |
|
|
---|---|---|---|
0xxxxxxx |
xxxxxxxx |
xxxxxxxx |
xxxxxxxx |
クラス B は、2 つのオクテットをネットワークアドレスに使用し、残りの 2 つをホストアドレスに使用します。たとえば、ネットワークアドレスが 129.123.0.0 のサイトは、129.123.0.0 から 129.123.255.255 の範囲の 216 個のアドレスを所有します。
ネットワーク |
ホスト |
|
|
---|---|---|---|
10xxxxxx |
xxxxxxxx |
xxxxxxxx |
xxxxxxxx |
クラス C は、3 つのオクテットをネットワークアドレスに使用し、残りの 1 つをホストアドレスに使用します。たとえば、ネットワークアドレスが 129.123.56.0 のサイトは、129.123.56.0 から 129.123.56.255 の範囲の 28 個のアドレスを所有します。
ネットワーク |
ホスト |
|
|
---|---|---|---|
110xxxxx |
xxxxxxxx |
xxxxxxxx |
xxxxxxxx |
ネットワークを分割し、小さなセグメント (サブネット) として利用できます。この手法は、クラス A ネットワークとクラス B ネットワークには欠かせないものです。宛先アドレスが同じサブネット内であれば、ルーターはそのサブネットの外部へパケットを転送することはありません。このようなことから、大規模ネットワークをセグメント化すればネットトラクトラフィックを相当減らすことができます。例として、クラス B ネットワークを 255 個のサブネットにセグメント化する場合を考えてみましょう。パケットの宛先がサブネットの外部のホストでないかぎり、ローカルパケットは (256,000 個ではなく) 255 個のホストに送信されます。
ネットマスクは、1 の連続と 0 の連続した形式です。ネットマスクを使用して IP アドレスの論理積をとることにより、サブネットのアドレスを得られます。
ルーターは、パケットを外部のサブネットに転送するべきかどうかをネットマスクを使用して決定します。たとえば、IP アドレス 129.123.56.95 のマシンが IP アドレス 129.123.56.100 を持つ別のマシンに電子メールを送ると仮定します。ネットマスク (255.255.255.0) で両方の IP アドレスの論理積をとると、両方のマシンとも 129.123.56.0 となります。この結果ルーターは転送元マシンと宛先マシンが同じサブネット上に存在すると判断し、メールを外部サブネットに転送しません。
これに対し、宛先アドレスが 129.123.67.100 の場合、サブネットアドレスは 129.123.67.0 となります。この場合ルーターは、メールを外部サブネット (129.123.67.0) に転送します。
これらの例の中には Ethernet リンクにしか当てはまらないものもありますが、原則はネットワークの種類に関係なく適用されます。