الأربعاء، 11 أبريل 2012

شرح ال subnetting لل IPv4

ال subnetting هو عملية تقسيم الشبكات الرئيسية الى شبكات فرعية , والغرض من ذلك هو التقليل من خسارة ال IPs ضمن نطاق الشبكة الرئيسية .

كيف تحدث الخسارة ؟
يجب في البداية معرفة ان ال IPs مقسمة الى classes , بحسب عدد ايبيات ال hosts المتاحة
الايبيات الممتدة من 1.0.0.1 الى 126.255.255.254 هي class A ويكون ال subnet mask لها هو 255.0.0.0
الايبيات الممتدة من 128.0.0.1 الى 191.255.255.254 هي class B  ويكون ال subnet mask لها هو 255.255.0.0
الايبيات الممتدة من 192.0.0.1 الى 223.255.255.254 هي class C ويكون ال subnet mask لها هو 255.255.255.0
 (هناك ايضا class D وclass E ولكنها تستعمل لاغراض اخرى نتطرق لها لاحقا )

ما هو ال subnet mask  ؟
ال subnet mask هو رقم يتكون من 32 bits مقسمه الى اربع octets يكون هذا الرقم مرافقا لل IP address.
ال subnet mask يعطي المعلومات حول الشبكة التي ينتمي اليها ال IP address من حيث معرفة عنوان الشبكة سواء كانت شبكة رئيسية ام شبكة فرعية ومن حيث معرفة عدد ال hosts الممكنة في هذه الشبكة .
مثلا الايبي 10.10.10.1 وال subnet mask 255.0.0.0 يقابل في ال binary 11111111.00000000.00000000.00000000 , الجزء الذي يحتوي على ال ones )1s) يشير الى network اما ال (0s(zeros  فهي تشير الى hosts ويمكن حساب عدد الايبيات المتاحة لل hots من خلال معرفة عدد ال 0s حيث ان
(2 -No. of hosts = 2^no. of zeros )اي في المثال يكون عدد ال hosts يساوي ( 2 - 24^2 ) وان ايبي الشبكة هو 10.10.10.0 .
مثال اخر الايبي 150.33.33.23 وال subnet mask هو 255.255.0.0 هو class B و No of hosts = 2^16-2 وايبي الشبكة هو 150.33.0.0 .

من خلال ملاحظة ال classes نجد الشبكات التي تنتمي ل class A تحتوي على اكبر عدد من ال hosts addresses واقل عدد من ال networks addresses , بينما  class C تحتوي على اكبر عدد من network addresses بمقابل اقل عدد من الhosts addresses , في حين تقع class B بينهما .

الان لنفترض ان لدينا 160 PCs ونريد وضع كل 40 في شبكة تختلف عن الاخرى سنستخدم ايبيات تنتمي ل class C حيث ان (No of hosts =2^8-2 =254 ) اذن سنخصص 254 ايبي لكل شبكة ولتكون الشبكات هي 192.168.0.0 ,192.168.1.0 ...... 192.168.3.0 , لكننا في الحقيقة سنستعمل 40 ايبي فقط في كل شبكة اذن سيكون لدينا 214 ايبي غير مستعمله ضمن كل شبكة , وهنا تظهر الحاجة الى ال subnettting فبدلا من ان نستعمل اربع شبكات مختلفة ونخسر 214 ايبي في كل شبكة , سنستخدم شبكة واحدة ونقسمها الى اربع شبكات فرعية و كل شبكة فرعية توفر استخدام 40 hosts وبخسارة ايبيات اقل .

كيف يتم ذلك ؟ لنتذكر ما هو الجزء الذي يتحكم بتقسيم الشبكات وتحديد عناوينها ؟
انه ال subnet mask , لناخذ الشبكة 192.168.1.0 ال subnet mask لها هو 255.255.255.0 ( class C ) اي ما يعادل 11111111.11111111.11111111.00000000 ماذا لو استعرنا 2 من الواحدات من ال  hosts سيصبح لدينا عدد من الشبكات الفرعية عددها 2 اس no of borrowed ones اي 2^2 ويساوي 4 فتكون لدينا اربع شبكات فرعية , ما هي عناوين هذه الشبكات ؟ , وكم عدد ال hosts في كل شبكة ؟
سنقسم العدد الكلي لل hosts على عدد الشبكات اي 256/4 يساوي 64 اي ان عنوان الشبكة الاولى هو 192.68.1.0 والشبكة الثانية هو 192.168.1.64 والشبكة الثالثة 192.168.1.128 والشبكة الرابعه 192.168.1.192 , وال subnet mask للشبكات هو 255.255.255.192 ( يعادل في ال binary  11111111.11111111.11111111.11000000)
عدد ال hosts لكل شبكة هو 2-6^2 حيث ال 6 هو عدد ال zeros المتبقية في كل شبكة  اي 62 عنوان host في كل شبكة وبالتالي تمكنا من تقليل  خسارة ال IPs في ال hosts وفي الشبكات .

استيعاب ال subnetting  يحتاج الى الممارسة وتخيل اكثر من سيناريو  لتصميم الشبكة , وهذا الموضوع هو مجرد شرح لمبدأ ال subnetting والفائدة منه , ارجوا ان يكون قدم الفكرة بصورة واضحة  .




هناك 12 تعليقًا:

  1. مشكور بارك الله فيك

    ردحذف
  2. ما هو الفرق بين الـ SUBNET والـ NETWORK ؟

    ردحذف
  3. مشكور عالشرح ، ولي سؤال !
    كيف نعرف قيمة prefix من دون الرجوع لجدول prefix لل classes
    على سبيل المثال :
    192.168.5.33/27
    كيف نعرف قيمة 27/ بدون النظر للجدول ؟
    والتي لو نظرنا للجدول تساوي 224.

    ردحذف
    الردود
    1. ٢٧-٢٤=٣ هي عدد الشبكات المتاحه
      ٣٢ تساوي عدد الاجهزه

      ٢٢٤ جبتها من وين ؟

      حذف
    2. 11111111.11111111.11111111.11100000
      32
      64
      128
      ____
      224
      , نأخذ قيمة الواحد اس 32 وواحد اس 46 واحد اس 128
      بعد تمثيل آل 27/ ب الباينري

      حذف
  4. تحتاج للمزيد من الترتيب
    الأرقام مختلطة بالنص
    صعب متابعة القراءة!

    ردحذف