IPv4アドレスの構造

IPv4アドレスは、32ビットの数値を8ビットずつ4つに区切り、それぞれを10進数で表記したドット付き10進表記(例:192.168.1.10)で表されます。1つのIPv4アドレスは、ネットワーク部とホスト部の2つの部分から構成されます。

  • ネットワーク部:そのアドレスがどのネットワーク(サブネット)に属しているかを示す部分です。
  • ホスト部:同じネットワーク内の、個々の機器(ホスト)を識別する部分です。

ネットワーク部とホスト部の境界がどこにあるかを示すのがサブネットマスクです。サブネットマスクも32ビットの値で、ネットワーク部にあたるビットを1、ホスト部にあたるビットを0で表します。

CIDR表記

サブネットマスクは、255.255.255.0のようなドット付き10進表記だけでなく、ネットワーク部のビット数をスラッシュに続けて書くCIDR(Classless Inter-Domain Routing)表記(例:/24)でも表されます。/24は「先頭から24ビットがネットワーク部」という意味で、255.255.255.0と同じ意味になります。

かつてはIPv4アドレスを先頭ビットのパターンでクラスA/B/Cなどに分類し、クラスごとに固定のサブネットマスクを対応させるクラスフルアドレッシングが使われていましたが、アドレスの無駄が多いという課題があり、現在では任意の長さのサブネットマスクを柔軟に使えるクラスレスアドレッシング(CIDR)が標準的です。

サブネット化とVLSM

サブネット化の目的

1つの大きなネットワークを、サブネットマスクを長くする(ネットワーク部のビット数を増やす)ことで、複数の小さなサブネットに分割することをサブネット化(サブネッティング)と呼びます。サブネット化には、次のような利点があります。

  • ブロードキャストが届く範囲(ブロードキャストドメイン)を小さく分割し、無駄なブロードキャストトラフィックを減らせる
  • 部署・拠点・用途ごとにネットワークを分離し、管理しやすくできる
  • 実際に必要なホスト数に応じてアドレス空間を割り当て、アドレスの無駄を減らせる

ネットワークアドレスとブロードキャストアドレス

通常のサブネットの中では、次の2つのアドレスは、機器に個別に割り当てることができない予約されたアドレスです。

  • ネットワークアドレス:ホスト部がすべて0のアドレス。そのサブネット自体を指すアドレスです。
  • ブロードキャストアドレス:ホスト部がすべて1のアドレス。そのサブネット内のすべての機器へ送信するためのアドレスです。

ただし、ポイントツーポイントリンクで使われる/31では、ネットワークアドレスとブロードキャストアドレスを予約せず、2つのアドレスを両端の機器に割り当てられます。/32は単一ホストを表すプレフィックスであり、通常の複数ホスト用サブネットとは扱いが異なります。

例えば192.168.1.0/24というサブネットでは、ネットワークアドレスは192.168.1.0、ブロードキャストアドレスは192.168.1.255となり、実際にホストへ割り当てられるアドレスは192.168.1.1〜192.168.1.254の254個になります。

VLSM(可変長サブネットマスク)

同じネットワークの中でも、必要なホスト数はサブネットごとに異なるのが普通です。VLSM(Variable Length Subnet Mask、可変長サブネットマスク)とは、1つのネットワークを複数のサブネットに分割する際に、サブネットごとに異なる長さのサブネットマスクを使う手法です。必要なホスト数が多いサブネットには大きなアドレス範囲(短いマスク)を、少ないサブネットには小さなアドレス範囲(長いマスク)を割り当てることで、アドレス空間の無駄を最小限に抑えられます例えば、あるネットワークの中に「200台の端末が接続される部署」と「2台の機器しかないルータ間リンク」が混在する場合、前者には/24程度の広いサブネットを、後者には/30(ホスト2個分)の狭いサブネットを、それぞれ必要な分だけ割り当てるのがVLSMの典型的な使い方です。[1]。

IOSでのIPv4アドレス設定・確認

インターフェイスへのアドレス設定

ルータの物理インターフェイスにIPv4アドレスを設定するには、インターフェイスコンフィギュレーションモードでip addressコマンドを使います。

Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# no shutdown

サブネットマスクは、CIDR表記(/24)ではなく、ドット付き10進表記(255.255.255.0)で指定する点に注意してください。ルータの物理インターフェイスは初期状態で無効化(shutdown)されているため、no shutdownコマンドで有効化する必要があります。L3スイッチでは、物理ポートをルーテッドポートとして使う場合に、機種・構成によっては先にno switchportを設定する必要があります。また、初期状態がshutdownかどうかは、物理ポートやSVIなどのインターフェイス種別・プラットフォームによって異なります。

設定の確認

設定したIPv4アドレスは、show ip interface briefコマンドで一覧確認できます。

Router# show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0     192.168.1.1     YES manual up                    up
GigabitEthernet0/1     unassigned      YES unset  administratively down down

より詳細な情報(サブネットマスク等)を確認する場合は、show ip interface GigabitEthernet0/0やshow running-configを使います。

プライベートIPv4アドレス

プライベートアドレスとは

IPv4アドレスは32ビットしかなく、インターネット上で一意に使えるグローバルIPv4アドレスの総数には限りがあります。この制約に対応するため、IETFはRFC 1918で、インターネット上ではルーティングされない(インターネットには直接接続しない)ことを前提に、誰でも自由に使ってよいプライベートIPv4アドレスの範囲を定めています。

RFC 1918ブロック範囲CIDR表記
10/8ブロック10.0.0.0 〜 10.255.255.25510.0.0.0/8
172.16/12ブロック172.16.0.0 〜 172.31.255.255172.16.0.0/12
192.168/16ブロック192.168.0.0 〜 192.168.255.255192.168.0.0/16

これらの範囲は、企業・家庭の内部ネットワーク(LAN)で自由に使うことができ、複数の異なる組織が同じプライベートアドレス範囲を重複して使っても、それぞれの内部ネットワークが直接つながっていない限り問題になりません。

プライベートアドレスを使う目的

  • グローバルIPv4アドレスの節約:限りあるグローバルアドレスを、組織内のすべての端末に個別に割り当てる必要が無くなります。
  • NAT(Network Address Translation)との組み合わせ:内部ネットワークではプライベートアドレスを使い、インターネットへ出る境界(ルータ・ファイアウォール等)でNATを使ってグローバルアドレスへ変換することで、少数のグローバルアドレスを使って多数の内部端末がインターネットへアクセスできるようになります。

APIPA(リンクローカルアドレス)について

DHCPサーバーからIPアドレスを取得できなかった場合、Windows端末等は、IPv4リンクローカルアドレス用の169.254.0.0/16プレフィックスのうち、通常は169.254.1.0〜169.254.254.255の範囲から自動的にアドレスを割り当てるAPIPA(Automatic Private IP Addressing)という仕組みを使うことがあります。これはRFC 1918のプライベートアドレスとは異なる、別の予約された範囲です。端末が169.254.x.xのアドレスを持っている場合、DHCPでの正常なアドレス取得に失敗していることを示す典型的な兆候として扱われます。


補足

  1. 例えば、あるネットワークの中に「200台の端末が接続される部署」と「2台の機器しかないルータ間リンク」が混在する場合、前者には/24程度の広いサブネットを、後者には/30(ホスト2個分)の狭いサブネットを、それぞれ必要な分だけ割り当てるのがVLSMの典型的な使い方です。 ↩