اذهب إلى المحتوى

دليل الربط الشبكي في ترميز CIDR وضبطه في لينكس


زينب الزعيم

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

فئات عناوين الشبكة

قبل أن نبدأ بشرح آلية عمل CIDR دعونا نطلع على ترميز الشبكة الفئوي classful الذي حل CIDR محله. طُرِح النظام الفئوي في عام 1981، وكان يعرِّف 5 فئات لعناوين الشبكة تستخدم في تحديد الأجهزة الموصولة على الإنترنت وعنونتها. تحدَّد الفئة المخصصة للشبكة بأول 4 بتات من العنوان.

العنوان/ الشبكة الشبكات CIDR قناع الشبكة النهاية البداية البتات البادئة الفئة
16,177,216 (224) 128 8/ 255.0.0.0 127.255.255.255 0.0.0.0 0 A
65,536 (216) 16,384 16/ 255.255.0.0 191.255.255.255 128.0.0.0 10 B
256 (28) 2,097,152 24/ 255.255.255.0 223.255.255.255 192.0.0.0 110 C
غير محددة غير محددة     239.255.255.255 224.0.0.0 1110 D
غير محددة غير محددة     255.255.255.255 240.0.0.0 1111 E

يعرض الجدول فئات عناوين الشبكة الخمسة التي تحددها عنونة الشبكة الفئوية، متضمنًا كلًا من قناع الشبكة وترميز CIDR لكل فئة. الفئات A و B و C هي مجالات عناوين البث الأحادي unicast التي يشيع إسنادها إلى المؤسَّسات. يشير البث الأحادي إلى أن رزم البيانات ترسَل إلى مضيف واحد. أما الفئة D مخصصة لما يسمى بمجال عناوين البث المتعدد multicast، إذ ترسل في هذا المجال رزم البيانات إلى جميع المضيفين الموجودين ضمن شبكة محددة. لم يكن هذا المجال من العناوين IP مستخدمًا تقريبًا. وأما مجال عناوين الفئة E كان محجوزًا لإمكانية التوسع في المستقبل لكنه لم يستخدَم أيضًا قط.

لاحظ أنه لا يوجد إلا 3 احتمالات لأقنعة الشبكة التي تتوافق مع كل فئة من الشبكات الفئوية، وهي: 255.0.0.0 (8 بت)، و 255.255.0.0 (16 بت)، و 255.255.255.0 (24 بت)، مقسَّمةً إلى ثمانيات منفصلة. هذا إحدى العوامل التي جعلت تخصيص العناوين العامة Public IP addresses محدودًا، ويرجع ذلك إلى عدد الشبكات المحدود نسبيًا الذي تحدده هذه الفئات.

للأسف أدى تخصيص الشبكات الفئوية إلى هدر ضخم في العناوين. فمثلًا عندما تطلب المؤسَّسات الحصول على عدد من العناوين الذي يكون أكبر من عدد العناوين المتاحة في شبكة من الفئة C، سيخصص لهم شبكةً كاملةً من الفئة B سواءً احتاجوا إلى جميع العناوين في تلك الشبكة أم لا. وينطبق المثال ذاته على الشبكات من الفئة B، فبعض المؤسَّسات الكبرى احتاجت إلى شبكة أكبر من الشبكات من الفئة B فخصِّصت لهم شبكات من الفئة A. وبالتالي خُصص عدد هائل من العناوين IP لبعض المؤسَّسات الكبرى فقط.

من المهم أن نفهم أن أول 4 بتات (التي تكون أقصى اليسار) من العنوان هي من تحدد فئة الشبكة، وليس قناع الشبكة أو CIDR المكافئ له. هذا يعني من الناحية العملية أنه لا يمكن تقسيم الشبكات الضخمة إلى شبكات فرعية على مستوى الإنترنت، لأن الموجهات على الإنترنت تستطيع تحديد مسارًا واحدًا فقط إلى كل شبكة فئوية مخصصة. إضافةً إلى ذلك، رغم أن المؤسسَّسات التي تملك الشبكات الفئوية الضخمة تستطيع تقسيمها إلى شبكات فرعية، لكن توجيه الرزم إلى مواقع جغرافية أخرى تنتمي إلى نفس الشبكة سيتطلب عندها أن تستخدم المؤسَّسة شبكات داخلية خاصة أو شبكات خاصة افتراضية VPN عامة ذات تكلفة باهظة.

مثلًا ليكن لدينا شركة تتضمن 6 أقسام وتحتاج إلى تخصيص 400 عنوان IP لكل منها، التي يعادل مجموعها 2400 عنوان. لن تفي شبكة واحدة من الفئة C التي تحتوي على 256 عنوان IP فقط بالغرض، لذا ستُخصَّص للشركة شبكة من الفئة B التي تعنون حتى 65,536 جهاز، لذا ستهدَر العناوين 63,136 المتبقية لأنه لا يمكن تخصيصها لمؤسَّسة أخرى.

اقتباس

ملاحظة: من الضروري في هذا المثال استخدام جزء من مجموعة عناوين 10.0.0.0/8 CIDR الخاصة الحالية بدلًا من العنوان العام من الفئة B، وهذا تجنبًا لذكر عناوين عامة قد تكون مخصصةً لإحدى المؤسَّسات.

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

$ sipcalc 10.125.0.0/16   
-[ipv4 : 10.125.0.0/16] - 0

[CIDR]
Host address            - 10.125.0.0
Host address (decimal)  - 175964160
Host address (hex)      - A7D0000
Network address         - 10.125.0.0
Network mask            - 255.255.0.0
Network mask (bits)     - 16
Network mask (hex)      - FFFF0000
Broadcast address       - 10.125.255.255
Cisco wildcard          - 0.0.255.255
Addresses in network    - 65536
Network range           - 10.125.0.0 - 10.125.255.255
Usable range            - 10.125.0.1 - 10.125.255.254

يظهر خرج الأمر sipcalc عنوان الشبكة network address وقناع الشبكة netmask ومجال عناوين الشبكة network address range إضافةً إلى العناوين المتاحة في هذا المجال وغير ذلك. إن العنوان 10.125.0.0 هو عنوان الشبكة والعنوان 10.125.255.255 هو عنوان البث العام broadcast لهذه الشبكة. لا يمكن إسناد هذين العنوانين إلى المضيفين.

كان الخيار الآخر المتاح تخصيص عدة شبكات من الفئة C للشركة. سيخفض هذا الخيار عناوين IP المهدورة بدرجة كبيرة لكن سيصبح ضبط التوجيه بين شبكات هذه الشركة معقدًا أكثر من ضبط التوجيه لشبكة واحدة. كما سيخفض هذا الخيار عدد الشبكات المتاحة من الفئة C التي تستطيع مؤسسات أخرى حجزها.

مفهوم CIDR

طُرح مفهوم ترميز CIDR في عام 1993 كوسيلة لإطالة عمر عناوين IPV4 التي كانت تنفد منها العناوين المتاحة. حقق ترميز CIDR هذا بأن أتاح للمؤسَّسات أن تستفيد استفادةً كاملةً من مجالات عناوين IPV4 المسنَدة إليها، وبإتاحة بعض مجالات العناوين التي كانت محجوزة.

حسّن نهج RFC1918 من CIDR بتخصيص شبكات محجوزة من مجالات الفئات A و B و C لا يمكن توجيهها خارج الشبكة الداخلية. تستطيع أية مؤسَّسة استخدام هذه الشبكات الخاصة private networks بحرية ضمن شبكاتها الداخلية. لذا لم يعد ضروريًا أن يسنَد عنوان IP عام لكل حاسوب. كانت لهذه الخاصية الحصة الأكبر في حل عدة مشاكل.

عدد عناوين IP مجال العناوين مجموعة CIDR
16,777,216 10.0.0.0 – 10.255.255.255 10.0.0.0/8
1,048,576 172.16.0.0 – 172.31.255.25 172.16.0.0/12
65,536 192.168.0.0 – 192.168.255.255 192.168.0.0/16

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

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

يخصص مزود خدمة الإنترنت عنوان شبكة عام للشركة، وهو 10.125.16.32/30. تذكر مثلًا أننا سنستخدم جزءًا من الشبكة الخاصة 10.0.0.0/8 على أنه شبكة عامة. سيوفر هذا التخصيص للشركة الشبكة العامة التالية:

$ sipcalc 10.125.16.32/30
-[ipv4 : 10.125.16.32/30] - 0

[CIDR]
Host address            - 10.125.16.32
Host address (decimal)  - 175968288
Host address (hex)      - A7D1020
Network address         - 10.125.16.32
Network mask            - 255.255.255.252
Network mask (bits)     - 30
Network mask (hex)      - FFFFFFFC
Broadcast address       - 10.125.16.35
Cisco wildcard          - 0.0.0.3
Addresses in network    - 4
Network range           - 10.125.16.32 - 10.125.16.35
Usable range            - 10.125.16.33 - 10.125.16.34

تستطيع الشركة في مثالنا أن تختار استخدام أي مجال من مجالات الشبكة الخاصة ضمن شبكتها الداخلية، ثم تستعين بخدمة ترجمة عنوان الشبكة NAT للوصول إلى العالم الخارجي من شبكتها الداخلية الخاصة.

$ sipcalc 172.16.0.0/12
-[ipv4 : 172.16.0.0/12] - 0

[CIDR]
Host address            - 172.16.0.0
Host address (decimal)  - 2886729728
Host address (hex)      - AC100000
Network address         - 172.16.0.0
Network mask            - 255.240.0.0
Network mask (bits)     - 12
Network mask (hex)      - FFF00000
Broadcast address       - 172.31.255.255
Cisco wildcard          - 0.15.255.255
Addresses in network    - 1048576
Network range           - 172.16.0.0 - 172.31.255.255
Usable range            - 172.16.0.1 - 172.31.255.254

في الوهلة الأولى، قد يكون أول أمر واضح تفعله هو اختيار شبكة من المجال الخاص 172.16.0.0/12 لتوفير مجال واسع بما يكفي لشبكة داخلية واحدة. يمكنهم مثلًا اختيار الشبكة 172.16.0.0/12 التي ستوفر حيز الشبكة الداخلية التالية لهم.

لاحظ أن هذه الشبكة لا تتوافق مع الشبكة من الفئة B المتعارف عليها لأنها تتضمن عددًا أقل من بتات الشبكة في قناع الشبكة، وبالتالي هي توفر حيزًا أوسع لبتات عنوان المضيف، إذ تتيح بتات الشبكة الاثنا عشرة حيز عشرين بتًا للمضيفين، أو 1,048,576 مضيف بالمجمَل. هذا العدد من المضيفين أكبر بكثير من العدد الذي توفره الشبكة من الفئة B المتعارف عليها للشبكة الواحدة. كما أنه حيز أوسع بكثير مما يحتاجون إليه فعلًا لشبكتهم.

أقنعة الشبكة متغيرة الطول VLSM

رافق CIDR ظهور نهج جديد مختلف عن نهج تحديد قناع الشبكة المتعارف عليه، يسمى أقنعة الشبكة متغيرة الطول VLSM. أشرنا إلى هذا النهج عند استخدام قناع شبكة من 12 بت لمجال العناوين الخاص المحدد بمجموعة CIDR Block في المثال السابق.

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

تستطيع استخدام الأمر sipcalc - s xx لحساب عدد الشبكات الفرعية في مجال العناوين الخاصة، حيث تستبدل xx بعدد البتات في قناع الشبكة. مثلًا يستعرض الأمر في المثال التالي الشبكات الفرعية الستة عشرة للشبكة 172.16.0.0/12 التي قناع الشبكة الخاص بها هو 16 بت.

$ sipcalc 172.16.0.0/12 -s 16
-[ipv4 : 172.16.0.0/12] - 0

[Split network]
Network                 - 172.16.0.0      - 172.16.255.255
Network                 - 172.17.0.0      - 172.17.255.255
Network                 - 172.18.0.0      - 172.18.255.255
Network                 - 172.19.0.0      - 172.19.255.255
Network                 - 172.20.0.0      - 172.20.255.255
Network                 - 172.21.0.0      - 172.21.255.255
Network                 - 172.22.0.0      - 172.22.255.255
Network                 - 172.23.0.0      - 172.23.255.255
Network                 - 172.24.0.0      - 172.24.255.255
Network                 - 172.25.0.0      - 172.25.255.255
Network                 - 172.26.0.0      - 172.26.255.255
Network                 - 172.27.0.0      - 172.27.255.255
Network                 - 172.28.0.0      - 172.28.255.255
Network                 - 172.29.0.0      - 172.29.255.255
Network                 - 172.30.0.0      - 172.30.255.255
Network                 - 172.31.0.0      - 172.31.255.255

باستخدامهم الأمر sipcalc لحساب عدد العناوين التي يوفرها عدد مختلف من البتات في قناع الشبكة 172.16.0.0/12، يحددون ما يلي:

عدد العناوين عدد البتات في قناع الشبكة
1,048,576 12
65,536 16
32,768 17
16,384 18
8,192 19
4,096 20

سبق وذكرنا أن الشركة تحتاج إلى 2400 عنوان IP. تختار الشركة أن تستخدم قناع شبكة ذو 19 بت الذي يوفر 8,192 عنوانًا، وذلك لتتيح مجالًا فسيحًا للتوسع وتخفض العدد الإجمالي من العناوين إلى عدد تستطيع إدارته في ذات الوقت. واستخدموا في حساب الشبكات الفرعية المتاحة الأمر sipcalc وفق ما يلي:

$ sipcalc 172.16.0.0/12 -s 19

-[ipv4 : 172.16.0.0/12] - 0

[Split network]
Network                 - 172.16.0.0      - 172.16.31.255
Network                 - 172.16.32.0     - 172.16.63.255
Network                 - 172.16.64.0     - 172.16.95.255
Network                 - 172.16.96.0     - 172.16.127.255
Network                 - 172.16.128.0    - 172.16.159.255
Network                 - 172.16.160.0    - 172.16.191.255
Network                 - 172.16.192.0    - 172.16.223.255
Network                 - 172.16.224.0    - 172.16.255.255
<snip>
Network                 - 172.31.0.0      - 172.31.31.255
Network                 - 172.31.32.0     - 172.31.63.255
Network                 - 172.31.64.0     - 172.31.95.255
Network                 - 172.31.96.0     - 172.31.127.255
Network                 - 172.31.128.0    - 172.31.159.255
Network                 - 172.31.160.0    - 172.31.191.255
Network                 - 172.31.192.0    - 172.31.223.255
Network                 - 172.31.224.0    - 172.31.255.255

اختارت الشركة عشوائيًا استخدام الشبكة الفرعية 172.30.64.0/19، لتبدو مواصفات شبكتها كما يلي:

$ sipcalc 172.30.64.0/19
-[ipv4 : 172.30.64.0/19] - 0

[CIDR]
Host address            - 172.30.64.0
Host address (decimal)  - 2887663616
Host address (hex)      - AC1E4000
Network address         - 172.30.64.0
Network mask            - 255.255.224.0
Network mask (bits)     - 19
Network mask (hex)      - FFFFE000
Broadcast address       - 172.30.95.255
Cisco wildcard          - 0.0.31.255
Addresses in network    - 8192
Network range           - 172.30.64.0 - 172.30.95.255
Usable range            - 172.30.64.1 - 172.30.95.254

طبعًا هذه إحدى الشبكات الفرعية المحتمَلة ذات 19 بت من بين 128 شبكة فرعية في مجال العناوين الخاصة، ولا فرق في أية شبكة فرعية كانت ستختارها.

كما يوجد لديها خيار آخر وهو استخدام مجال العناوين الخاصة 192.168.0.0/16 واختيار إحدى الشبكات الفرعية المتاحة ذات 19 بت من ذلك المجال. يمكنك التدرب بتحديد ما هي الشبكات الفرعية المتاحة في ذلك المجال، وما هو عددها.

الخاتمة

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

يمكن استخدام ترميز CIDR عند الإشارة إلى الشبكات الفئوية لكن فقط كاختصار رمزي.

ترجمة -وبتصرف- للمقال A Linux networking guide to CIDR notation and configuration لصاحبه David Both.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...