الشبكات / الأساسي: مسارات الحزم والعنونة / الدرس 2
حساب بادئات IPv4 وحدود الشبكات الفرعية
استخدم فهم البادئة الثنائية وحساب العناوين غير المتصل لتخطيط الشبكات دون الفئات التاريخية.
في هذه الصفحة
أهداف الدرس
- شرح طول البادئة وهوية الشبكة وبتات المضيف.
- حساب النطاقات العادية وإدراك سياق /31 و/32.
- التحقق من التداخل والسعة قبل التخصيص.
تحدد CIDR حداً للبتات
يحوي IPv4 اثنين وثلاثين بتاً وتثبت /p أول p للشبكة وتبقي البقية للعناوين. القناع تمثيل للحد لا مصدر سعة آخر. لا تستبدل البادئة بالفئات التاريخية. قد يتشابه النص وينفصل العنوانان أو يختلف الأخير ويتشاركا بادئة أكبر. اختبر العضوية بالبتات لا أجزاء النص.
عد العناوين قبل المضيفين القابلين للاستخدام
يحوي النطاق قوتين لعدد البتات المتبقية. في شبكة بث عادية يحدد الصفر الكلي الشبكة والواحد البث، لذا يطرح التدريب اثنين لكن ليس دائماً؛ لـ /31 نقطة لنقطة و/32 سياق مختلف. أعلن التصميم قبل القاعدة. تقلل حجوزات الموجه والتكرار والأجهزة والنمو المتاح، فلا يقتصر التخطيط على الحد الحسابي.
from ipaddress import ip_network
network = ip_network('192.0.2.64/27')
print(network.network_address, network.broadcast_address)
print('addresses=', network.num_addresses, sep='')
print('ordinary_hosts=', len(list(network.hosts())), sep='')
192.0.2.64 192.0.2.95
addresses=32
ordinary_hosts=30
يحسب البرنامج 32 عنواناً و30 مضيفاً عادياً لـ /27 دون تعيين أو حزم.
يختلف عنوان المضيف من إعلان الشبكة
يجمع عنوان الواجهة قيمة مضيف وبادئة، ويحتاج إعلان الشبكة عادة صفراً لبتات المضيف. قد ترفض الأداة غير النظامي أو تطبعه عند الطلب؛ راجع الناتج كي لا يخفي خطأ. لا تثبت العضوية مساراً أو عقداً أو سماحاً. تحدد البادئة التسليم المباشر أو الموجه، فيسبب القناع الخاطئ سلوكاً أحادياً مربكاً.
تخطيط كتل محاذاة وكشف التداخل
ينشئ التقسيم حدوداً محاذاة ولا يمثل كل نطاق اعتباطي بادئة واحدة. خطط المتجاور القابل للتلخيص حيث تسمح السياسة ووثق المنفصل. قد يقصد التداخل بعزل توجيهي ويصير تعارضاً عند الوصل بلا تصميم. افحصه آلياً مع الإدارة والعبور والخدمات. عناوين التوثيق أمثلة لا فضاءً عاماً للتشغيل.
from ipaddress import ip_network, ip_address
parent = ip_network('198.51.100.0/24')
children = list(parent.subnets(new_prefix=26))
print(', '.join(str(n) for n in children))
print('member=', ip_address('198.51.100.70') in children[1], sep='')
198.51.100.0/26, 198.51.100.64/26, 198.51.100.128/26, 198.51.100.192/26
member=True
تغطي أربع شبكات الأصل دون تداخل والعضوية حساب لا إثبات وجود طرف.
التحقق من الخطة وفق الحاجة التشغيلية
اكتب العدد والحجوزات والنمو والحدود والملكية قبل البادئات. احفظ جرداً آلياً واختبر الاحتواء والتداخل وعضوية الموجه حسابياً. لا تفترض سهولة الأكبر؛ فهو يوسع البث والعطل تقليدياً، وقد يفرض الأصغر إعادة ترقيم. اشرح المقايضة واحفظ الطوبولوجيا. لا نغير واجهة أو مجمعاً؛ الناتج خطة للمراجعة.
الأخطاء الشائعة وإصلاحها
طرح اثنين لكل بادئة
- لماذا يحدث؟
- عُممت قاعدة البث لكل الوصلات.
- كيف تصلحه؟
- ميز سياقي /31 و/32.
- كيف تتجنب تكراره؟
- سجل غرض الوصلة مع الحساب.
مقارنة نص العنوان للعضوية
- لماذا يحدث؟
- عوملت البادئة الثنائية نصية.
- كيف تصلحه؟
- استخدم حساباً متحققاً.
- كيف تتجنب تكراره؟
- اختبر الحدود والمجاور.
وصل تخصيص متداخل عرضاً
- لماذا يحدث؟
- دُمج المعزول دون مراجعة.
- كيف تصلحه؟
- اجرد التداخل وأعد التصميم.
- كيف تتجنب تكراره؟
- افحص التداخل غير متصل قبل التغيير.
اختبر فهمك
1. كم عنواناً في /28 وما قيد إجابة المضيف المعتادة؟
اعرض الحل المشروح
هناك 16، ومنها 14 بالمعتاد قبل الحجز. يفترض نموذج البث ولا يبرر نشرها كلها دون النمو والتكرار.
2. لماذا ترفض أداة 192.0.2.70/27 كشبكة أو تطبعه صراحة؟
اعرض الحل المشروح
بتات المضيف ليست صفراً وشبكته 192.0.2.64/27. يكشف الصريح الفرق ويمنع تغيير الحد خفية.
أهم ما تعلمته
- استخدم بادئات صريحة وحساب البتات.
- خطط الحجز والتداخل والعطل مع العدد.