هوم لاب · شرح · بقلم محمد المهنا · آخر تحديث

شرح الـ Subnetting: عناوين IP و CIDR وأقنعة الشبكة

الـ subnetting هو طريقتك في تقطيع شبكة IP واحدة إلى شبكات أصغر منفصلة. الناس يشوفون الثنائي (binary) ويطنشون، بس الفكرة بسيطة. كل عنوان فيه جزء للشبكة وجزء للجهاز (host)، والـ subnetting مجرد يحرك الخط بينهم. وقف حفظ جداول الأقنعة. تعلم الشي الوحيد اللي يحرك الخط وخل الحاسبة تسوي الحساب. أنا مقسم الهوم لاب حقي عشان خردة الـ IoT ما توصل للـ NAS، وهذا لحاله يستاهل الجهد. الجاي هو وش يعني كل جزء وكيف فعليا تقسم شبكة.

عناوين IP والشبكات

عنوان IPv4 هو أربعة أرقام تفصلها نقاط، مثل 192.168.1.10. كل رقم يسمى octet، ومداه من 0 إلى 255، لأن كل octet ثمانية بتات. فالعنوان الكامل 32 بت.

جزء من العنوان يحدد الشبكة وجزء يحدد الـ host (جهاز واحد) على هالشبكة. جهازان على نفس الشبكة يشتركان في نفس جزء الشبكة ويختلفان بس في جزء الـ host. جزء الشبكة المشترك هذا هو اللي يخليهم يتكلمون مع بعض مباشرة بدون راوتر.

شبكات البيوت والمعامل تستخدم نطاقات خاصة محجوزة للاستخدام الداخلي وعمرها ما توجه على الإنترنت العام:

أغلب راوترات البيوت توزع عناوين من 192.168.0.0/24 أو 192.168.1.0/24.

قناع الشبكة (subnet mask)

هذا الجزء اللي يسوي الشغل. قناع الشبكة يقول للجهاز أي بتات من العنوان هي جزء الشبكة وأيها جزء الـ host. القناع الكلاسيكي 255.255.255.0 يعني أول ثلاث octets (الـ 255ات) هي الشبكة وآخر octet (الصفر) هو الـ host.

طبقه على 192.168.1.10 مع القناع 255.255.255.0، والشبكة تطلع 192.168.1.0 ورقم الـ host هو 10. أي عنوان ثاني يبدأ بـ 192.168.1. على نفس الشبكة. غير الـ octet الثالث إلى 192.168.2.10 وأنت صرت على شبكة ثانية تحتاج راوتر توصل لها.

من تحت، الـ 255 يعني كل البتات الثمانية في هالـ octet بتات شبكة، والصفر يعني كلها بتات host. القناع مجرد سلسلة بتات 1 وبعدها سلسلة بتات 0، وهذا سبب إن CIDR يقدر يوصفه برقم واحد.

ترميز CIDR

الـ CIDR مجرد اختصار لنفس القناع، وهو اللي أستخدمه في كل مكان لأنه أسرع في القراءة. يكتب حجم الشبكة كشرطة مائلة وبعدها عدد بتات الشبكة. 192.168.1.0/24 يعني أول 24 بت هي الشبكة، ويظل 8 بتات للـ hosts. ولأن 24 بت هي بالضبط أول ثلاث octets، فالـ /24 هو نفس الشي مثل القناع 255.255.255.0.

الرقم الأصغر يعني بتات شبكة أقل، يعني بتات host أكثر، يعني شبكة أكبر. والرقم الأكبر يعني شبكة أصغر. المقابلات الشائعة:

CIDRقناع الشبكةإجمالي العناوينالـ hosts القابلة للاستخدام
/16255.255.0.065,53665,534
/24255.255.255.0256254
/26255.255.255.1926462
/30255.255.255.25242

فالـ /16 شبكة كبيرة تسع عشرات الآلاف من الـ hosts، والـ /24 هي شبكة البيت المألوفة، والـ /26 ربع /24.

عنوان الشبكة والـ broadcast والـ hosts القابلة للاستخدام

في subnet عادي ما تقدر تستخدم كل العناوين. اثنان محجوزان. أول عنوان هو عنوان الشبكة، اسم الـ subnet نفسه. وآخر عنوان هو عنوان الـ broadcast، يستخدم للوصول لكل الـ hosts مرة واحدة. وكل شي بينهم متاح للأجهزة الفعلية.

وهذا سبب إن الـ hosts القابلة للاستخدام عادة أقل من الإجمالي باثنين. المعادلة:

usable hosts = 2^(host bits) - 2

الاستثناءان هما وصلات النقطة للنقطة. الـ /31 يعطي العنوانين للطرفين (RFC 3021)، والـ /32 هو host واحد بدون شبكة أو broadcast يفرط فيهم، وهذا سبب إن حاسبة الـ subnet (بالإنجليزي) تعامل هاتين الحالتين لحالهما.

الـ /24 فيه 8 بتات host، يعني 2^8 = 256 عنوان إجمالي و 254 قابل للاستخدام. في 192.168.1.0/24 عنوان الشبكة هو 192.168.1.0، والـ broadcast هو 192.168.1.255، والـ hosts تمتد من 192.168.1.1 إلى 192.168.1.254.

ليش تسوي subnetting

هذا الجزء اللي فعلا يهم، فهنا وين أصرف الجهد. الشبكة المسطحة اللي كل شي فيها يكلم كل شي هي الوضع الافتراضي، وهي تمام إلى أن ينخترق فيش ذكي رخيص ويصير قاعد على نفس شبكة الـ NAS حقك. تقسيم شبكة مسطحة واحدة إلى عدة شبكات أصغر يشتري لك أشياء حقيقية في الهوم لاب.

مثال محلول

هذي الفكرة كلها على شبكة واحدة. خذ 192.168.1.0/24 وقسمها إلى subnets بحجم /26. الانتقال من /24 إلى /26 يستعير 2 من بتات الـ host، والبتان يعطيان 4 تركيبات، فتطلع لك أربع subnets. كل /26 يحمل 64 عنوان (62 قابل للاستخدام). الأربع subnets:

الـ Subnetالمدىالشبكةالـ Broadcastالـ hosts القابلة للاستخدام
192.168.1.0/26.0 - .63192.168.1.0192.168.1.63.1 - .62
192.168.1.64/26.64 - .127192.168.1.64192.168.1.127.65 - .126
192.168.1.128/26.128 - .191192.168.1.128192.168.1.191.129 - .190
192.168.1.192/26.192 - .255192.168.1.192192.168.1.255.193 - .254

تقدر الحين تعطي أول /26 للأجهزة الموثوقة، والثاني للـ IoT، والثالث لشبكة الضيوف، والرابع للـ VMs حقة المعمل، كل واحد معزول ورا الـ VLAN حقه.

وعشان تسوي هذا لأي شبكة بدون الحساب اليدوي، ارم شبكة في حاسبة الـ subnet (بالإنجليزي) وتفرد لك عنوان الشبكة والـ broadcast والقناع ومدى الـ hosts فورا، لـ IPv4 أو IPv6.

أسئلة شائعة

وش يعني ترميز CIDR مثل ‎/24؟

الـ CIDR يكتب حجم الشبكة كشرطة مائلة وبعدها عدد بتات الشبكة. فالـ ‎/24 يعني أول 24 بت هي الشبكة، ويظل 8 بتات للـ hosts، وهو نفس القناع 255.255.255.0. الرقم الأصغر يعني بتات host أكثر وشبكة أكبر، والرقم الأكبر يعني شبكة أصغر.

ليش الـ hosts القابلة للاستخدام دايم أقل من الإجمالي باثنين؟

داخل أي subnet عنوانان محجوزان: الأول هو عنوان الشبكة اللي يسمي الـ subnet، والأخير هو عنوان الـ broadcast للوصول لكل الـ hosts مرة واحدة. وكل شي بينهم متاح للأجهزة. المعادلة: usable hosts = 2^(host bits) - 2.

كم host قابل للاستخدام في الـ ‎/24؟

الـ ‎/24 فيه 8 بتات host، يعني 2^8 = 256 عنوان إجمالي و 254 قابل للاستخدام. في 192.168.1.0/24 عنوان الشبكة هو 192.168.1.0، والـ broadcast هو 192.168.1.255، والـ hosts تمتد من 192.168.1.1 إلى 192.168.1.254.

ليش أقسم شبكة بيتي؟

تقسيم شبكة مسطحة واحدة إلى شبكات أصغر يشتري لك العزل، عشان الفيش الذكي الرخيص ما يوصل للـ NAS حقك، فوق التحكم الأمني عند الراوتر أو الجدار الناري بين الـ subnets، وضجيج broadcast أقل، وربط نظيف مع الـ VLANs على سويتش managed.