هوم لاب · شرح · بقلم محمد المهنا · آخر تحديث
شرح الـ Subnetting: عناوين IP و CIDR وأقنعة الشبكة
الـ subnetting هو طريقتك في تقطيع شبكة IP واحدة إلى شبكات أصغر منفصلة. الناس يشوفون الثنائي (binary) ويطنشون، بس الفكرة بسيطة. كل عنوان فيه جزء للشبكة وجزء للجهاز (host)، والـ subnetting مجرد يحرك الخط بينهم. وقف حفظ جداول الأقنعة. تعلم الشي الوحيد اللي يحرك الخط وخل الحاسبة تسوي الحساب. أنا مقسم الهوم لاب حقي عشان خردة الـ IoT ما توصل للـ NAS، وهذا لحاله يستاهل الجهد. الجاي هو وش يعني كل جزء وكيف فعليا تقسم شبكة.
عناوين IP والشبكات
عنوان IPv4 هو أربعة أرقام تفصلها نقاط، مثل 192.168.1.10. كل رقم يسمى octet، ومداه من 0 إلى 255، لأن كل octet ثمانية بتات. فالعنوان الكامل 32 بت.
جزء من العنوان يحدد الشبكة وجزء يحدد الـ host (جهاز واحد) على هالشبكة. جهازان على نفس الشبكة يشتركان في نفس جزء الشبكة ويختلفان بس في جزء الـ host. جزء الشبكة المشترك هذا هو اللي يخليهم يتكلمون مع بعض مباشرة بدون راوتر.
شبكات البيوت والمعامل تستخدم نطاقات خاصة محجوزة للاستخدام الداخلي وعمرها ما توجه على الإنترنت العام:
10.0.0.0إلى10.255.255.255(بلوك 10.x)172.16.0.0إلى172.31.255.255(بلوك 172.16-31.x)192.168.0.0إلى192.168.255.255(بلوك 192.168.x)
أغلب راوترات البيوت توزع عناوين من 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 القابلة للاستخدام |
|---|---|---|---|
| /16 | 255.255.0.0 | 65,536 | 65,534 |
| /24 | 255.255.255.0 | 256 | 254 |
| /26 | 255.255.255.192 | 64 | 62 |
| /30 | 255.255.255.252 | 4 | 2 |
فالـ /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 حقك. تقسيم شبكة مسطحة واحدة إلى عدة شبكات أصغر يشتري لك أشياء حقيقية في الهوم لاب.
- العزل (segmentation). حط أجهزة الـ IoT وأجهزة الضيوف والـ VMs حقة المعمل والأجهزة الموثوقة على subnets منفصلة عشان الفيش الذكي الرخيص ما يوصل للـ NAS حقك.
- التحكم الأمني. أول ما تصير الأجهزة على subnets مختلفة، المرور بينها يعدي عبر الراوتر أو الجدار الناري، ووقتها تقدر تكتب قواعد تسمح فيه أو تمنعه.
- التحكم في الـ broadcast. مرور الـ broadcast يظل داخل الـ subnet. والـ subnets الأصغر تعني ضجيج broadcast أقل يوصل لكل جهاز.
- الربط مع الـ VLAN. في الهوم لاب كل subnet عادة يقابل VLAN على سويتش managed. شبكة فيزيائية واحدة تصير عدة شبكات منطقية معزولة، والراوتر يفرض وش يعبر بينها.
مثال محلول
هذي الفكرة كلها على شبكة واحدة. خذ 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 - .63 | 192.168.1.0 | 192.168.1.63 | .1 - .62 |
| 192.168.1.64/26 | .64 - .127 | 192.168.1.64 | 192.168.1.127 | .65 - .126 |
| 192.168.1.128/26 | .128 - .191 | 192.168.1.128 | 192.168.1.191 | .129 - .190 |
| 192.168.1.192/26 | .192 - .255 | 192.168.1.192 | 192.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.