لتسهيل عملية تحديد و كتابة قناع الشبكة (Subnet Mask)الذي نريد يمكننا إتباع الخطوات التالية:-
الخطوة الاولى: معرفة عدد الخانات (Bits) التي سنخصصها لقسم المضيف (Host Portion).
الخطوة الثانية: كتابة قناع الشبكة (Subnet Mask) في النظام الثنائي(Binary) , بكتابة 0 في الخانات(Bits) المخصصة لقسم المضيف (Host Portion), و كتابة 1 في الخانات (Bits) المخصصة لقسم الشبكة (Network Portion).
الخطوة الثالثة: تحويل قناع الشبكة (Subnet Mask) من النظام الثنائي (Binary) الى النظام العشري (Decimal) كل مجموعة ثمانية (Octet) على حدة, او كتابة القناع في صيغة (CIDR).
1– معرفة عدد الخانات Bits التي نريد
لمعرفة عدد الخانات التي نريد يمكننا استخدام القاعدة التالية:-
Hosts=2H – 2
و لتسهيل عملية تحديد الخانات التي نريد يمكننا حفظ مضاعفات 2:-
21=2
22=4
23=8
24=16
25=32
26=64
27=128
28=256
29=512
210=1024
211=2048
212=4056
فإذا اردنا عدد عناوين IP يساوي 60 عنوان , نبحث في مضاعفات 2 , فنجد ان 26 يساوي 64 , بالتالي سنستخدم 6 خانات Bits للقسم الخاص بالمضيف(Host Portion).
و إذا اردنا عدد عناوين IP يساوي 700 عنوان , نبحث في مضاعفات 2 , فنجد ان 210 يساوي 1024 و بالتالي سنستخدم 10 خانات Bits للقسم الخاص بالمضيف (Host Portion), وهكذا.
و يمكننا اتباع قاعدة بسيطة لحفظ هذه المضاعفات,حيث نبدأ بـ :-
21=2
ثم نضرب هذا العدد في 2 للحصول على المضاعف التالي له.
22=2×2=4
23=4×2=8
24=8×2=16
25=16×2=32
26=32×2=64
27=64×2=128
28=128×2=256
29=256×2=512
و هكذا.
و بحفظ هذه المضاعفات نستطيع بسهولة تحديد عدد الخانات (Bits) التي يجب تخصيصها من عنوان IP للقسم الخاص بالمضيف (Host Portion) لنحصل على عدد العناوين التي نريد , مع ملاحظة استثناء عنوانين من العناوين التي نحصل عليها و هما عنوان معرف الشبكة (Network ID) و عنوان (Broadcast) كما ذكرنا , لانهما لا يدخلان في عدد عناوين أجهزة المضيف (Host) التي نريد الحصول عليها.
فمثلا عند استخدام خانة واحدة Bit لقسم المضيف (Host Portion), نحصل على عنوانين فقط, اول عنوان سيكون معرف الشبكة (Network ID) , و ثاني عنوان و هو العنوان الاخير سيكون عنوان (Broadcast) , لذلك فإن هذه الشبكة لاتحتوي على أي عناوين لاجهزة المضيف (Hosts) , و بالتالي لن نستطيع استخدام قناع الشبكة (Subnet Mask) هذا بتخصيص خانة (Bit) واحدة.
و اذا اردنا الحصول على 10 عناوين IP لاجهزة المضيف (Hosts) , فأننا سنستخدم 4 خانات (4Bits).
لان 24 يساوي 16
فباستخدام 4 خانات (4Bits) سنحصل على 16 عنوان IP , و عند طرح عنوان الشبكة (Network ID) و عنوان (Broadcast) سنحصل على 14 عنوان IP صالح لاجهزة المضيف (Host).
لاحظ انه اذا استخدمنا 3 خانات (3Bits) فقط , سنحصل على 8 عناوين , لان 23 يساوي 8 , و هذا اقل من العدد الذي نريده و هو 10 عناوين.
هذاو نلاحظ ان هناك خطأ دائما يقع فيه الكثيرون و هو نسيان طرح معرف الشبكة او عنوان الشبكة (Network ID) و عنوان (Broadcast) من مضاعفات 2 عند تحديد عدد الخانات Bits التي يجب استخدامها.
فمثلا اذا اردنا إنشاء شبكة تحتوي على 8 اجهزة مضيف (hosts) , فلن نستطيع استخدام 3 خانات (3Bits) للقسم الخاص بالمضيف (Host Portion).
لان 23 يساوي 8
و هذا هو العدد الكلي للعناوين التي نستطيع الحصول عليها باستخدام 3 خانات (3Bits), و بطرح عنوان (Network ID) و عنوان (Broadcast) من هذا العدد سنحصل على 6 عناوين صالحة لاجهزة المضيف (Host).
لذلك إذا اردنا إنشاء شبكة (Subnet)تحتوي على 8 أجهزة مضيف (Hosts) يجب استخدام 4 خانات (4Bits) لقسم المضيف (Host Portion)و لان 24 يساوي 16.
و 16 – 2 = 14 عنوان IP يصلح لاجهزة المضيف (Host).
و كذلك الامر اذا اردنا إنشاء شبكة (Subnet) تحتوي على 16 جهاز مضيف (Hosts) , فلن نستخدم 4 خانات (4Bits) , لان 24 =16
و 16-2 = 14 عنوان IP يصلح لاجهزة المضيف (Host).
لذلك سنستخدم 5 خانات (5Bits) , لان 25=32.
و 32-2=30 عنوان IP يصلح لاجهزة المضيف (Host).
أي اننا في هذه الحالة سنحصل على 30 عنوان IP , و رغم اننا نريد 16 عنوان فقط إلا ان هذا هو اقل عدد للعناوين يمكن إهداره.
و كذلك الامر اذا اردنا 64 عنوان IP , فلن نستخدم 6 خانات (6Bits) , و انما سنستخدم 7 خانات (7Bits).
2- كتابة قناع الشبكة في النظام الثنائي
بعد تحديد عدد الخانات (Bits) التي سنستخدمها للقسم الخاص بالمضيف (Host Portion) و عدد الخانات التي سنستخدمها للقسم الخاص بالشبكة (Network Portion) نقوم بكتابة قناع الشبكة (Subnet Mask) في النظام الثنائي (Binary) , اي سنكتب (32Bits) المكونة للعنوان و ذلك كالتالي :-
-
كتابة 1 في الخانات المخصصة للقسم الخاص بالشبكة(Network Portion).
-
كتابة 0 في الخانات المخصصة للقسم الخاص بالمضيف(Host Portion).
3– تحويل قناع الشبكة من النظام الثنائي الى النظام العشري
عند تحويل قناع الشبكة(Subnet Mask) من النظام الثنائي(Binary) الى النظام العشري (Decimal)سنقوم بتحويل كل مجموعة ثمانية (Octet)على حدة.
مع ملاحظة انه يتم تحويل المجموعة الثمانية(Octet) بالكامل و بغض النظر عما إذا كانت هذه المجموعة الثمانية تمثل قسم الشبكة (Network Portion), او قسم المضيف (Host Portion), او جزء منها يمثل قسم الشبكة (Network Portion)و الجزء الاخر يمثل قسم المضيف (Host Portion).
و لتسهيل عملية التحويل يمكننا حفظ الاعداد الثنائية(Binary) التي تتكرر في قناع الشبكة (Subnet Mask)و ما يقابلها بالنظام العشري(Decimal) و هي الاعداد التالية:-
00000000=0
10000000=128
11000000=192
11100000=224
11110000=240
11111000=248
11111100=252
11111110=254
11111111=255
مثال
اكتب قناع الشبكة الفرعية(Subnet Mask) اللازم لإنشاء شبكة تحتوي على 83 جهاز مضيف (Hosts).
الحل
اولا: لمعرفة عدد الخانات (Bits) التي سنستخدمها لقسم المضيف (Host Portion) لكي نحصل على 83 عنوان IP يصلح لجهاز مضيف (Host) نستخدم القاعدة:-
Hosts=2H – 2
83= 2H – 2
2H=83+2
2H =85
و بمراجعة مضاعفات 2 نجد انه:-
27=128
H=7
أي اننا للحصول على 83 عنوان IP لاجهزة المضيف (Hosts) يجب تخصيص 7 خانات (7Bits) لقسم المضيف (Host Portion) من العنوان , و تخصيص الخانات (Bits) المتبقية (32-7=25) لقسم الشبكة(Network Portion).
ثانياً: لكتابة قناع الشبكة (Subnet Mask) في النظام الثنائي (Binary) نكتب 1 في 25 خانة (25Bits) و 0 في 7 خانات (7Bits) في قناع الشبكة
(Subnet Mask) بالشكل التالي:-
11111111.11111111.11111111.10000000
ثالثاً : تحويل قناع الشبكة (Subnet Mask)من النظام الثنائي(Binary) الى النظام العشري بتحويل كل مجموعة ثمانية (Octet)على حدة.
و بمراجعة الاعداد الثنائية(Binary) التي تتكرر في قناع الشبكة (Subnet Mask) سيسهل علينا تحويل القناع (Subnet Mask) للنظام العشري (Decimal) و نحصل على القناع (Subnet Mask) التالي:-
255.255.255.128
و يمكننا ايضا كتابة القناع(Subnet Mask) في صيغة (CIDR) بالشكل التالي:-
/25
مثال
اذا اردنا إنشاء شبكة (Subnet) تحتوي على 751 جهاز مضيف (Host) , كم خانة (Bit) سنخصص لقسم المضيف (Host Portion) من عنوان IP و كيف سيكون قناع الشبكة الفرعية (Subnet Mask)المستخدم.
الحل
اولا: لمعرفة عدد الخانات (Bits) التي سنستخدمها لقسم المضيف (Host Portion) لكي نحصل على 751 عنوان IP يصلح لجهاز مضيف (Host) نستخدم القاعدة:-
Hosts=2H – 2
751= 2H – 2
2H=751+2
2H =753
و بمراجعة مضاعفات 2 نجد انه:-
210=1024
H=10
أي اننا للحصول على 751 عنوان IP لاجهزة المضيف (Hosts) يجب تخصيص 10 خانات (10Bits) للقسم الخاص بالمضيف (Host Portion) من العنوان , و تخصيص الخانات Bits المتبقية (32-10=22) للقسم الخاص بالشبكة(Network Portion).
ثانياً: لكتابة قناع الشبكة (Subnet Mask) في النظام الثنائي (Binary)نكتب 1 في 22 خانة (22Bits) و 0 في 10 خانات (10Bits) في قناع الشبكة (Subnet Mask) بالشكل التالي:-
11111111.11111111.11111100.00000000
ثالثاً : تحويل قناع الشبكة (Subnet Mask) من النظام الثنائي(Binary) الى النظام العشري (Decimal) بتحويل كل مجموعة ثمانية (Octet)على حدة.
و بمراجعة الاعداد الثنائية (Binary) التي تتكرر في قناع الشبكة(Subnet Mask) سيسهل علينا تحويل القناع للنظام العشري(Decimal) و نحصل على القناع(Subnet Mask) التالي:-
255.255.252.0
و يمكننا ايضا كتابة القناع في صيغة CIDR بالشكل التالي:-
/22