CIDRの最初と最後の利用可能ホスト
192.168.1.0/24の利用可能ホストは、ネットワークとブロードキャストを除く192.168.1.1から192.168.1.254までの254個です。ホストアドレス入りのブロックを貼っても、割り当てられる両端が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- CIDR表記 (CIDR)
- 192.168.1.0/24
- プレフィックス
- 24
- カードブランド
- 192.168.1.0
- ブロードキャスト
- 192.168.1.255
- 最初のホスト
- 192.168.1.1
ネットワーク技術者、CCNA受講者、IPv4サブネットへアドレスを割り当てる方には、ネットワーク識別子でも向け先ブロードキャストでもなく、最初と最後の利用可能ホストが必要です。このCIDR最初・最後利用可能ホスト計算は、標準のIPv4 CIDRブロックを受け取り、整数マスクでネットワークとブロードキャストを求め、その2つの予約アドレスを除いた包括的な利用可能範囲を返します。192.168.1.0/24を貼ると192.168.1.1から192.168.1.254が得られます。ブロック内のホストアドレスは先にネットワークへ正規化されるため、192.168.1.50/24でも同じ範囲になります。ポイントツーポイントの/31はRFC 3021に従い、両アドレスが利用可能です。/32ホストルートは単一の利用可能アドレスとして扱います。
IPv4サブネットにおける最初と最後の利用可能ホストの意味
IPv4サブネットでは、ブロックの先頭アドレスがネットワーク識別子、末尾アドレスが向け先ブロードキャストです。通常のマルチアクセスLANでは、どちらもインタフェースには割り当てません。したがって最初の利用可能ホストはネットワークの直後、最後の利用可能ホストはブロードキャストの直前です。
おなじみのスラッシュ24の例192.168.1.0/24では、ネットワークは192.168.1.0、ブロードキャストは192.168.1.255、利用可能範囲は192.168.1.1から192.168.1.254で、254アドレスです。同じ規則は規模を変えても成り立ちます。
/16は65,534ホスト、RFC 3021以前のポイントツーポイントでよく使われた/30はちょうど2ホストです。プレフィックスをマスクへ直し、アドレスをビットANDし、マスクを反転し、手で1を足し引きする必要がないように、この計算があります。サブネットは既に分かっていて範囲の割り当て可能な両端だけが欲しい、という検索です。
ネットワーク分割やアクセスリスト用ワイルドカードマスクまで出す総合サブネット計画とは別の仕事です。
利用可能なホスト範囲が役立つ場面
アドレス計画表、ファイアウォール変更票、実験自動化はどれも、割り当ててよい最低と最高のホストという同じ2アドレスを必要とします。プリンタVLANの/27を記録する若手技術者は、ゲートウェイに10.0.0.1、最後のプリンタに10.0.0.30を欲し、10.0.0.0や10.0.0.31は欲しません。
ベンダー回線へTCP 443を開ける変更票は、ACLがブロードキャストを誤って含めないよう利用可能端を書くべきです。試験対策とCCNA型ドリルは同じ契約を神託として使います。CIDRが与えられたとき、最初と最後の利用可能ホストは何か。
不正なCIDR文字列は算術の前に拒否され、残高を消費しません。
活用例
DHCPプールと静的割当表
CIDRブロックを、ホストへ渡せる、またはデフォルトゲートウェイとして予約できる最初と最後のアドレスへ変え、ネットワークもブロードキャストも並べません。
ファイアウォールとACLの境界
変更票に包括的な利用可能範囲を書き、規則が割当可能なホストだけに合い、向け先ブロードキャストを開かないようにします。
よくある質問
CIDRブロックの最初と最後の利用可能ホストはどう求めますか?
cidrをドット区切りIPv4とプレフィックス(例: 192.168.1.0/24)で送ってください。
なぜネットワークとブロードキャストアドレスを除くのですか?
マルチアクセスIPv4 LANでは先頭アドレスがサブネットを示し、末尾が向け先ブロードキャストです。どちらをホストへ付けても経路が壊れるかセグメントが溢れます。利用可能ホストではありません。
192.168.1.50/24のようなホストアドレスを貼ってもよいですか?
はい。 エンジンはアドレスをネットワーク(192.168.1.0/24)へマスクし、そのネットワークから利用可能範囲を計算します。ifconfigやチケットからの貼り付けでも動きます。
/31や/32のブロックはどうなりますか?
/31はRFC 3021に基づく2アドレスのポイントツーポイント回線で、ネットワークもブロードキャストもないため両方とも利用できます。/32はホストルートで、最初と最後のホストは同じアドレスです。
ゲートウェイと機器の最後のアドレスはどう決めますか?
利用可能範囲の両端を使います。10.0.0.0から始まる/27なら、ゲートウェイを10.0.0.1、最後の機器を10.0.0.30にできます。ネットワークとブロードキャストである10.0.0.0と10.0.0.31は使いません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/dev/cidr-first-last-host \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cidr":"192.168.1.0/24"}'const res = await fetch("https://api.kit.forhosting.com/dev/cidr-first-last-host", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cidr": "192.168.1.0/24"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/cidr-first-last-host",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cidr": "192.168.1.0/24"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/cidr-first-last-host", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cidr":"192.168.1.0/24"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cidr":"192.168.1.0/24"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/cidr-first-last-host", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"cidr": "192.168.1.0/24"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.cidr_first_last_host",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
IPv4サブネットにおける最初と最後の利用可能ホストの意味
CIDRブロックを送るとfirst_host、last_host、usable_host_countに加え、除外した予約ネットワークとブロードキャストが返ります。
入力契約、CIDR解析、特殊プレフィックス
ドット区切りIPv4、スラッシュ、0から32のプレフィックスです。スラッシュ周囲の空白は無視します。すでにブロック内のホスト—10.20.30.40/16—を貼ると、エンジンはアドレスをネットワーク10.20.0.0/16へマスクし、そのネットワークから利用可能範囲を計算します。DHCPプールとACLコメントが公式ブロックと揃います。プレフィックス0から30は古典どおりネットワークとブロードキャストを除きます。必須フィールドcidrを持つJSON本体を送ってください。別名blockとnetworkも同じ意味で受け付けます。/31はRFC 3021の2アドレスのポイントツーポイントで、予約のネットワークもブロードキャストもなく、両アドレスが利用可能、excludes_reservedはfalseです。/32はホストルートで、first_hostとlast_hostは同一、利用可能数は1です。IPv6、欠落プレフィックス、0–255外のオクテット、0–32外のプレフィックスはcidrを名指ししてinvalid_inputとなり、課金されません。成功時は正規化済みcidr(ネットワーク/プレフィックス)、整数プレフィックス、network、broadcast、first_host、last_host、usable_host_count、excludes_reservedを返し、クライアントは1行表示や特殊プレフィックス分岐を、算術を再実装せずに行えます。
最初と最後の利用可能ホストAPIが活きる場面
成功したAPI呼び出しは公開の基本料金$0.002で、モデルトークンも外向き照会もありません。入力はIPv4ブロック1つに限り、テストでfirst_hostとlast_hostを固定すれば、自前のIPAMを立てずにDHCP、DNS逆引きゾーン、表計算へ貼れる決定的な範囲が得られます。
連携の活用例
CCNA実験と宿題確認
受講者にCIDRを渡し、ネットワークとブロードキャストを除く古典法に対してfirst_host、last_host、usable_host_countを確かめます。
技術的な質問
/31や/32ではどうなりますか。
/31はRFC 3021に従い、両アドレスが利用可能でexcludes_reservedはfalseです。/32はホストルートなのでfirst_hostとlast_hostは同一、利用可能数は1です。
CIDR最初・最後利用可能ホスト計算の料金はいくらですか。
ブラウザツールは無料です。API要求は成功1回あたり$0.002のKIT前払い残高を使い、不正入力は課金されません。