CIDR(Classless Inter-Domain Routing)は、IPアドレスの割り当ておよびルーティングの効率化を目的とした技術であり、従来のクラスベースのアドレス指定方式に代わるものです。CIDRは、IPアドレスを柔軟に割り当てることができ、特にインターネットの拡大とIPアドレスの枯渇を回避するために重要な役割を果たしています。CIDRを使用することで、より効率的なIPアドレスの管理とルーティングが可能になり、ネットワークのスケーラビリティが向上します。
CIDRの基本概念
CIDRでは、IPアドレスとサブネットマスクを「/」で区切って表現します。例えば、「192.168.1.0/24」というCIDR表記では、192.168.1.0がネットワークアドレス、24がサブネットのプレフィックス長を意味します。このプレフィックス長は、ネットワーク部分のビット数を示し、残りのビットがホスト部分に割り当てられます。
サブネットマスクとCIDRプレフィックス
CIDR表記の「/24」を例にとると、これに対応するサブネットマスクは「255.255.255.0」となります。このサブネットマスクは、IPアドレスの上位24ビットをネットワーク部分として使用し、残りの8ビットをホスト部分に使用することを示します。CIDRのプレフィックス長は、サブネットマスクの「1」のビット数と一致します。
CIDRの利点
-
IPアドレスの効率的な利用:
CIDRは、従来のクラスA、クラスB、クラスCのアドレスブロックの制限を取り払います。これにより、必要なサイズのネットワークに対して適切な数のIPアドレスを割り当てることができ、IPアドレスの無駄を減らします。 -
ルーティングテーブルの縮小:
CIDRを使用することで、異なるIPネットワークをグループ化して1つのエントリとしてまとめることができ、ルーティングテーブルを小さく保つことができます。これにより、ネットワークのパフォーマンスが向上し、ルーティング情報の伝播が効率化されます。 -
ネットワークの柔軟性:
CIDRは、ネットワークのサイズを柔軟に調整できるため、ネットワーク設計において非常に柔軟性を提供します。例えば、64台のホストを持つネットワークが必要な場合、「/26」のプレフィックスを使用して、必要な数のIPアドレスを割り当てることができます。
CIDRの計算方法
CIDRを使用したサブネット計算では、IPアドレスの範囲やサブネットの数を決定するためのいくつかの基本的な計算が必要です。例えば、「/24」のCIDRプレフィックスを持つネットワークでのIPアドレスの範囲を計算するには、次の手順を踏みます。
-
ネットワークアドレスの確認:
ネットワークアドレスの最初のIPアドレスを取得します。例えば、192.168.1.0/24の場合、最初のIPアドレスは192.168.1.0です。 -
利用可能なIPアドレスの計算:
プレフィックス長が24の場合、残りのビット数は8ビットです。これにより、256(2^8)個のIPアドレスが利用可能です。この範囲は、192.168.1.0~192.168.1.255となります。 -
ブロードキャストアドレスの計算:
サブネット内でのブロードキャストアドレスは、ネットワークの最後のIPアドレスです。上記の例では、192.168.1.255がブロードキャストアドレスです。
LinuxでのCIDRの設定
Linuxシステムでは、CIDRを使用してネットワーク設定を行うことができます。以下に、LinuxでCIDR設定を行う方法を示します。
ネットワークインターフェースの設定
Linuxでネットワークインターフェースの設定を変更するためには、ip
コマンドを使用します。例えば、eth0
インターフェースに192.168.1.0/24
のCIDRネットワークを設定する場合、次のように入力します。
bashsudo ip addr add 192.168.1.0/24 dev eth0
このコマンドにより、eth0
インターフェースに192.168.1.0/24
というIPアドレス範囲が割り当てられます。
サブネットマスクの確認
CIDRのプレフィックス長が適切に設定されているか確認するためには、ip a
コマンドでインターフェースの設定を確認します。
baship a
出力例:
bash3: eth0:
mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.1.0/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever
ここで、「192.168.1.0/24」と表示されていれば、CIDR設定が正しく行われています。
デフォルトゲートウェイの設定
CIDR設定を行った後、デフォルトゲートウェイの設定も重要です。デフォルトゲートウェイを設定するには、次のコマンドを使用します。
bashsudo ip route add default via 192.168.1.1
これにより、192.168.1.1
をデフォルトゲートウェイとして設定できます。
CIDRとルーティング
CIDRを用いたルーティングの設定も重要です。Linuxでは、ip route
コマンドを使用してルーティングテーブルを確認および設定することができます。
ルーティングテーブルの確認
現在のルーティングテーブルを確認するには、次のコマンドを使用します。
baship route show
出力例:
bash192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.0
default via 192.168.1.1 dev eth0
新しいルートの追加
CIDRを使って新しいルートを追加するには、次のコマンドを使用します。
bashsudo ip route add 10.0.0.0/8 via 192.168.1.1
これにより、10.0.0.0/8
ネットワークへのルートが追加され、192.168.1.1
を経由してアクセスできるようになります。
結論
CIDRは、IPアドレスの効率的な管理とルーティングにおいて非常に重要な技術です。Linuxシステムでは、CIDRを使用してネットワーク設定を柔軟に行うことができ、効率的なネットワーク運用を実現します。CIDRを正しく理解し、設定することは、ネットワーク管理者にとって不可欠なスキルとなります。