Oh MyUtils

IPサブネット計算機 - IPv4・IPv6 CIDR計算機 オンライン

IPv4・IPv6のサブネットマスク、ネットワークアドレス、ブロードキャストアドレス、IPレンジを計算。無料オンラインCIDR計算機 — 100%クライアントサイド。

計算結果

ネットワークアドレス
192.168.1.0
ブロードキャストアドレス
192.168.1.255
サブネットマスク
255.255.255.0
ワイルドカードマスク
0.0.0.255
CIDR表記
/24
最初の使用可能ホスト
192.168.1.1
最後の使用可能ホスト
192.168.1.254
総アドレス数
256
使用可能ホスト数
254
IPクラス
Class C
アドレスタイプ
プライベート (RFC 1918)

よくある質問

IPサブネット計算機とは何ですか?

IPサブネット計算機は、IPアドレスとサブネットマスク(またはCIDRプレフィックス長)を入力すると、詳細なネットワーク情報を計算するツールです。ネットワークアドレス、ブロードキャストアドレス、使用可能なホスト範囲、総アドレス数、ワイルドカードマスク、IPクラスを計算します。IPv4(32ビット)とIPv6(128ビット)の両方に対応しています。

このIPサブネット計算機の使い方は?

ネットワークプロトコルに応じてIPv4またはIPv6タブを選択します。IPアドレスを入力します(IPv4: 192.168.1.100、IPv6: 2001:db8::1)。CIDRプレフィックス長を入力します(IPv4: 24、IPv6: 64)。結果は即座に計算され、ネットワークアドレス、ブロードキャストアドレス、使用可能なホスト範囲などが表示されます。各結果の横にあるコピーボタンでクリップボードにコピーできます。

データは安全ですか?サーバーに送信されますか?

完全に安全です。このIPサブネット計算機は100%ブラウザ内でクライアントサイドJavaScriptで実行されます。IPアドレスや計算結果がサーバーに送信されることは一切ありません。すべての計算はJavaScriptのビット演算(IPv4)とBigInt(IPv6)を使用してローカルで実行されます。本番ネットワークのサブネット計算も安心して行えます。

CIDR表記とは何ですか?サブネットマスクとの関係は?

CIDR(Classless Inter-Domain Routing)表記は、IPアドレスとネットワークプレフィックスを簡潔に表現する方法です。IP/プレフィックスの形式で記述します(例:192.168.1.0/24)。プレフィックス番号は、アドレスの何ビットがネットワーク部分を定義するかを示します。IPv4では/24プレフィックスはサブネットマスク255.255.255.0に対応します。CIDRは従来のクラスフルアドレス体系に代わり、より柔軟で効率的なIPアドレス空間の割り当てを可能にしました。

IPv4とIPv6のサブネット分割の違いは?

IPv4は32ビットアドレス(例:192.168.1.1)を使用し、/0から/32のプレフィックス長で約43億のアドレスをサポートします。IPv6は128ビットアドレス(例:2001:db8::1)を使用し、/0から/128のプレフィックス長で約3.4×10^38のアドレスをサポートします。IPv4サブネットではネットワークアドレスとブロードキャストアドレスにより使用可能なホストが2つ減りますが、IPv6はブロードキャストを使用しません(マルチキャストを使用)。標準的なIPv6サブネットサイズは/64で、サブネットあたり2^64のアドレスを提供します。

ワイルドカードマスクとは何ですか?

ワイルドカードマスクはサブネットマスクのビット反転です。例えば、サブネットマスクが255.255.255.0の場合、ワイルドカードマスクは0.0.0.255です。主にCisco IOSルーターのACL(アクセス制御リスト)やOSPFルーティングプロトコルの設定で使用されます。ワイルドカードマスクの0ビットは「一致必須」、1ビットは「任意」を意味します。

プライベートIPアドレスとは何ですか?

プライベートIPアドレスはRFC 1918で定義された予約範囲で、パブリックインターネットでルーティングされません。ローカルネットワーク(家庭、オフィス、データセンター)で使用されます。3つのプライベートIPv4範囲は:10.0.0.0/8(クラスA、1670万)、172.16.0.0/12(クラスB、100万)、192.168.0.0/16(クラスC、65,536)です。このツールは入力されたIPv4アドレスがプライベートかパブリックかを自動的に検出して表示します。

コード例

// IP Subnet Calculator in JavaScript

function ipv4ToInt(ip) {
  const parts = ip.split('.').map(Number);
  return ((parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8) | parts[3]) >>> 0;
}

function intToIpv4(num) {
  return [
    (num >>> 24) & 0xFF,
    (num >>> 16) & 0xFF,
    (num >>> 8) & 0xFF,
    num & 0xFF,
  ].join('.');
}

function calculateSubnet(ip, cidr) {
  const ipInt = ipv4ToInt(ip);
  const mask = cidr === 0 ? 0 : (~0 << (32 - cidr)) >>> 0;
  const wildcard = (~mask) >>> 0;
  const network = (ipInt & mask) >>> 0;
  const broadcast = (network | wildcard) >>> 0;
  const totalAddresses = Math.pow(2, 32 - cidr);
  const usableHosts = cidr >= 31 ? (cidr === 32 ? 1 : 2) : totalAddresses - 2;

  return {
    networkAddress: intToIpv4(network),
    broadcastAddress: intToIpv4(broadcast),
    subnetMask: intToIpv4(mask),
    wildcardMask: intToIpv4(wildcard),
    firstUsable: intToIpv4(cidr >= 31 ? network : network + 1),
    lastUsable: intToIpv4(cidr >= 31 ? broadcast : broadcast - 1),
    totalAddresses,
    usableHosts,
  };
}

// Example
const result = calculateSubnet('192.168.1.100', 24);
console.log('Network:', result.networkAddress);    // 192.168.1.0
console.log('Broadcast:', result.broadcastAddress); // 192.168.1.255
console.log('Mask:', result.subnetMask);            // 255.255.255.0
console.log('Hosts:', result.usableHosts);          // 254

関連ツール