تتحدث هذه الورقة عن مفهوم
قناع الشبكة الفرعية وماهي فائدته وكذلك التنسيقات المختلفة لقناع الشبكة الفرعية وكيفية
التحويل بين هذه التنسيقات. فقناع الشبكة يمكن كتابته كأرقام ثنائية تتكون من 32
بت بحيث يجب أن يتبع قناع الشبكة الفرعية المكتوب بهذا التنسيق الثنائي القواعد
التالية:
1.
يجب ألا تتداخل القيم 1مع القيم 0.
2.
الأعداد المكونة من الـ 1 تكون جهة
اليسار.
3.
الأعداد المكونة من الـ 0 تكون جهة اليمين.
على سبيل المثال فإن القيم
التالية غير صحيحة لأن الأول تداخلت فيه قيم 0 مع 1، والثاني لأنه بدأ بسرد الـ 0
على اليسار والـ 1 على اليمين:
10101010.01010101.11110000.00001111
00000000.00000000.00000000.11111111
بينما تستوفي
القيمتان الثنائيتان التاليتان المتطلبات من حيث كونهما تحتويان على كل الـ 1 على
اليسار متبوعة بكل الـ 0، كما أنه لا يوجد أي تداخل بين الـ 1 والـ 0:
11111111.00000000.00000000.00000000
11111111.11111111.11111111.00000000
يوجد كذلك تنسيقان آخران
لقناع الشبكة الفرعية وهما من باب التسهيل علينا نحن البشر حتى لانضطر إلى التعامل بالأرقام الثنائية:
التنسيق الأول: التدوين العشري (DDN)
بحيث يتم تحويل كل مجموعة من 8 بتات (Octet)
إلى ما يكافئها من رقم عشري. مثلاً يمكن تحويل الأقنعة الثنائية السابقة إلى أقنعة
الشبكة الفرعية من تنسيق الـ DDN فالرقم الثنائي 11111111 يمكن تحويله إلى رقم عشري 255
، ويمكن تحويل الرقم الثنائي 00000000 إلى الرقم العشري 0:
255.0.0.0
255.255.255.0
التنسيق
الثاني: برز
هذا التنسيق في أوائل التسعينات ويسمى بالـ بادئة (prefix)
وهذا التنسيق يعتمد على أن القناع لابد وأن يبدأ من اليسار بالأعداد 1 ثم يختتم
بالـ 0. في هذا التنسيق يتم وضع علامة (\) بعد العنوان للشبكة متبوعاً برقم عدد
وحدات البت الـ 1 الموجودة في القناع أي أنها تكون على الشكل:
\8
\24
التحويل بين
التنسيقين التنسيق الثنائي وتنسيق البادئة (prefix):
يفترض أن يكون التحويل بينهما غاية في السهولة إذا عرفنا أن
البادئة (prefix)
ما هي الا عدد الـ 1الموجود في القناع:
من ثنائي
إلى بادئة: قم
بعد الـ 1 الموجود في القناع الثنائي واكتب قيمته مستخدماً النظام العشري بعد الـ
(\).
من بادئة
إلى ثنائي: اكتب
الرقم الموجود بعد البادئة بشكل ثنائي أي كـأرقام 1 ثم أتبعها بأكبر عدد من
الأصفار مراعياً أن يكون المجموع الإجمالي للـ 1 والـ 0
هو 32 بت.
أمثلة للتوضيح: التحويل
من ثنائي الى بادئة
القناع الثنائي |
آلية التحويل |
قناع البادئة |
11111111.11111111.11000000.00000000 |
8+8+2=18 |
\18 |
11111111.11111111.11111111.11110000 |
8+8+8+4=28 |
\28 |
11111111.11111000.00000000.00000000 |
8+5=13 |
\13 |
أمثلة للتوضيح: التحويل
من بادئة الى ثنائي
قناع البادئة |
آلية التحويل |
القناع الثنائي |
\18 |
نقوم بكتابة الرقم (1) ١٨ مرة ثم نكمل بقية الأصفار |
11111111.11111111.11000000.00000000 |
\28 |
نقوم بكتابة الرقم (1) ٢٨ مرة ثم نكمل بقية الأصفار |
11111111.11111111.11111111.11110000 |
\13 |
نقوم بكتابة الرقم (1) ١٣ مرة ثم نكمل بقية الأصفار |
11111111.11111000.00000000.00000000 |
التحويل بين
التنسيقين التنسيق الثنائي والتنسيق العشري (DDN):
بحكم التعريف يحتوي التنسيق العشري (DDN) المستخدم مع
عناوين IPv4
على أربعة أرقام عشرية مفصولة بنقاط بحيث يمثل كل رقم عشري 8 بتات. لذلك يحتوي
تنسيق الـ DDN الواحد على أربعة أرقام عشرية تمثل معًا عددًا ثنائيًا مكونًا من 32
بت. يعتبر التحويل من
قناع الـ DDN
إلى القناع الثنائي أمرًا بسيطًا نسبيًا نظرياً ولكنه قد
يكون شاقًا بعض الشيء عملياً. تكمن الفكرة باختصار في تحويل كل (Octet) من النظام الثنائي الى النظام العشري. ومع أن التحويل بينهما ليس
بشاق وكثرة التمرن عليه تزيده سهولة إلا أنه من الأسهل استخدام الجدول التالي
وحفظه لاختصار الوقت لاسيما اثناء القيام باختبار شهادة الـ CCNA.
الـ(Octet) للقناع الثنائي |
المكافئ له عشرياً |
عدد الـ 1 الـ(Octet) |
00000000 |
0 |
0 |
10000000 |
128 |
1 |
11000000 |
192 |
2 |
11100000 |
224 |
3 |
11110000 |
240 |
4 |
11111000 |
248 |
5 |
11111100 |
252 |
6 |
11111110 |
254 |
7 |
11111111 |
255 |
8 |
من ثنائي
إلى عشري: نظّم
البتات في أربع مجموعات من ثمانية. لكل (Octet)
ابحث عن القيمة الثنائية في الجدول واكتب القيمة العشرية المقابلة لها.
من عشري
إلى ثنائي: لكل
(Octet) ابحث عن القيمة
العشرية في الجدول واكتب القيمة الثنائية المقابلة له والمكونة من 8 بتات.
أمثلة للتوضيح: التحويل من ثنائي الى عشري
القناع الثنائي |
آلية التحويل |
القناع العشري |
11111111.11111111.11000000.00000000 |
11111111 تحول الى 255 11000000 تحول الى 192 00000000 تحول الى 0 |
255.255.192.0 |
11111111.11111111.11111111.11110000 |
11111111 تحول الى 255 11110000 تحول الى 240 |
255.255.255.240 |
11111111.11111000.00000000.00000000 |
11111111 تحول الى 255 11111000 تحول الى 248 00000000 تحول الى 0 |
255.248.0.0 |
أمثلة للتوضيح: التحويل من عشري الى ثنائي
القناع العشري |
آلية التحويل |
القناع الثنائي |
255.255.192.0 |
255 تحول الى 11111111 192 تحول الى 11000000 0 تحول الى 00000000 |
11111111.11111111.11000000.00000000 |
255.255.255.240 |
255 تحول الى 11111111 240 تحول الى 11110000 |
11111111.11111111.11111111.11110000 |
255.248.0.0 |
255 تحول الى 11111111 248 تحول الى 11111000 0 تحول الى 00000000 |
11111111.11111000.00000000.00000000 |
التحويل بين
التنسيقين تنسيق البادئة (prefix) والتنسيق العشري (DDN):
إن أفضل طريقة
للتحويل بين تنسيق البادئة والتنسيق العشري هي استخدام التحويل إلى تنسيق ثنائي
كمرحلة انتقالية بينهما. فعلى سبيل المثال للانتقال من التنسيق العشري إلى البادئة
نقوم أولاً بتحويل التنسيق العشري إلى ثنائي ثم من ثنائي إلى بادئة.
أمثلة للتوضيح:
التحويل من البادئة الى عشري
أمثلة للتوضيح:
التحويل من عشري الى البادئة
لأقنعة الشبكة الفرعية أغراض عديدة. فلو تم
سؤال عشرة مهندسي شبكات متمرسين "ما هو الغرض من قناع الشبكة الفرعية؟" فغالباً
ما ستكون الاجابات متنوعة وفي نفس الوقت صحيحة فقناع الشبكة الفرعية يلعب عدة
أدوار. من هذه الأدوار التي يقوم بها القناع ما يلي:
تقسم الأقنعة عناوين الشبكة الفرعية إلى جزأين:
يقسم قناع الشبكة الفرعية عناوين IP في شبكة فرعية إلى جزئين:
1. جزء البادئة أو جزء الشبكة الفرعية.
2. جزء الأجهزة.
يحدد جزء البادئة العناوين الموجودة في نفس
الشبكة الفرعية لأن جميع عناوين الـ IP الموجودة
في نفس الشبكة الفرعية يجب أن يكون لها نفس القيمة في جزء البادئة. ويحدد جزء الأجهزة في العنوان عنواناً وحيداً وغير مكرر داخل الشبكة
الفرعية. فستختلف أجزاء الأجهزة على الرغم من كون جزء البادئة من العناوين يملك
نفس القيمة. ولتلخيص هذه المقارنات الرئيسية:
جزء البادئة (الشبكة الفرعية): متساوي
في جميع العناوين في نفس الشبكة الفرعية.
جزء الأجهزة: يختلف في
جميع العناوين في نفس الشبكة الفرعية.
تقسم الأقنعة وفئات الشبكة عناوين الشبكة الفرعية إلى ثلاثة أجزاء:
بالإضافة إلى النقطة السابقة من كون القناع
يقسم العنوان الى جزأين يمكن كذلك التفكير في عناوين IPv4 على أنها تتكون من ثلاثة أجزاء. لتوضيح ذلك تذكر خصائص
فئات الشبكات A وB
وC وطبق
ذلك لتحديد جزء الشبكة في بداية العنوان. هذا المنطق المضاف يقسم البادئة إلى جزئين:
1. جزء الشبكة.
2. جزء الشبكة الفرعية.
تحدد الفئة طول جزء الشبكة لأنها قيمة ثابتة
ومرتبطة بفئة الشبكة وبالتالي يكون جزء الشبكة الفرعية هو بقية البادئة. يوضح
الشكل الفكرة.
لتوضيح الفكرة بشكل أوضح ،
يوضح الشكل أدناه نفس المثال السابق ، إلا أن الشبكة الفرعية محددة وهي شبكة تبدأ
بـ 10.1.1 ففي هذا المثال سيكون قناع الشبكة الفرعية هو 255.255.255.0 مع ملاحظة أن جميع العناوين الموجودة
في هذه الشبكة هي من الفئة (A) 10.0.0.0 وهذه الفئة معروف أن جزء الشبكة لها
يتكون من 8 بتات بينما يحدد القناع للشبكة الفرعية 24 بت بادئة مما يعني أن 24-8=16 يمثل عدد وحدات البت للشبكة
الفرعية الموجودة ويبقى جزء الأجهزة 8 وحدات بت لكل القناع:
مصطلحي الـ Classful والـ Classless في العنونة:
يشير المصطلحان إلى طريقتين مختلفتين للتفكير
والنظر في عناوين IPv4 فتعني عناوين الـ Classful أننا نقصد كل ما يخص قواعد فئات الشبكات A و B و C لذلك نقوم بفصل البادئة
إلى أجزاء الشبكة والشبكة الفرعية كما هو موضح في المثال والشكل السابق. وتعني الـ
Classless أننا تتجاهل قواعد فئات الشبكات A
وB و C وأننا نتعامل مع جزء البادئة كجزء واحد كما
هو موضح في الشكل أدناه:
يتم سرد التعريفات الأكثر رسمية التالية للرجوع
إليها والدراسة:
Classful:
يعني هذا المفهوم بأن عنوان IPv4 يتكون من ثلاثة أجزاء – الشبكة
والشبكة الفرعية والأجهزة – كما هو محدد بواسطة القناع وقواعد الفئة A و B و C.
Classless:
يعني هذا المفهوم أن عنوان IPv4 يتكون من جزأين – جزء البادئة
بالإضافة إلى جزء الأجهزة – كما هو محدد في القناع بدون اعتبار للفئات (A أو B أو C).
حسابات
رياضية مبنية على بنية الـ IPv4:
بعد معرفة
بنية تقسيم العنوان باستخدام قواعد الـ Classful والـ Classless نستطيع بسهولة معرفة وحساب بضع الحقائق
المهمة باستخدام القليل من الرياضيات. فمثلاً بالنسبة لأي
شبكة فرعية بعد معرفة عدد بتات الأجهزة نستطيع حساب عدد عناوين الـ IP المتاحة للأجهزة في الشبكة الفرعية. وإذا تعرفنا
على عدد بتات الشبكة الفرعية (باستخدام مفاهيم عنونة classful) نستطيع أيضًا حساب عدد الشبكات الفرعية في الشبكة
فكل ما نحتاجه هو معرفة قوى العدد 2:
الأجهزة في الشبكة الفرعية: 2H-2 حيث H هو عدد بتات الأجهزة.
الشبكات الفرعية في الشبكة: 2S حيث S هو عدد بتات الشبكة الفرعية.
طبعاً نستخدم هذه الصيغة فقط
إذا كنا نستخدم قناع واحد فقط في الشبكة.
نستطيع كذلك معرفة أحجام الأجزاء المختلفة
الموجودة في عناوين الـ IPv4 باستخدام بعض الحسابات البسيطة
والغير مستقلة عن مفاهيم وقواعد الـ Classful والـ Classless، فمثلاً يجب ان لا ننسَ أن طول عنوان الـ IPv4 هو 32 بت، فعند الحديث عن عنونة الـ Classful يجب أن يكون N+S+H=32 حيث يمثل N عدد وحدات الشبكة و S عدد وحدات الشبكة الفرعية و H عدد وحدات الأجهزة. بينما عنونة الـ Classless يجب أ نراعي أن P+H=32 حيث تمثل P عدد وحدات البادئة بينما
تمثل H عدد وحدات الأجهزة.
الخطوات المتبعة في ذلك:
الخطوة الأولى: تحويل
القناع إلى تنسيق البادئة عند الحاجة لذلك.
الخطوة الثانية: تحديد
قيمة N بناء على فئة الشبكة.
الخطوة الثالثة: حساب
قيمة الشبكة الفرعية S بناء على القاعدة S=P-N.
الخطوة الرابعة: حساب
قيمة الأجهزة H بناء على القاعدة H=32-P.
الخطوة الخامسة: حساب
عدد الأجهزة لكل شبكة بناء على القاعدة 2H-2.
الخطوة السادسة: حساب
عدد الشبكات الفرعية بناء على القاعدة 2S.
مثال للتوضيح: نأخذ العنوان 8.1.4.5 والذي يرافقه القناع 255.255.0.0 فنتبع الخطوات السابقة
الخطوة الأولى: 255.255.0.0=16 مما يعني أن P=16
الخطوة الثانية: لأن
الشبكة تحوي في الـ(Octet) الأول لها القيمة 8 وهي كما
هو واضح ضمن النطاق 1-126 فهي من الفئة A وبالتالي
N=8
الخطوة الثالثة: S=P-N تعني أن S=16-8 وعليه
فإن S=8.
الخطوة الرابعة: H=32-P تعني أن H=32-16 وعليه
فإن H=16.
الخطوة الخامسة: 2H-2 تمثل عدد الأجهزة وبالتالي 216-2 تعطي عدد الأجهزة وهو 56,534 جهاز لكل شبكة.
الخطوة السادسة: 2S تمثل عدد
الشبكات الفرعية وبالتالي 28 تعطي عدد الشبكات الفرعية وهو 256 شبكة فرعية.
مثال آخر للتوضيح: نأخذ العنوان 200.1.1.1 يرافقه القناع 255.255.255.252 فنتبع الخطوات السابقة
الخطوة الأولى: 255.255.255.252=30 مما يعني أن P=30
الخطوة الثانية: لأن
الشبكة تحوي في الـ(Octet) الأول لها القيمة 200 وهي كما هو واضح ضمن النطاق 192-223 فهي من الفئة C وبالتالي N=24
الخطوة الثالثة: S=P-N تعني أن S=30-24 وعليه
فإن S=6.
الخطوة الرابعة: H=32-P تعني أن H=32-30 وعليه
فإن H=2.
الخطوة الخامسة: 2H-2 تمثل عدد الأجهزة وبالتالي 22-2 تعطي عدد الأجهزة وهو 2 جهاز لكل شبكة.
الخطوة السادسة: 2S تمثل عدد
الشبكات الفرعية وبالتالي 26 تعطي عدد الشبكات الفرعية وهو 64 شبكة فرعية.