CIDRプレフィックスからサブネットマスクへの変換
CIDRプレフィックスは簡潔ですが、多くのルーター、アクセス制御リスト、ネットワーク設定画面では、現在もドット区切りの10進サブネットマスクが求められます。この変換ツールでは、0から32までのIPv4プレフィックス長から、対応するサブネットマスク、反転したワイルドカードマスク、ブロック内の総アドレス数を求められます。/24なら、スラッシュの後の24だけを入力してください。計算は決定的で、/0と/32の境界値を含むIPv4の全範囲に対応します。
無料で実行
IPv4のCIDRプレフィックスの読み方
CIDR表記では、192.0.2.0/24のように、IPv4アドレスの後にスラッシュとプレフィックス長を記述してネットワークを表します。プレフィックス長は、32ビットのサブネットマスクの先頭から連続する1のビット数です。このツールに必要なのはその数値だけです。アドレス全体やスラッシュは含めず、24と入力してください。プレフィックスが大きいほどネットワークに割り当てられるビットが増え、ブロック内のアドレス数は少なくなります。そのため、/8は/28よりもはるかに多くのアドレスを含みます。有効なIPv4プレフィックスは0から32です。/0はネットワークビットを固定せず、IPv4アドレス空間全体を表します。一方、/32はすべてのビットを固定し、1個のアドレスを表します。出力されるドット区切りのマスクは、同じ境界を4個のオクテットで示します。たとえば/24は、先頭24ビットが1で末尾8ビットが0なので、255.255.255.0になります。
マスク、ワイルドカード、アドレス数の意味
サブネットマスクでは、ネットワーク部分を1、残りの部分を0のビットで示します。ドット区切りの10進表記では、8ビットごとのグループを0から255までのオクテットに変換します。ワイルドカードマスクは、その全ビットを反転した値です。アドレスの可変部分を指定する機器や規則で利用されます。たとえば/26のサブネットマスクは255.255.255.192、ワイルドカードマスクは0.0.0.63です。対応する各オクテットの合計は常に255になります。総アドレス数は、プレフィックスの後に残るビット数を指数として2を累乗した値です。/26では6ビットが残るため、64個のアドレスを含みます。この値は、利用可能なホスト数ではなく、ブロック全体のアドレス数です。一般的なサブネットではネットワークアドレスとブロードキャストアドレスを予約しますが、ポイントツーポイント接続、ホストルート、個別の基盤では規則が異なります。ブロック全体を示すことで、用途に依存する前提を避けています。
ネットワーク設定での結果の使い方
CIDR表記ではなく、IPアドレスとドット区切りのマスクを求める機器や旧式の設定画面では、サブネットマスクを使用してください。ルーターの規則、アクセスリスト、照合設定で逆マスクを明示的に求められた場合は、ワイルドカードマスクを使用します。一方が他方の反転値であっても、両者を同じ項目に入力することはできません。必ず対象システムの用語と仕様をご確認ください。総アドレス数は、容量の確認、割り当て計画、複数ブロックの比較に役立ちます。これは、各ネットワーク規則による予約を差し引く前の数学的な大きさです。結果を転記するときは、元のプレフィックスも残しておくと、設定と文書が同じ境界を示しているか確認できます。このツールはプレフィックスだけを変換します。ネットワークアドレス、ブロードキャストアドレス、ホスト範囲、IPの所属判定にはIPv4アドレスも必要です。固定の32ビット演算を使うため、同じ入力からは常に同じ結果が得られます。
活用例
旧式のネットワーク設定画面への入力
現在のCIDRプレフィックスを、旧式の機器が求めるドット区切りのサブネットマスクに変換します。
アクセスリスト用ワイルドカードの作成
ワイルドカードビットで範囲を指定するネットワーク製品向けに、反転マスクを取得します。
割り当て規模の比較
アドレス空間を割り当てる前に、各プレフィックスが含むIPv4アドレスの総数を確認します。
よくある質問
スラッシュも入力する必要がありますか?
いいえ。/24の場合は24のように、整数のプレフィックス長だけを入力してください。
有効なプレフィックス長はいくつですか?
IPv4プレフィックスには、0から32までの整数を指定できます。
総アドレス数は利用可能なホスト数と同じですか?
いいえ。ブロック全体の数学的な大きさです。利用可能なホストの規則は、ネットワークや運用方式によって異なります。
ワイルドカードマスクとは何ですか?
サブネットマスクをビット単位で反転した値です。1は0に、0は1に変わります。
APIリクエストの料金はいくらですか?
APIリクエスト1回の料金は$0.002です。ブラウザー版は、このページでローカルに実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/dev/cidr-to-netmask \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"prefix":24}'const res = await fetch("https://api.kit.forhosting.com/dev/cidr-to-netmask", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"prefix": 24
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/cidr-to-netmask",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"prefix": 24
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/cidr-to-netmask", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"prefix":24}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"prefix":24}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/cidr-to-netmask", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"prefix": 24
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.cidr_to_netmask",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |