حاسبة CIDR لإجمالي عناوين IPv4 والعناوين المتاحة
تحوّل حاسبة مضيفي CIDR المتاحين عنوان IPv4 والبادئة إلى حد الشبكة الدقيق وعنوان البث وإجمالي العناوين وعدد المضيفين المتاحين.
شغّل الأداة مجانًا
تقبل الصيغة الشائعة مثل 192.168.1.0/24، كما تطبّع عنواناً يقع داخل الكتلة. وتتعامل على النحو الصحيح مع شبكات /31 من نقطة إلى نقطة ومسارات المضيف /32، بدلاً من طرح عنوانين دون تمييز. تجري العملية محلياً وبصورة حتمية، ولذلك تناسب التخطيط السريع والتحقق المؤتمت على حد سواء.
اقرأ إجمالي العناوين والمضيفين المتاحين على نحو صحيح
تبيّن بادئة IPv4 عدد البتات التي تعرّف الشبكة من أصل 32 بتاً. وتعرّف البتات المتبقية العناوين داخل الشبكة، ولذلك يساوي الإجمالي اثنين مرفوعاً إلى عدد البتات المتبقية. تترك /24 ثمانية بتات وتضم 256 عنواناً. في الشبكات الفرعية التقليدية من /0 إلى /30، يعرّف العنوان الأول الشبكة ويكون الأخير عنوان البث. ولا يُسند أي منهما عادةً إلى مضيف، فيبقى 254 مضيفاً متاحاً في /24. تعرض الحاسبة الرقمين لأن لكل منهما غرضاً مختلفاً: يصف الإجمالي الكتلة المخصصة، بينما يصف العدد المتاح السعة العادية. كما تعيد حدود الشبكة والبث بعد التطبيع لتسهيل التحقق من انتماء العنوان. ويوضح عدد العناوين المحجوزة عملية الطرح. النتائج أعداد صحيحة دقيقة، بما فيها 4,294,967,296 عنواناً في فضاء IPv4 /0 الكامل، ولذلك تصلح للجرد والتوثيق وقواعد التحقق من دون الاعتماد على جدول محفوظ لأحجام الشبكات.
افهم القواعد الخاصة بالبادئتين /31 و/32
للقاعدة المعتادة التي تطرح عنوانين استثناءان مهمان. تحتوي /31 على عنوانين بالضبط. وفي وصلة من نقطة إلى نقطة لا حاجة إلى وجهتين منفصلتين للشبكة والبث، لذا يمكن للعنوانين تعريف طرفي الوصلة وفق اصطلاح /31 واسع الاستخدام. ولهذا تعرض الحاسبة عنوانين إجمالاً وعنوانين متاحين ولا تعرض أي عنوان محجوز. أما /32 فتحتوي على عنوان واحد وتمثل مساراً إلى مضيف منفرد، لا شبكة فرعية تقليدية تضم عدة مضيفين. ويكون ذلك العنوان متاحاً للمضيف المقصود، فيصبح الإجمالي واحداً والمتاح واحداً والمحجوز صفراً. يؤدي الطرح الآلي إلى صفر أو حتى قيمة سالبة، وهو أمر مضلل في خطط التوجيه والأتمتة. تبقى حقول الشبكة والبث للحفاظ على شكل استجابة ثابت: يتطابقان في /32 ويمثلان الطرفين في /31. ومع ذلك، ينبغي التحقق من دعم المعدات والسياسات المحلية قبل نشر وصلات /31.
استخدم الحدود المطبّعة عند تخطيط الشبكات
يمكنك إدخال أي عنوان IPv4 مع بادئة، وليس فقط عنواناً مكتوباً أصلاً عند حد الشبكة. إذا أرسلت 192.168.1.37/24، فستطبّعه الحاسبة إلى 192.168.1.0/24 وتعرض 192.168.1.255 عنواناً للبث. تفيد هذه الخاصية عند مراجعة كائنات الجدار الناري أو قوائم المضيفين أو خطط السحابة أو إعدادات أنشأها نظام آخر، لأنها تكشف الكتلة الفعلية بدلاً من تكرار عنوان مضيف قد يكون مضللاً. تحقّق من المدخلات قبل التجهيز، وقارن CIDR المطبّع بالتخصيص المقصود، واستخدم usable_hosts لفحص السعة. قد يحجز مزود سحابي أو جهاز أو نهج مؤسسي عنواناً متاحاً حسابياً؛ ولا تدخل هذه الحجوزات الخاصة في الحساب العام. لا تجري الخدمة استعلامات DNS ولا تفحص شبكة حية، بل تحلل صيغة IPv4 CIDR العشرية وتطبق حساباً حتمياً. لذلك تظل النتائج قابلة للتكرار في مسارات البناء ومراجعات البنية التحتية وعمليات استيراد IPAM والتمارين التعليمية.
حالات الاستخدام
تحديد حجم شبكة فرعية
تحقّق من أن بادئة IPv4 المقترحة توفر عدداً كافياً من عناوين المضيفين المتاحة قبل تخصيصها.
التحقق من إعداد الشبكة
طبّع عنوان مضيف مع بادئته وقارن حدود الشبكة والبث الناتجة بالإعداد المقصود.
نمذجة وصلات نقطة إلى نقطة
احسب طرفي /31 على نحو صحيح عند تخطيط وصلات الموجهات من دون إهدار شبكة فرعية أكبر.
الأسئلة الشائعة
ما التكلفة؟
تكلفة API هي $0.002 لكل طلب، أما حاسبة المتصفح فيمكن استخدامها مجاناً.
لماذا يُطرح عنوانان عادةً؟
في البادئات من /0 إلى /30، يعرّف العنوان الأول الشبكة ويكون الأخير للبث، وتبقى العناوين الواقعة بينهما متاحة.
كم مضيفاً متاحاً في /31؟
توفّر /31 عنوانين متاحين لطرفي وصلة من نقطة إلى نقطة، من دون حجز مستقل لعنوان الشبكة أو البث.
كم مضيفاً متاحاً في /32؟
تمثل /32 عنوان مضيف واحداً، ولذلك يساوي كل من إجمالي العناوين وعدد العناوين المتاحة واحداً.
هل يمكن إدخال عنوان مضيف بدلاً من عنوان الشبكة؟
نعم. تطبّعه الحاسبة إلى الحد الفعلي للشبكة وفق البادئة المقدمة.
هل يشمل العدد حجوزات مزود السحابة؟
لا. تطبق الحاسبة قواعد IPv4 CIDR القياسية فقط؛ ويجب طرح حجوزات المزود أو السياسة المحلية بصورة منفصلة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/cidr-host-count \
-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-host-count", {
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-host-count",
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-host-count", 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-host-count", 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_host_count",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |