Skip to content
العودة إلى المدوّنة
دروس تعليمية

حساب قناع الشبكة الفرعية: جدول CIDR من /8 إلى /32

الشبكة /26 تمنح 62 عنوانًا قابلًا للاستخدام لا 64، وقاعدة «ناقص اثنين» تفشل على /31. اقرأ أي بادئة CIDR واحسب القناع يدويًا وتحقق منه عبر الإنترنت مجانًا.

15 دقيقة قراءة

ترميز CIDR وأقنعة الشبكة الفرعية: كيف تقرأ من /8 إلى /32

الرقم الذي يلي الشرطة المائلة في 192.168.1.0/24 يعدّ البتات لا العناوين. إنه يقول كم بتًا من البتات الاثنين والثلاثين في عنوان IPv4 تخصّ الشبكة؛ وما يتبقى يخصّ المضيفات. هذه الجملة الواحدة هي معظم ما يعنيه ترميز CIDR.

وكل ما عداها ينبثق منها. الشبكة /24 تترك 8 بتات للمضيفات، فتتسع الكتلة لـ 2⁸ = 256 عنوانًا. والشبكة /26 تترك 6 بتات، فتتسع لـ 64. كل بت تعيده إلى جانب المضيف يضاعف حجم الكتلة، وكل بت تأخذه يضاعف عدد الكتل. أما العدد الذي يمكنك إسناده فعليًا إلى الأجهزة فهو أقل باثنين عادةً من الإجمالي، لأن العنوان الأول يسمّي الشبكة والأخير هو عنوان البث. الشبكة /26 تمنحك 62 مضيفًا قابلًا للاستخدام، لا 64.

وهناك بادئتان تكسران قاعدة «ناقص اثنين» عن عمد. كما أن قناع البدل ليس قناع شبكة فرعية، مع أن كلًّا منهما يُلصق في حقل الآخر طوال الوقت. وإن كنت تريد الجواب لكتلة واحدة فحسب، فإن حاسبة الشبكات الفرعية تطبعه؛ أما هذا المقال فعن الوصول إليه بدونها.

ما الذي يقوله ترميز CIDR فعلًا

قناع الشبكة الفرعية هو بدوره عدد من 32 بتًا، يُكتب بالطريقة نفسها التي يُكتب بها العنوان. بتاته سلسلة من الآحاد تليها سلسلة من الأصفار. الآحاد تؤشّر بتات الشبكة، والأصفار تؤشّر بتات المضيف. اكتب /26 بالكامل فتحصل على:

11111111.11111111.11111111.11000000
    255  .   255  .   255  .   192

حوّل كل بايت إلى العشري فتحصل على 255.255.255.192. ترميز CIDR يعدّ الآحاد الصدارية بدل كتابة الاثنين والثلاثين بتًا كلها. العبارتان 192.168.1.0/26 و192.168.1.0 255.255.255.192 تقولان الشيء نفسه بصيغتين مختلفتين، وأيهما يريد الجهاز يعتمد كليًا على الأمر الذي تكتبه.

العدّ هو الحيلة كلها. البادئات /8 و/16 و/24 تقع على حدود البايتات، ولهذا تبدو أنيقة بالعشري: 255.0.0.0 و255.255.0.0 و255.255.255.0. لا شيء في الترميز يشترط ذلك. البادئتان /22 و/27 صالحتان تمامًا. إنهما تقطعان وسط البايت وتنتجان أقنعة مثل 255.255.252.0 تبدو اعتباطية إلى أن تكتبها بالثنائي.

لماذا اختفت الفئات. قبل 1993 كانت البتات الصدارية للعنوان تحدد حجمه: الفئة A تأخذ /8، والفئة B تأخذ /16، والفئة C تأخذ /24، ولا شيء بينها. مؤسسة لديها 300 مضيف كان عليها أن تطالب بفئة B وتهدر أكثر من 65,000 عنوان، أو تأخذ كتلتين من الفئة C وتحمل مسارين. جاء CIDR (RFC 1519، ثم نُقّح في RFC 4632) فكسر هذا الاقتران. البادئة تسافر مع العنوان، فصار بإمكان الكتلة أن تكون أي قوة للعدد 2. ما زالت الفئات تظهر في امتحانات الشهادات وفي التوثيق القديم، لكن التوجيه الفئوي لم يعد قائمًا منذ وصول CIDR عام 1993. القناع هو ما يقرر أين تنتهي الشبكة، لا البايت الأول.

ورقة أقنعة الشبكات الفرعية، من /8 إلى /32

في جدول التحويل من CIDR إلى قناع الشبكة الفرعية أدناه، العمود الأخير مقصود: يبيّن ما تنتجه الصيغة العامة 2ⁿ − 2، وهي تطابق العدد الحقيقي القابل للاستخدام في كل مكان عدا الصفّين الأخيرين.

البادئةقناع الشبكة الفرعيةقناع البدلإجمالي العناوينالمضيفات القابلة للاستخدامما تعطيه 2ⁿ − 2 الساذجة
/8255.0.0.00.255.255.255167772161677721416777214
/9255.128.0.00.127.255.255838860883886068388606
/10255.192.0.00.63.255.255419430441943024194302
/11255.224.0.00.31.255.255209715220971502097150
/12255.240.0.00.15.255.255104857610485741048574
/13255.248.0.00.7.255.255524288524286524286
/14255.252.0.00.3.255.255262144262142262142
/15255.254.0.00.1.255.255131072131070131070
/16255.255.0.00.0.255.255655366553465534
/17255.255.128.00.0.127.255327683276632766
/18255.255.192.00.0.63.255163841638216382
/19255.255.224.00.0.31.255819281908190
/20255.255.240.00.0.15.255409640944094
/21255.255.248.00.0.7.255204820462046
/22255.255.252.00.0.3.255102410221022
/23255.255.254.00.0.1.255512510510
/24255.255.255.00.0.0.255256254254
/25255.255.255.1280.0.0.127128126126
/26255.255.255.1920.0.0.63646262
/27255.255.255.2240.0.0.31323030
/28255.255.255.2400.0.0.15161414
/29255.255.255.2480.0.0.7866
/30255.255.255.2520.0.0.3422
/31255.255.255.2540.0.0.1220
/32255.255.255.2550.0.0.011−1

الجدول أسهل في الحفظ إذا نظرت إلى العلاقات بين صفوفه. كل صف نازل يُنصّف الكتلة: /24 تسع 256 عنوانًا، و/25 تسع 128، و/26 تسع 64. وعمود البدل هو قناع الشبكة الفرعية بعد قلب كل بت فيه، ولهذا يظهر 255.255.255.192 و0.0.0.63 دائمًا في السطر نفسه. أما الصفّان الغامقان فهما الموضع الذي تكفّ فيه الصيغة القياسية عن وصف الواقع، وسيأتي شرحهما في قسم لاحق.

لا تحتاج إلى حفظ سوى قيم البايت الأخير في عمود القناع، لأنها تتكرر: 128 و192 و224 و240 و248 و252 و254 و255. وهذه القيم الثماني هي كل ما يمكن أن ينتهي به قناع صالح، عدا الصفر. ولترى السبب بتحويلها بنفسك، يطبع محوّل الأنظمة العددية أيًّا منها بالثنائي.

قراءة الجدول بالمقلوب: من قناع الشبكة الفرعية إلى CIDR

إذا أُعطيت قناعًا بالصيغة العشرية المنقوطة، عُدّ بتات الآحاد فيه. كل 255 يساهم بـ 8، وبايت الحدّ وحده يساهم بالباقي:

آخر بايت في القناع128192224240248252254255
البتات التي يضيفها12345678

إذن 255.255.255.192 هو 8 + 8 + 8 + 2 = /26. و255.255.252.0 هو 8 + 8 + 6 + 0 = /22، لأن 252 بالثنائي هو 11111100.

ويترتب على هذا أمران. أي بايت ليس 255 ولا 0 هو بايت الحدّ، ولا يملك القناع الصالح أكثر من واحد منه أبدًا. وقيمة ذلك البايت تعطيك حجم الكتلة مباشرة، وهو موضوع القسم التالي.

كيف تحسب قناع الشبكة الفرعية والشبكة يدويًا

للطريقة الميكانيكية ثلاث خطوات، وتصلح لأي بادئة. المثال المحلول أدناه يستخدم 192.168.1.130/26، لكن الإجراء نفسه يمشي على أي عنوان.

الخطوة 1 — إيجاد حجم الكتلة

حجم الكتلة هو 256 − بايت الحدّ في القناع.

في /26 يكون القناع 255.255.255.192، فحجم الكتلة هو 256 − 192 = 64. والشبكات الفرعية بهذا الحجم تقع على مضاعفات 64 في البايت الرابع: 0 و64 و128 و192. لا توجد نقاط بداية أخرى ممكنة.

حجم الكتلة وعدد العناوين هما العدد نفسه، بلغناه من جهة القناع بدل جهة عدّ البتات.

الخطوة 2 — تحديد الكتلة التي يقع فيها العنوان

اقسم بايت الحدّ من العنوان على حجم الكتلة وقرّب نزولًا.

العنوان هو 192.168.1.130، وحجم الكتلة 64، إذن 130 ÷ 64 = 2.03… وهو ما يُقرَّب نزولًا إلى 2. اضرب عائدًا: 2 × 64 = 128. العنوان يقع في الكتلة التي تبدأ عند 128.

معظم الأخطاء تحدث هنا، وفي الاتجاه نفسه دائمًا: يُفترض أن العنوان الذي سُلّم إليك هو بداية كتلته، وهو في الغالب ليس كذلك. العنوان 192.168.1.130 عنوان مضيف يسكن في الشبكة /26 الثالثة داخل ذلك /24.

الخطوة 3 — الشبكة والبث وأول مضيف وآخره

بداية الكتلة هي عنوان الشبكة. والبث هو بداية الكتلة زائد حجم الكتلة ناقص واحد. وكل ما يقع بينهما حصرًا قابل للإسناد:

Network    192.168.1.128
Broadcast  192.168.1.191
Usable     192.168.1.129 - 192.168.1.190
Usable     62 (of 64 total)
Netmask    255.255.255.192
Wildcard   0.0.0.63

البث هو 128 + 64 − 1 = 191. وأول مضيف هو الشبكة + 1، وآخر مضيف هو البث − 1، والعدد القابل للاستخدام هو 64 − 2 = 62، وهو يطابق صف /26 في ورقة الغش.

مضغوطًا في جملة تقولها لنفسك: حجم الكتلة هو 256 ناقص بايت القناع؛ قرّب العنوان نزولًا إلى مضاعف له، فذلك هو شبكتك، وبداية الكتلة التالية ناقص واحد هي بثّك.

والطريقة ليست خاصة بالبايت الرابع. في /22 يكون القناع 255.255.252.0، فبايت الحدّ هو الثالث وحجم الكتلة هناك 256 − 252 = 4. لذا تبدأ الكتل عند 10.0.0.0 و10.0.4.0 و10.0.8.0، والكتلة 10.0.0.0/22 تمتد حتى البث 10.0.3.255 بعناوين قابلة للاستخدام من 10.0.0.1 إلى 10.0.3.254، أي أربع شبكات /24 متتالية داخل نطاق بثّ واحد. الخطوات الثلاث نفسها، بايت مختلف.

وإن كان التحويل بين الثنائي والعشري هو ما يبطئك، فإن دليل تحويل الأنظمة العددية يغطيه بعمق أكبر مما يليق بمقال عن الشبكات الفرعية.

وللتحقق من عملك داخل سكربت بدل رأسك، مكتبة بايثون القياسية تعرف كل هذا سلفًا:

import ipaddress

net = ipaddress.ip_network("192.168.1.130/26", strict=False)

print(net)                     # 192.168.1.128/26
print(net.network_address)     # 192.168.1.128
print(net.broadcast_address)   # 192.168.1.191
print(net.netmask)             # 255.255.255.192
print(net.hostmask)            # 0.0.0.63
print(net.num_addresses)       # 64
print(len(list(net.hosts())))  # 62

strict=False هو ما يتيح لك تمرير عنوان مضيف بدل عنوان شبكة؛ ومع القيمة الافتراضية strict=True يرفع الاستدعاء نفسه استثناء ValueError.

أين تكفّ قاعدة «ناقص اثنين» عن الصحة

في شبكة فرعية عادية، نمط المضيف المكوّن من أصفار كلها يسمّي الشبكة نفسها، ونمط الآحاد كلها هو عنوان البث الموجَّه. ولا يمكن ضبط أيٍّ منهما على واجهة، فكتلة من 2ⁿ عنوانًا تقدّم 2ⁿ − 2 للمضيفات. لهذا تعطي /24 العدد 254 وتعطي /26 العدد 62.

وهذا السبب نفسه هو ما يرسم الحدّ. فحين تكون الكتلة أصغر من أن تحتوي هذين العنوانين المحجوزين، يتوقف طرحهما عن أن يكون له معنى.

الشبكة /31 فيها عنوانان ومضيفان قابلان للاستخدام. يعرّف RFC 3021 البادئة /31 للوصلات من نقطة إلى نقطة. لمثل هذه الوصلة طرفان اثنان بالضبط ولا مقطع مشترك، فلا شيء يفعله عنوان البث ولا شيء يعرّفه عنوان الشبكة. العنوانان كلاهما يذهبان إلى الطرفين. وتطبيق 2ⁿ − 2 هنا يعيد 0، وهو حساب يجيب عن سؤال لا محلّ له في هذه الطوبولوجيا. والشرط المرافق حقيقي: /31 صالحة فقط على واجهات من نقطة إلى نقطة فعلًا. أما مقطع LAN متعدد الوصول فلا يزال يحتاج /30 أو أقصر، ولن يقبل Windows بادئة /31 على بطاقة شبكة.

الشبكة /32 فيها عنوان واحد ومضيف واحد قابل للاستخدام. إنها مسار مضيف مفرد: واجهات الاسترجاع، والمسارات الساكنة، وعناوين anycast، وقواعد الجدار الناري ذات العنوان الواحد. ولا وجود لعنوان بثّ فيها، فلو طبّقت − 2 من الصيغة لأعادت −1.

وبايثون توافق على الأمرين:

import ipaddress

p2p = ipaddress.ip_network("203.0.113.4/31")
print([str(h) for h in p2p.hosts()])  # ['203.0.113.4', '203.0.113.5']

host = ipaddress.ip_network("10.0.0.1/32")
print([str(h) for h in host.hosts()])  # ['10.0.0.1']

وأسهل ما يثبّت هذا في الذهن أن تتعامل مع الطرح بوصفه إزالة عنوانين بعينهما، وأن تتأكد من وجودهما قبل إزالتهما. الشبكتان /31 و/32 لا عنوان بثّ فيهما أصلًا، فلا شيء يُزال.

الإجمالي والقابل للاستخدام وعدد الشبكات الفرعية ثلاثة أعداد مختلفة

يُخلط بين هذه الثلاثة باستمرار، والالتباس مفهوم لأنها جميعًا قوى للعدد 2 مشتقة من البادئة نفسها.

  • إجمالي العناوين في /p هو 2^(32 − p). في /26: 64.
  • المضيفات القابلة للاستخدام هي ذلك ناقص 2، عدا /31 و/32. في /26: 62.
  • عدد الشبكات الفرعية الذي تحصل عليه بتقسيم أب /p إلى أبناء /q هو 2^(q − p). تقسيم /24 إلى شبكات /26 يستعير بتين، إذن 2² = 4 شبكات فرعية.

الثلاثة تجيب عن أسئلة مختلفة، فجملة مثل «الشبكة /26 تعطيك 4» لا تصحّ إلا إذا كان السؤال عن تقسيم /24. والتقسيم يكلّفك عناوين أيضًا، لأن كل شبكة فرعية ابنة تحجز زوجها الخاص من عنوان الشبكة وعنوان البث. أربع شبكات /26 منحوتة من /24 تسع 4 × 62 = 248 عنوانًا قابلًا للاستخدام مقابل 254 عند الأب، أي ستة عناوين أُنفقت على التقسيم نفسه.

قناع البدل مقابل قناع الشبكة الفرعية: أي أمر يريد أيهما

قناع البدل هو المعكوس البتّي لقناع الشبكة الفرعية. حيث يضع قناع الشبكة الفرعية آحادًا، يضع البدل أصفارًا. خذ صف /26 من ورقة الغش: القناع 255.255.255.192، والبدل 0.0.0.63. اقلب كل بت في أحدهما فتحصل على الآخر، ولهذا لا يظهران منفصلين أبدًا.

والاثنان يُستعملان بمعنيين متعاكسين. قناع الشبكة الفرعية يُطبَّق بعملية AND بتّية، فالبت 1 يعني «هذا البت جزء من الشبكة». أما البدل فمرشّح مطابقة، فالبت 0 يعني «هذا البت يجب أن يطابق» والبت 1 يعني «لا يهم». العملية الأساسية نفسها، والقطبية معكوسة. وإن كانت ميكانيكا مستوى البت ضبابية لديك، فإن دليل عمليات البت يغطي AND وOR وNOT بصورة أعمّ.

وأيّهما يريد الجهاز ليس مسألة تفضيل. بالنسبة إلى الكتلة 192.168.1.128/26:

! wants the subnet mask
ip address 192.168.1.129 255.255.255.192

! wants the wildcard mask
access-list 10 permit 192.168.1.128 0.0.0.63
network 192.168.1.128 0.0.0.63 area 0
! Cisco ASA — wants the subnet mask, unlike IOS ACLs
access-list OUT permit ip 192.168.1.128 255.255.255.192 any
# Linux iproute2 — takes the prefix directly
ip addr add 192.168.1.129/26 dev eth0

قوائم التحكم بالوصول في Cisco IOS وعبارات شبكة OSPF تأخذ قناع البدل؛ بينما يأخذ ASA قناع الشبكة الفرعية بدلًا منه. أي مورّد واحد باصطلاحين داخل عائلة المنتج نفسها، ولهذا يكون أشيع ما يفشل هنا هو النسخ واللصق. وللمنصّات الأخرى اصطلاحاتها، فقبل لصق قيمة في حقل غير مألوف، تأكد أيّ الاثنين يتوقعه ذلك الحقل.

الصق 255.255.255.192 في قائمة تحكم بالوصول على IOS فيقرأها الموجّه بوصفها بدلًا: ثلاثة بايتات من الآحاد كلها تعني «لا يهم»، فتتوقف البايتات الثلاثة الأولى عن المطابقة أصلًا وتصل القاعدة إلى ما هو أبعد بكثير من الكتلة التي كانت في بالك. لن يظهر خطأ تركيبي ولن يُكتب سطر في السجل، وإنما تبقى عبارة سماح بنطاق خاطئ. أما الخطأ المعاكس فله على الأقل فرصة أن يُلتقط، لأن 0.0.0.63 ليس قناع شبكة فرعية صالحًا، فليس فيه سلسلة صدارية من الآحاد. وأما هل ترفضه منصّة بعينها أم تقبله بصمت، فليس شيئًا تكتشفه في بيئة الإنتاج.

لماذا يُسمح لأقنعة البدل في ACL بالثغرات ولا يُسمح لأقنعة الشبكات الفرعية

يجب أن يكون قناع الشبكة الفرعية سلسلة متصلة واحدة من الآحاد تليها أصفار. والاتصال هنا شرط بنيوي: هو ما يجعل عملية AND تشطر العنوان إلى جزأين بالضبط. قيمة مثل 255.0.255.0 فيها ثقب، ولا تصف حدًّا متماسكًا، والأجهزة ترفضها. وكذلك بايثون:

import ipaddress
ipaddress.ip_network("10.0.0.0/255.0.255.0")
# ValueError: '10.0.0.0/255.0.255.0' does not appear to be an IPv4 or IPv6 network

لا يوجد سوى 33 قناعًا صالحًا، من /0 إلى /32. وأي شيء غيرها خطأ مطبعي.

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

النطاقات الخاصة وCGNAT وغيرها من النطاقات المحجوزة

البادئة تخبرك بحجم الكتلة، وهوية الكتلة نفسها تخبرك إن كان لك أن تستخدمها أصلًا.

الكتلةالنطاقمحجوزة بموجب
10.0.0.0/810.0.0.0 – 10.255.255.255RFC 1918 خاصة
172.16.0.0/12172.16.0.0 – 172.31.255.255RFC 1918 خاصة
192.168.0.0/16192.168.0.0 – 192.168.255.255RFC 1918 خاصة
100.64.0.0/10100.64.0.0 – 100.127.255.255RFC 6598 ترجمة عناوين على مستوى المشغّل
169.254.0.0/16169.254.0.0 – 169.254.255.255RFC 3927 محلية الوصلة
255.255.255.255/32عنوان واحدبثّ محدود

نطاقات RFC 1918 لا تُوجَّه أبدًا على الإنترنت العام، وهو ما يجعل التخصيص منها آمنًا. أما الثلاثة الأخرى فتظهر لأسباب مختلفة.

الكتلة 100.64.0.0/10 هي فضاء NAT على مستوى المشغّل. إن أعطاك مزوّد الخدمة عنوانًا فيها، فأنت خلف NAT خاصته ولن يصلك أي اتصال وارد دون نفق. وهي ليست فضاءً خاصًا بمعنى RFC 1918، وليست لك أن تستخدمها في خطة داخلية، لأن مزوّدك قد يكون يستخدمها فعلًا على الجانب الآخر من موجّهك.

والكتلة 169.254.0.0/16 محلية الوصلة. يسند المضيف لنفسه عنوانًا منها حين يفشل DHCP، فرؤية عنوان 169.254 على واجهة تشخيصٌ لا إعداد: لم يجب أحد على طلب DHCP. والحركة إليه لا تعبر موجّهًا أبدًا.

وللأمثلة في التوثيق وأدلة التشغيل، يحجز RFC 5737 الكتل 192.0.2.0/24 و198.51.100.0/24 و203.0.113.0/24 تحديدًا كي لا يشير مثال منسوخ إلى مضيف حقيقي.

الكتلة 172.16.0.0/12 هي ستّ عشرة شبكة /16 لا واحدة

هذا هو النطاق المحجوز الذي يخطئ فيه الناس، والبادئة هي السبب. البادئة /12 تستعير أربعة بتات من البايت الثاني، فتمتد الكتلة من 172.16.0.0 حتى 172.31.255.255، أي ستّ عشرة شبكة /16 متتالية، لا مجرد 172.16.x.x.

والنتائج تسري في الاتجاهين. عنوان مثل 172.20.5.1 هو عنوان خاص، يقع مرتاحًا داخل النطاق، مع أنه لا يبدأ بـ 172.16. وفي المقابل فإن 172.15.x.x و172.32.x.x عناوين عامة تخصّ شخصًا آخر، فقاعدة جدار ناري أو فحص «ثق بالنطاق الداخلي» مكتوب على 172.0.0.0/8 يثق بصمت بشريحة كبيرة من الإنترنت.

وإن احتجت إلى تأكيد حدّ كهذا، فورقة الغش تعطيك الحساب: /12 فيها 2^(32−12) عنوانًا، والبايت الثاني يتحرك بخطوات 256 − 240 = 16، و16 + 16 = 32، فتنتهي الكتلة مباشرة قبل 172.32.0.0.

VLSM: تقسيم كتلة واحدة إلى شبكات فرعية غير متساوية

الشبكات الفرعية المتساوية سهلة وخاطئة عادةً. مكتب فرعي أُعطي كتلة 192.168.1.0/24 واحدة قد يحتاج أربع شرائح لا شيء مشترك بينها: مئة محطة عمل، وخمسون هاتفًا، ودزينة خوادم، وحفنة واجهات إدارة. قسّم /24 إلى أربع شبكات /26 متساوية فتفيض شريحة محطات العمل عند 62 مضيفًا، بينما تجلس شريحة الإدارة على 62 عنوانًا لخدمة عشرة أجهزة.

وتقنيع الشبكات الفرعية متغيّر الطول (Variable Length Subnet Masking) يعني إعطاء كل شريحة البادئة التي تحتاجها فعلًا. وهذه هي الكتلة /24 نفسها منحوتة إلى /25 واحدة و/26 واحدة و/28 اثنتين.

خصّص من الأكبر إلى الأصغر. كل كتلة يجب أن تبدأ على مضاعف لحجمها هي، فالكتلة الأكبر تختار أولًا:

الشريحةالمضيفات المطلوبةالبادئةالشبكةالنطاق القابل للاستخدامالبثقناع الشبكة الفرعية
محطات العمل100/25192.168.1.0192.168.1.1 – 192.168.1.126192.168.1.127255.255.255.128
الصوت50/26192.168.1.128192.168.1.129 – 192.168.1.190192.168.1.191255.255.255.192
الخوادم12/28192.168.1.192192.168.1.193 – 192.168.1.206192.168.1.207255.255.255.240
الإدارة10/28192.168.1.208192.168.1.209 – 192.168.1.222192.168.1.223255.255.255.240
غير مخصَّص/27192.168.1.224192.168.1.225 – 192.168.1.254192.168.1.255255.255.255.224

وتتبُّعها بالطريقة ذات الخطوات الثلاث يجري هكذا:

  1. حجم كتلة /25 هو 256 − 128 = 128، فتبدأ عند 0 وبثّها 0 + 128 − 1 = 127. والقابل للاستخدام من 1 إلى 126، أي 126 عنوانًا، وهو ما يكفي 100 محطة عمل مع فسحة. وصفّ /25 في ورقة الغش يوافق: 128 إجمالًا، و126 قابلًا للاستخدام.
  2. العنوان الحر التالي هو 128. حجم كتلة /26 هو 64، و128 مضاعف لـ 64، فتنطبق: الشبكة 192.168.1.128، والبث 128 + 64 − 1 = 191، والقابل للاستخدام من 129 إلى 190. أي 62 قابلًا للاستخدام لخمسين هاتفًا. وصفّ /26 في ورقة الغش: 64 إجمالًا، و62 قابلًا للاستخدام.
  3. الحر التالي هو 192. حجم كتلة /28 هو 16، و192 = 16 × 12، فتنطبق: الشبكة 192.168.1.192، والبث 207، والقابل للاستخدام من 193 إلى 206، أي 14 عنوانًا لاثني عشر خادمًا. وصفّ /28 في ورقة الغش: 16 إجمالًا، و14 قابلًا للاستخدام.
  4. الحر التالي هو 208، و208 = 16 × 13، فتحطّ الشبكة /28 الثانية عند 192.168.1.208 ببثّ 223 وقابل للاستخدام من 209 إلى 222.

وهذا يستهلك 128 + 64 + 16 + 16 = 224 من أصل 256 عنوانًا، ويترك من 192.168.1.224 إلى 192.168.1.255. والباقي، وهو 32 عنوانًا، يصادف أنه شبكة /27 واحدة محاذاة تمامًا، ومنها ستأتي لاحقًا الوصلات من نقطة إلى نقطة: ستّ عشرة شبكة /31 تتسع بداخلها، واحدة لكل وصلة موجّه.

لماذا الأكبر أولًا، وما ثمن ألا تفعل. افترض أنك وضعت الشبكتين /28 في الأسفل بدلًا من ذلك: 192.168.1.0/28 و192.168.1.16/28. يصير العنوان الحر التالي 192.168.1.32، وشبكة /25 يجب أن تبدأ على مضاعف لـ 128، فلا تستطيع البدء هناك. عليها أن تقفز إلى 192.168.1.128. العناوين من 32 إلى 127 ليست ضائعة، لكنها لا تصلح إلا كقطع محاذاة أصغر (/27 عند 192.168.1.32 و/26 عند 192.168.1.64)، فينتهي الفضاء المتبقي مبعثرًا بدل أن يجلس في كتلة متصلة واحدة في الأعلى. أضف شريحة واحدة إلى الطلب وتتوقف المناورة نفسها عن الانطباق أصلًا.

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

خمسة أخطاء تنجو إلى بيئة الإنتاج

1. معاملة العنوان الذي كتبته على أنه عنوان الشبكة

العَرَض: قاعدة جدار ناري لا تطابق شيئًا، أو مسار يغطي النصف الخاطئ من مقطع. السبب: قُرئ 192.168.1.130/26 على أن شبكته 192.168.1.0 وبثّه 192.168.1.255، أي حدّ /24، لأنه ما يراه الناس بالعشري. الإصلاح: طبّق الخطوة 2. حجم الكتلة 64، و130 ÷ 64 يُقرَّب نزولًا إلى 2، فالشبكة هي 2 × 64 = 128. الكتلة من 192.168.1.128 إلى 192.168.1.191، والعنوان 192.168.1.0 شبكة فرعية أخرى تمامًا. وكلما كانت البادئة أطول من /24، افترض أن العنوان الذي أُعطيته عنوان مضيف إلى أن تقنّعه.

2. تطبيق 2ⁿ − 2 على /31

العَرَض: أداة IPAM أو جدول بيانات يبلّغ عن 0 مضيف قابل للاستخدام لوصلة من نقطة إلى نقطة قائمة وتمرّر حركة. السبب: قاعدة ناقص اثنين تفترض وجود عنوان شبكة وعنوان بثّ ليُطرحا. وعلى /31 لا وجود لهما. الإصلاح: عامل /31 و/32 بوصفهما الشرطين الحديّين للصيغة لا بوصفهما شذوذًا. يجعل RFC 3021 عنواني /31 كليهما قابلين للإسناد، و/32 مسار مضيف مفرد بعنوان واحد. وأي شيء يبلّغ عن 0 أو −1 يكون قد طبّق الصيغة خارج مجالها. تحقق أولًا من دعم /31 على الواجهة المعنية، لأن الاستثناء لا يصحّ إلا على وصلات من نقطة إلى نقطة فعلًا.

3. معاملة 172.16.0.0/12 على أنها 172.16.x.x فقط

العَرَض: خدمة داخلية يتعذّر الوصول إليها من أحد المكاتب، أو قاعدة «امنع كل النطاقات الخاصة» تتسرب. السبب: قُرئت /12 كأنها /16. الإصلاح: النطاق من 172.16.0.0 إلى 172.31.255.255. اكتب قوائم التحكم بالوصول وقوائم السماح على البادئة 172.16.0.0/12 لا على نمط بايت، وتذكّر أن 172.15.x.x و172.32.x.x تقع خارجها على الإنترنت العام. وإن كنت تطابق يدويًا، فالبايت الثاني هو بايت الحدّ وخطوته 16.

4. لصق قناع بدل في حقل يريد قناع شبكة فرعية

العَرَض: قائمة تحكم بالوصول تسمح بأكثر بكثير أو بأقل بكثير مما قُصد، ولا شيء في الإعداد يبدو خاطئًا. السبب: قوائم IOS وعبارات شبكة OSPF تأخذ البدل بينما يأخذ ASA قناع الشبكة الفرعية، والقيمتان 0.0.0.63 و255.255.255.192 متبادلتان بصريًا للوهلة الأولى. الإصلاح: افحص الحقل قبل اللصق لا بعده. وثمة علامة مفيدة: لأي بادئة /8 أو أطول، يبدأ قناع الشبكة الفرعية بـ 255 ويبدأ البدل بـ 0. فإن كانت قيمة جالسة في قائمة تحكم بالوصول أو في عبارة شبكة OSPF تبدأ بـ 255، فهي قناع شبكة فرعية في حقل بدل.

5. كتابة قناع غير متصل، أو توليده بالخطأ

العَرَض: جهاز يرفض سطر إعداد، أو سكربت من صنعك ينتج أقنعة تبدو معقولة وهي خاطئة. السبب: قيمة مثل 255.0.255.0 ليست قناع شبكة فرعية صالحًا، ففيها ثقب. أما النسخة المبرمجة فأخطر: في JavaScript يأخذ مشغّلا الإزاحة معاملهما الأيمن بباقي القسمة على 32، فبادئة خارج المدى تنتج بصمت قناعًا خاطئًا يبدو معقولًا (33 تصير /1، و−1 تصير /31) بدل أن ترمي خطأ. الإصلاح: تحقق من مدى البادئة قبل الإزاحة، وارفض أي قناع ليس سلسلة صلبة من الآحاد تليها أصفار. ومكتبة ترفع استثناءً على المدخل السيئ أثمن هنا من مكتبة تخمّن، لأن نمطَي الفشل كليهما صامتان.

الأسئلة الشائعة

ما الفرق بين الشبكة الفرعية وVLAN؟

VLAN نطاق بثّ في الطبقة الثانية يُضبط على المبدّلات؛ أما الشبكة الفرعية فنطاق عناوين في الطبقة الثالثة. يُربطان عادةً واحدًا لواحد، لكن لا شيء يفرض ذلك: يمكنك وضع شبكتين فرعيتين على VLAN واحدة، أو تمرير VLAN واحدة عبر مواقع متعددة. غيّر ترقيم الشبكة الفرعية ولن يتغير معرّف VLAN.

كم شبكة فرعية أحصل عليها إذا قسّمت /24 إلى شبكات /26؟

أربع. العدد هو 2 مرفوعًا إلى عدد البتات المستعارة، و/26 أطول من /24 ببتين، إذن 2² = 4 شبكات فرعية سعة كل منها 64 عنوانًا. وكل ابنة تحجز عنوان شبكتها وعنوان بثّها، فالشبكات /26 الأربع تسع 248 عنوانًا قابلًا للاستخدام مقابل 254 عند الأب /24.

هل يعمل ترميز CIDR بالطريقة نفسها في IPv6؟

الشرطة المائلة ما زالت تعدّ بتات الشبكة الصدارية، فـ/64 تعني 64 بتًا للشبكة من أصل 128. وما لا ينتقل هو قاعدة ناقص اثنين: لا عنوان بثّ في IPv6، فلا يُطرح شيء من الإجمالي. وورقة الغش أعلاه والحاسبة خلفها لـIPv4 فقط.

ماذا تعني 0.0.0.0/0؟

صفر بت للشبكة، فهي تطابق كل عنوان IPv4. في جدول التوجيه هي المسار الافتراضي، يُستخدم حين لا تطابق أي بادئة أكثر تحديدًا. وكعنوان ربط تعني «كل الواجهات»، ولهذا تكون خدمة تستمع على 0.0.0.0 قابلة للوصول من كل شبكة متصل بها الجهاز.

ماذا يحدث إذا تداخلت شبكتان فرعيتان على الشبكة نفسها؟

تختار الموجّهات المسار الأكثر تحديدًا، لأن التمرير يفضّل دائمًا أطول بادئة مطابِقة، بينما تختلف المضيفات داخل التداخل حول أي الوجهات محلية. والعَرَض جزئي: بعض الوجهات تعمل وبعضها لا، وأيّها يعمل يتغير بحسب الموضع الذي تختبر منه.

لماذا حلّ CIDR محلّ عناوين الفئات A وB وC؟

لأن الفئات لم تقدّم سوى ثلاثة أحجام: /8 و/16 و/24. مؤسسة تحتاج 300 عنوان كان عليها أن تأخذ فئة B وتهدر معظمها، أو تشغّل مسارين من الفئة C. أتاح CIDR للبادئة أن تكون بأي طول، ما أبطأ نفاد العناوين وسمح للمزوّدين بتلخيص كتل عملاء كثيرة في مسار واحد.

هل أستطيع تقسيم نطاق خاص مثل 192.168.0.0/16 كما أشاء؟

نعم. فضاء RFC 1918 لك أن تقسّمه عند أي طول بادئة، ولا يراه أحد خارج شبكتك. والقيد داخلي: التداخل مع شبكة شريك أو مع VPC سحابية ستقترن بها لاحقًا مكلفٌ فكّه، ولهذا تميل الخطط إلى تجنّب الكتل التي يستخدمها كل موجّه منزلي أصلًا.

الخلاصة. البادئة تعدّ بتات الشبكة، وحجم الكتلة هو 256 − بايت الحدّ في القناع. قرّب العنوان نزولًا إلى مضاعف لحجم الكتلة تحصل على الشبكة، وأضف حجم الكتلة ناقص واحد تحصل على البث. اطرح اثنين للزوج المحجوز، لكن فقط حين لا تكون /31 أو /32 قد أزالت سبب الطرح أصلًا. وميّز بين البدل وقناع الشبكة الفرعية بشكلهما. وخصّص الكتل الكبيرة قبل الصغيرة.

لا شيء من ذلك يحتاج أداة بمجرد أن يستقر في يدك، وهذا هو المغزى من العمل عليه يدويًا. أما لفحص خطة قبل أن تصل إلى موجّه، أو لقراءة الحدّ الثنائي لكتلة بنظرة واحدة، فإن حاسبة الشبكات الفرعية تُجري الحساب محليًا في متصفحك.

الوسوم: networking subnetting cidr ip-address cheat-sheet

مقالات ذات صلة

عرض جميع المقالات