TCP/IPネットワークの設定を手動で行うとき、IPアドレスだけでなくサブネットマスクについても正しい情報を指定する必要があります。「192.168.0.100/24」のようにマスク長が計算しにくい値のときは、ipcalcコマンドを使うと簡単に計算できます。
本連載では、ネットワーク管理の基本コマンドを順を追って紹介していきます。基本書式と用法、主要なオプション、用例サンプルを示しますので、manやhelp代わりに通読し、各コマンドでできることを順次おさらいしてみてください。今回は、サブネットマスクの値からネットワークアドレスをコマンドで計算できるipcalcコマンドを紹介します。
IPアドレスはネットワーク部とホスト部という要素に分けることができますが、両者の境界がどこにあるのかを「サブネットマスク」で表現します。
IPアドレスとサブネットマスクを表現する場合には、「192.168.12.5/255.255.255.0」のようにサブネットマスク全てを記述する方法と、「192.168.12.10/24」というようにネットワーク部のビット数(マスク長、この例では「/24」とあるので、左から24ビット)を指定する方法があります。この時、「/24」の部分をプリフィックスと呼びます。
ipcalcは、IPアドレスに関するさまざまな計算を行うコマンドです。IPブロードキャストやサブネットマスク、ホストの範囲を計算する他、サブネットマスクの正しさを検証する目的に利用できます。正確にサブネットマスクを計算したいとき、「192.168.12.10/24」という表記方法を「192.168.12.5/255.255.255.0」の形式に変換したい時に利用します。
ipcalcの主なオプションは次の通りです。
オプション | 意味 |
---|---|
-b | ブロードキャストアドレスを表示する |
-m | サブネットマスクを表示する |
-n | ネットワークアドレスを表示する |
-p | プリフィクス(何ビットまでアドレスがあるか)を表示する |
「192.168.10.1/○○」などのようなネットワーク部のビット数を指定する方法で表現されるIPアドレスからネットワークアドレスを求める場合は、「-n」オプションを利用します。
IPアドレスとネットワークマスクを2進数に変換してその論理積を計算することなく、10進数のネットワークアドレスを求めることができます。例えば、以下のコマンド実行例からは、「192.168.30.20/22」のネットワークアドレスが「192.168.28.0」であることが分かります。
$ ipcalc -n 192.168.30.20/22 NETWORK=192.168.28.0
実行例1では、IPアドレスとプリフィックスからネットワークアドレスを求めましたが、10進数のネットマスクからプリフィックス(IPアドレスから取り出すべきビット数)を求めることも可能です。
以下のコマンド実行例では、IPアドレスが「192.168.30.20」でネットマスクが「255.255.128.0」のとき、プリフィックスが「/17」ということが分かります。
$ ipcalc -p 192.168.30.20 255.255.128.0 PREFIX=17
ネットワーク内の全ての端末にデータを送信する「ブロードキャストアドレス」を求めるときにも、ipcalcコマンドを利用できます。以下のコマンド実行例では、IPアドレスが「192.168.30.20」でマスク長が「22」のときのブロードキャストアドレスとネットマスクを計算しています。
$ ipcalc -mb 192.168.30.20/22 NETMASK=255.255.252.0 BROADCAST=192.168.31.255
Copyright © ITmedia, Inc. All Rights Reserved.