Bookmarks    
P値の計算    
比の計算    
行列式    
逆行列    
円の計算    
球の体積    
年齢計算    
日数計算    
曜日計算    
時差計算    
複利計算    
単利計算    
利息計算    
ROIの計算    
IRRの計算    
GDPの計算    
CAGR計算    
BMI計算機    
TDEE計算機    
1RM計算機    
露点温度    
進数変換    
給与換算    
燃費計算    
生コン量    
外壁面積    
   追加
確率・ランダムの計算ツール
2つの独立な事象の確率
2つの独立な事象の確率
2つの事象の確率(逆算)
2つの事象の確率(逆算)
くり返したときの確率
くり返したときの確率
条件付き確率・ベイズの定理
条件付き確率・ベイズの定理
期待値計算機
期待値計算機
二項分布の計算機
二項分布の計算機
順列・組み合わせ
順列・組み合わせ
円順列・じゅず順列
円順列・じゅず順列
重複順列・重複組合せ
重複順列・重複組合せ
乱数ジェネレーター
乱数ジェネレーター
平均・統計の計算ツール
平均計算機
平均計算機
代表値計算機(最頻値ほか)
代表値計算機(最頻値ほか)
標準偏差計算機
標準偏差計算機
四分位数計算機
四分位数計算機
度数分布表 計算機
度数分布表 計算機
相関係数計算機
相関係数計算機
正規分布の確率
正規分布の確率
Zスコアの計算
Zスコアの計算
信頼区間の計算
信頼区間の計算
サンプルサイズの計算
サンプルサイズの計算
標本調査の計算
標本調査の計算
P値の計算
P値の計算
割合・パーセントの計算ツール
割合・パーセントの計算
割合・パーセントの計算
増減率の計算
増減率の計算
パーセント差
パーセント差
誤差率の計算
誤差率の計算
比の計算
比の計算
割引計算機
割引計算機
消費税の計算
消費税の計算
利益率計算機
利益率計算機
速さの計算ツール
速さ計算機
速さ計算機
密度・濃度の計算ツール
密度計算機
密度計算機
モル濃度計算機
モル濃度計算機
分子量・モル質量
分子量・モル質量
物理・電気工学の計算ツール
オームの法則の計算
オームの法則の計算
W・A・V の相互換算
W・A・V の相互換算
抵抗器カラーコードの計算
抵抗器カラーコードの計算
電圧降下の計算
電圧降下の計算
単位の換算の計算ツール
坪・畳・㎡換算
坪・畳・㎡換算
重さの単位換算
重さの単位換算
靴サイズの変換
靴サイズの変換
整数・正負の数の計算ツール
割り算の筆算(商と余り)
割り算の筆算(商と余り)
最小公倍数計算機
最小公倍数計算機
最大公約数
最大公約数
正負の数の計算機
正負の数の計算機
素因数分解
素因数分解
一次不定方程式計算機
一次不定方程式計算機
合同式・余りの計算機
合同式・余りの計算機
約数計算機
約数計算機
ローマ数字変換
ローマ数字変換
分数・小数・端数処理の計算ツール
分数計算機
分数計算機
帯分数計算機
帯分数計算機
約分計算機
約分計算機
分数から小数への変換
分数から小数への変換
小数から分数への変換
小数から分数への変換
四捨五入・切り上げ・切り捨て
四捨五入・切り上げ・切り捨て
方程式・不等式の計算ツール
一次方程式計算機
一次方程式計算機
連立方程式計算機
連立方程式計算機
二次方程式の解の公式
二次方程式の解の公式
絶対値の方程式・不等式
絶対値の方程式・不等式
二次不等式 計算機
二次不等式 計算機
三次方程式計算機
三次方程式計算機
多項式・式の展開の計算ツール
文字式の計算機
文字式の計算機
因数分解計算機
因数分解計算機
式の展開 計算機
式の展開 計算機
多項式の割り算計算機
多項式の割り算計算機
二項定理の計算機
二項定理の計算機
平方根・n乗根の計算ツール
根号の簡約
根号の簡約
分母の有理化
分母の有理化
累乗根の計算
累乗根の計算
指数・対数の計算ツール
べき乗計算機
べき乗計算機
対数計算機
対数計算機
常用対数と桁数
常用対数と桁数
科学的記数法
科学的記数法
科学的記数法の計算
科学的記数法の計算
半減期計算機
半減期計算機
複素数の計算ツール
複素数計算機
複素数計算機
複素数の極形式変換
複素数の極形式変換
ド・モアブルの定理
ド・モアブルの定理
関数・グラフの計算ツール
直線の傾きの計算
直線の傾きの計算
一次関数計算機
一次関数計算機
比例・反比例 計算機
比例・反比例 計算機
二次関数 y=ax² 計算機
二次関数 y=ax² 計算機
2点間の距離の計算
2点間の距離の計算
3D空間の2点間の距離の計算
3D空間の2点間の距離の計算
内分点・外分点の計算
内分点・外分点の計算
点と直線の距離 計算機
点と直線の距離 計算機
緯度経度の距離計算
緯度経度の距離計算
平方完成 計算機
平方完成 計算機
円の方程式 計算機
円の方程式 計算機
二次曲線計算機
二次曲線計算機
極座標と直交座標の変換
極座標と直交座標の変換
微分・積分の計算ツール
極限計算機
極限計算機
導関数計算機
導関数計算機
微分公式の計算機
微分公式の計算機
接線・法線 計算機
接線・法線 計算機
定積分計算機
定積分計算機
不定積分計算機
不定積分計算機
2曲線間の面積
2曲線間の面積
回転体の体積 計算機
回転体の体積 計算機
数列の計算ツール
等差数列の計算
等差数列の計算
等比数列の計算
等比数列の計算
Σ(シグマ)計算機
Σ(シグマ)計算機
フィボナッチ数列の計算
フィボナッチ数列の計算
漸化式計算機
漸化式計算機
ベクトルの計算ツール
ベクトルの計算
ベクトルの計算
外積の計算
外積の計算
行列の計算ツール
行列の計算
行列の計算
行列式
行列式
逆行列
逆行列
平面図形の計算ツール
三角比の計算
三角比の計算
度とラジアンの変換
度とラジアンの変換
三角関数の合成
三角関数の合成
三角形計算機
三角形計算機
三角形の面積計算機
三角形の面積計算機
直角三角形の計算
直角三角形の計算
三平方の定理の計算
三平方の定理の計算
多角形の内角・外角
多角形の内角・外角
相似比・面積比・体積比
相似比・面積比・体積比
平行線と角
平行線と角
長方形の面積
長方形の面積
平行四辺形の面積
平行四辺形の面積
台形の面積
台形の面積
円の計算
円の計算
扇形の面積
扇形の面積
円周角の定理
円周角の定理
楕円の面積
楕円の面積
空間図形の計算ツール
立方体の体積
立方体の体積
立方体の表面積
立方体の表面積
直方体の体積
直方体の体積
直方体の表面積
直方体の表面積
円柱の体積
円柱の体積
円柱の表面積
円柱の表面積
球の体積
球の体積
球の表面積
球の表面積
球欠(球冠)の体積
球欠(球冠)の体積
球冠の表面積
球冠の表面積
楕円体の体積
楕円体の体積
楕円体の表面積
楕円体の表面積
四角錐の体積
四角錐の体積
四角錐の表面積
四角錐の表面積
円錐の体積
円錐の体積
円錐の表面積
円錐の表面積
円錐台の体積
円錐台の体積
円錐台の表面積
円錐台の表面積
パイプ(管)の体積
パイプ(管)の体積
カプセル形の体積
カプセル形の体積
カプセルの表面積
カプセルの表面積
日付・時間の計算ツール
年齢計算
年齢計算
日数計算
日数計算
○日後・○日前の日付
○日後・○日前の日付
○時間後・○時間前の日時
○時間後・○時間前の日時
曜日計算
曜日計算
時間の足し算・引き算
時間の足し算・引き算
時差計算
時差計算
勤務時間計算
勤務時間計算
時間差の計算
時間差の計算
タイムカード計算
タイムカード計算
金融・経済の計算ツール
複利計算
複利計算
単利計算
単利計算
利息計算
利息計算
ファイナンス計算機
ファイナンス計算機
現在価値の計算
現在価値の計算
将来価値の計算
将来価値の計算
ROIの計算
ROIの計算
IRRの計算
IRRの計算
回収期間の計算
回収期間の計算
平均リターンの計算
平均リターンの計算
GDPの計算
GDPの計算
Webマーケ・広告指標の計算ツール
クリック率(CTR)の計算
クリック率(CTR)の計算
コンバージョン率(CVR)の計算
コンバージョン率(CVR)の計算
CPC・CPM・CPA計算機
CPC・CPM・CPA計算機
ROAS(広告費用対効果)の計算
ROAS(広告費用対効果)の計算
損益分岐CPA・許容CPA計算機
損益分岐CPA・許容CPA計算機
顧客生涯価値(LTV)の計算
顧客生涯価値(LTV)の計算
顧客獲得コスト(CAC)とLTV/CAC比
顧客獲得コスト(CAC)とLTV/CAC比
チャーン率(解約率)と平均継続期間
チャーン率(解約率)と平均継続期間
A/Bテストの有意差判定
A/Bテストの有意差判定
A/Bテストの必要サンプル数
A/Bテストの必要サンプル数
検索順位別CTRからの想定流入数
検索順位別CTRからの想定流入数
損益分岐点計算機
損益分岐点計算機
値入率・掛率換算
値入率・掛率換算
CAGR計算
CAGR計算
健康・フィットネスの計算ツール
BMI計算機
BMI計算機
睡眠サイクル計算
睡眠サイクル計算
カロリー計算機
カロリー計算機
基礎代謝量計算機
基礎代謝量計算機
TDEE計算機
TDEE計算機
理想体重計算機
理想体重計算機
体脂肪率計算機
体脂肪率計算機
除脂肪体重計算機
除脂肪体重計算機
消費カロリー計算機
消費カロリー計算機
たんぱく質摂取量計算機
たんぱく質摂取量計算機
PFCバランス計算機
PFCバランス計算機
炭水化物摂取量計算機
炭水化物摂取量計算機
脂質摂取量計算機
脂質摂取量計算機
子供の身長予測
子供の身長予測
スポーツの計算ツール
ゴルフハンディキャップ
ゴルフハンディキャップ
ペース計算機
ペース計算機
1RM計算機
1RM計算機
目標心拍数計算機
目標心拍数計算機
気象の計算ツール
ヒートインデックス
ヒートインデックス
ウインドチル
ウインドチル
露点温度
露点温度
コンピュータの計算ツール
進数変換
進数変換
IPサブネット計算機
IPサブネット計算機
帯域幅・ダウンロード時間の計算機
帯域幅・ダウンロード時間の計算機
家計・光熱費の計算ツール
電気代計算
電気代計算
kWh→電気代・逆算
kWh→電気代・逆算
年間消費電力量→電気代
年間消費電力量→電気代
エアコン畳数・能力
エアコン畳数・能力
エアコンの電気代計算
エアコンの電気代計算
暖房の電気代比較
暖房の電気代比較
ガスと電気の光熱費比較
ガスと電気の光熱費比較
LED交換の節約額
LED交換の節約額
給与換算
給与換算
家計収支の計算
家計収支の計算
自動車の計算ツール
ガソリン代計算
ガソリン代計算
EV充電コスト
EV充電コスト
EVとガソリン車の燃料費比較
EVとガソリン車の燃料費比較
燃費計算
燃費計算
タイヤサイズ計算
タイヤサイズ計算
太陽光発電・蓄電池の計算ツール
太陽光発電の発電量
太陽光発電の発電量
太陽光パネルの枚数と面積
太陽光パネルの枚数と面積
太陽光発電の回収年数
太陽光発電の回収年数
蓄電池の必要容量と持ち時間
蓄電池の必要容量と持ち時間
住まい・DIYの計算ツール
タイル枚数
タイル枚数
階段の寸法
階段の寸法
生コン量
生コン量
壁・天井・床の面積
壁・天井・床の面積
壁紙の必要量
壁紙の必要量
塗料の必要量
塗料の必要量
フローリング枚数
フローリング枚数
外壁面積
外壁面積
砂利の必要量
砂利の必要量
モルタルの配合
モルタルの配合
勾配の計算
勾配の計算
木材の取り数
木材の取り数
建ぺい率・容積率
建ぺい率・容積率
クッションフロア必要量
クッションフロア必要量
畳の枚数と広さ
畳の枚数と広さ
断熱材の必要量
断熱材の必要量
カーテンのサイズ
カーテンのサイズ
テレビのサイズと視聴距離
テレビのサイズと視聴距離
土・培養土の必要量
土・培養土の必要量
芝生の必要枚数
芝生の必要枚数
ブロック塀の個数
ブロック塀の個数
レンガの必要枚数
レンガの必要枚数
ウッドデッキの材料
ウッドデッキの材料
スロープの必要長さ
スロープの必要長さ
ネジの下穴径と長さ
ネジの下穴径と長さ
容積と必要換気量
容積と必要換気量
塗料の希釈計算
塗料の希釈計算
巾木・廻り縁の長さ
巾木・廻り縁の長さ
ブラインドの採寸
ブラインドの採寸
額縁の取り付け高さと配置
額縁の取り付け高さと配置
排水勾配と高低差
排水勾配と高低差
ビス・釘の必要本数
ビス・釘の必要本数
木材の材積(m³・才)
木材の材積(m³・才)
フェンスの本数
フェンスの本数
木材の収縮量(含水率変化)
木材の収縮量(含水率変化)
接着剤・コーキングの必要量
接着剤・コーキングの必要量
部屋の熱損失の目安
部屋の熱損失の目安
家具の搬入可否
家具の搬入可否
引越しのダンボール枚数
引越しのダンボール枚数
収納・棚の容量
収納・棚の容量
板取り計算
板取り計算
棚板のたわみと耐荷重
棚板のたわみと耐荷重

IPサブネット計算機(IPv4・IPv6/CIDR計算)

モードでIPv4/IPv6を選び、IPアドレスとプレフィックス長を入力してください。ネットワークアドレス・ホスト数・サブネットマスクなどをまとめて計算し、ビット構造の図も表示します。

プレフィックス長は「/24」の「24」の部分(ネットワーク部のビット数)です。IPv4は0〜32、IPv6は0〜128で指定します。/31・/32 では使用可能ホストは0になります。
計算結果
左でIPアドレスとプレフィックス長を入れて「計算する」を押すと、ここにネットワークアドレスやホスト数、ビット構造の図が表示されます。

このページでできること

  • IPアドレスとプレフィックス長(例:192.168.1.0 /24)を入れるだけで、ネットワークアドレス・ブロードキャストアドレス・使用可能なホストIPの範囲がその場でわかります
  • 総ホスト数・使用可能ホスト数・サブネットマスク・ワイルドカードマスク・CIDR表記・整数ID・16進IDまで、まとめて計算します
  • IPアドレスの32ビットを「ネットワーク部」と「ホスト部」に色分けしたビット構造の図で、サブネットのしくみが目で見て理解できます
  • IPv4モードとIPv6モードを切り替えられます。IPv6ではネットワーク・アドレス範囲・総アドレス数(\(2^{128-\text{プレフィックス長}}\))を計算します
  • 式のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
このページのIPクラス(A・B・C…)は、第1オクテット(先頭の数)による正式な「クラスフル」の定義で表示します。クラスは古い考え方で、今のインターネットではプレフィックス長で自由に区切るCIDRが主流です。「IPタイプ」は、プライベートIPアドレスに当てはまるかどうかで「プライベート/パブリック」を判定するので、ループバック(127.0.0.1)などの特殊なアドレスは「パブリック」側に分類されます。プレフィックス長は0〜32(IPv6は0〜128)で指定してください。

この計算は何の役に立つ?

会社やデータセンターのネットワーク設計

大きな組織では、1つのIPネットワークを部署ごと・拠点ごとの小さなサブネットに分けて運用します。「営業部に最大60台つなぎたいなら、使用可能ホスト数が62になる /26(\(2^{32-26}-2 = 62\))を割り当てる」というように、必要な台数からプレフィックス長を決めます。
サブネット計算は、ネットワーク管理者・インフラエンジニアが毎日のように使う、設計の基礎になる計算です。

家庭・オフィスのルーター(Wi-Fi)の設定

家庭用ルーターの管理画面によく出てくる「192.168.1.0/24」「サブネットマスク 255.255.255.0」は、まさにこの計算の世界です。/24 なら使用可能ホスト数は254なので、スマホ・PC・テレビなどを合計254台までつなげる、と読み取れます。
機器がつながらないときに「IPアドレスの範囲(ネットワーク)が合っているか」を確認するのにも役立ちます。

クラウド(AWS・Azure等)のネットワーク構築

クラウド上に自分専用のネットワーク(AWSのVPCなど)を作るとき、「このVPCは 10.0.0.0/16、その中のサブネットは 10.0.1.0/24」のように、CIDR表記でアドレス範囲を指定します。範囲が重なると通信できないため、ネットワークアドレスとホスト数を正しく見積もる必要があります。
クラウドエンジニアにとって、サブネット計算は環境構築の入り口になる必須スキルです。

情報処理技術者試験・ネットワーク資格の定番問題

基本情報技術者試験や、ネットワークの国際資格CCNAなどでは、「あるIPアドレスとサブネットマスクから、ネットワークアドレス・ブロードキャスト・使用可能ホスト数を求めよ」という問題が繰り返し出題されます。
2進数のAND・ORとべき乗という、このページの4つの式がそのまま得点源になります。途中式とビット構造の図で、手を動かして練習できます。

ファイアウォール・アクセス制御での範囲指定

「このサブネットからの通信だけ許可する」といったファイアウォールやアクセス制御リスト(ACL)の設定では、許可・拒否する相手をCIDR表記(例:192.168.10.0/24)でまとめて指定します。ネットワークアドレスと範囲を正しく計算できないと、意図せず通信を止めたり、逆に穴を開けてしまったりします。
セキュリティの現場で、範囲を過不足なく指定するための土台になる計算です。

式

ネットワークアドレス(IP AND サブネットマスク)
数学表記 (一般的な数式)
\(N\) \(=\) \(\mathrm{IP}\) \(\mathbin{\text{AND}}\) \(\mathrm{mask}\)
日本語表記 (記号を日本語に置き換えた式)
④ ネットワークアドレス \(N\) \(=\) ① IPアドレス ③ \(\mathbin{\text{AND}}\) ② サブネットマスク
式を日本語で読むと
① IPアドレス の各ビットと
② サブネットマスク の各ビットを見て
③ どちらのビットも1のときだけ1にする(AND演算)と
④ ネットワークアドレス \(N\) が求まる(ホスト部が全て0になったアドレス)
簡単な例
192.168.10.130 を /24(サブネットマスク 255.255.255.0)で計算すると、変化するのは最後のオクテットだけです
ネットワークアドレス \(=\) 192.168.10.130(IP) \(\mathbin{\text{AND}}\) 255.255.255.0(マスク)
\(130 = 10000010_{(2)}, \quad 0 = 00000000_{(2)}\)
\(10000010 \mathbin{\text{AND}} 00000000 = 00000000 = 0\)
\(\Rightarrow 192.168.10.0\)
考え方のポイント
AND(論理積)は「両方が1のビットだけを1にする」演算です。サブネットマスクは上位(ネットワーク部)が1、下位(ホスト部)が0なので、IPアドレスとANDを取ると、ネットワーク部はそのまま残り、ホスト部は全て0に消えます。こうして「そのネットワークの先頭のアドレス=ネットワークアドレス」が得られます。
ブロードキャストアドレス(ネットワーク OR ワイルドカードマスク)
数学表記 (一般的な数式)
\(B\) \(=\) \(N\) \(\mathbin{\text{OR}}\) \(W\)
日本語表記 (記号を日本語に置き換えた式)
③ ブロードキャストアドレス \(B\) \(=\) ① ネットワークアドレス \(N\) ② \(\mathbin{\text{OR}}\) ② ワイルドカードマスク \(W\)
式を日本語で読むと
① ネットワークアドレス \(N\) の各ビットと
② ワイルドカードマスク \(W\)(サブネットマスクの0と1を反転したもの) の各ビットを見て、どちらかが1なら1にする(OR演算)と
③ ブロードキャストアドレス \(B\) が求まる(ホスト部が全て1になったアドレス)
簡単な例
ネットワーク 192.168.10.0 とワイルドカードマスク 0.0.0.255 から、変化するのは最後のオクテットだけです
ブロードキャストアドレス \(=\) 192.168.10.0(ネットワーク) \(\mathbin{\text{OR}}\) 0.0.0.255(ワイルドカード)
\(0 = 00000000_{(2)}, \quad 255 = 11111111_{(2)}\)
\(00000000 \mathbin{\text{OR}} 11111111 = 11111111 = 255\)
\(\Rightarrow 192.168.10.255\)
考え方のポイント
OR(論理和)は「どちらかが1なら1にする」演算です。ワイルドカードマスクはサブネットマスクの0と1を入れ替えたもので、ホスト部が全て1になっています。ネットワークアドレスとORを取ると、ホスト部が全て1に埋まり、「そのネットワークの最後のアドレス=ブロードキャストアドレス」になります。ブロードキャストは、そのネットワークの全員に一斉に届けるための特別なアドレスです。
総ホスト数(\(2\) のべき乗)
数学表記 (一般的な数式)
日本語表記 (記号を日本語に置き換えた式)
\(H\) \(=\) \(2\) \(32-p\)
③ 総ホスト数 \(H\) \(=\) ① 2(オン・オフの2通り) ② ホスト部のビット数 \(32-p\)
式を日本語で読むと
① 2(1ビットが取れるオン・オフの2通り) を
② ホスト部のビット数 \(32-p\)(全体32ビットからネットワーク部 \(p\) ビットを引いた残り) 回だけ掛け合わせると
③ 総ホスト数 \(H\) になる
簡単な例
/24 なら、ホスト部は \(32-24=8\) ビットなので
総ホスト数 \(=\) 2 8(ホスト部のビット数)
\(2^{32-24} = 2^{8} = 256\)
考え方のポイント
ホスト部の1ビットは「0か1」の2通りを表せます。ホスト部が \(32-p\) ビットあれば、その組み合わせは \(2^{32-p}\) 通り——これがそのネットワークに入るアドレスの総数(総ホスト数)です。プレフィックス長 \(p\) が1増える(ネットワーク部が1ビット増える)ごとに、ホスト数はちょうど半分になります。
使用可能ホスト数(総数 − 2)
数学表記 (一般的な数式)
日本語表記 (記号を日本語に置き換えた式)
\(U\) \(=\) \(H\) \(-\) \(2\)
③ 使用可能ホスト数 \(U\) \(=\) ① 総ホスト数 \(H\) \(-\) ② 2(ネットワークとブロードキャスト)
式を日本語で読むと
① 総ホスト数 \(H\) から
② 2(先頭のネットワークアドレスと末尾のブロードキャスト) を引くと
③ 使用可能ホスト数 \(U\) になる(機器に割り当てられるアドレスの数)
簡単な例
/24 なら総ホスト数は256なので
使用可能ホスト数 \(=\) 256(総ホスト数) \(-\) 2
\(256 - 2 = 254\)
考え方のポイント
1つのネットワークでは、先頭のアドレス(ネットワークアドレス)と末尾のアドレス(ブロードキャストアドレス)は特別な用途に予約されていて、機器には割り当てられません。だから実際に使えるアドレスは総数から2を引いた数になります。例外として、/31(アドレス2個)と /32(アドレス1個)は、この引き算をすると残りが0になるため、使用可能ホスト数は0として扱います(/31 は点対点リンク専用の特別な使い方をします)。
サブネット計算の柱は「ネットワークアドレス=IP AND サブネットマスク」「ブロードキャスト=ネットワーク OR ワイルドカードマスク」「総ホスト数=\(2^{32-p}\)」「使用可能ホスト数=総数 − 2」の4本です。プレフィックス長 \(p\) を1増やすたびに、ネットワークは2つに分かれ、ホスト数は半分になります。IPv6でも考え方は同じで、総アドレス数は \(2^{128-p}\) になります。

用語・記号の解説

記号

\(N\) エヌ ネットワークアドレス。そのネットワークの先頭(ホスト部が全て0)のアドレスで、ネットワーク自体を指す名前として使います。
\(B\) ビー ブロードキャストアドレス。そのネットワークの末尾(ホスト部が全て1)のアドレスで、ネットワーク内の全員に一斉送信するときに使います。
\(W\) ダブリュー ワイルドカードマスク。サブネットマスクの0と1を反転したもの。ホスト部が1で並び、ブロードキャストを求めるときやアクセス制御で使います。
\(p\) ピー プレフィックス長。「/24」の「24」の部分で、ネットワーク部が何ビットあるかを表します。(英語の prefix より)
\(H\) エイチ 総ホスト数。そのネットワークに入るアドレスの総数で、\(H = 2^{32-p}\) です。(英語の host より)
\(U\) ユー 使用可能ホスト数。実際に機器へ割り当てられるアドレスの数で、総数からネットワークアドレスとブロードキャストの2つを引いた値です。
\(\land\) ろんりせき アンド 論理積(AND)。2つのビットが「どちらも1のときだけ1」になる演算。ネットワークアドレスを求めるのに使います。
\(\lor\) ろんりわ オア 論理和(OR)。2つのビットが「どちらかが1なら1」になる演算。ブロードキャストアドレスを求めるのに使います。

用語

サブネット さぶねっと 大きなIPネットワークを、いくつかの小さなネットワークに区切った一つ一つのこと。部署ごと・拠点ごとにネットワークを分ける(サブネット化する)ことで、管理や安全性を高められます。
サブネットマスク さぶねっとますく IPアドレスのうち「どこまでがネットワーク部で、どこからがホスト部か」を示す32ビットの値。ネットワーク部が1、ホスト部が0で並びます(例:255.255.255.0)。
プレフィックス長 ぷれふぃっくすちょう ネットワーク部のビット数。「/24」のように書き、サブネットマスクと同じ情報をより短く表したものです。
CIDR サイダー しーあいでぃーあーる クラスに縛られず、プレフィックス長で自由にネットワークを区切る方式(Classless Inter-Domain Routing)。「192.168.1.0/24」のようなスラッシュ付きの表記で表します。今のインターネットの標準です。
ネットワークアドレス ねっとわーくあどれす そのネットワークの先頭のアドレス(ホスト部が全て0)。個々の機器には割り当てず、ネットワークそのものを指す名前として使います。
ブロードキャストアドレス ぶろーどきゃすとあどれす そのネットワークの末尾のアドレス(ホスト部が全て1)。ネットワーク内の全機器へ同時に送信するための特別なアドレスです。
ワイルドカードマスク わいるどかーどますく サブネットマスクのビットを反転した値。ホスト部が1で並び、ブロードキャストの計算やルーターのアクセス制御で使われます。
オクテット おくてっと IPv4アドレスをピリオドで区切った1つ分(8ビット=0〜255)のこと。192.168.1.0 なら「192」「168」「1」「0」がそれぞれ1オクテットです。
プライベートIPアドレス ぷらいべーとあいぴーあどれす 家庭や社内など、組織の内側だけで使うために予約されたIPアドレス(10.0.0.0〜10.255.255.255・172.16.0.0〜172.31.255.255・192.168.0.0〜192.168.255.255)。インターネット上ではそのままでは使えません。反対に世界で通用するものをパブリックIPアドレスと呼びます。
IPクラス
(クラスフル)
あいぴーくらす CIDRが広まる前に使われていた、先頭の数(第1オクテット)でネットワークの大きさを区分する古い考え方(クラスA・B・C…)。今は使われませんが、用語として残っているためこのページでも表示しています。
IPv4 あいぴーぶいふぉー 32ビット(約43億通り)のアドレス方式で、最も広く使われています。このページが扱うのもIPv4です。
IPv6 あいぴーぶいしっくす 128ビットで、事実上ほぼ無限にアドレスを作れる新しいアドレス方式。IPv4のアドレス不足を解消するために作られました。
ビット びっと 0か1のどちらかを表す情報の最小単位。IPv4アドレスは32ビット、IPv6アドレスは128ビットで構成されます。

前提として理解しておくといいこと

このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。

2進数と10進数(高校 情報Ⅰ・基本情報技術者試験)
  • 192 のような10進数を 11000000 のような2進数に直せること(IPアドレスの中身は2進数です)
  • 2進数の1桁(ビット)が「0か1」の2通りを表すとわかること
べき乗・指数(中学1年)
  • \(2^8 = 256\) のように、「2の \(n\) 乗」が2を \(n\) 回掛けることだとわかること
  • ホスト部のビット数が1増えるとホスト数が2倍になる、という感覚があること
論理演算 AND・OR(高校 情報Ⅰ)
  • ANDが「両方1のときだけ1」、ORが「どちらかが1なら1」という規則だと知っていること
  • この2つの演算をビットごとに(各桁ごとに)適用できること
ビットとバイト(高校 情報Ⅰ)
  • 1バイト=8ビットで、0〜255(2進数で8桁)を表せること
  • IPv4アドレスが8ビット×4=32ビットでできていること

Excelで計算する方法

Excelファイルをダウンロード
式ごとにシートが分かれたExcelファイルです。貼り付け場所を気にせず、開いてすぐ使えます。
下の表を丸ごとコピーして、ExcelのA1セルに貼り付けるとそのまま使えます。
「総ホスト数・使用可能ホスト数」を求める表
プレフィックス長 p 24
ホスト部のビット数 (32−p) =32-B1
総ホスト数 =2^B2
使用可能ホスト数 =MAX(B3-2,0)
「サブネットマスク」を求める表
プレフィックス長 p 24
サブネットマスクの整数値 =(2^32)-(2^(32-B1))
第1オクテット =INT(B2/16777216)
第2オクテット =INT(MOD(B2,16777216)/65536)
第3オクテット =INT(MOD(B2,65536)/256)
第4オクテット =MOD(B2,256)
1つ目の表は、B1にプレフィックス長を入れると、ホスト部のビット数・総ホスト数・使用可能ホスト数が自動計算されます。「^」はべき乗の記号で、「=2^B2」は「2をB2回掛ける」という意味です。/24 なら総ホスト数256・使用可能ホスト数254になります。MAX(…,0) は、/31・/32 でマイナスにならないよう0で下げ止めるためのものです。
2つ目の表は、サブネットマスクを4つのオクテット(0〜255)に分けて求めます。B2でマスク全体を整数として計算し、B3〜B6で256で割った商・余りを使ってオクテットごとに取り出しています。/24 なら 255.255.255.0 になります。

Googleスプレッドシートで計算する方法

Excelファイルをダウンロード
上のExcelファイルをダウンロードし、Googleドライブにアップロードして開くと、そのままスプレッドシートとして使えます。
下の表を丸ごとコピーして、GoogleスプレッドシートのA1セルに貼り付けるとそのまま使えます。
「総ホスト数・使用可能ホスト数」を求める表
プレフィックス長 p 24
ホスト部のビット数 (32−p) =32-B1
総ホスト数 =2^B2
使用可能ホスト数 =MAX(B3-2,0)
「サブネットマスク」を求める表
プレフィックス長 p 24
サブネットマスクの整数値 =(2^32)-(2^(32-B1))
第1オクテット =INT(B2/16777216)
第2オクテット =INT(MOD(B2,16777216)/65536)
第3オクテット =INT(MOD(B2,65536)/256)
第4オクテット =MOD(B2,256)
Excelと同じ式がそのまま使えます。表を丸ごとコピーしてA1セルに貼り付け、B1を自分のプレフィックス長に書き換えてください。INT(商)とMOD(余り)でオクテットごとに取り出すやり方も同じです。

Pythonで計算する方法

import ipaddress

ip = "192.168.10.130"   # IPアドレス
prefix = 24             # プレフィックス長(/24 の 24)

net = ipaddress.ip_network(f"{ip}/{prefix}", strict=False)

total = net.num_addresses               # 総ホスト数 = 2 ** (32 - prefix)
usable = max(total - 2, 0)              # 使用可能ホスト数(/31・/32 は 0)

print(f"ネットワークアドレス: {net.network_address}")
print(f"ブロードキャスト: {net.broadcast_address}")
print(f"サブネットマスク: {net.netmask}")
print(f"ワイルドカードマスク: {net.hostmask}")
print(f"総ホスト数: {total}")
print(f"使用可能ホスト数: {usable}")
標準ライブラリの ipaddress モジュールだけで計算できます。ip_network の strict=False は「ホスト部が0でないIP(例:192.168.10.130)を渡してもエラーにせず、そのネットワークとして扱う」ための指定です。先頭のIPアドレスとプレフィックス長を書き換えて実行してください。

数式記述言語(LaTeX等)での書き方(コピペ可)

ネットワークアドレス(IP AND サブネットマスク)
N = IP ∧ mask
N = \mathrm{IP} \land \mathrm{mask}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mrow>
    <mi>N</mi>
    <mo>=</mo>
    <mi>IP</mi>
    <mo>&#x2227;</mo>
    <mi>mask</mi>
  </mrow>
</math>
N = IP ^^ mask
BitAnd[ip, mask]
N := Bits:-And(ip, mask);
N = bitand(ip, mask);
N = IP ∧ mask
ブロードキャストアドレス(ネットワーク OR ワイルドカードマスク)
B = N ∨ W
B = N \lor W
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mrow>
    <mi>B</mi>
    <mo>=</mo>
    <mi>N</mi>
    <mo>&#x2228;</mo>
    <mi>W</mi>
  </mrow>
</math>
B = N vv W
BitOr[network, wildcard]
B := Bits:-Or(network, wildcard);
B = bitor(network, wildcard);
B = N ∨ W
総ホスト数(\(2\) のべき乗)
H = 2^(32 − p)
H = 2^{32 - p}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mrow>
    <mi>H</mi>
    <mo>=</mo>
    <msup>
      <mn>2</mn>
      <mrow><mn>32</mn><mo>&#x2212;</mo><mi>p</mi></mrow>
    </msup>
  </mrow>
</math>
H = 2^(32 - p)
2^(32 - p)
H := 2^(32 - p);
H = 2^(32 - p);
H = 2^(32-p)
使用可能ホスト数(総数 − 2)
U = H − 2
U = H - 2
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mrow>
    <mi>U</mi>
    <mo>=</mo>
    <mi>H</mi>
    <mo>&#x2212;</mo>
    <mn>2</mn>
  </mrow>
</math>
U = H - 2
H - 2
U := H - 2;
U = H - 2;
U = H - 2

ChatGPT に聞いて計算してもらう方法

あなたはネットワークの計算アシスタントです。次の計算を、必ずPython(標準ライブラリの ipaddress モジュール)を実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。

IPv4アドレス 192.168.10.130 をプレフィックス長 /24 で計算し、次を求めてください。
1. ネットワークアドレス
2. ブロードキャストアドレス
3. サブネットマスクとワイルドカードマスク
4. 総ホスト数と使用可能ホスト数

計算に使ったコードと、実行結果の数値を示してください。

計算ドリル(演習問題)

このページの4つの式を、自分の手で計算できるようになるための演習問題です(基本情報技術者試験レベル)。
答えと解説は解答ページにあります。


使い方
  1. 1
    数値を入力
    計算したい数値を入力欄に入力します
  2. 2
    計算
    「計算する」ボタンを押します
  3. 3
    結果を確認
    計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
  DataChefの特徴
簡単・無料
無料で回数無制限の変換
専門知識不要、直感的で簡単な操作
会員登録不要
アクセス直後に利用可能
個人情報を登録することなく使用できます
安全・安心
通信を高度に暗号化
「ダウンロード」押下でファイルを自動削除
高速
ストレスのない快適な表示速度・変換速度
透かしなし
ウォーターマークなし
クレジット表記不要
商用利用可能
無料で商用利用可能
商用利用許諾の連絡も不要です