حاسبة CIDR
فهم CIDR بعمق
CIDR (التوجيه بين المجالات بدون فئات) هو النظام المستخدم لتحديد نطاقات عناوين IP في AWS.
جدول مرجعي لـ CIDR
┌─────────────────────────────────────────────────────────────┐
│ جدول CIDR الكامل │
├─────────────────────────────────────────────────────────────┤
│ │
│ البادئة │ القناع │ العناوين │ القابلة للاستخدام │
│ ────────┼───────────────────┼──────────┼─────────────────│
│ /16 │ 255.255.0.0 │ 65,536 │ 65,531 │
│ /17 │ 255.255.128.0 │ 32,768 │ 32,763 │
│ /18 │ 255.255.192.0 │ 16,384 │ 16,379 │
│ /19 │ 255.255.224.0 │ 8,192 │ 8,187 │
│ /20 │ 255.255.240.0 │ 4,096 │ 4,091 │
│ /21 │ 255.255.248.0 │ 2,048 │ 2,043 │
│ /22 │ 255.255.252.0 │ 1,024 │ 1,019 │
│ /23 │ 255.255.254.0 │ 512 │ 507 │
│ /24 │ 255.255.255.0 │ 256 │ 251 │
│ /25 │ 255.255.255.128 │ 128 │ 123 │
│ /26 │ 255.255.255.192 │ 64 │ 59 │
│ /27 │ 255.255.255.224 │ 32 │ 27 │
│ /28 │ 255.255.255.240 │ 16 │ 11 │
│ │
│ ملاحظة: "القابلة للاستخدام" = الإجمالي - 5 (محجوزة بواسطة AWS) │
│ │
└─────────────────────────────────────────────────────────────┘
صيغة الحساب
┌─────────────────────────────────────────────────────────────┐
│ الصيغة السحرية │
├─────────────────────────────────────────────────────────────┤
│ │
│ عدد العناوين = 2^(32 - البادئة) │
│ │
│ أمثلة : │
│ │
│ /16 : 2^(32-16) = 2^16 = 65,536 عنوان │
│ /24 : 2^(32-24) = 2^8 = 256 عنوان │
│ /28 : 2^(32-28) = 2^4 = 16 عنوان │
│ │
│ قوى 2 التي يجب تذكرها : │
│ 2^4 = 16 2^8 = 256 2^12 = 4,096 │
│ 2^5 = 32 2^9 = 512 2^16 = 65,536 │
│ 2^6 = 64 2^10 = 1,024 │
│ 2^7 = 128 2^11 = 2,048 │
│ │
└─────────────────────────────────────────────────────────────┘
أمثلة على التقسيم
المثال 1: VPC قياسي
┌─────────────────────────────────────────────────────────────┐
│ تقسيم VPC 10.0.0.0/16 │
├─────────────────────────────────────────────────────────────┤
│ │
│ VPC : 10.0.0.0/16 (65,536 عنوان) │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ الشبكات الفرعية /24 الممكنة : 256 │ │
│ │ العناوين لكل شبكة فرعية : 251 (قابلة للاستخدام) │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ التقسيم المقترح : │
│ │
│ عام (10.0.0.0 - 10.0.9.255) │
│ ├── 10.0.1.0/24 عام-1a 251 IPs │
│ ├── 10.0.2.0/24 عام-1b 251 IPs │
│ └── 10.0.3.0/24 عام-1c 251 IPs │
│ │
│ خاص تطبيق (10.0.10.0 - 10.0.19.255) │
│ ├── 10.0.11.0/24 خاص-1a 251 IPs │
│ ├── 10.0.12.0/24 خاص-1b 251 IPs │
│ └── 10.0.13.0/24 خاص-1c 251 IPs │
│ │
│ خاص قاعدة بيانات (10.0.20.0 - 10.0.29.255) │
│ ├── 10.0.21.0/24 قاعدة-1a 251 IPs │
│ ├── 10.0.22.0/24 قاعدة-1b 251 IPs │
│ └── 10.0.23.0/24 قاعدة-1c 251 IPs │
│ │
│ محجوز للتوسع : 10.0.30.0 - 10.0.255.255 │
│ │
└─────────────────────────────────────────────────────────────┘
المثال 2: VPC صغير
┌─────────────────────────────────────────────────────────────┐
│ تقسيم VPC 10.0.0.0/20 │
├─────────────────────────────────────────────────────────────┤
│ │
│ VPC : 10.0.0.0/20 (4,096 عنوان) │
│ النطاق : 10.0.0.0 - 10.0.15.255 │
│ │
│ التقسيم إلى /24 : │
│ │
│ 10.0.0.0/24 → عام-1a │
│ 10.0.1.0/24 → عام-1b │
│ 10.0.2.0/24 → خاص-1a │
│ 10.0.3.0/24 → خاص-1b │
│ 10.0.4.0/24 → قاعدة-1a │
│ 10.0.5.0/24 → قاعدة-1b │
│ 10.0.6.0/24 - 10.0.15.0/24 → محجوز │
│ │
│ الإجمالي المستخدم : 6 شبكات فرعية = 1,506 IPs قابلة للاستخدام │
│ الاحتياطي : 10 شبكات فرعية = 2,510 IPs │
│ │
└─────────────────────────────────────────────────────────────┘
تمارين عملية
التمرين 1: حساب أساسي
السؤال: كم عدد العناوين في /22 ؟
💡 الحل
2^(32-22) = 2^10 = 1,024 عنوان
قابلة للاستخدام : 1,024 - 5 = 1,019 عنوان
التمرين 2: تقسيم
السؤال: لديك VPC 172.16.0.0/16. قم بإنشاء 4 شبكات فرعية متساوية.
💡 الحل
VPC : 172.16.0.0/16 (65,536 IPs)
التقسيم إلى 4 = 65,536 / 4 = 16,384 IPs لكل منها
للحصول على 16,384 عنوان : /18
الشبكات الفرعية :
172.16.0.0/18 → 172.16.0.0 - 172.16.63.255
172.16.64.0/18 → 172.16.64.0 - 172.16.127.255
172.16.128.0/18 → 172.16.128.0 - 172.16.191.255
172.16.192.0/18 → 172.16.192.0 - 172.16.255.255
التمرين 3: التحقق من التداخل
السؤال: هل تتداخل هاتان النطاقتان؟
- 10.0.0.0/24
- 10.0.1.0/24
💡 الحل
10.0.0.0/24 : 10.0.0.0 - 10.0.0.255
10.0.1.0/24 : 10.0.1.0 - 10.0.1.255
لا، لا تتداخلان.
هما متجاورتان ولكن منفصلتان.
التمرين 4: تداخل حقيقي
السؤال: هل تتداخل هاتان النطاقتان؟
- 10.0.0.0/16
- 10.0.5.0/24
💡 الحل
10.0.0.0/16 : 10.0.0.0 - 10.0.255.255
10.0.5.0/24 : 10.0.5.0 - 10.0.5.255
نعم! 10.0.5.0/24 محتوى في 10.0.0.0/16
لا يمكن أن يكون لديك هذان CIDR في نفس المستوى.
يمكن أن يكون 10.0.5.0/24 شبكة فرعية لـ 10.0.0.0/16.
أدوات عبر الإنترنت
حاسبات CIDR مجانية
-
CIDR.xyz - https://cidr.xyz/
- تصور بياني
- بسيط وسريع
-
IP Address Guide - https://www.ipaddressguide.com/cidr
- حساب مفصل
- تقسيم تلقائي
-
Visual Subnet Calculator - https://www.davidc.net/sites/default/subnets/subnets.html
- مرئي جداً
- مثالي للتخطيط
أمر AWS CLI
# التحقق من CIDR قبل الإنشاء
aws ec2 describe-vpcs --filters "Name=cidr,Values=10.0.0.0/16"
# إنشاء VPC مع التحقق من CIDR
aws ec2 create-vpc --cidr-block 10.0.0.0/16
# إضافة CIDR ثانوي
aws ec2 associate-vpc-cidr-block --vpc-id vpc-xxx --cidr-block 10.1.0.0/16
أفضل الممارسات
┌─────────────────────────────────────────────────────────────┐
│ أفضل الممارسات لـ CIDR │
├─────────────────────────────────────────────────────────────┤
│ │
│ ✅ يجب فعله │
│ │
│ • توثيق خطة العنونة الخاصة بك │
│ • ترك مساحة للنمو │
│ • استخدام CIDR القياسية (/16, /24) │
│ • تجنب التداخل بين VPC │
│ • التخطيط لـ VPC Peering (CIDR متميزة) │
│ │
│ ❌ يجب تجنبه │
│ │
│ • CIDR صغير جداً (صعب التوسع) │
│ • CIDR يتداخل مع VPC آخر │
│ • استخدام 192.168.x.x (تعارض شبكة المنزل) │
│ • نسيان 5 IPs المحجوزة لكل شبكة فرعية │
│ │
└─────────────────────────────────────────────────────────────┘
ملخص
| المفهوم | الصيغة/القيمة |
|---|---|
| حساب IPs | 2^(32-البادئة) |
| /16 | 65,536 IPs |
| /24 | 256 IPs |
| IPs المحجوزة لـ AWS | 5 لكل شبكة فرعية |
| الحد الأدنى لـ AWS | /28 (16 IPs) |
| الحد الأقصى لـ AWS | /16 (65,536 IPs) |
العودة: نظرة عامة على الوحدة 5