المحتوى عن 'cisco icnd1'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • السلوك التنظيمي
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
    • React
  • HTML
    • HTML5
  • CSS
  • SQL
  • لغة C#‎
  • لغة C++‎
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • ASP.NET
    • ASP.NET Core
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
    • منصة Xamarin
  • سهولة الوصول
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 44 نتائج

  1. عرضنا سابقًا لبروتوكول OSPF الذي ينتمي لبروتوكولات حالة الرابط (Link state)، وذكرنا أن الإصدار الثاني يعمل مع شبكات الإصدار الرابع من بروتوكول IP، في حين يعمل الإصدار الثالث – الذي نحن بصدد الحديث عنه – مع شبكات الإصدارين الرابع والسادس على حد السواء. لا توجد فروق كبيرة بين الإصداريْن، فقد عمل المصممون على الحفاظ على التوافق بينهما. تعمل آلية اختيار معرّف الموجه (Router ID) بالطريقة نفسها التي تعمل بها في الإصدار الثاني (OSPFv2)، إذ يبلغ طول المعرف 32 بتًّا تُختار بين عناوين الإصدار الرابع من IP حسب القاعدة نفسها: الأولوية لبطاقات الاسترجاع (Loopback) وللعناوين الأكبر عدديا. يعني هذا أننا سنحتاج لعناوين من الإصدار الرابع من IP، أقله لاستنتاج قيمة معرِّف الموجّه. علاوة على ذلك، يمكن استخدام الأمر router-id لتعيين معرّف الموجه يدويّا. عناوين الربط المحلي تُستخدَم عناوين الرابط المحلي (Link-local) للتخاطب بين الموجهات، أولًا في حقل المصدر ضمن رزم IP ثم بعد ذلك ضمن حقل الوجهة عندما يُتعرَّف عليه. تُستخدَم عناوين IP (الإصدار السادس) كذلك لإرسال إشعارات حالة الرابط (Link state advertisements, LSA). من الفروق المهمة بين الإصدارين الثاني والثالث من بروتوكول OSPF هو أن الإصدار الأخير يعتمد على الرابط بدلًا من الشبكة الفرعية. يمكن للرابط في الإصدار السادس من IP أن ينتمي لشبكات فرعية عدة، ويمكن لبطاقتي شبكة على الرابط نفسه أن تتواصلا رغم انتمائهما لشبكتين فرعيتين مختلفتين. يعتمد الإصدار الثالث من OSPF على الروابط المحلية مما يسمح بتبادل الرزم (الإعلانات) بين موجهات لا تتشارك الشبكة الفرعية نفسها. مثال لضبط إعدادات OSPFv3 يختلف إعداد بروتوكول OSPFv3 – قليلًا - عن OSPFv2. في الإصدار OSPFv2 تُضبَط الإعدادات ضمن وضع ضبط الموجه، ونستخدم الأمر network مع محرف البدل. نأخذ الشكل التالي -الذي رأيناه في دروس سابقة - لتوضيح طريقة ضبط البروتوكول OSPFv3. لدينا موقعان هما المقر الرئيس (HQ) والفرع (Branch) تربط بينهما شبكة. في ما يلي إعدادات OSPFv3 بالنسبة لكل منهما. Branch(config)#interface GigabitEthernet0/0 Branch(config-if)#ipv6 ospf 1 area 0 Branch(config-if)#exit Branch(config)#interface GigabitEthernet0/1 Branch(config-if)#ipv6 ospf 1 area 0 Branch(config-if)#exit Branch(config)#ipv6 router ospf 1 Branch(config-rtr)#router-id 0.0.0.2 HQ(config)#interface GigabitEthernet0/0 HQ(config-if)#ipv6 ospf 1 area 0 HQ(config-if)#exit HQ(config)#interface GigabitEthernet0/1 HQ(config-if)#ipv6 ospf 1 area 0 HQ(config-if)#exit HQ(config)#ipv6 router ospf 1 HQ(config-rtr)#router-id 0.0.0.1 نلاحظ أنه لا وجود على الإطلاق للأمر network. بدلًا من ذلك نذهب مباشرة إلى وضع ضبط بطاقات الشبكة (الأمر interface)، ونستخدم الأمر ipv6 ospf ونمرر له معرف العملية (Process ID) والمنطقة (Area) التي نريد أن تنتمي لها البطاقة. يمكن أن نلاحظ كذلك وجود وضع ضبط للموجه يُستخدَم لضبط الوسائط التي تؤثّر على الموجه بمختلف بطاقاته، مثلًا، عندما نريد ضبط معرّف الموجه يدويّا. نستخدم الأمر router-id في المثاليْن السابقيْن لضبط معرِّف الموجه، حيث نمرّر معرف العملية إلى الأمر ipv6 ospf ثم ننفذ الأمر router-id لتعيين معرف الموجه الذي يمكن أن يكون أي قيمة من 32 بتًّا وليس بالضرورة عنوان IP صالحا. نتأكد من وضع عناوين IPv6 على البطاقات التي نحتاجها، يدوّيًّا أو باستخدام الضبط الذاتي للعناوين، وننشئ قواعد التوجيه، ويمكننا بعدها التأكد من الاتصال بتنفيذ الأمر ping. أوامر التحقق من بروتوكول OSPFv3 سنتحقق من جدول التوجيه على موجه الفرع، لذا نستخدم الأمر show ipv6 route ونمرر له الوسيط ospf: Branch#show ipv6 route ospf IPv6 Routing Table - default - 4 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2 IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 O 2001:DB8:AC10:100::64/128 [110/1] via FE80::A8BB:CCFF:FE00:3410, GigabitEthernet0/1 نلاحظ السطر الذي يبدأ بالحرف O والذي يشير إلى المسارات داخل منطقتنا (عكس OIالتي تعني مسارات تعرفنا عليها من مناطق أخرى). تظهر المسافة الإدارية (Administrative distance) بين معكوفين إضافة إلى تكلفة الوصول إلى الشبكة المذكورة. يمكن ملاحظة أن قيمة المسافة الإدارية هي نفسها بالنسبة لإصداريْ OSPF ‏(110). نجد في السطر الموالي – بعد عبار ة via- عنوان القفزة الموالية والبطاقة التي تمر عبرها. لا يوجد تغيير في هذا الجانب عمّا كان عليه الحال في الإصدار OSPFv2 إلا في ما يخص عنوان القفزة. يستخدم الإصدار الثالث من OSPF عناوين رابط محلي، وهي ضرورية لعمل الإصدار السادس من بروتوكول IP، لإرسال إشعارات حالة الرابط واستلامها من الموجهات المجاورة، وبالتالي تكوين شبكة الجوار، لذا فعناوين القفزة الموالية – في OSPFv3 - هي دائما عناوين رابط محلي. التحقق من علاقات الجوار نتحقق من الجوار بالأمر التالي: Branch#show ipv6 ospf neighbor Neighbor ID Pri State Dead Time Interface ID Interface 0.0.0.1 1 FULL/BDR 00:00:36 3 GigabitEthernet0/1 لا يوجد اختلاف كبير بين مُخرَجات الأمر السابق والأمر show ip ospf neighbor المُستخدَم لإظهار الجوار في الإصدار الثاني من OSPF. يعرض الأمر السابق ستة أعمدة هي على التوالي معرفات الموجهات المجاورة، وأولويتها، وحالتها، ومهلة الخمول،ومعرف بطاقة الشبكة واسم البطاقة. تشير العبارةFull/BDR في خانة حالة الرابط إلى أن الجوار كامل (Full) بين الموجه والموجه المكلَّف الاحتياطي BDR‏ (Backup designated router). يتمثل دور الموجه المكلَّف DR‏ (Designated router) في العمل على أن يكون النقطة المركزية لتبادل البيانات المتعلقة بالشبكة بين الموجهات المختلفة. يتولى الموجه المكلَّف الاحتياطي (BDR) تلك المهمة في حال تعطل الموجه المكلَّف. لكي لا تُغرَق الشبكة برزم OSPF فإن الموجهات لا تتبادلها إلا مع الموجه المكلَّف أو الموجه المكلَّف الاحتياطي. تعني هذه الحالة Full/BDR أن الموجه الذي نُفِّذ عليه الأمر هو الموجه المكلَّف، لأن الشبكة تحتاج لوجوده. الحالة Full تشير إلى أن الأمور على ما يرام. يمكن التحقق من معرف الموجه الذي نتواجد عليه عبر الأمر show ipv6 ospf الذي يعرض الكثير من المعلومات. Branch#show ipv6 ospf Routing Process "ospfv3 1" with ID 0.0.0.2 Event-log enabled, Maximum number of events: 1000, Mode: cyclic Initial SPF schedule delay 5000 msecs Minimum hold time between two consecutive SPFs 10000 msecs Maximum wait time between two consecutive SPFs 10000 msecs Minimum LSA interval 5 secs Minimum LSA arrival 1000 msecs LSA group pacing timer 240 secs Interface flood pacing timer 33 msecs Retransmission pacing timer 66 msecs Number of external LSA 0. Checksum Sum 0x000000 Number of areas in this router is 1. 1 normal 0 stub 0 nssa Graceful restart helper support enabled Reference bandwidth unit is 100 mbps … ... من بين المعلومات الكثيرة التي يعرضها الأمر أعلاه نجد معرف الموجه (0.0.0.2) وكذلك معلومة مهمة أخرى وهي معرف عملية OSPF‏ ("ospfv3 1"). ثم تتوالى المعلومات التي قد تسبب كثرتها التشويش في ذهن المتلقي، ولكن أهم ما يظهر نتائج الأمر – علاوة على ما أشرنا إليه – هو معلومات المناطق (Areas) إذ تشير نتيجة الأمر إلى انتماء الموجه إلى منطقة واحدة (Number of areas ) ونوعها. ترجمة – وبتصرف – للمقال Configuring OSPFv3
  2. توجد الكثير من آليات التوجيه، مثل التوجيه الثابت (Static routing)، والبروتوكولات مثل الجيل الجديد من بروتوكول RIP‏ (RIPng)، وEIGRP، ‏الإصدار الثالث من OSPF، وبروتوكول BGP وامتداده MP-BGP (اختصار لـ Multi-protocol BGP) الذي يدعم شبكات الإصداريْن الرابع والسادس على حد السواء (عكس BGP الذي لا يدعم سوى شبكات الإصدار الرابع). يوجد كذلك بروتوكول IS-IS الذي ينتمي لبروتوكولات حالة الرابط، وهو فعّال جدًّا في في الإعلان عن مسارات الإصدار السادس من شبكات IP. سنركّز، من بين كل تلك البروتوكولات، على التوجيه الثابت والإصدار الثالث من بروتوكول OSPF. المسارات الثابتة لا توجد اختلافات كبيرة بين التوجيه الثابت في الإصدار السادس من بروتوكول IP عن الإصدار الرابع. الاختلاف الأساسي هو في الأمر المستخدَم. نأخذ المثال الموضَّح في الصورة أدناه، والذي طبّقنا عليه في دروس سابقة. فلنبدأ من جانب المقر الرئيس (HQ). استخدمنا الأمر ip route سابقًا، إلا أن الأمر المناسب في شبكات الإصدار السادس هو ipv6 route. نمرّر بعدها وسيطًا بعنوان الشبكة الوِجهة. HQ(config)#ipv6 route 2001:DB8:A01::/48 Gi0/1 2001:DB8:D1A5:C900::1 استخدمنا في شبكات الإصدار الرابع قناع الشبكة لتعيين الوِجهة، إلا أننا في الإصدار السادس نتعامل مع البادئات بدلًا من الأقنعة. بالنسبة لعنوان الشبكة الوِجهة في الأمر أعلاه فإن البادئة المستخدَمة هي ‎/48. ذكرنا في درس [أنواع العناوين في الإصدار السادس من IP]() أن السياسة المتبعة عمومًا تقضي بتخصيص البتات الثمانية والأربعين الأولى لتعريف الموقع الجغرافي الذي توجد فيه الشبكة. أي أن العنوان ‎2001:DB8:A01::/48 يعرِّف الفرع (Branch) الذي نريد الوصول إليه. كان بإمكاننا تحديد عنوان الشبكة الفرعية، إن كنا نعرفه، إلا أننا فضلنا الإشارة إلى عنوان الموقع الذي يمكن أن توجد به شبكات فرعية عدّة. تلي بطاقةُ الشبكة التي ستُرسَل عبرها البيانات عنوانَ الوِجهة، ثم يأتي عنوان IP يمثل القفزة الموالية في المسار نحو الوِجهة. أي أن الأمر يأخذ ثلاثة وسائط هي الوِجهة، والبطاقة التي ستمر عبرها البيانات وعنوان الموجِّه الذي ستُرسَل إليه. المسارات الافتراضية حدّدنا مسارًا ثابتًا من المقر الرئيس إلى الفرع، ويتبقى المسار المعاكس، أي من الفرع إلى المقر الرئيس. نريد أن نضبط الفرع بحيث تمر جميع البيانات المُرسَلة من شبكته (أو شبكاته) عبر المقر الرئيس، أي أننا سنستخدم مسارًا افتراضيًّا للبيانات القادمة من الفرع باتجاه المقر الرئيس. Branch(config)#ipv6 route ::/0 Gi0/1 2001:DB8:D1A5:C900::2 يشير العنوان ‎::/0 إلى الوجهات جميعها. أي مهما كانت الوِجهة فإن هذا المسار هو المستخدَم. نمرر بطاقة الشبكة المستخدمة وعنوان القفزة الموالية، وهو ما يعني ن البيانات الخارجة من الفرع كلها ستمر عبر هذا المسار. يمكننا التحقق من المسارات الثابتة التي ضبطناها بالنظر إلى جدول التوجيه. نذكّرأن لكل إصدار من بروتوكول IP جدول توجيه منفصل، لذا نستخدم الأمر show ipv6 route لعرض معلومات المسارات في شبكات الإصدار السادس. يقبل الأمر الوسائط نفسها التي يقبلها show ip route مثل static، وeigrp، وospf. HQ#show ipv6 route static IPv6 Routing Table - default - 4 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2 IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 S 2001:DB8:A01::/48 [1/0] via 2001:DB8:D1A5:C900::1, GigabitEthernet0/1 بالنظر إلى المسارات الثابتة التي يعرضها الأمر نجد تشابهًا كبيرًا مع مُخرجات الأمر show ip route التي عرضنا لها عند الحديث عن التوجيه الثابت في شبكات الإصدار الرابع. يوجد الحرف S - الذي يشير إلى أن المسار ثابت - في بداية السطر، والشبكة الوِجهة، وبين المعكوفين نجد المسافة الإدارية والكلفة. نجد في السطر الموالي الموجِّه التالي في المسار، وبطاقة الشبكة التي سنستخدمها. رغم التشابه الكبير إلا أن هناك أمرًا غائبًا، يظهر عند عرض المسارات على موجِّه الفرع. Branch#show ipv6 route static IPv6 Routing Table - default - 4 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2 IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 S ::/0 [1/0] via 2001:DB8:D1A5:C900::2, GigabitEthernet0/1 نلاحظ غياب علامة * التي تشير إلى المسار الافتراضي، لذا نتساءل كيف يمكننا التعرّف على المسار الافتراضي؟ يكمن الجواب في العنوان الموجود في السطر الذي يبدأ بالحرف S، حيث يوجد عنوان الشبكة الوِجهة ‎ ::/0الذي يعني "عنوان غير مُحدَّد". نجد بين المعكوفين المسافة الإدارية والتكلفة ([1/0‎]). يُعرَض في السطر الموالي عنوان الموجِّه التالي في المسار وبطاقة الشبكة. يُستخدَم بروتوكول ARP في شبكات الإصدار الرابع للحصول على عنوان M AC انطلاقًا من عنوان IP، إلّا أن هذه المهمة يتولّاها بروتوكول ICMPv6 في شبكات الإصدار السادس عبر استكشاف الجوار وخصوصًا رسائل التماس الموجِّه. تجدر الإشارة إلى أن وجود عنوان IP في جدول التوجيه لا يعني بالضرورة أن الاتصال بالعنوان قد تم، لذا من المهمّ دائمًا التأكد – بعد ضبط المسارات الثابتة - من وجود اتصال عبر تنفيذ الأمر ping وتمرير عنوان الوِجهة له. ترجمة – وبتصرّف – للمقال Static Routing with IPv6
  3. أشرنا في درس ضبط الإعدادات الأولية في للإصدار السادس من بروتوكول IP إلى وجود آلية الضبط الذاتي عديم الحالة (Stateless autoconfiguration). يفيد مصطلح انعدام الحالة – عمومًا – بـأننا لا نحتفظ بسجل لما يحدث، عكس ما يحصل عند استخدام خادوم DHCP – وهو آلية ذات حالة (Stateful) – الذي توجد لديه مجموعة من العناوين ويحجزها للأجهزة حسب الحاجة، ولوقت مُحدَّد سلفا. يتولى بروتوكول ICMP مهمة تعيين عناوين الأجهزة المضيفة خلال الضبط الآلي عديم الحالة. ينبغي النظر إلى الضبط الذاتي عديم الحالة على أنه – أساسًا – وظيفة بين المُوجِّهات، تعمل على الطبقة الثالثة. نحتاج لعنوان فريد على الطبقة الثالثة، كما نحتاج للشبكة الفرعيّة وعنوان المضيف المناسبين، الذي نسميه معرِّف بطاقة الشبكة. نحتاج لأمر آخر، وهو معرفة عنوان IP جهاز آخر يمكّن أجهزة المستخدمين من إرسال رزم بيانات إلى خارج الشبكة المحلية (البوّابة Gateway). تعتمد شبكات IPv6 على بروتوكول ICMPv6 لتلبية الاحتياجات السابقة، ويتمثل عمله في ما يتعلق بهذه النقطة في إبلاغ الجهاز المستخدم بالشبكة التي ينبغي عليه أن يكون جزءًا منها. رزم إعلانات الموجِّه توجد أنواع كثيرة من الرزم في بروتوكول ICMPv6، ومن بينها النوع 134 الذي يُسمَّى إعلان الموجِّه (Router advertisement). يُرسِل عنوانُ الربط المحلي على الموجِّه – العنوان ذو البادئة FE80 - الرزمةَ إلى جميع البطاقات الطرفية المتصلة بالشبكة، عبر البث المتعدد على العنوان FF02::1. تتضمن بيانات الرزمة بادئة العنوان (Prefix) – أو البادئات – الخاصة بالموجِّه، ومدة زمنية للرزمة. تُرسَل إعلانات الموجِّه تلقائيّا، فبمجرد تفعيل الإصدار السادس على الموجِّه، وإسناد عنوان IP إلى بطاقة الشبكة وبدئها في العمل تبدأ بإرسال تلك الإعلانات. على الجانب الآخر، ترسل الأجهزة رسائل تُعرَف برسائل التماس الموجِّه (Router solicitation messages)، وهي نوع آخر من الرزم في ICMPv6. ترسل الأجهزة طلبات الالتماس فور اتصالها بشبكة الإصدار السادس، بحثًا عن موجِّه. يجيب الموجِّه فور تلقيه طلبات الالتماس برسائل الإعلانات. رسائل التماس الموجِّه تُرسَل رسائل الالتماس (النوع 133 من رزم ICMPv6) إلى عنوان البث المتعدد FF02::2 الذي يمثل جميع الموجِّهات في الشبكة المحلية. يساوي حقل عنوان المصدر في رزم طلبات الالتماس القيمة :: التي تفيد بأن العنوان غير محدد (Unspecified)، ويعود السبب في ذلك إلى أن الأجهزة التي ترسلها لم تحصل بعد على عنوان IP من الموجِّه. على الرغم من أن الموجِّهات ترسل إعلانات (النوع 134) دوريًّا، إلا أن المدة الزمنية بين إعلانيْن قد تطول، لذا فإن بطاقات الشبكة ترسل تلقائيّا – فور اتصالها – طلبات التماس إلى الموجِّه، وبالتالي يمكنها ضبط عناوينها ذاتيا بالاعتماد على رزم الإعلانات التي يجيب بها الموجِّه. ميزات الضبط الذاتي للعناوين ونواقصه تمكِّن آلية الضبط الذاتي من إنشاء البنية التحتية بسرعة، كما أنها تتيح إعادة العنونة (Renumbering) في وقت قصير جدًّا، وهما ميزتان مهمتان من ميزات الإصدار السادس من بروتوكول IP. يسمح الإرسال الدوري لإعلانات الموجِّه بإعادة توليد عناوين جديدة للبطاقات الطرفية، إنْ احتجنا لذلك. كما يمكن استخدام هذه الآلية على مختلف بطاقات الموجِّه والأجهزة ضمن إطار التوطين المتعدد (Multihoming) الذي يسمح بأن تنتمي بطاقة الشبكة إلى شبكات عدّة في الوقت نفسه. مثلًا يكون لديها عنوان عمومي للاتصال بالإنترنت وعنوان محلي للاتصال بالشبكة المحلية. آلية الضبط الذاتي للعناوين مفيدة جدًّا، إلا أنه ينقصها عنصر مهم وهو أنها لا تدعم – عمليًّا - نظام أسماء النطاقات Domain name system‏ (DNS)، وهو ما يعني أن المستخدم لن يكون بإمكانه ترجمة اسم نطاق، academy.hsoub.com مثلًا، إلى عنوان IP. يُلجَأ في هذه الحالة إلى خادوم DHCP عديم الحالة (Stateless DHCP)، وهي وظيفة يوفرها الموجِّه. لا يوفّر خادوم DHCP عديم الحالة للأجهزة الطرفية سوى المعلومات التي تنقصها، مثل عنوان خادوم DNS الذي يجب عليها الاتصال به لترجمة النطاقات، ولا يُسنِد لها عناوين IP كما يفعل خادوم DHCP اعتيادي. ترجمة – وبتصرّف – للمقال Stateless Autoconfiguration
  4. ترويسة رزم IP في الإصدار السادس يوضح الشكل التالي – الذي تطرقنا له في درس سابق من السلسلة - ترويسة الرزمة في الإصدار الرابع من بروتوكول IP. نعيد التذكير بترويسة الرزمة هنا لأن بعضًا من الحقول الموجودة في الترويسة تغيرت في الإصدار السادس، بينما بقيت حقول أخرى على حالها. في ما يلي مُجمَل لحقول ترويسة رزم الإصدار الرابع التي حصلت عليها تغييرات: الإصدار (Version): أصبح 6 بدلًا من 4. نوعية الخدمة (ToS اختصار لـ Type of service): حقل يتعلق بجودة الخدمة، وبالتالي سنحتاجه وإن كان حصل عليه تغيير كما سنرى لاحقا. زمن بقاء الرزمة "على قيد الحياة" (Time to Live أو TTL اختصارا): صُمِّم في الأصل لتكون قيمته عددًا من الثواني، إلا أنه في الواقع لم يُستخدَم قط على ذلك النحو، بل استخدِم ليحوي عدد القفزات (Hope count)، أي عدد الموجِّهات التي تمر عليها الرزمة. أعيدت تسمية هذا الحقل لتتطابق مع عمله (Hope limit، حدّ القفزات). مجموع التحقق (Check sum): حذف هذا الحقل نهائيَّا من ترويسة البروتوكول نظرًا لأنه يأخذ وقتًا، ونظرًا لوجود آلية مماثلة للتحقق وذات فاعلية أكبر على مستوى الطبقة الثانية. بالنسبة للإصدار السادس فالرزمة أصبحت على النحو الموضَّح في الشكل التالي. عُدِّل اسم الحقل "نوعية الخدمة" ليصبح "صنف البيانات المحمولة" (Traffic class)، ويعرِّف تلك البيانات بغرض تصنيفها. يمكِّن التصنيف من إعطاء الأولوية لصنف معيَّن – فيديو مثلًا – على آخر، أي أننا نميّز بين أنواع البيانات المنقولة. يوجد إلى جانب نوعية الخدمة حقل جديد يُسمَّى "لصيقة التدفق" (Flow label). التدفق هو حركة بيانات باتجاه واحد، أي أنه يمكن أن يكون لدينا تدفق من الموجِّه A إلى الموجّه B، وآخر من B إلى A. يتيح هذا الحقل تنفيذ إجراءات محدَّدة على تدفق مخصوص. طول الحمولة (Payload length): المقصود بالحمولة هو ما تنقله الرزمة، وهو كل ما يتعلق بالطبقات العليا من نموذج OSI (فوق الطبقة الثالثة). يمكن ملاحظة أنه لا توجد لدينا معلومات عن طول الترويسة، عكس ما يوجد في ترويسة الإصدار الرابع. يعود السبب في ذلك إلى أن طول الترويسة لا يتغير، وبالتالي نركّز على ما تحمله الرزمة. يشبه حقل "الترويسة الموالية" (Next header) حقل البروتوكول في IPv4، ويشير إلى البروتوكول الذي نحن بصدد نزع الغلاف عن رزمته (Decapsulation). الحقل "حدّ القفزات" (Hope limit) هو إعادة تصميم للحقل TTL ليوافق طريقة استخدامه الفعلية. يحوي الحقلان "المصدر" (Source) و"الوِجهة" (Destination) عنوانيْ IPv6 الخاصين بمرسل الرزمة ومستقبلها على التوالي. يبلغ طول كل من الحقلين 128 بتًّا، بطول عناوين IPv6. تأتي بعد الحقول الأساسية التي توجد في الترويسات جميعها مجموعة حقول أخرى ذات طول متغيّر تُعرَف بالمعلومات الإضافية للترويسة، وتتضمن ميزات، وخدمات وعناصر أخرى. لا تحوي الترويسة هذه الحقول إلّا في حالة الحاجة إليها. على سبيل المثال، تأمين بروتوكول الإنترنت IPSec. يبلغ طول الترويسة الأساسية – بدون حقول المعلومات الإضافية – 40 بايتا، إلا أن طول الترويسة الكلّي يختلف حسب الحقول الاختيارية. يأتي بعد الترويسة الحقل الخاص ببيانات الرزمة (Data portion). يحوي هذا الحقل كل ما يتعلق بالطبقات العليا وبتجميعة TCP/IP من بيانات. نلفت الانتباه إلى أن حجم بيانات الرزمة مُحدَّد في الحقل "طول الحمولة" الذي تحدثنا عنه أعلاه. ICMPv6 سنركّز في هذا الجزء من الدرس على حقل "الترويسة الموالية". قلنا إن هذا الحقل يشير إلى بروتوكول الطبقة العليا الموالية، وفي أغلب الحالات يكون واحدًا من البروتوكولات TCP، أو UDP، أو ICMP. يستخدم بروتوكول IP في الإصدار الرابع المعرِّف 1 لبروتوكول ICMP. يختلف ICMP عن بروتوكولات النقل – TCP وUDP – في كونه لا يُستخدَم لاستقبال البيانات أو إرسالها، بل يُستخدَم أساسًا لنقل رسائل الأخطاء والتحكم. توجد الكثير من الأمور التي يقوم بها بروتوكول ICMP. مثلًا عند استخدام الأمر ping لاختبار الاتصال يجيب بروتوكول ICMP برسائل مثل echo للدلالة على وجود اتصال، وunreacheable (لا يُمكن الوصول إليه) التي تدل على عدم إمكانية إرسال الرزم إلى الوجهة، وtime excedeed (تجاوز الوقت) عندما تصبح قيمة الحقل TTL مساوية للصفر. لا يقتصر الأمر على الأمر ping، إذ توجد رسائل إعادة التوجيه في ICMP التي تمكّن من إعادة توجيه الرزم إلى موجِّه أنسب من الذي وُجِّهت إليه. يأخذ بروتوكول ICMP في الإصدار الجديد الذي قدم مع الإصدار السادس من IP المعرِّف 58 (بدلا من 1 في IPv4)، وهو ما يعني أنه عندما تكون قيمة حقل الترويسة الموالية تساوي 58 فهذا يعني أن بروتوكول الطبقة الثالثة المُستخدَم هو ICMPv6، وأن الرزمة تحمل معلومات عامة تفيد في تشخيص حالة الاتصال. أضيفت إمكانيّات جديدة لإصدار بروتوكول ICMP في الإصدار السادس مثل اكتشاف الموجِّهات والجوار. يتولى ICMPv6 المسؤولية عن آليات استكشاف الشبكة في بروتوكول IPv6. استكشاف الجوار يعتمد فهمُ عمل الإصدار السادس من بروتوكول IP كثيرًا على فهم آلية استكشاف الجوار (Neighbor discovery). يُستكشَف الجوار ببروتوكول ICMPv6 والبث المتعدّد في شبكات IPv6، ويتضمن العمليات التالية : تحديد عنوان الرابط المحلي الخاص بجهاز مجاور، العثور على الموجِّهات المجاورة، الاستعلام عن العناوين المتكررة. تجدر الإشارة إلى أنه لا وجود لبروتوكول ARP في IPv6، إلا أننا ما زلنا في حاجة إلى المهام التي يؤديها في شبكات IPv4، واستكشاف الجوار ببروتوكول ICMPv6 هو الإجابة على تلك الحاجة. لا يعني عدم وجود ARP أن عناوين MAC غير مُستخدَمة في IPv6، بل إن عدم وجود ARP هو ما أدى إلى نقل مهمة الربط بين عناوين MAC وعناوين IPv6 إلى بروتوكول ICMPv6 عن طريق آليات استكشاف الجوار. يساعد بروتوكول ICMPv6 في التحقق من عناوين بطاقات الشبكة المُسنَدة ذاتيا عبر صيغة EUI-64، وتصديق عناوين الربط المحلي عبر التأكد من أن هذه العناوين فريدة على مستوى الشبكة. تدخل تلك الأمور كلها في إطار استكشاف الجوار. ترجمة – وبتصرّف – للمقال The IPv6 Pakcet Header. ICMPv6 and Neighbor Discovery (ND)
  5. تزيد طرق توزيع العناوين في الإصدار السادس من بروتوكول IP عن الإصدار الرابع. يمكن إسناد العناوين يدويًّا مثل ما يُفعَل في الإصدار الرابع، كما يمكن استخدام صيغة EUI-64 التي ناقشناها في الدرس السابق. أي أنه ما زال بإمكاننا استخدام الإسناد اليدوي، لكن أضيفت إليه إمكانية توليد عنوان بطاقة الشبكة تلقائيًّا بالاعتماد على عنوان MAC وصيغة EUI-64. يضيف بروتوكول IPv6 آلية الضبط الذاتي عديم الحالة (Stateless autoconfiguration)، وهي طريقة ضبط آلية تُستكشَف عن طريقها العناوين التي يمكن استخدامها، وذلك بالتواصل مع الموجِّه ثم - بالاعتماد على المعطيات الواردة منه - توليد عنوان IP تلقائيّا. توجد آلية ضبط أخرى تُسمّى الضبط الذاتي ذا الحالة (Stateful autoconfiguration)، ويمثلها خادوم DHCP. أساسيات الاتصال في IPv6 عند ضبط إعدادات بروتوكول IPv4 على الموجّه فإنه يمكننا الذهاب إلى بطاقة شبكة وإسناد عنوان IP لها، دون أن نحتاج لتهيئتها قبل ذلك، والسبب هو أن تجميعة البروتوكول مفعَّلة مبدئيّا. الأمر مختلف مع الإصدار السادس، فهو بروتوكول جديد ولا يأتي مفعّلًا على الموجِّهات. لذا، فإن أول ما ينبغي عمله إذا أردنا استخدام الإصدار السادس هو تنفيذ الأمر التالي : router(config)#ipv6 unicast-routing نحصل بتنفيذ هذا الأمر على الكثير من الأمور مثل قابلية توجيه عناوين البث الأحادي في IPv6، وإمكانية إسناد عناوين IPv6 إلى بطاقات الشبكة. الخطوة الموالية هي الذهاب إلى بطاقة شبكة ثم تنفيذ الأمر ipv6 address : router(config-if)#ipv6 address ipv6-address/ipv6-length [eui-64] يُستخدَم الأمر ipv6 address لضبط إعدادات الإصدار السادس من بروتوكول IP. نمرّر للأمر عنوان IP، إما بصيغته المختصرة أو بصيغة طويلة، وفي كلتا الحالتين سيتعرَّف عليه الأمر. إنْ أردنا استخدام صيغة EUI-64 لعناوين بطاقة الشبكة فلن نحدِّد العنوان بجميع بتاته (128 بتّا)، بل معرِّف الشبكة فقط (64 بتا الأولى على اليسار)، مثلًا 2001:DB8:C18:1::/64، ثم نضيف في الأخير eui-64 للدلالة على أننا نريد استخدام الصيغة EUI-64 لعنوان المضيف. نستخدم الأمر show ipv6 interface لعرض إعدادات IPv6 الخاصة بالبطاقة. R4#show ipv6 interface ethernet 0/1 Ethernet0/1 is up, line protocol is up IPv6 is enabled, link-local address is FE80::A8BB:CCFF:FE01:3A10 Global unicast address(es): 2001:DB8:C18:1:A8BB:CCFF:FE01:3A10, subnet is 2001:DB8:C18:1::/64 [EUI] Joined group address(es): FF02::1 FF02::2 FF02::1:FF01:3A10 MTU is 1500 bytes يمكن عرض المعلومات مختصرةً بالأمر show IPv6 interface brief، إلا أن الأمر أعلاه يمكّننا من رؤية العنوان وإظهار معرِّف البطاقة بصيغة EUI-64، حيث يظهر الجزء FF:FE في وسطه. منحنا إذن عنوانًا من الطبقة الثالثة (IP) لبطاقة الشبكة، وهذه هي الخطوة الأولى في تعيين مجال توجيه. نبدأ بإسناد عناوين IP إلى مجموعة من بطاقات الشبكة، ثم بعد ذلك تفعيل توجيه IPv6، وربما نصل إلى إعدادات بروتوكول OSPFv3 (الإصدار الثالث من OSPF) للإعلان عن الشبكات الفرعية التي نسندها للبطاقات. مثال على ضبط IPv6 في ما يلي مثال مناسب لتوضيح الإسناد اليدوي لعناوين IP في الإصدار السادس. لدينا مقر رئيس (Headquarter أو HQ) تتصل بها فروع (Branches). لاحظ العناوين المختصرة. عنوان المضيف بالنسبة للمقر الرئيس هو 2، وبالنسبة للفرع هو 1، إلا أن معرِّفَيْ الشبكة – 64 بتّا الأولى على اليسار – متطابقان، أي أننا في الشبكة الفرعيّة ذاتها. لا ننسى أنه بدون تفعيل بروتوكول IPv6 على الموجهات – عبر الأمر ipv6 unicast-routing - فلن نتمكن من استخدام الإصدار السادس من البروتوكول. ipv6 unicast-routing ! interface GigabitEthernet0/1 ipv6 address 2001:DB8:D1A5:C900::1/64 ipv6 unicast-routing ! interface GigabitEthernet0/1 ipv6 address 2001:DB8:D1A5:C900::2/64 فلننظر في مُخرجات الأمر show ipv6 interface GigabitEthernet 0/1. نلاحظ بطاقة شبكة نشطة (up/up)، وعنوان الرابط المحلي الذي يبدأ بـ FE80. Branch#show ipv6 interface GigabitEthernet 0/1 GigabitEthernet0/1 is up, line protocol is up IPv6 is enabled, link-local address is FE80::FE90:47FF:FEE5:2599 No Virtual link-local address(es): Description: Link to HQ Global unicast address(es): 2001:DB8:D1A5:C900::1, subnet is 2001:DB8:D1A5:C900::/64 يمكن ملاحظة وجود FE:FE في عنوان الرابط المحلي، بمعنى أن بطاقة الشبكة استخدمت صيغة EUI-64 لإسناد عنوان ذاتي لها. نجد في السطر الأخير من المخرجات أعلاه عنوان بث أحادي عمومي بدايته 2001، والجزء الأخير منه ‎::1، كما يظهر عنوان الشبكة الفرعيّة (‎2001:DB8:D1A5:C900::/64). يمكن التأكد من وجود الاتصال بين الموجِّهيْن بالأمر ping: Branch#ping 2001:DB8:D1A5:C900::2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:D1A5:C900::2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/%), round-trip min/avg/max = 0/0/4 ms لا ننسى كذلك وجود الأوامر الأخرى مثل traceroute وtelnet التي تعمل على التحقق من الاتصال بعناوين الإصدار السادس من بروتوكول IP بنفس الطريقة التي تعمل بها مع عناوين الإصدار الرابع. ترجمة – وبتصرّف – للمقال IPv6 Connectivity.
  6. توجد أنواع عدة من عناوين IP في الإصدار السادس، مثل ما هي الحال في الإصدار الرابع. سنرى – قبل أن ندخل في التفاصيل – أنواع العناوين التي يتوفر عليها الإصدار السادس من بروتوكول IP. أنواع عناوين IP في الإصدار السادس من البروتوكول في ما يلي قائمة بأنواع العناوين في IPv6. عناوين البث الأحادي (Unicast) يخص العنوان بطاقة شبكة وحيدة، يدعم الإصدار السادس أنواعًا عدة من البث الأحادي (عمومي، محجوز، رابط محلي). عناوين البث المتعدد (Multicast) تُرسَل الرزم من عنوان واحد إلى مجموعة من العناوين، يمكِّن من استخدام الشبكة على نحو أكثر فعالية، يستخدم مجالًا واسعًا من العناوين. البث الاختياري (Anycast) من عنوان واحد إلى العنوان الأقرب (يُحدَّد من مجال عناوين البث الأحادي)، تتشارك أجهزة عدة العنوان نفسه، يجب أن توفر الأجهزة المتشاركة في البث خدمة متجانسة، تُرسَل الرزم من الوِجهة إلى عناوين البث، يقرر الموجِّه الجهاز الأقرب للوصول إلى الوِجهة، مناسب لتوزيع الحمل (Load balancing) وخدمات توصيل المحتوى (Content delivery). يمكن ملاحظة أن البث الإذاعي (Broadcast) غائب عن العناوين المذكورة أعلاه، والسبب أن IPv6 لا يخصص أي مجال من العناوين لهذا النوع من الإرسال. يعني هذا أن الأجهزة التي كانت تعتمد في إرسالها على البث الإذاعي في الإصدار الرابع يجب أن تنتقل لاستخدام البث المتعدد الذي يتيح استخدامًا أكثر فعالية للموارد. سنناقش في ما يلي خصوصيات العناوين في الإصدار السادس من ناحية طريقة الإرسال المستخدَمة. البث الأحادي لا يختلف البث الأحادي كثيرًا عمّا كان عليه الحال في الإصدار الرابع، فالاتصال يتم بين بطاقتيْ شبكة محدَّدتيْن، تنتقل الرزمة من إحداهما (المصدر) باتجاه الأخرى (الوِجهة). تُحجَز للبث الأحادي عناوين مُخصَّصة. البث المتعدد بالنسبة للبث المتعدّد فالجديد هو أنه أصبح أسهل. لم يُصمَّم الإصدار الرابع في الأساس لإتاحة البث المتعدّد، إلا أنه أضيف لاحقًا، وهو ما يعني أنه لم يكن متناسقًا تمامًا مع عمل البروتوكول. حرص الإصدار السادس على أخذ البث المتعدّد في الحسبان من الوهلة الأولى. يمكن أخذ مثال بث فيديو إلى المشتركين عبر التلفاز. تنتقل إلى القناة الخامسة فيعرف مزوِّد الخدمة بذلك ويبدأ بإرسال محتوى تلك القناة إلى تلفازك، في حين أن جارك في المبنى يتلقى محتوى قناة أخرى. يفهم المزوِّد من خلال فتحك للقناة أنك تريد عرض محتواها فيضيف عنوان IP الخاص بك إلى مجموعة البث المتعدّد التي تستقبل بث القناة. البث الاختياري لا يعمل البث الاختياري في الإصدار السادس عبر عناوين محجوزة سلفا، بل يستخدم عنوانًا مختارًا من عناوين البث الأحادي. تكمن خصوصية البث الاختياري في طريقة استخدام العنوان. يعمل البث الاختياري على انتقاء الوِجهة (بطاقة شبكة) الأقرب إلى مصدر الرزمة، من بين وجهات عدة تحمل العنوان نفسه. يُستخدَم البث الاختياري – مثلًا – لتحديد خادوم أسماء النطاقات (DNS Server) الأقرب أو الأكثر كفاءة ليجيب على استعلامات المستخدم دون الحاجة للاتصال بخواديم بعيدة. عناوين البث الأحادي في الإصدار السادس من بروتوكول IP يعرِّف عنوان البث الأحادي بطاقة شبكة فريدة، هي من يتلقى الرزم المُرسَلة إلى ذلك العنوان. يجب أن تحمل الرزم المُرسَلة في عنوان المصدر عنوان بث أحادي، مثل ما هي الحال في الإصدار الرابع. توجد أقسام عدة من عناوين البث الأحادي: عنوان البث الأحادي العمومي (Global unicast): عنوان IP صالح للتوجيه على شبكة الإنترنت. يشبه العنوان العمومي في الإصدار الرابع. عنوان الرابط المحلي (Link-local): لا يختص هذا النوع من العناوين – الذي يُستخدَم فقط للتواصل عبر الرابط بين بطاقتي شبكة - بالإصدار السادس، بل إنه موجود في الإصدار الرابع ويستخدم الشبكة الفرعية 169.254.0.0/16. لا يمكن للرزم التي تحمل هذا العنوان عبور الموجِّه. تحصل جميع بطاقات الشبكة المُفعَّلة العاملة بالإصدار السادس على عنوان رابط محلي، عكس ما يحصل في الإصدار الرابع الذي لا يظهر فيه عنوان الرابط المحلي – غالبًا- إلا إذا لم تتوفر بطاقة الشبكة على عنوان آخر. عنوان الاسترجاع (Loopback): عنوان غير مُسنَد لأي بطاقة شبكة. يمكن للجهاز استخدامه لإرسال رزم إلى نفسه. العنوان غير المُحدَّد (Unspecified address): يُستخدَم فقط في خانة العنوان المصدر في الرزمة، ويشير إلى عدم توفر عنوان IP من الإصدار السادس. العنوان الفريد المحلي (Unique local): صالح للتوجيه داخل الشبكة المحلية. يشبه العنوان الخاص في شبكات IPv4. عنوان IPv4 مُضمَّن (Embedded IPv4): عنوان IP من الإصدار السادس يحمل بداخله (في ال 32 بتًّا الأخيرة) عنوان IP من الإصدار الرابع. صيغة عناوين الشبكة تُقسَّم بتّات عناوين الإصدار السادس من بروتوكول IP - التي يبلغ طولها 128 بتًّا - على جزئين طول كل منهما 64 بتّا. تُخصَّص البتات الأربع والستين الأولى على اليسار لعنوان الشبكة، والبقيّة (64 بتًّا على اليمين) لعنوان بطاقة الشبكة (المضيف). تُقسَّم عناوين الشبكة عمومًا إلى جزئيْن هما بادئة التوجيه (Routing prefix)، ومعرِّف الشبكة الفرعية. بادئة التوجيه هو عدد عشري يمثّل عدد البتات (على اليسار) التي تعرف الشبكة. ويشبه من هذا المنطلق قناع الشبكة في عناوين الإصدار الرابع. تُكتَب عناوين شبكات IPv6 بالصيغة firstAddress/prefix حيث firstAddress تمثل أول عنوان في الشبكة، وprefix بادئة التوجيه، وهي عدد البتات المشتركة بين عناوين الشبكة. على سبيل المثال، تشير الشبكة ‎2001:db8:1234::/48 إلى أن البتات الثمانية والأربعين الأولى – أي ‎ 2001:db8:1234- مشتركة بين عناوين الشبكة، وهو ما يعني أنها تشمل مجال العناوين الذي يبدأ بالعنوان ‎2001:db8:1234:0000:0000:0000:0000:0000 (يمكن اختصاره إلى ‎2001:db8:1234:‎:‎) وينتهي بالعنوان ‎2001:db8:1234:ffff:ffff:ffff:ffff:ffff. يمكن أن تُستخدَم بادئة التوجيه كذلك لتحديد مجال من عناوين IPv6 دون أن يكون بالضرورة معرِّفًا لشبكة. مثلًا العنوان ‎2031::/5 يشير إلى مجال العناوين الذي يبدأ بالعنوان ‎2031:0000:0000:0000:0000:0000:0000:0000 (أو ‎2031::‎ اختصارا) وينتهي بالعنوان 27ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff‎. تتمثل طريقة حساب مجال العناوين في أخذ العنوان المبدئي (2031‎::‎) وكتابته بنظام العد الثنائي، ثم تثبيت عدد البتات في بادئة التوجيه (‎/5) على الجانب الأيسر، وإكمال بقية البتات بالقيمة الثنائية 1 لنحصُل على العنوان الأخير من المجال. معرف الشبكة الفرعية وهو البتات التي تلي بادئة التوجيه، فإذا كانت بادئة الشبكة تحوي 48 بتًّا، فإن معرِّف الشبكة سيحوي 16 بتًّا (64-48). يعني هذا أنه كلما نقصت قيمة بادئة التوجيه زاد عدد الشبكات الفرعية ضمن الشبكة. عنوان البث الأحادي العمومي عنوان البث العمومي هو – كما أسلفنا – عنوان صالح للاستخدام في شبكة الإنترنت. تتولى هيئة تعيين أرقام الإنترنت IANA (اختصار لـ Internet Assigned Numbers Authority) إدارة عناوين بروتوكول IP وتوزيعها بين الفاعلين على مستوى العالم. تتبع المنظمة سياسة عامة تتمثل في منح شبكات من عناوين IPv6 إلى منظمات فرعية تابعة لها تعمل على مناطق جغرافية (قارات أو مجموعة من الدول)، ثم تتولى المنظمات الفرعية توزيع العناوين داخل شبكاتها على الفاعلين الخاضعين لها. يمكن للمنظمات الفرعية أن تتبع سياسة خاصة بها في توزيع العناوين الممنوحة لها، ولكن السياسة المتبعة عموما هي كالتالي: تُعرِّف أول 12 بت على اليسار المنظَّمة الفرعية (Registry)، تليها 20 بتًّا (أي إلى غاية 32 بتًّا بدْءًا من اليسار) تعرِّف مزود الخدمة (Internet service provider, ISP)، ثم تأتي 16 بتًّا (أي إلى غاية 48 بتًّا بدْءًا من اليسار) لتعريف الموقع (Site) داخل شبكة مزود الخدمة، ثم يأتي بعد ذلك معرِّف الشبكة الفرعية (Subnet) على طول 16 بتّا. يمكن أن نلاحظ أن المجموع يساوي 64 بتًّا، وهي طول معرِّف الشبكة في IPv6. بدأ توزيع عناوين IPv6 في العام 2001، واختير المجال ‎2000::/3 ليكون مجال عناوين البث الأحادي العمومية، واختارت الهيئة أن تكون العناوين الأولى المُوزَّعة تبدأ بالعدد السداسي العشري 2001. مُنِحت المجموعات الأولى من عناوين IPv6 إلى المنظمات الفرعية التابعة للهيئة. تتولى هذه المنظمات الفرعية بدورها توزيع عناوين IP على مزوِّدي الخدمات في المناطاق التابعة لها. مجالات العناوين حسب نوع العنوان يلخص الجدول التالي مجالات العناوين لأهم الأنواع في الإصدار IPv6. النوع البتات الأولى التمثيل السداسي العشري أحادي عمومي 001 ‎‏‎2000::/3 رابط محلي 10 1111‎ 1110 ‏FF80::/10 الفريد المحلي ‎1111 1100 ‏FFC0::/8 الفريد المحلي ‎1111 1101 ‏FFD0::/8 البث المتعدد ‎1111 1111 ‏FF00::/8 table { width: 100%; } thead { vertical-align: middle; text-align: center; } td, th { border: 1px solid #dddddd; text-align: right; padding: 8px; text-align: inherit; } tr:nth-child(even) { background-color: #dddddd; } كتابة عنوان بطاقة الشبكة تُستخدَم صيغة تُعرَف بصيغة EUI-64 (اختصار لـ Extended unique identiffiers، المعرِفات الفريدة المُمَدَّدة). تفترض هذه الصيغة معرِّفًا يبلغ طوله 64 بتًّا، وهو الطول الذي يمتد عليه عنوان بطاقة الشبكة في الإصدار السادس من بروتوكول IP. للحصول على معرف فريد لعنوان بطاقة الشبكة فإننا نعتمد على العنوان الفيزيائي للبطاقة (عنوان MAC) لتوليد الجزء الخاص بها من عنوان IPv6. يبلغ طول عنوان MAC‏ 48 بتًّا، وهو ما يعني وجود فرق بطول 16 بتًّا بين الاثنين، لذا نلجأ إلى إكمال عنوان MAC ليصبح بطول 64 بتًّا، وذلك على النحو التالي: تقسيم عنوان MAC إلى جزئين متساوييْن طول كل منهما 24 بتّا، إضافة القيمة السداسية العشرية FF:FE بينهما (16 بتّا)، عكس قيمة البت السابع من اليسار (إذا كانت قيمته 0 فإنها تصبح 1). نحصُل في النهاية على عنوان بطول 64 بتًّا هو عنوان بطاقة الشبكة. توضح الصورة أدناه عملية الانتقال من عنوان MAC إلى عنوان بصيغة EUI-64. تجدر الإشارة إلى أن هذه العملية تتم تلقائيا عند ربط جهاز يدعم الإصدار IPv6 بشبكة يُفعَّل عليها هذا الإصدار. ترجمة – وبتصرف – للمقال IPv6 Address Types
  7. cisco icnd1

    تسبب الانتشار الكبير للاتصال بالإنترنت في العقود الأخيرة لاستغلال واسع لعناوين IP العمومية، وهو ما جعل المتوفر منها لا يفي بالاستخدامات التي لا تفتأ تزداد. ظهرت خلال تلك السنوات الكثير من الحلول للتعامل مع تقلص العناوين المتاحة، فلجأت الشركات إلى التوجيه عديم الفئة بين المجالات CIDR (اختصار لـ Classless Inter-Domain Routing) وترجمة عناوين الشبكة (NAT)، وغيرها من الحلول. رغم ذلك ظلت المشكلة مطروحة وهو ما أدى إلى ظهور إصدار جديد يحمل الرقم 6 (IPv6)، بدلًا من الإصدار السابق ذي الرقم 4 (IPv4). استغرق الأمر وقتًا حتى يتعوّد مديرو الأنظمة ومطوِّرو التطبيقات على الحلول الترقيعية للقيود التي يفرضها IPv4، مثل المرور بخواديم وسيطة وترجمة عناوين الشبكة، بما في ذلك ترجمة عناوين المنافذ (PAT). مع الزمن أصبح الأمر مُعتادًا وسلسًا، إلا أن الوقت حان – بالنسبة للكثير من الشركات والمؤسسات – للانتقال من رؤية تحكمها فكرة الشبكة الخاصة والشبكة العمومية إلى نظرة أكثر شمولية. تنبني الفلسفة الجديدة على النظر إلى العناوين جميعها على أنها عامة، ما عدا عناوين محلية يُسنِدها الجهاز لنفسه، ويتعامل معها على أنها خاصة. يعني هذا أننا نتجه إلى طريقة عنونة أكثر شمولية يتمتع فيها كل جهاز بعنوان عام فريد وخاص به، ويصبح الاتصال بين طريفيْن أكثر مباشرة دون المرور على ترجمة عناوين الشبكة. ميزات الإصدار السادس كثرة العناوين المتاحة أول ما يتميز به الإصدار السادس هو العدد المهول من العناوين التي يمكن استخدامها. يبلغ طول عنوان IPv6‏ 128 بتًّا، بدلًا من 32 بتًّا التي هي طول عنوان IPv4. أي أن طول العنوان ازداد بـ 96 بتًّا؛ وهو ما يعني زيادة في الأعداد تبلغ 296 (للتقريب : تخيل 1 متبوعًا بتسعة وعشرينًا صفرًا على اليمين). المرونة الزيادة الكبيرة جدًّا في أعداد العناوين عامل مهم وأساسي وحاسم في الانتقال إلى الإصدار IPv6، إلا أنه ليس العامل الوحيد. يتيح الإصدار السادس مرونة كبيرة في التوجيه، وبالتالي تجميع المسارات (Route summation). يوفر الإصدار السادس إمكانية الاتصال بشبكات عدّة، والحصول على عنوان في كل منها. كما يتيح قابلية أكبر للتوصيل والتشغيل مباشرة (Plug-and-play). عرَّف الإصدار ترويسة البروتوكول بما يسمح للموجِّهات والعمود الفقري للشبكة من توجيه مليارات الرزم. الأمان بُنِي الإصدار السادس بأخذ حزمة بروتوكول الإنترنت الأمنية (IPSec) في الحسبان. قابلية التعايش مع الإصدار الرابع يُنظَر إلى الإصدار الرابع على أنه جزء من الماضي، إلّا أنه حاضر منذ مدة طويلة وسيظل موجودًا لسنوات قادمة، وسيحتاج التخلص منه وقتًا ليس بالقصير. أخذ هذا الأمر في الحسبان عند تصميم الإصدار السادس، مما يسمح ببناء إستراتيجيات انتقال طويلة الأمد، يتعايش فيها الإصداران. عناوين الإصدار السادس من بروتوكول IP أول مهارة يجب على المتقدِّم للشهادة تحصيلها عندما يتعلق الأمر بالإصدار السادس هي التعرف على العنوان وصيغته. قلنا سابقًا إن العنوان يتكون من 128 بتّا. في ما يلي أمثلة على الكتابة المُنقَّطة لعناوين الإصدار السادس : 2031:0000:130F:0000:0000:09C0:876A:130B FF01:0000:0000:0000:0000:0000:0000:0001 0000:0000:0000:0000:0000:0000:0000:0001 0000:0000:0000:0000:0000:0000:0000:0000 يمكننا ملاحظة أن الكتابة المُنقَّطة لعناوين الإصدار السادس تستخدم نظام العد السداسي العشريّ، لذا نجد الأرقام من 0 إلى 9، ثم الأحرف من A إلى F. يتكوَّن العنوان من ثمانية حقول، كل حقل به أربع قيم سداسية عشرية، أي أن كل حقل يمثل 16 بتًّا (القيمة السداسية العشرية تمثل أربع بتّات). يُفصَل بين الحقول بنقطتيْن عموديّتيْن (:). ثمانية حقول من 16 بتًّا تكوِّن العنوان الذي يحوي 128 بتّا. نرى على الفور أن العنوان صعبُ التذكر والقراءة. أصعب بكثير من الإصدار الرابع، لذا توجد حيل لجعل قراءة عناوين الإصدار السادس أسهل. الحيلة الأولى هي الاستغناء عن الأصفار الأولى على اليسار من كل حقل. تصبح الأمثلة السابقة على النحو التالي: 2031:0:130F:0:0:9C0:876A:130B FF01:0:0:0:0:0:0:1 0:0:0:0:0:0:0:1 0:0:0:0:0:0:0:0 ننظر في كل حقل، وإذا وجدنا صفرًا في بدايته (من اليسار) نحذفه، فإذا كانت القيمة الموالية صفرًا نحذفه كذلك. يمكن حذف الأصفار الثلاثة الأولى، إلا أنه لا يمكننا حذف أربعة أصفار. يجب أن توجد قيمة في الحقل. يمكن ملاحظة أن لدينا حقولًا متتابعة بالقيمة صفر. يمكننا اختصارها كذلك. القاعدة الثانية للحصول على اختصار صالح لعنوان IP من الإصدار السادس هي تكرار نقطتيْن عموديتيْن (نحصُل على العلامة::) وإحلالهما مكان الحقول المتتابعة ذات القيمة صفر. إذا طبّقنا هذه القاعدة على الأمثلة السابقة تصبح على النحو التالي: 2031:0:130F::9C0:876A:130B FF01::1 ::1 :: ترجمة – وبتصرّف – للمقال The IPv6 Address
  8. cisco icnd1

    توجد أنواع كثيرة من لوائح التحكّم في الوصول، إذ توجد لوائح لبروتوكول IP الإصدار الرابع (IPv4)، وأخرى للإصدار السادس (IPv6)، وتتخصّص لوائح أخرى في بروتوكولات خاصّة مثل IPX (اختصار لـ Internetwork Packet Exchange، تبادل الرزم بين الشبكات) المستخدَم في شبكات Novell، وبروتوكول AppleTalk الذي كان مستخدَمًا في أجهزة ماكنتوش. سنركِّز أولًّا على الإصدار الرابع من IP، ثم نتحدَّث في دروس لاحقة عن الإصدار السادس. اللوائح المعيارية واللوائح المُوسَّعة تُقسَّم لوائح التحكم في الوصول بالنسبة للإصدار الرابع من IP - حسب الوظائف التي توفّرها - إلى قسميْن: اللوائح المعيارية Standard ACL: تتحقّق من مصدر الرزمة التي نريد توجيهها. تمكّن اللوائح المعيارية من قبول أو منع مرور بيانات تجميعة بروتوكولات (Protocols suite) كاملة إلى الخارج، بناءً على المصدر، سواء كان شبكة، أو شبكة فرعيّة، أو مضيفا. اللوائح المُوسَّعةExtended ACL: تتحقّق من مصدر الرزمة وكذلك وجهتها. ويمكنها التحقّق من بروتوكل محدَّد، أو أرقام المنافذ، أو وسائط أخرى؛ ممّا يمنح مدير الشبكة مرونةً أكثر في التحكم في حركة البيانات. لا يمكن للوائح التحكم في الوصول المعيارية النظر في وِجهة الرزم، وهو ما يمثٍّل قيدًا يقلّل من أهميّتها في كثير من الحالات. كما أنها لا تتعامل مع البروتوكولات العاملة على مستوى طبقة النقل (Transport layer) وطبقة التطبيق (Application layer). على العكس من لوائح التحكم المعيارية، تسمح لوائح التحكم المُوسَّعة بالتحقق من مصدر الرزمة، ووجهتها؛ وتسمح كذلك بالنظر في طبقتيْ النقل (TCP أو UDP) والتطبيق (HTTP، ‏FTP،‏ ‏DNS وغيرها). توجد طريقتان لاستخدام لوائح التحكم في الوصول : لوائح التحكم في الوصول المُرقَّمة (Numbered ACLs)، وتعتمد على الأرقام لتعريف اللوائح، لوائح التحكم في الوصول المُسمَّاة (Named ACLs)، وتستخدم أسماء لتعريف اللوائح. تُعرَّف لوائح التحكم المُرقَّمة بمُعرِّفات في المجالات من 1 إلى 99، ومن 1300 إلى 1999 بالنسبة للوائح المعيارية، ومن 100 إلى 199، ومن 2000 إلى 2699 بالنسبة للوائح المُوسَّعة. بالنسبة للمعرّفات في المجاليْن [1300-1999] و[2000-2699] فهي قليلة الاستخدام. أضيفت إمكانية تسميّة لوائح التحكم في الوصول إلى أجهزة Cisco قبل أكثر من عقد من الزمن بعد سنوات طويلة من الاقتصار على استخدام الأرقام لتعريف اللوائح. تمكِّن تسمية لوائح التحكم من تعريفها بوصف واضح يساعد في معرفة وظيفة اللائحة. إضافةً إلى ذلك، من السهل تعديل لوائح التحكّم المُسمَّاة بإضافة مُدخلات جديدة أو حذف تلك الموجودة. اللوائح المعيارية ذكرنا سابقًا أن اللوائح المعيارية لا تتحقّق إلّا من مصدر الرزمة. يعني هذا أنها لن تهتمّ بترويسة الإطار (Frame header) التي يستخدمها بروتوكول الطبقة الثانية (طبقة وصل البيانات، مثل Ethernet) وستنظُر مباشرة إلى ترويسة رزمة IP‏ (Packet header) وتتحقّق من الرزمة بناءً على هذه المعلومة فقط. أي أن لوائح التحكم المعياريّة لن تصل إلى طبقة النقل. ملحوظة : يُرجى الانتباه إلى أن لوائح التحكم في الوصول لا تصل إلى البيانات التي تحملها الرزمة، وستحتاج إلى وظائف متقدّمة في الجدار الناري ليمكنك ذلك. نأتي الآن إلى كيفية كتابة التعليمات لضبط لوائح التحكم في الوصول على أجهزة Cisco. يجب علينا أولًّا أن نعلم أن إعداد لوائح التحكم في الوصول يتم على مستوى وضع الضبط العامّ (Global configuration). نستخدم الأمر access-list ثم نحدِّد معرّفًا للائحة. بما أننّا نريد إعداد لوائح معياريّة فسيكون معرِّف اللائحة بين 1 و99. يتعرَّف الموجِّه تلقائيًّا على نوعية اللائحة انطلاقًا من المعرِّف الذي نمرّره للأمر access-list. يتيح استخدام علامة الاستفهام ? بعد كتابة الأمر عرض إرشادات حول صيغة الأمر. إذا كتبنا مثلاً الرقم 101 بعد الأمر access-list ثم علامة الاستفهام ? فإنّ الموجِّه سيعرض صيغة اللوائح الموسَّعة. لذا يجب الانتباه إلى معرِّفات اللوائح. يأتي بعد معرِّف اللائحة الإجراءُ الذي نريد تطبيقه (القبول permit أو المنع deny). يمكن كذلك وضع ملاحظة (remark)، وهي وصف لللائحة. وفي الأخير نمرّر العنوان وقناع محرف البدل. نلاحظ في المثال أدناه أننا نطلب المساعدة بعلامة الاستفهام بعد كل جزء من الأمر. تشير <cr> إلى زرّ الإدخال (Enter). R0(config)# R0(config)# access-list 1 ? deny Specify packets to reject permit Specify packets to forward remark Access list entry comment R0(config)# access-list 1 permit ? Hostname or A.B.C.D Address to match any Any source host host A single host address R0(config)# access-list 1 permit 192.168.2.0 ? /nn or A.B.C.D Wildcard bits log Log matches against this entry <cr> R0(config)# access-list 1 permit 192.168.2.0 0.0.0.255 ? log Log matches against this entry <cr> R0(config)# access-list 1 permit 192.168.2.0 0.0.0.255 R0(config)# ينشئ الأمر ‎access-list 1 permit 192.168.2.0 0.0.0.255 أعلاه لائحة معيارية للتحكم في الوصول بها مُدخَل واحد يقبل البيانات القادمة من مجال العناوين 192.168.2.0 – 192.168.2.255، أي الشبكة 192.168.2.0/24‎. يمكن أن نضيف مُدخَلات (Entries) أخرى لللائحة نفسها بكتابة الأمر access-list 1 متبوعًا بالإجراء (permit أو deny) وعنوان وقناع محرف بدل. لا يوجد حدّ أقصى لعدد المُدخَلات في اللائحة الواحدة. بالنسبة للحدّ الأدنى فهو مُدخَل واحد بإجراء القبول. يمكن أن تتضمَّن لائحة الوصول مُدخَلًا وحيدًا بإجراء منع (deny)، إلّا أن ذلك غير مفيد عمليًّا نظرًا لأن السلوك المبدئي في لوائح التحكم في الوصول هو المنع. يُستخدَم الأمر show access-lists في وضع التفعيل لعرض لوائح التحكم في الوصول المضبوطة على الموجِّه. R1# show access-lists Standard IP access list 1 10 permit 192.168.2.0, wildcard bits 0.0.0.255 يعرض الأمر لوائح التحكّم في الوصول حسب أنواعها. في المثال السابق لدينا لائحة تحكّم معيارية واحدة لبروتوكول IP الإصدار الرابع (Standard IP access list). يظهر أمام مُدخَلات اللائحة عدد ترتيبي مُولَّد تلقائيًّا (10). إنْ أضفنا مُدخَلاً آخر فسيأخذ الرقم الترتيبي 20، وهكذا. الخطوة التالية هي تطبيق لائحة التحكّم على بطاقة شبكة لتفعيلها عليها. بالنسبة للوائح المعيارية فإنّها تُطبَّق على بطاقة شبكة الموجّه الأقرب إلى الوِجهة. فلنفترض مثلًا أن لدينا الشبكة التالية. إذا أردنا ضبط لائحة التحكّم لمنع البيانات القادمة من الجهاز ذي العنوان 192.168.2.101 (المصدر) في الشبكة الصفراء من الوصول إلى الجهاز ذي العنوان 192.168.1.100 (الوجهة) في الشبكة الخضراء فإنّ بطاقة الشبكة Fa0/1 هي الأقرب للوِجهة (192.168.1.100) وبالتالي فإن الموجِّه R0 وبالتحديد البطاقة Fa0/1 هو ما سنطبِّق عليه لائحة التحكم. يُستخدَم الأمر ip access-group لتفعيل لائحة التحكم على البطاقة، بعد الدخول في وضع إعدادها : R0(config)# access-list 1 deny 192.168.2.100 0.0.0.0 R0(config)# int fa0/1 R0(config-if)# ip access-group 1 out نمرِّر للأمر رقم لائحة التحكّم (1)، ثم أحد الوسيطيْن out أو in. نريد هنا التحكّم في البيانات الخارجة من البطاقة باتجاه الوِجهة (192.168.1.100)، وبالتالي نستخدم الوسيط out. اللوائح المُوسَّعة تختلف اللوائح المُوسَّعة عن المعيارية في درجة المرونة التي توفّرها، إذ يمكنها تطبيق إجراءات على مصدر الرزم، أو وجهتها، أو البروتوكول المستخدَم. كما يمكن الجمع بين تلك الوسائط (المصدر، والوجهة، والبروتوكول) في لائحة واحدة. access-list ACL_Identifier_number permit|deny IP_protocol source_address source_wildcard_mask [protocol_information] destination_address destination_wildcard_mask [protocol_information] [log] نمرّر للأمر معرٍّف اللائحة ( [100-199] بالنسبة لللوائح المُوسَّعة)، ثم الإجراء (permit أو deny)، ثم البروتوكول المستهدَف(IP_protocol)، ثم العنوان المصدر (source_address) وقناع المحرف المرافق له (source_wildcard_mask)، ثم بيانات البروتوكول إنْ تطلّب ذلك ([protocol_information])، نفس الشيء بالنسبة للوِجهة، ونحدِّد اختياريًّا إذا ما كنا نريد تسجيل (log) الرزم التي تُطبَّق عليها اللائحة. تُفعَّل لوائح التحكم المُوسَّعة على البطاقة والموجِّه الأقرب للمصدر الذي نريد تطبيق اللائحة عليه. إذا أردنا مثلًا أن نقبل مرور الرزم القادمة من المضيف 192.168.1.100‎ إلى الشبكة 192.168.2.0/24‎ فإننا نفعّل لائحة التحكم التالية على بطاقة الشبكة Fa0/1‎. R1(config)# access-list 100 permit ip 192.168.1.100 0.0.0.0 192.168.2.0 0.0.0.255 R1(config)# int fa0/1 R1(config-if)# ip access-group 100 in استخدام اللوائح المُسمَّاة تسمح موجِّهات Cisco بتسميّة لوائح التحكم في الوصول مما يمنح مرونة أكبر في إدارة مداخل اللوائح كما سنرى لاحقا. يُستخدَم الأمر ip access-list لإنشاء لائحة تحكّم مسمّاة، ونمرّر له نوع اللائحة (standard أو extended) ثم الاسم الذي نريد إعطاءه للائحة. يظهر بعد ذلك محثّ (Prompt) جديد نكتب فيه عمل اللائحة على نحو مشابه لللوائح المُرقَّمة. يمكننا حذف لائحة تحكّم بالوصول بتنفيذ الأمر no access-list في وضع الضبط العامّ متبوعًا برقم اللائحة، كما يمكن إبطال عمل اللائحة على بطاقة معيَّنة دون حذف اللائحة. نبطل في ما يلي عمل اللائحة 100 السابقة من بطاقة الشبكة Fa0/1‎ بالأمر no ip access-group ثم ننشئ لائحة بالاسم ACL1 ونطبّقها على البطاقة : R1(config-if)# no ip access-group 100 in R1(config-if)# R1# conf t R1(config)# ip access-list extended ACL1 R1(config-ext-nacl)# permit ip 192.168.1.100 0.0.0.0 192.168.2.0 0.0.0.255 R1(config-ext-nacl)# end R1# conf t R1(config)# ip access-group ACL1 in تعديل لوائح التحكم في الوصول فلنفترض أن لدينا لائحة تحكّم معيارية تتضمّن المُدخَليْن التاليّيْن : Router# show access-lists 1 Standard IP access list 1 10 deny host 192.168.1.2 20 permit 192.168.1.0, wildcard bits 0.0.0.255 تسمح هذه اللائحة للرزم القادمة من الشبكة 192.168.1.0/24 ما عدا تلك القادمة من المضيف ذي العنوان 192.168.1.2. إذا أضفنا مُدخَلًا جديدًا لمنع المضيف 192.168.1.200 فستُصبح اللائحة على النحو التالي : Router# show access-lists 1 Standard IP access list 1 10 deny host 192.168.1.2 20 permit 192.168.1.0, wildcard bits 0.0.0.255 30 deny host 192.168.1.200 إلّا أن المشكلة هنا هي أنّ لائحة التحكم لن تصل إلى المُدخَل الثالث نظرًا لكون المضيف 192.168.1.200 داخل في مطابقة العنوان 192.168.1.0 مع قناع محرف البدل 0.0.0.255 في المُدخَل الثاني. يعني هذا أننا نحتاج لنقل المُدخل الثالث ليكون قبل المُدخَل الثاني. لا تتيح تعليمات اللوائح المُرقَّمة (الأمر access-list) تعديل المُدخَلات بسهولة، إذ نحتاج لحذف المُدخَلات التي نريد ترتيبها ثم إضافتها بالترتيب الذي نريد، وهو ما يأخذ وقتًا، ويجعل عمل اللائحة ناقصًا خلال مدة التعديل. نلجأ لصيغة اللوائح المُسمَّاة لتعديل مُدخلات اللائحة، ونمرّر لها المعرِّف (رقم اللائحة أو اسمها)، ثم نمنح عددًا ترتيبيًّا للمُدخَل الذي نريد إضافته بحيث يحتلّ الموقع الذي نريده له. بالنسبة للمثال السابق نمنح المُدخَل العدد الترتيبي 15 على النحو التالي : Router(config)# ip access-list standard 1 Router(config-std-nacl)# 15 deny host 192.168.1.200 بالعودة إلى وضع التفعيل وعرض لائحة التحكم نجد النتيجة التالية : Router# show access-lists 1 Standard IP access list 1 10 deny host 192.168.1.2 15 deny host 192.168.1.200 20 permit 192.168.1.0, wildcard bits 0.0.0.255 يمكننا - إن إردنا – إعادة تنظيم الأعداد الترتيبيّة بتمرير الوسيط resequence ثم معرِّف اللائحة، ثم القيمة الابتدائيّة، ثم قيمة الخطوة (الفارق بين عدديْن ترتيبيّيْن) إلى الأمر ip access-list في وضع الضبط العام: Router(config)# ip access-list resequence 1 10 20 Router(config)# end Router# show access-lists 1 Standard IP access list 1 10 deny host 192.168.1.2 30 deny host 192.168.1.200 60 permit 192.168.1.0, wildcard bits 0.0.0.255 ترجمة – وبتصرّف – للمقال Types of Access Control Lists
  9. رأينا في الدرس السابق كيفية احتساب أقنعة محرف البدل وعرفنا كيف يمكن تحديد مجموعة من عناوين IP لنطبِّق عليها إجراءات لوائح التحكم في الوصول، أي قبول مرور البيانات أو رفضها. اعتمدنا في الدرس السابق على سيناريو سهل نوعًا ما، سنرى في هذا الدرس كيفيّة تعميم مبدأ مطابقة أقنعة محارف البدل للحصول على مجال من الشبكات الفرعية (Subnets) وليس فقط مجموعة عناوين IP من شبكة فرعية واحدة. توضِّح الصورة أدناه المثال الذي سنعتمد عليه للشرح. نريد أن يكون المجال الذي نعمل عليه يبدأ من الشبكة الفرعيّة ‎ 172.30.16.0/24 وينتهي بالشبكة الفرعيّة ‎172.30.31.0/24. يمكن أن ننشئ لائحة تحكّم في الوصول خاصة بكل شبكة فرعيّة، ولكن سيأخذ ذلك منا الكثير من الوقت لكتابة التعليمات، كما أن التعليمات ستأخذ الكثير من الأسطر. يمكننا أن نلاحظ أولًا أن المجال الذي نريد إنشاء قناع محرف بدل له يحوي 16 شبكةً فرعيّة (30-16=15، وباحتساب أن الشبكة الفرعيّة الأخيرة داخلة في المجال يصبح لدينا 16 شبكة فرعيّة). ثم نلاحظ بعد ذلك أن البايتين الأول والثاني مشترَكان بين بداية المجال ونهايته (‎172.30)، وهو ما يعني أننا نبحث عن مطابقة هذين البايتين، والمطابقة تعني استخدام ‎0 في القناع. عرفنا الآن أن ‎0.0 هما البايتان الأول والثاني من قناع محرف البدل. تبقّى لنا البايت الثالث والبايت الرابع. بالنسبة للبايت الرابع فهدفنا أن يحوي المجال عناوين الشبكة الفرعية كلها، وهو ما يمكننا الحصول عليه بجعل هذا البايت مكوَّنا من آحاد فقط، أي أن قيمته العشرية تساوي 255. يبقى البايت الأكثر تأثيرًا، وهو البايت الثالث (Third byte) الذي لا نريده أن يأخذ سوى عددٍ محدود من الخيارات الممكنة. يمكن أن نلاحظ أن 16 تُكتَب بالنظام الثنائي على ثمانية بتّات كالتالي ‎00010000، و31 تُكتَب ‎00011111، وهو ما يعني أن البتّات الأربعة على اليسار 0001 يجب ألّا تتغيّر، أي أننا نبحث لها عن مطابقة وهو ما يُترجَم في قناع محرف البدل بأصفار 0000‎ (على اليسار). أما البتّات الأربعة على اليمين فهي تأخذ المجال كاملًا (من ‎0000 إلى ‎1111)، وهو ما يُترجَم في قناع محرف البدل بالآحاد (‎1111). بوضع الجزئيْن جنبًا لجنب نجد قيمة البايت الثالث في قناع محرف البدل وهي ‎00001111، والتي تُكتَب عشريًّا ‎15. نخلُص إلى أن قيمة قناع محرف البدل الذي نبحث عنه هي ‎0.0.15.255. لن تكون مضطرًّا دائمًا للنظر في الكتابة الثنائيّة إلّا في حالات خاصّة. في مثالنا أعلاه يمكن أن تختصر الطريق بالاعتماد على الكتابة العشرية لجزء عنوان IP الذي يمثّل الشبكة الفرعيّة وطرفيْ المجال. يشير قناع الشبكة ‎/24 في المثال إلى أنّ البايتات الثلاثة الأولى (‎172.30.31 و172.30.16‎) تمثلّ عنوان الشبكة الفرعيّة، في حين يمثّل البايت الرابع عنوان المضيف (Host). نأخذ نهاية مجال الشبكات الفرعيّة ونطرح منها البداية (172.30.31 – 172.30.16 = 0.0.15) فنحصل على الجزء المتعلِّق بالشبكة الفرعيّة من قناع محرف البدل. بالنسبة للمضيف فالقيمة ستكون 255‎ لأننا نريد أن نُضمِّن جميع المضيفات في كل شبكة فرعيّة، وبالتالي نجد قناع محرف البدل ‎0.0.15.255. اختصارات قناع محرف البدل توجد حالتان شائعتان عند استخدام لوائح التحكم في الوصول، وهما استهداف مضيف مُحدَّد، أو استهداف عناوين IP الممكنة كلّها. بالنسبة للمضيف، يمكننا استخدام قناع محرف البدل 0.0.0.0 مع العنوان وهو ما ينتُج عنه مجال عناوين يساوي فيه عنوانُ البداية عنوانَ النهاية، أي أنه لا يحوي سوى عنوان IP واحد. مثلًا ‎172.30.16.29 0.0.0.0. إلّا أنه يمكن الحصول على النتيجة نفسها بالكلمة المفتاحية host متبوعةً بعنوان المضيف: host‎ 172.30.16.29. بالنسبة للحالة الثانية (استهداف العناوين الممكنة جميعها)، فالعنوان 0.0.0.0 مع قناع محرف البدل 255.255.255.255 يؤدِّي الغرض؛ إلّا أنه توجد طريقة مختصرة باستخدام الكلمة المفتاحية any. ترجمة – وبتصرّف – للمقال Access Control Lists Wildcard Masking and Abbreviation.
  10. سنخصّص درسًا لاحقًا للحديث بالتفصيل عن صياغة (Syntax) لوائح التحكم في الوصول، وهي صياغة تتكون من أجزاء متعدّدة. سنتعرَّف في هذا الدرس على جزء خاص من صياغة ACL وهو قناع محرف البدل (Wildcard mask)، الذي يصعب من دون استيعابه فهمُ ما نريد فعله في لوائح التحكم في الوصول. يشيع استخدام محارف البدل في جوانب مختلفة من التقنية، مثلًا في عبارات البحث عن الملفات في أنظمة التشغيل. عندما تريد أن تبحث عن ملف وورد في مستعرض الملفات Explorer الخاص بوندوز فتستخدم غالبًا عبارة بحث مثل ‎*.doc أو ‎*.docx، أو ربما تجمع العبارتين معًا باستخدام عبارة البحث ‎*.doc‎?‎. يُفهَم من هذه العبارات أنك تبحث عن الملفات التي تنتهي بالامتداد doc أو docx مهما كان اسمها. النجمة * وعلامة الاستفهام ? هما محرفا بدل، بمعنى أنهما محرفان خاصان سيُستبدَلان في نتيجة البحث بمحرف واحد (في حالة علامة الاستفهام) أو أكثر (في حالة النجمة). تُطبَّق قواعد مشابهة للمبدأ أعلاه في لوائح التحكم بالوصول، إذ تُرفَق فيها عناوين IP بأقنعة محرف بدل، الغرض منها تعريف بتّات (Bits) محدَّدة من العنوان. عندما نتحدَّث عن أقنعة محرف البدل فنحن أمام سلسلة من البتات بطول عنوان IP (وهو32 بتّا)، أي أنها مكوَّنة من أصفار وآحاد؛ وتختلف عن قناع الشبكة (Network mask) في إمكانية وضع الأصفار والآحاد في أي موضع من القناع، وليس واجبًا أن تكون الأصفار (أو الآحاد) متجاورة. رغم ذلك، فمن الشائع – إلّا في حالات خاصّة – أن تكون الأصفار أو الآحاد متجاورة في قناع محرف البدل.. عندما نوازن بين عناوين وأقنعة محرف البدل فإن الموزانة تكون على مستوى البتّات. إذا كانت قيمة البت في قناع المحرف تساوي 0 فهذا يعني أنه يجب أن يكون البتّ في عنوان IP موضوع الاختبار مساويًّا للبتّ المقابل في عنوان IP المرفَق بالقناع في لائحة التحكم في الوصول. أما إن كانت قيمة البت تساوي 0 فهذا يعني أنه لا يهم إن كان البت المُختبَر يساوي 0 أو 1. سنرى بعد قليل أمثلة لتطبيق القاعدة. قلنا إن الموازنة بين القناع والعنوان تتمّ على مستوى البتات، إلّا أننا عمليًّا نستخدم قيمًا عشرية منقَّطة، مثل ما نفعل مع عناوين IP. تظهر في الصورة أعلاه البايتات (Bytes) شائعة الاستخدام في أقنعة محرف البدل. تتضمَّن البايتات المبيَّنة في الصورة آحادًا متجاورة، إلّا أن بعضها - مثل البايت ذي القيمة 63 - يحوي آحادًا متجاورة على اليمين، وليس اليسار كما يحدث في أقنعة الشبكة. ينبغي الحذر عند استخدام أقنعة محرف البدل حتى لا نخلط بينها مع أقنعة الشبكة، ونحصل بالتالي على قناع محرف بدل لا يؤدّي الغرض منه. مثلًا، يشيع استخدام القيمة 252 في أقنعة الشبكة، إلّا أن هذه القيمة لها مدلول مختلف تمامًا في أقنعة محرف البدل. في أقنعة الشبكة تطابق القيمة 252 البتّات الستة الأولى من البايت، في حين تطابق في أقنعة محرف البدل البتّيْن الأخيريْن فقط، فلو استخدمنا تلك القيمة في قناع محرف بدل وكنّا نقصد بها مدلولها في قناع الشبكة فإننا نعكس الأمر تماما. الملاحظة نفسها تنطبق على القيمة 63 التي تطابق عند استخدامها في أقنعة الشبكة البتّيْن الأوليْن من البايت، في حين تطابق في أقنعة المحرف البتّات الستة الأخيرة. أمثلة تطبيقية لمطابقة أقنعة محارف البدل سنتعرَّف في الفقرات التالية بالتفصيل على كيفية استخدام لوائح التحكم في الوصول لأقنعة محرف البدل لمطابقة عناوين IP. من أجل ذلك سننزل إلى مستوى البتّات ونطابق العنوان مع القناع بتًّا بتّا، رغم أن الكتابة العشريّة هي المستخدمة في الواقع العملي، إلّا المطابقة على مستوى البتّات تفيد في الفهم الدقيق لآلية المطابقة. لننظر إلى المطابقة بين العنوان 192.168.30.0 وقناع محرف البدل 0.0.0.255 في المثال الأول في الصورة التالية. يظهر في المثال الأول أننا البايتات الثلاثة الأولى من قناع محرف البدل تحوي أصفارًا فقط، وهو ما يعني أنّ المطابقة بينها وبين عنوان IP يجب أن تكون تامّة، وبالتالي نحصل على البايتات الثلاثة الأولى من عنوان IP، أي 192.168.30، كما هي. الأمر مختلف بالنسبة للبايت الأخير من القناع، إذ أنه لا يحوي سوى آحاد، أي أنّنا لا نبحث عن مطابقة بين هذا البايت والبايت المقابل من عنوان IP، ويمكن بالتالي أن يأخذ أي بت إحدى القيمتيْن الممكنتيْن، 0 أو 1، وهو ما يُرمَز له في الصورة بالحرف x. ما أدنى قيمة يُمكِن أن يأخذها هذا البايت؟ الجواب هو أنها القيمة التي تكون فيها البتّات جميعها مساوية للصفر؛ أمّا أعلى قيمة فهي التي تكون فيها البتّات مساويّة للواحد. أي أننا أمام مجال يبدأ بـ 00000000 وينتهي بـ11111111، وتمكن كتابة حدود المجال بالقيم العشريّة 0 و255. نستنتج ممّا سبق أنّ المطابقة بين العنوان 192.168.30.0 وقناع محرف البدل 0.0.0.255 تُنتِج لنا مجالًا من عناوين IP يبدأ بالعنوان 192.168.30.0 وينتهي بالعنوان 192.168.30.255. يتبع المثال الثاني المبدأ نفسه، وإنْ كان ببتّات مطابقة أكثر، إذ تشمل البايتات الثلاثة الأولى إضافة إلى خمس بتّات من البايت الأخير، فنحصل على مجال يبدأ بالعنوان 192.168.30.0 وينتهي بالعنوان 192.168.30.7. يمكن أن نلاحظ من الشرح أعلاه أن نتيجة المطابقة بين عنوان IP وقناع محرف البدل هي دائمًا مجال من عناوين IP، لهذا نقول إن قناع محرف البدل هو عامل مجال (Range operator). رأينا في الفقرات السابقة آلية عمل قناع محرف البدل على مستوى البتّات، إلّا أنّنا في الواقع العملي نستخدم الكتابة العشرية، واللجوء إلى البتّات ليس دائمًا سهلًا وقد يكون مشوِّشا. توجد طريقة سهلة للحصول على مجال العناوين الذي يحدِّده القناع. تتمثل هذه الطريقة، كما تشرح الصورة أعلاه، في أخذ عنوان IP الذي نريد مطابقته وجعله بدايةَ المجال، ثم إجراء عمليّة بين جمع هذا العنوان والقناع للحصول على العنوان الأخير في مجال العناوين. بالنسبة للمثال الأول فإنّ بداية المجال هي العنوان 192.168.30.0 وعندما نجمعه مع قناع محرف البدل 0.0.0.255 نجد 192.168.30.255 الذي هو نهاية المجال. الأمر نفسه ينطبق على المثال الثاني: 192.168.30.0 + 0.0.0.7 = 192.168.30.7. ترجمة – وبتصرّف – للمقال Access Control Lists Wildcard Masking.
  11. تُستخدَم لوائح التحكم في الوصول ACL (اختصار لـ Access Control Lists) في مجالات عدّة، إذ تحاكي في مبدئها الإجراءات الأمنية التي تُطبَّق لتأمين المباني، عندما يُحدَّد لكل شخص أو مجموعة من الأشخاص أماكن يمكنهم الدخول إليها، وأخرى لا يحق لهم الوصول إليها. تعرِّف لوائح التحكم في الوصول ACL (تُكتَب أحيانًا "ackles") مجموعة من الأذونات (Permissions) المرتبطة بكائن، وتُحدِّد العمليّات التي يُسمَح لمستخدم أو برنامج إجراؤها على الكائن. سنشرح في هذا الدرس ماهية لوائح التحكم في الوصول والمبادئ التي تتحكم في عملها على موجِّهات Cisco. في الشبكات تُستخدَم لوائح التحكم في الوصول للتعرف على البيانات المتبادلة في الشبكة، أو بين الشبكة والخارج، والتحكم في حركة تلك البيانات، وهي من هذا المنطلق وسيلة أمنية لتأمين الشبكات وعزل حركة البيانات غير المرغوب بها. توجد أنواع عدّة من لوائح التحكم في الوصول، سنتعرَّف عليها في درس لاحق. لاستخدام ACL ننشئ لائحة من التعليمات (Statements) تتضمن مجموعة من المعاملات (Parameters) مثل الوِجهة، والمصدر وبطاقة الشبكة. نضع شروطًا على الرزم (Packets) مثل أن تكون قادمة من شبكة A أو متجه إلى الشبكة B، ثم نحدّد إجراءً (Action) ينبغي تنفيذه في حال تحقق الشروط. مثلًا، نقبل الرزم التي يتحقق فيها الشرط "قادمة من الشبكة A" ونتركها تمر عبرالموجِّه إلى وجهتها. يمكن أن يكون الإجراء واحدًا من اثنين : القبول (Permit) أو المنع (Deny). يعني القبول أننا نسمح بمرور الرزمة في حين يعني المنع أن الحزمة لن يسمح لها بالمرور. يمكن أن تستخدم لوائح التحكم في الوصول على الموجِّهات، أو المبدلات، أو الجدران النارية (Firewalls). العمليّات على لوائح التحكم في الوصول تعمل لوائح التحكم في الوصول وفقًا للمخطَّط البياني الموضَّح في الشكل التالي. يبدو المخطَّط للوهلة الأولى معقَّدًا، ويصعب فهم المثلّثات والمربّعات وتتبّع الإجابات فيه (نعم Y، ولا N). تشير المثلّثات إلى وجود اختبار، والمستطيلات إلى إجراء يمكن تنفيذه (القبول أو المنع). تبدأ الرزمة بالمرور على أول اختبار وفي حال تحقق الشروط يُنفَّذ الإجراء (Permit أو Deny) المُحدَّد، وإنْ لم يتحقق الشرط تتجاوز إلى الاختبار الموالي (المثلث). تتبع لوائح التحكم في الوصول قواعد محدَّدة لمعالجة الرزم : البدء من الأعلى إلى الأسفل (تنفيذ الاختبارات أولًا بأول)، تنفيذ الإجراءات فور توافق الرزمة مع اختبار، المنع الضمني إن لم توافق الرزمة أي اختبار. تلخّص هذه الخطوات الثلاث كل ما نراه في المخطَّط السابق. تعمل لوائح التحكم في الوصول على تنفيذ الاختبارات الواحد تلو الآخر، بدءًا بأول اختبار (المبدأ الأول). إنْ تحقّق شرط فإننا نتوقف فورًا ولا نمرّ إلى الاختبار الموالي، وننتقل مباشرة إلى الإجراء المصاحب للشرط المتحقّق وننفذ هذا الإجراء (المبدأ الثاني). أما إنْ استنفدنا الاختبارات جميعها دون الحصول على توافق فإن الرزمة تُمنَع من المرور وفق ما يقتضيه المبدأ الثالث. يعني منع رزمة من المرور أنها ستُحذَف ولن تُعاد إلى المصدر الذي أتت منه. تجدر الإشارة إلى أنه يمكن أن تكون لائحة التحكم في الوصول فارغة، وفي هذه الحالة سيُسمَح بمرور الرزم جميعها، ولا يُطبَّق عليها مبدأ المنع الضمني المذكور أعلاه. علاوةً على ذلك، لا تتحكم لوائح التحكم في الوصول في الرزم التي مصدرها الموجِّه الذي تعمل عليه، بل فقط في البيانات القادمة من بطاقات الشبكة. ترجمة – وبتصرّف – للمقال Understanding Access Control Lists
  12. cisco icnd1

    نأتي في هذا الدرس، بعد أن تطرّقنا في دروس سابقة إلى مبادئ عمل OSPF، نأتي إلى طريقة ضبط البروتوكول للعمل على موجِّهات Cisco. سنعمل خلال هذا الدرس على مُخطَّط شبكة ذات منطقة واحدة، وبموجهيْن كما في الصورة التوضيحية التالية. تتكون الشبكة من موجه موجود في المقر الرئيس (Headquarter أو HQ) وآخر يوجد في فرع (Branch) يتصلان بشبكة نريد تفعيل بروتوكول OSPF عليها. إعداد بروتوكول OSPF على موجه الفرع نبدأ بتفعيل وضع الإدارة (enable) ثم ندخل إلى وضع الضبط العام (config t)، ثم نستخدم الأمر router لضبط إعدادات بروتوكول التوجيه، أي OSPF. Branch(config)# router ospf 1 Branch(config-router)# network 10.0.0.0 0.255.255.255 area 0 معرّف العملية في OSPF نمرِّر للأمر router معطى بالبروتوكول الذي نريد ضبطه (ospf) متبوعًا بعدد (‎1) يمثل معرّف العملية (Process ID)، وهو معرّف مختلف عن معرّف الموجّه (Router ID) الذي تحدثنا عنه في الدرس السابق. يمكِّن معرّف العملية من تشغيل عمليّات OSPF عدّة على الموجّه نفسه. من المهم الانتباه إلى أنه لا يُلجَأ لتشغيل عمليّات OSPF مختلفة على الموجّه نفسه إلا في حالات خاصة، مثلًا عندما يريد مزوِّد خدمة الفصل بين توجيه البيانات القادمة من شركاء مختلفين. لا يُنصَح في الحالات العادية باستخدام عمليّات OSPF عدّة على الموجّه. احرص على التأكد من استخدام معرّف العمليّة المناسب، وإلا فقد يحصل خلط بين العمليّات يؤدّي إلى التشويش على الضبط. استخدمنا العدد 1 لمعرّف عمليّة OSPF في الأمثلة السابقة. ننتقل بعد تنفيذ الأمر router ospf إلى وضع إعداد البروتوكول حيث ننفّذ الأمر network، وهو أمر مهمّ في ضبط إعدادات بروتوكول التوجيه. قد يبدو للوهلة الأولى أن مهمة الأمر هي الإعلان عن الشبكات المتصلة بالموجّه، إلا أن ذلك غير دقيق. تتمثّل مهمة الأمر network في تفعيل عمليّة التوجيه على بطاقات الشبكة (Interfaces). يخبر الأمر network الموجّه أن بروتوكول OSPF يعمل على البطاقة المُحدَّدة. يعني إدراج بطاقة شبكة ضمن عمليّة OSPF أننا بصدد إدراجها ضمن النظام المستقل (Autonomous system) الخاصّ بعملية OSPF المذكورة. ينبغي أن تكون الإستراتيجية المبدئيّة هي تضمين جميع بطاقات الشبكة النشطة (الحالة up/up) التي لديها عنوان IP ضمن مجال التوجيه. يمكن أن تُستثنى بعضٌ من البطاقات في حالات خاصّة مثل الاتصال بشبكة خارجية - شريك تجاري أو شبكة للاختبار مثلًا - لا ترغب في تضمينها ضمن النظام المستقل. المشكل في الأمر هنا هو أنّنا لا نرى أي دور لبطاقات الشبكة عندما ننظر إلى صيغة الأمر network في الأمثلة السابقة. قناع محرف البدل (Wildcard mask) لا تظهر للوهلة الأولى علاقة البطاقات بالأمر، إلّا أن العلاقة تكمن في عنوان IP والقناع الذي يليه في الأمر، والذي يُسمَّى قناع محرف البدل. يعمل قناع مِحرف البدل كمحدِّد لمجال عناوين ويشبه قناع الشبكة في طريقة كتابته، إلّا أن البتات في محرف البدل تؤدّي دورًا معاكسًا لدورها في أقنعة الشبكة. يدلّ البت 0 في قناع محرف البدل أنّ البت المقابل من عنوان IP يجب أن يكون مطابقًا، في حين يدلّ البت 1 أنه لا حاجة للمطابقة (لا ننسى أن 255 في الكتابة العشرية لعناوين IP تحلّ محل 11111111 في الكتابة بالنظام الثنائي). إذا كان لدينا مثلًا العنوان 192.168.2.0 وقناع محرف البدل 0.0.0.255 فإن مجال العناوين المطابقة هو الذي يبدأ بالعنوان 192.168.2.0 وينتهي بالعنوان 192.168.2.255. نرى هنا أن المواضع التي تحوي 0 في قناع محرف البدل تبقى ثابتة (192.168.2)، في حين تتغيّر المواضع التي تحوي 1 في قناع محرف البدل. يعمل الأمر network على تضمين بطاقات الشبكة التي توافق العنوان وقناع محرف البدل ضمن عمليّة البروتوكول OSPF. يعني ذلك أنّ الأمر network 10.0.0.0 0.255.255.255 area 0 سيبحث عن بطاقات الشبكة النشطة على الموجّه والتي يقع عنوان IP الخاص بها ضمن المجال الذي يبدأ بالعنوان 10.0.0.0 وينتهي بالعنوان 10.255.255.255. نستنتج من الفقرة أعلاه أن تفعيل عمليّة OSPF على بطاقات الشبكة يتمّ عبر مطابقة عنوانها مع مجال العناوين المحدَّد بالعنوان والقناع المُمرَّريْن للأمر network. إنْ أمعنَّا النظر في إعدادات الموجّه Branch في الصورة التوضيحية أعلاه فسنلاحظ وجود أسماء مُنقَّطة لبطاقات الشبكة، مثلًا Gi0/0.1 وGi0/0.10. تحيل هذه الأسماء إلى بطاقات فرعية، أي أننا أمام شبكات محليّة وهمية (Virtual LAN). تدخل عناوين الشبكات الفرعية المُعدَّة على الموجّه Branch ضمن المجال المُحدَّد في أمر الإعداد network، وهو ما يعني أن الموجّه سيُعلِن عبر بروتوكول OSPF عن تلك الشبكات. الأمر network فعّال جدًّا في ضبط بطاقات الشبكة للعمل ضمن عمليّة OSPF، إلّا أنه قد يتطلب استعمال أقنعة محرف بدل معقَّدة، لاختيار البطاقات المُراد ضمّها للعملية؛ لذا فقد عمدت Cisco إلى توفير طريقة أخرى لتضمين بطاقات الشبكة ضمن عمليّة OSPF. ضبط عملية OSPF على بطاقات الشبكة مباشرة تتمثّل هذه الطريقة في الذهاب مباشرة إلى بطاقة الشبكة وتفعيل العملية عليها. فيما يلي مثال لاستخدام هذه الطريقة على بطاقة الشبكة GigabitEthernet 0/1: Branch(config)# interface GigabitEthernet 0/1 Branch(config-if)# ip ospf 1 area 0 يتلخص تفعيل عمليّة OSPF على بطاقة الشبكة في الدخول إلى وضع ضبط البطاقة عبر الأمر interface ثم الأمر ip ospf لضبط إعدادات بروتوكول OSPF إذ نمرّر له معرّف العمليّة والمنطقة. يُرجَى ملاحظة أن الضبط على مستوى بطاقة الشبكة له الأولوية على الضبط على مستوى الشبكة (الأمر network)، أي أنه إذا كان عنوان بطاقة شبكة يقع ضمن مجال عناوين مُحدَّد بالأمر network وضُبِط باستخدام الأمر ip ospf بعد الدخول إلى وضع ضبط البطاقة، فإنّ هذا الضبط الأخير هو الذي سيُعتمَد. نرى بالنظر في الأمر network في الأمثلة أعلاه أنه لا يكتمل بتمرير عنوان IP والقناع بل يُحدِّد المنطقة (Area) التي تنتمي إليها بطاقة الشبكة، وهي في هذه الحالة المنطقة 0، التي تعرَف بمنطقة العمود الفقري (Backbone area) والتي يجب أن ترتبط بها بقية مناطق OSPF جميعا. إعداد بروتوكول OSPF على موجه المقر الرئيس نطبِّق الأوامر التالية على الموجّه في المقر الرئيس (HQ): HQ(config)# router ospf 1 HQ(config-router)# network 172.16.1.0 0.0.0.255 area 0 HQ(config-router)# network 192.168.1.2 0.0.0.0 area 0 نلاحظ استخدام المعرّف 1 لعمليّة OSPF في الأمر router، ولكن هذا لا يعني أن معرّف العملية يجب أن يطابق معرّف عملية OSPF على الموجّه الآخر (الفرع). يمكن أن نختار المعرّف الذي نريده، ولكن من الأفضل الاستقرار على معرّف واحد حتى لا يحدث خلط وتشويش فنضبط عمليات OSPF عدّة دون الحاجة لذلك. نلاحظ بالانتقال إلى أوامر network أن الأمر الأول يستخدم العنوان 172.16.1.0 مع قناع محرف البدل 0.0.0.255؛ وهو ما يعني أننا نريد تضمين بطاقات الشبكة التي يقع عنوانها في المجال من 172.16.1.0 إلى 172.16.1.255 ضمن نطاق التوجيه، وبالتالي يمكن إرسال رزم ترحيب (Hello packet) واستلامها، وبالتالي إنشاء علاقات جوار بين الموجّهات والشبكات. قناع محرف بدل لعنوان IP مُحدَّد نلاحظ في أمر network الثاني أن قناع محرف البدل يتكون من أصفار فقط (0.0.0.0). لا ننسى أن قناع محرف البدل يعبر عن مجال من عناوين IP، وعندما يتكون من أصفار فقط فهذا يعني أن المطابقة مع عنوان IP يجب أن تكون تامة، أي أن عنوان بداية المجال هو نفسه عنوان نهاية المجال، وبالتالي فمجال العناوين ينحصر في عنوان وحيد فقط، وهذا هو قناع محرف البدل الأكثر تحديدًا. يخبر هذا الأمر عملية OSPF أنه يريد بطاقة الشبكة لديها العنوان 192.168.1.2. تنصح Cisco بتفضيل استخدام الأقنعة الأكثر تحديدًا، أي بمجال عناوين لا يحوي سوى عناوين البطاقة التي نحتاجها. قد يؤدي مجال بعناوين IP أكثر من الحاجة إلى حدوث مفاجآت من قبيل تضمين بطاقة تتصل بشبكة غير جاهزة أو غير مخصصة للعمل في إطار منطقة OSPF، وهو ما يعني صعوبة في تشخيص المشاكل. يؤدي استخدام أقنعة بعناوين محدَّدة إلى تحكم أكثر في عملية OSPF. يجب أن يوافق معرّف المنطقة (Area ID) على بطاقة الشبكة معرّف المنطقة المضبوط على بطاقة الشبكة في الموجّه الآخر حتى ينتميا للمنطقة نفسها. في المثال السابق، وبما أننا نعمل ضمن شبكة وحيدة – العمود الفقري – فإن بطاقات الشبكة تحمل جميعها معرّف المنطقة نفسه (0). ترجمة – وبتصرف – للمقال Configuring Single Area OSPF.
  13. نستخدم في حياتنا اليومية الكثير من الوحدات لقياس المسافة، مثل المتر، والبوصة، والياردة، وغيرها. بالنسبة للشبكات المعلوماتية – وخصوصًا عندما يتعلّق الأمر ببروتوكول OSPF - فإنّ وحدة القياس المستخدَمة هي الكلفة أو التكلفة (Cost). عندما نتحدّث عن وحدة القياس في إطار بروتوكول OSPF فإن المقصود هو التكلفة. تكلفة المسار يحتفظ كلّ موجِّه عامل ببروتوكول OSPF بتكلفة المسارات إلى كلّ واحدة من الوِجهات التي يمكنه الوصول إليها. يعتمد حساب التكلفة مبدئيًّا على سرعة التراسل الشبكي (Bandwidth) المتوفّرة، فإذا كانت السرعة عالية تكون التكلفة أقل، أما إذا كانت السرعة منخفضة فإن التكلفة تصبح أقل؛ أي أن التناسب عكسي. تجمع خوارزمية OSPF تكاليف التراسل عبر جميع الروابط في مسار معيَّن للحصول على التكلفة النهائية للمسار، ثم يوازن بين تكاليف المسارات لاختيار الأقل تكلفة. تُحسَب التكلفة انطلاقًا من ما يُعرَف بالتراسل الشبكي المرجعي (Reference bandwidth)، الذي تساوي قيمته المبدئية 100‎ Mbps (بطاقة Fast Ethernet). تُقسَّم قيمة سرعة التراسل الشبكي بالنسبة لرابط معيَّن على القيمة المرجعية الآنفة الذكر للحصول على تكلفة الرابط؛ أي أن تكلفة رابط بسرعة 100‎ Mbps تبلغ 1. يجب الانتباه إلى أن القيمة 1 هي أدنى قيمة للتكلفة بالنسبة لبروتوكول OSPF، كما أن القيمة عدد صحيح دائمًا، بمعنى أنها لا تحوي أي فاصلة. يعني ذلك أننا أمام إشكالية بالنسبة للروابط التي تزيد سرعتها عن 100‎ Mbps، فسرعات مثل 10‎ Gbps و40‎ Gbps تفوق كثيرًا 100‎ Mbps، إلّا أن تكلفتها بحساب القيمة المرجعية للتراسل الشبكي ستكون 1، وبالتالي تتساوى في التكلفة مع 100‎ Mbps رغم أنها أسرع منها بمئة مرة أو أكثر. ضبط طريق حساب التكلفة توجد طريقتان لمعالجة الإشكالية المذكورة أعلاه. الطريقة الأولى هي تحديد التكلفة مباشرة بالنسبة لكل بطاقة شبكة على الموجِّه بالأمر ip ospf cost؛ أما الطريقة الثانية – وهي الأفضل – فتتمثل في تغيير القيمة المرجعية للتراسل الشبكي. يُفضَّل أن تأخذ القيمة المرجعية بالحسبان سرعة الروابط المتوفرة في الشبكة بحيث تكون القيمة الدنيا للتكلفة (أي 1) من نصيب الروابط ذات السرعات العالية. تجدر الإشارة إلى أنّه يمكن أن تكون لكل موجِّه قيمة مرجعية خاصة به، إلا أنه يُنصَح باستخدام القيمة المرجعية نفسها في عموم الشبكة. يُستخدَم الأمر auto-cost reference-bandwidth لتعيين قيمة التراسل الشبكي المرجعي (بالميغابت في الثانية Mbps): Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# router ospf 100 Router(config-router)# auto-cost reference-bandwidth 1000 % OSPF: Reference bandwidth is changed. Please ensure reference bandwidth is consistent across all routers. آلية اختيار معرِّف الموجِّه يدخُل معرِّف الموجِّه في الكثير من الاستخدامات، ممّا يجعل ثباته وتوقّع قيمته أمرًا أساسيًَّا، غير أنّ الطريقة المبدئية لتعيينه تجعله قيمته قابلة للتغير من إعادة تشغيل إلى أخرى. يُختار معرّف الموجِّه أثناء بدء عمل بروتوكول OSPF. يعتمد البروتوكول على عناوين IP البطاقات لحساب المعرِّف. يبدأ الموجِّه الذي يشغِّل OSPF بالنظر في بطاقات الشبكة الفيزيائية (Physical interfaces) وينظُر في حالة البطاقة، فإذا كانت up/up فهي مؤهَّلة لأن يدخل عنوانها في عملية الاختيار، أما إذا كانت حالتها up/down أو down/down أو مُعطَّلة فلا تؤخَذ بالحسبان. إذا كانت بطاقة واحدة في وضع العمل (up/up) فسيختار البروتوكول عنوانها لحساب المعرِّف، أما إذا كان عدد البطاقات العاملة أكثر فسيُختار عنوان البطاقة الأكبر عدديًا، حيث توازن عناوين IP من اليسار إلى اليمين. عنوان يبدأ – مثلًا – بـ 192 أكبر من عنوان يبدأ بـ 10، فإذا كان الجزء الأول متساويًّا بين عنوانين ننتقل إلى الجزء الثاني، ثم إلى الجزء الثالث وهكذا. العنوان 192.168.2.110 - مثلًا - أكبر من 192.168.2.100. يمكن أن نلاحظ أن طريقة الاختيار المبدئية للبطاقة والعنوان الذين سيعتمد عليهما حساب المعرِّف لا تضمن استقرار معرِّفات الموجِّهات، إذ يمكن أن تتغير بعد إعادة التشغيل إذا تغيرت حالة بطاقات الشبكة. توجد طريقتان لضمان استقرار معرِّف الموجِّه حتى بعد إعادة التشغيل. تحديد قيمة المعرِّف يدويّا تتمثل الطريقة الأولى في تحديد معرِّف الموجِّه يدويّا بالأمر router-id كما في المثال التالي: RouterX(config)# router ospf 100 RouterX(config-router)# router-id 10.2.2.2 RouterX(config-router)# end RouterX# copy running-config startup-config RouterX# clear ip ospf process استخدام بطاقات الاسترجاع (Loopback interfaces) تستخدم الطريقة الثانية ما يُعرَف ببطاقات الاسترجاع، وهي بطاقات شبكة برمجية افتراضية (غير فيزيائية) توجد على الموجِّهات، ومُعدَّة لمحاكاة بطاقة شبكة فيزائية. تُستخدَم بطاقات الاسترجاع لأغراض عدّة مثل إدارة الموجِّه ومحاكاة الاتصال بشبكة معيَّنة. تتميّز بطاقة الاسترجاع – على افتراض تفعيلها - بكونها دائمًا على وضع التشغيل، إذ أنها تبدأ في العمل فور تشغيل الموجِّه، وهو ما يعني أنها تتمتع بالاستقرار، عكس البطاقات الملموسة. ماذا لو كانت لدينا بطاقات استرجاع عدة؟ في هذه الحالة يطبِّق بروتوكول OSPF المبدأ نفسه الذي يتبعه عند الاختيار بين بطاقات ملموسة عدّة، أي عنوان البطاقة الأكبر. الخلاصة بخصوص معرّف الموجِّه هي أنه سيكون العنوان الأكبر من بين عناوين بطاقات الشبكة الملموسة، إلّا إذا ضُبطت إعدادات بطاقات الاسترجاع، وحينها سيكون معرِّف الموجِّه هو العنوان الأكبر بين عناوين بطاقات الاسترجاع. يُستخدَم الأمر interface لإعداد بطاقات الاسترجاع، كما في المثال التالي: R1# configure terminal R1(config)# interface loopback 0 R1(config-if)# ip address 1.1.1.1 255.0.0.0 R1(config-if)# ip ospf 100 area 0 R1(config-if)# exit R1(config) ترجمة – وبتصرف – للمقال SPF Algorithm and OSPF Router ID
  14. cisco icnd1

    يُصنَّف بروتوكول OSPF (اختصارًا لـ Open Shortest Path First، المسار المفتوح الأقصر أولًّا) ضمن بروتوكولات حالة الربط، وقد طوّرته جمعيّة مجموعة مهندسي شبكة الإنترنت (IETF) ليكون بديلًا عن بروتوكول RIP. تختلف بروتوكولات حالة الربط عن بروتوكولات متجه المسافة، إذ أن بروتوكولات حالة الربط تعمل على تكوين علاقات جوار بين مكوِّنات الشبكة عن طريق تتبّع حالة بطاقات الشبكة. تأخذ بطاقات الشبكة واحدةً من ثلاث حالات: up/up، وتعني أنّ كلًّا من الطبقة الأولى (الطبقة الفيزيائيّة) والثانيّة (طبقة وصل البيانات) تعملان جيّدًا؛ up/down، وتدلّ على وجود مشكلة في بروتوكول وصل البيانات (الطبقة الثانيّة)؛ down/down، وتشير إلى وجود مشكلة في الكابل (الطبقة الثانيّة). استخدم الأمر sh ip int brie لعرض ملخَّص لضبط بطاقات الشبكة. راجع درس بدء تشغيل الموجهات (Routers) عند بناء الشبكات للمزيد. يراقب الموجِّه، على افتراض استخدام البروتكول OSPF، حالة بطاقات الشبكة وفور تبدّل الحالة عن up/up فإنه يرسل إشعارًا بحالة الربط LSA‏ (Link-State Advertisement)، إذ نعني بالربط هنا بطاقة الشبكة، والحالة كونها تعمل (up) أم لا (down). في حال عودة بطاقة الشبكة للعمل (up/up) يرسل الموجِّه إشعارًا جديدًا بذلك. ينتشر الإشعار عبر ما يُعرَف بالمناطق (Areas)، ويمرّ على الأجهزة الموجودة بين المناطق، المعروفة بالموجِّهات الحدوديّة (Border routers) كما سنرى لاحقا. يجمع بروتوكول OSPF المعلومات التي يتحصّل عليها من أجل بناء مخطَّط يشمل جميع المسارات المتوفّرة في الشبكة، ويحتفظ بها في قاعدة بيانات تُسمَّى قاعدة بيانات حالة الربط (Link-State Database, LSDB)، ثم يستخدم خوارزميّة طوّرها عالم الحاسوب إدسخر ديكسترا (Edsger W. Dijkstra) سنة 1956 للحصول على أقصر مسار إلى كلّ شبكة أو شبكة فرعيّة ضمن المخطَّط. يعمل بروتوكول OSPF على إنشاء ثلاثة جداول: جدول الجوار (Neighbor table)، ويشمل جميع الموجهات المجاورة التي أنشأ معها علاقة جوار، والتي ستُتَبادل معها المعلومات. جدول المُخطَّط (Topology table)، ويحوي خارطة كاملة للشبكة بما في ذلك موجهات OSPF المتاحة والمسارات الأفضل، والمسارات البديلة للمسارات الأفضل في حال عدم توفرها. جدول التوجيه (Routing table)، ويتضمّن المسار الأفضل في الظروف الحاليّة، والذي سيُستخدَم لتوجيه حركة البيانات بين الموجهات المتجاورة. مفهوم الجوار في OSPF يعدّ مفهوم تقارب الجوار (Neighbor adjacency) أحد المفاهيم الأساسيّة في OSPF. إنْ أردنا معرفة طرق الوصول إلى الوِجهات باستخدام OSPF فعلينا إنشاء علاقات جوار بالموجِّهات. تُستخدَم لهذا الغرض رزم تُعرَف برزم الترحيب (Hello packet) التي تستخدم عناوين بثّ متعدّد (Multicast) معروفة. عرضنا للبثّ المتعدّد في السابق أثناء شرح بروتوكول Ethernet إذ قلنا إنّ الإرسال في الشبكة المحلية إمّا أن يكون ذا وجهة وحيدة (Unicast)، أو إلى جميع الأجهزة (البث الإذاعي Broadcast)، أو أن يكون وسطًا بين الإثنين (البث المتعدّد Multicast). تحدّثنا في درس فهم طبقة الإنترنت في TCP/IP عن تقسيم عناوين IP إلى فئات A، و B، و C. توجد فئة عناوين آخرى خاصّة تُسمَّى الفئة D تشمل العناوين من 224.0.0.0 إلى 239.255.255.255. عندما يريد موجِّه إرسال رزمة إلى أجهزة محدَّدة فإنّه يرسل الرزمة إلى عنوان IP الذي يعرِّف مجموعة الأجهزة تلك، مثلًا 224.1.2.3، يتلقّى الموجِّه الرسالة عندما يكون عضوًا في المجموعة، بمعنى أنّ لديه عنوان البثّ المتعدّد نفسه (224.1.2.3 في المثال السابق)، فيُنشِئ نسخًا جديدة من الرزمة ويعيد بثّها إلى شبكته الفرعيّة باستخدام رزمة متعدّدة الوجهات من الطبقة الثانية (إيثرنت). يستخدم بروتوكول OSPF عنوان البثّ المتعدّد 224.0.0.5 لإرسال رزم الترحيب التي تهدف إلى تكوين علاقات جوار بين الموجِّهات، لذا فإنّه على الموجِّه أن يكون عضوًا في المجموعة التي تستخدم العنوان المذكور. سنتعمّق في علاقات الجوار في OSPF في الدروس القادمة. يبدأ بروتوكول OSPF إذن بتكوين علاقات جوار بين الموجِّهات التي تستخدمه، فيرسل كلّ موجِّه دوريًّا رزم ترحيب على بطاقات الشبكة التي فُعِّل عليها بروتوكول OSPF معلنة عن جاهزيّته لتكوين علاقات جوار. ولكن ممّ تتكوّن رزم الترحيب تلك؟ ماذا لو حلّلنا بنية رزم الترحيب. سيساعد هذا الأمر كثيرًا الطلاب الذين يستعدّون لخوض امتحان الشهادة المتخصّصة، فهو من المواضيع التي يركّز عليها الامتحان. تتكوَّن رزم الترحيب من حقول عدّة، أهمّها: معرّف الموجِّه (ID): وهي قيمة من 32 بتًّا تُعرِّف الموجِّه في الشبكة، تُستنتَج عادةً من عنوان IP الخاص بالبطاق. يجب أن تكون هذه القيمة فريدة ومستقرّة. معرِّف المنطقة (Area) التي ينتمي إليها الموجِّه، والمنطقة – كما سنرى أدناه – هي تقسيم منطقي للنظام المستقلّ (Autonomous System) بحيث تجتمع موجِّهات ضمن منطقة واحدة من أجل تسهيل الإدارة والرفع من أداء البروتكول. يبلغ حجم معرِّف المنطقة 32 بتا. مؤقّت الترحيب (Hello interval): يحدّد المدة الفاصلة بين إرسال رزمتيْ ترحيب. يجب أن يتطابق مؤقِّت الترحيب بين الموجهات المتجاورة في OSPF، وإلّا فإن مخطَّط التجاور لن يعمل. القيمة المبدئيّة للمؤقّت هي 10 ثوان. مؤقّت الخمول (Dead interval): يحدّد المدّة القصوى التي إن تجاوزها الموجِّه دون إرسال رزمة ترحيب فإنّه يعدّ خارج الخدمة. تكون قيمة مؤقّت الخمول – مبدئيًّا – أربعة أضعاف قيمة مؤقّت الترحيب، فإذا كانت قيمة مؤقّت الترحيب 10 ثوان فإنّ قيمة مؤقّت الخمول 40 ثانية. يجب أن تتطابق هذه القيمة أيضًا بين الموجِّهات. معرّفات الموجِّهات المجاورة: تشمل الموجهات التي تلقى منها رزم ترحيب ضمن المجال المسموح به. يجب الانتباه إلى أنّ علاقة الجوار في OSPF هي علاقة متبادلة، فالموجِّه R1 يرسل رزمة ترحيب إلى الموجِّه R2 ولكنه لا يعتمد هذا الموجِّه ضمن جواره إلّا إذا تلقى منه رزمة ترحيب تفيد بأنّ العلاقة متبادلة، بمعنى أنّ معرِّف R1 يوجد ضمن حقل معرّفات الموجِّهات المجاورة في رزمة الترحيب القادمة من الموجّه R2. الأمر نفسه ينطبق على R2. مفهوم المنطقة في OSPF يتوفّر بروتوكول OSPF على خاصيّة مميِّزة وهي مناطق التوجيه (Routing areas)، وتتمثّل في تقسيم الموجِّهات ضمن نظام مستقلّ يعمل ببروتوكول OSPF إلى مناطق بحيث تتكوّن كل منطقة من مجموعة من الموجِّهات المترابطة فيما بينها. تهدف المناطق إلى تسهيل الإدارة والتحسين من استخدام الموارد المتوفّرة في الشبكة. يعدّ ترشيد موارد الشبكة غاية الأهميّة في الشبكات الكبيرة، التي تحوي الكثير من الشبكات الفرعيّة والروابط. قد يؤدّي تبادل قاعدة بيانات حالة الربط (LSDB) في الشبكات الكبيرة إلى ملْء الشبكة بالرزم والحدّ بالتالي من أدائها، وبالتالي لُجئ إلى إنشاء المناطق. تشترك الموجِّهات التي تنتمي إلى المنطقة نفسها في قيمة معرِّف المنطقة. تحمل المنطقة الأولى المُنشَأة في الشبكة الرقم 0 و تُسمَّى بمنطقة العمود الفقري (Backbone area). يجب أن ترتبط مناطق الشبكة جميعها بمنطقة العمود الفقري عن طريق موجِّهات تُسمَّى موجِّهات حدود المنطقة ABR‏ (اختصارًا إلى Area Boarder Routers). تمرّ البيانات التي تنتقل من منطقة إلى أخرى حتمًا بمنطقة العمود الفقري. تتقاسم الموجهات في المنطقة جدول المُخطَّط وقاعدة بيانات حالة الربط، إلّا أنّ لكلّ منها جدول توجيه مختلفًا، نظرًا لكون OSPF يحسب المسارات الأفضل بالنسبة لكلّ موجِّه اعتمادًا على موقعه في الشبكة. لا يتضمّن جدول المُخطَّط داخل المنطقة سوى المعلومات المتعلِّقة بموجِّهات المنطقة تمنح حدود المناطق الفرصة لتجميع المسارات، رغم أنّ بروتوكولات حالة الربط لا تتيح هذه الإمكانيّة عادةً، نظرًا لأنّه من المفترَض أن يكون لدى الموجِّهات جميعًا مخطّط الشبكة نفسه، في حين أنّ OSPF يستخدم مناطق لها مخطّط خاصّ بها. تجنّب إغراق الشبكة بإشعارات حالة الربط (LSA)، خصوصًا في الشبكات الكبيرة جدًّا التي تتعرّض للتغيير باستمرار، حيث لا تتلقّى الموجّهات سوى الإشعارات من الموجِّهات التي تشترك معها في المنطقة. ترجمة - بتصرّف - للمقال Introducing OSPF.
  15. سنتناول في هذا المقال كيفيّة ضبط بروتوكول RIP، وهو من بروتوكولات متّجه المسافة، على موجّهات Cisco. سنحلّل هذا البروتوكول اعتمادًا على ثلاثة عوامل: استكشاف الموجّهات للشبكات الأخرى، الحصول على معلومات عن الشبكة، تعامل البروتوكول مع التغييرات في مخطَّط الشبكة. نظرة عامّة على بروتوكول RIP العامل الأوّل الذي سندرُس من خلاله بروتوكول RIP هو كيف يستكشف كلّ موجّه بقيّة الموجِّهات الموجودة معه في الشبكة. تعتمد الموجِّهات التي تستخدم بروتوكولات متّجه المسافة - مثل RIP - على الموجِّهات المجاورة لتخبرها بالاتجاه الذي يجب أخذه للوصول إلى الوجهة، والمسافة معها. أي أن موجِّهًا يستخدم بروتوكول RIP يخبرالموجِّهات المجاورة له بالوجهات التي لديه معلومات عنها، كما أنّه يتلقّى معلومات من الموجِّهات المجاورة له التي تستخدم نفس البروتوكول. يعني هذا أن التوجيه يعتمد على سلسلة من التفاعلات بين الموجِّهات. إنْ حصل تغيير على وِجهة لا ترتبط مياشرةً بالموجِّه فسينتظر أن تصله التغييرات من الموجِّهات المجاورة له، والتي تنتظر أن تصلها التغييرات من الموجِّهات المجاورة لها، وهو ما يجعل اكتشاف التغييرات الحاصلة في الشبكة عمليّةً بطيئة، علاوة على أنها معلومات قد تكون من موجِّه ليس لديه اتّصال مباشر بمصدر التغيير، وهو ما يجعلها معلومات غير دقيقة. تتبادل الموجِّهات العاملة ببروتوكول RIP جداول التوجيه كاملةً مع الموجِّهات المجاورة لها، ممّا ينتُج عنه بطء في الأداء. يعتمد الإصدار الأوّل من RIP على إذاعة (Broadcast) هذه المعلومات على الشبكة، وهي طريقة أكثر بطئًا وأقل فاعليّة. فيما يخصّ كيفية حصول بروتوكولات متجه المسافة على المعلومة، فإنّه توجد إشعارات دوريّة بجدول التوجيه كاملًا ترسلها الموجِّهات إلى الموجِّهات المتصلة بها مباشرة. بعضٌ من المسارات المُضمَّنة في جدول التوجيه المُرسَل قادمة من موجِّهات بعيدة، لذا فهي ليست شديدة الموثوقيّة. يوضّح الشكل أدناه سلسلة تفاعل بين ثلاثة موجِّهات A‏، B، وC؛ وكيف يمكن للموجِّه A الحصول على معلومات عن شبكات متّصلة بالموجِّه C. تُتَبادل المعلومات دوريًّا، وتشمل جدول التوجيه بكامله، فحتى إنْ لم يحدُث أي تغيير فإنّ الموجّهات تستمرّ في إخبار جيرانها بالمعلومات نفسها. أداء بروتوكول RIP تميل مدة التقارب في بروتوكولات متجه المسافة - مثل RIP - إلى البطء، ممّا يعني أن الموجِّه سيستغرق وقتًا طويلًا حتى يعرف بوجود تغيير في الشبكة ويختار بالتالي مسارًا مختلفًا للرزم. قد تصل هذه المدة إلى دقائق، وهي مدة طويلة. نظرًا لطول مدّة التقارب فإنّ بروتوكوللات متجه المسافة عرضة لحلقات التوجيه (Routing loops) التي تحصُل عندما تستمر الرزم في الانتقال بين الموجِّهات نفسها، ضمن حلقة غير منتهية. يستخدم بروتكول RIP لمنع حدوث الحلقات غير المنتهية حدًّا أقصى لتكلفة المسار، وإذا تجاوزت الرزمة هذا الحد فإنّ الموجِّه يلغيها ولا يعيد توجيهها. تُحسَب التكلفة بالاعتماد على عدد القفزات (الموجّهات) التي يتكوَّن منها المسار. تعدّ هذه الوسيلة غير فعّالة في حالة وجود مُخطَّط شبكة بمسارات مُكرَّرة توصِل إلى الوجهة نفسها. إذا افترضنا أنّ السرعة T1 في المُخطَّط أعلاه أكبر بكثير من 19.2، فإنّ ذلك لن يشفع - عند استخدام RIP - للمسار الذي يمرّ عبر ثلاثة موجّهات رغم أنّه الأسرع، وسيُفضَّل عليه المسار الذي يمرّ على موجِّه واحد. يجعل هذا الأمر من RIP بروتوكولًا غير فعّال وغير مناسب للشبكات الكبيرة جدًّا، ينضاف إلى ذلك الإعلان عن المسارات بواسطة إشعارات دوريّة، ممّا يمثّل عبئًا إضافيّا. موازنة بين الإصدارين الأول والثاني من بروتوكول RIP أعدّ مصمّمو بروتوكول RIP إصدارًا ثانيًّا للتحسين من أداء البروتوكول. تضمّن الإصدار الثاني تحسينات من قبيل جعل البروتوكول عديم الفئة (Classless protocol)، وهو ما يعني أنه أصبح يدعم أقنعة شبكة بأحجام متغيّرة فغدت الإشعارات تتضمّن قناع الشبكة إضافة إلى عنوانها. يعني هذا أيضًا أن الإصدار الثاني من البروتوكول يمكنه تجميع المسارات. شملت التحسينات كذلك فاعليّة البروتوكول بحيث أصبحت الإشعارات تتمّ عن طريق بثّ بوِجهات محدَّدة (Multicast) بدلًا من بث إذاعي (Broadcast) شامل. أُعدَّ الإصدار الثاني باحتساب أمان تبادل المعلومات، فأُضيف دعم الاستيثاق من موجِّه إلى موجِّه (Router-to-router authentication)، ما يعني أنّ الموجِّهات يمكن ألّا تتبادل المعلومات إلّا إذا كانت تتشارك مفتاحًا سرّيًّا خاصًّا. رغم ذلك، يبقى RIP بروتكول متّجه مسافة يعاني من مشاكل التقارب الطويل، وتعيقه الإشعارات الدوريّة وعدد القفزات المحدود. ضبط توجيه رزم IP من الأمور الجيّدة بخصوص بروتوكولات التوجيه أنّ إعدادها متجانس على موجّهات Cisco عمومًا، ويتبع الخطوات نفسها. تحتاج أولًا إلى اختيار بروتوكول التوجيه وتفعيله في وضع الضبط العامّ، ثم تحديد الشبكات التي تريد من هذا البروتوكول أن يعلن عنها، ويستقبل من خلالها إشعارات الموجِّهات المجاورة. تؤدّي البروتوكولات عملها عبر إرسال إشعارات إلى بطاقات الشبكة المتّصلة، وتلقّي إشعارات بواسطتها، إلّا أنّ الإعداد يعتمد على عناوين الشبكات المضبوطة على بطاقات الشبكة في الموجِّه. يجب الانتباه إلى أنّ بعضًا من بروتوكولات التوجيه هي بروتوكولات ذات فئة (Classful) وبالتالي لن تفرّق بين الشبكات الفرعيّة. ضبط إعدادات البروتوكول RIP سنتعرّف من خلال هذه الفقرة على الأوامر الأساسيّة لضبط البروتوكول RIP على موجّهات Cisco. نبدأ بالأمر enable للدخول في وضع المستخدم ذي الامتيازات المرتفعة، ثم الأمر config t للدخول في وضع الإعداد العام. تبدأ عمليّة ضبط بروتوكول التوجيه بالأمر router متبوعًا بالبروتوكول الذي نريد ضبطه، أي RIP في هذه الحالة. RouterA>enable Password: RouterA# RouterA#conf t Enter configuration commands, one per line. End with CNTL/Z. RouterA(config)#router rip RouterA(config-router)#version 2 RouterA(config-router)#network 172.16.0.0 RouterA(config-router)# نضبُط في السطر التالي الإصدار الذي نريد استخدامه، وهو الإصدار 2، الأحدث وعديم الفئة والأكثر فاعليّة. يعرّف الأمر network الشبكات المتصلة مباشرة بالموجِّه المشاركة في عمل البروتوكول. على الرغم من أنّ الإصدار الثاني من بروتوكول RIP عديم الفئة، إلّا أنّ ضبطه يتبع آليات ضبط البروتوكولات ذات الفئة، وبالتالي فإنّ عنوان الشبكة الذي تحدّده هنا هو عنوان شامل، بدون أقنعة للشبكة. يأخذ RIP قناع الشبكة من إعداد البطاقة التي تتّصل بها الشبكة. مثال على ضبط RIP يتطلّب ضبط RIP النظر في بطاقات الشبكة على الموجِّه، وفهم معرِّفات الشبكات المتّصلة بتلك البطاقات أو الموكلة إليها، ثم تفعيل البروتوكول على الشبكات المذكورة. نأخذ المثال المُوضَّح في الصورة أدناه. يتّصل الموجِّه A في المثال بشبكتيْن عنوانيهما 10.0.0.0 و172.16.0.0، ولذا نفعِّل البروتوكول على الشبكتيْن بالأمر network. RouterA# RouterA#conf t RouterA(config)#router rip RouterA(config-router)#version 2 RouterA(config-router)#network 172.16.0.0 RouterA(config-router)#network 10.0.0.0 بالنسبة للموجِّه B فإنّ بطاقتيْ الشبكة اللتيْن يمتلكهما تتّصلان بشبكتيْن فرعيّتيْن تنتميان للشبكة الكبيرة 10.0.0.0، لذا لا نحتاج لتفعيل RIP إلّا إلى الأمر network 10.0.0.0 الذي يُفعِّل البروتوكول على جميع البطاقات التي تنتمي للشبكة 10.0.0.0، وهي في حالة الموجِّه B بطاقتا الشبكة التسلسليّتان s0/0 وs0/1. RouterB# RouterB#conf t RouterB(config)#router rip RouterB(config-router)#version 2 RouterB(config-router)#network 10.0.0.0 تشبه إعدادات الموجِّه C الموجِّه A: RouterC# RouterC#conf t RouterC(config)#router rip RouterC(config-router)#version 2 RouterC(config-router)#network 192.168.1.0 RouterC(config-router)#network 10.0.0.0 لو لم ننفّذ الأمر network 192.168.1.0 في الموجِّه C فلن يُفعَّل البروتوكول على البطاقة fa0/0 ولن يستخدم الموجِّه C بالتالي البروتوكول RIP لإشعار بقيّة الموجِّهات بمعرفته بمسار إلى الشبكة 192.168.1.0. نخلُص من هذا المثال إلى أنّ عمل الأمر network يتمثّل في تفعيل البروتوكول على بطاقات الشبكة التي توافق عنوان الشبكة العامّة المذكور في الأمر. التحقّق من إعدادات RIP توجدة أوامر عدّة للتحقّق من الإعدادات، فإضافة إلى الأمر show running يمكن عرض معلومات أكثر عن كيفيّة إعداد RIP باستخدام الأمر show ip protocols. يُظهر الأمر معلومات عامّة عن المؤقِّتات (Timers) التي يستخدمها RIP ومرشحات (Filters) التوجيه في حال وجودها. تظهر في فقرة توجيهات الشبكة (Routing for networks) الشبكاتُ التي أعددت بروتوكول التوجيه للعمل عليها. RouterA#show ip protocols Routing Protocol is "rip" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Sending updates every 30 seconds, next due in 15 seconds Invalid after 180 seconds, hold down 180, flushed after 240 Redistributing: rip Default version control: send version 2, receive version 2 Interface Send Recv Triggered RIP Key-chain FastEthernet0/0 2 2 Serial0/0 2 2 Automatic network summarization is in effect Maximum path: 4 Routing for Networks: 10.0.0.0 172.16.0.0 Routing Information Sources: Gateway Distance Last Update 10.1.1.2 120 00:00:24 Distance: (default is 120) تعني البيانات في نتيجة تطبيق الأمر show ip protocols أعلاه على الموجِّه A أنّنا استخدمنا أمريْ network، واحد للشبكة 10.0.0.0 والآخر للشبكة 172.16.0.0. يظهر تأثير الأمريْن في أنّ الموجِّه A يستقبل ويُعلن عن مسارات RIP. نرى في نتيجة الأمر أنّ البطاقتيْن Fa0/0 وS0/0 اللتيْن تنتميان على التوالي للشبكتين 10.0.0.0 و172.16.0.0 أرسلتا إشعاريْ RIP واستقبلتا إشعاريْن كذلك. عرض جدول التوجيه وتشخيص المشاكل تكمن المهمّة الأساسيّة لأي بروتوكول توجيه في إنشاء جدول التوجيه وتحديث المعلومات المُدرَجة فيه، لذا فإنّ عرض الجدول خطوة أوليّة في التحقّق وتشخيص المشاكل. نستخدم الأمر show ip route لعرض جدول التوجيه على الموجِّه A فنحصُل على النتائج أدناه. RouterA#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set 172.16.0.0/24 is subnetted, 1 subnets C 172.16.1.0 is directly connected, FastEthernet0/0 10.0.0.0/24 is subnetted, 2 subnets R 10.2.2.0 [120/1] via 10.1.1.2, 00:00:16, Serial0/0 C 10.1.1.0 is directly connected, Serial0/0 R 192.168.1.0/24 [120/2] via 10.1.1.2, 00:00:16, Serial0/0 تظهر في بداية مُخرجات الأمر الرموز المستخدَمة في جدول التوجيه، حيث يشير الحرف C (الحرف الأول من Connected) إلى الشبكات المتّصلة مباشرة ببطاقات الموجِّه، والحرف R إلى المسارات التي حصل عليها الموجِّه عن طريق البروتوكول RIP. يشير جدول التوجيه كذلك إلى المسافة الإداريّة وتكلفة الوصول إلى كلّ شبكة بين قوسيْن معقوفيْن حيث يعني السطر R 10.2.2.0 [120/1] via 10.1.1.2, 00:00:16, Serial0/0 أنّ المسافة الإداريّة للبروتوكول RIP (الحرف R) تساوي 120 (العدد الأول بين قوسيْن معقوفيْن) وأنّ تكلفة الوصول إلى الشبكة 10.1.1.2 عبر البطاقة Serial0/0 هي قفزة واحدة (العدد الثاني بين معكوفيْن). يقدِّم المؤقِّت 00:00:16 معلومات عن المدّة التي مرّت منذ آخر تحديث على المسار. يجب الانتباه إلى أنّ الموجِّه الذي يستخدم RIP يعلن دوريًّا (كل ثلاثين ثانيّة) عن المسارات التي بحوزته، وإنْ لم يحصُل دوريًّا على تحديث بخصوص المسارات التي تعرّف عليها عن طريق البروتوكول فإنّه سيعدّ الوجهة خارج مجال معرفته. يمكن رؤية إشعارات RIP مباشرة أثناء عملها باستخدام debug ip rip. يظهر في المثال أدناه أنّ الموجِّه A يرسل إشعارات على بطاقتيْ الشبكة عبر بثّ إذاعي، كما أنّه يستقبل إشعارات من الموجِّه B على البطاقة التسلسليّة عن الوِجهة 10.1.1.2. تظهر مُخرجات المسارات في حالتيْ الإرسال والاستقبال، إضافة إلى كلفة الوصول إلى الوِجهة. RouterA#deb ip rip RIP protocol debugging is on RouterA# 00:16:59.871: RIP: received v2 update from 10.1.1.2 on Serial0/0 00:16:59.875: 10.2.2.0/24 via 0.0.0.0 in 1 hops 00:16:59.875: 192.168.1.0/24 via 0.0.0.0 in 2 hops 00:17:00.747: RIP: sending v2 update to 224.0.0.9 via Serial0/0 (10.1.1.1) 00:17:00.747: RIP: build update entries 00:17:00.747: 172.16.0.0/16 via 0.0.0.0, metric 1, tag 0 00:17:22.779: RIP: sending v2 update to 224.0.0.9 via FastEthernet0/0 (172.16.1.1) 00:17:22.779: RIP: build update entries 00:17:22.779: 10.0.0.0/8 via 0.0.0.0, metric 1, tag 0 00:17:22.783: 192.168.1.0/24 via 0.0.0.0, metric 3, tag 0 00:17:28.907: RIP: received v2 update from 10.1.1.2 on Serial0/0 00:17:28.911: 10.2.2.0/24 via 0.0.0.0 in 1 hops 00:17:28.911: 192.168.1.0/24 via 0.0.0.0 in 2 hops RouterA#un all All possible debugging has been turned off RouterA# يعدّ الأمرdebug ip rip وسيلةً فعّالة للتحقّق ممّا إذا كانت الموجِّهات المجاورة تستخدم البروتوكول نفسه، وما إذا كانت تطبِّق مرشحات قد تتسبّب في حظر شبكات، كما أنّه يساعد في التحقّق من أخطاء إعداد بطاقات الشبكة. ترجمة – بتصرّف – للمقال Configuring RIP
  16. سنتعرّف من خلال هذا المقال على بروتوكولات التوجيه (Routing protocols) وبروتوكولات الإرسال (Routed protocols) والفرق بينها، مع أمثلة على كلّ منها. ثم نتطرّق بعد ذلك إلى تقسيم بروتوكولات التوجيه حسب موقعها من الشبكة، وحسب المعايير التي تستخدمها للحصول على المسارات. ما هي بروتوكولات التوجيه؟ تعرّف بروتوكولات التوجيه القواعدَ التي تحكُم تبادل المعلومات تلقائيًّا بين الموجِّهات ، بهدف التعرّف على المسارات وإدراجها آليًّا في جدول التوجيه. تستخدم بروتوكولات الإرسال المسارات التي يوفّرها لها جدول التوجيه في توصيل الرزم إلى وِجهتها عبر أفضل مسار. يمكن تشبيه بروتوكولات التوجيه بالتطبيقات التي تقدّم خرائط المدن للمستخدمين، وبروتوكولات الإرسال بالسيّارات التي تنقل المستخدمين إلى وجهاتهم وتنقلهم عبر المدينة بالاعتماد على تلك الخرائط. تكون الموازنة كاملة إذا كان التطبيق يُعدِّل الخريطة تلقائيًّا ليتوافق مع التغييرات الطارئة مثل شق شارع جديد، أو إغلاق طريق كان مفتوحًا. يعدّ بروتوكول الإنترنت IP بروتوكولَ الإرسال الوحيد في تجميعة TCP/IP، بينما توجد الكثير من بروتوكولات التوجيه مثل RIP وEIGRP. تتميّز بعضٌ من بروتوكولات التوجيه بدقّتها في صيانة المعلومات الخاصّة بمُخطَّط الشبكة وفي الحصول عليها، فيما تتميّز بروتوكولات أخرى بالسرعة في تأديّة تلك المهام. تُستخدَم ثلاثة عوامل أساسية لمقارنة بروتوكولات التوجيه: كيف يكتشف الموجِّه بقيّة الموجِّهات، ومتى وكيف يتبادل معها المعلومات؛ كيف تعرِف الموجِّهات مختلف المعلومات المتعلِّقة بالشبكة؛ كيف تتجاوب الموجِّهات مع التغييرات الحاصلة في الشبكة، وما مدى سرعتها في العودة للعمل وفي العثور على مسارات بديلة. بروتوكولات التوجيه الداخلي والخارجي في الأنظمة المستقلّة ينبغي معرفة السياق الذي تعمل فيه بروتوكولات التوجيه حتى نفهم آلية عملها على نحو جيّد. الطريقة الأولى في تصنيف بروتوكولات التوجيه هي تقسيمها حسب تموضعها في الأنظمة المستقلّة (Autonomous systems). عندما نتحدّث عن نظام مستقل في إطار الشبكات فالمقصود هو مجموعة من الشبكات تخضع لإدارة مشتركة وتتشارك سيّاسات التوجيه نفسها. نُطلِق على بروتوكولات التوجيه التي تهتمّ بتحديد المسارات داخل الأنظمة المستقلّة اسمَ بروتوكولات البوّابات الداخليّة IGP (اختصارًا إلى Interior gateway protocols)، في حين نسمّي تلك التي تربط بين الأنظمة المستقلّة ببروتوكولات البوّابات الخارجيّة EGP (اختصارًا إلى Exterior gateway protocols). من الشائع وجود مجموعة من بروتوكولات التوجيه مضبوطة على شبكات مؤسّسات، حتى ولو كانت المؤسّسة أو الشركة تنتشر على أماكن جغرافية متباعدة. يتعلّق مفهوم النظام المستقلّ بالناحية الإدارية أكثر من تعلّقه بالامتداد الجغرافي. إذا كانت لديك - مثلًا - شبكة واسعة النطاق (WAN) بين شبكتين يشرف عليهما الفريق نفسه، باستخدام سياسات توجيه متطابقة، وتمتلكهما المؤسّسة ذاتها، فإنّ بروتوكولات التوجيه في هذه الحالة داخليّة (IGP). table { width: 100%; } thead { vertical-align: middle; text-align: center; } td, th { border: 1px solid #dddddd; text-align: right; padding: 8px; text-align: inherit; } tr:nth-child(even) { background-color: #dddddd; } يرتبط مفهوم الأنظمة المستقلّة في الواقع العملي ارتباطًا وثيقًا بشبكة الإنترنت. لا تتجاوز الشبكات المتصلة بالإنترنت إحدى حالتيْن، فإمّا أن يكون لها نظام مستقلّ خاصّ بها، أو أن تنتمي لنظام مستقلّ يمتلكه مزوّد الخدمة. من هذا المُنطَلَق فإنّ BGP هو - عمليًّا - بروتوكول البوّابات الخارجيّة (EGP) الوحيد المعمول به على شبكة الإنترنت، في ما تعدّ البقية بروتوكولات بوّابات داخليّة (IGP) تعمل عادةً داخل نطاق الشبكات الخاصّة للشركات الكبيرة. أقسام بروتوكولات التوجيه يسمح مفهوما بروتوكولات البوّابات الداخلية (IGP) والخارجيّة (EGP) بأخذ فكرة عن كيفيّة عمل بروتوكولات التوجيه. تتميّز بروتوكولات EGP عادةً بقابليّة أكبر للتعامل مع مسارات شبكة الإنترنت، وبالتالي فهي مُصمَّمة لمعالجة بيانات كبيرة الحجم وملايين المسارات. في المقابل تتهيّأ بروتوكولات IGP لمعالجة عدد مسارات أقل لا يتجاوز الآلاف، وتركّز على مدّة التقارب (Convergence)، أي المدّة التي تحتاجها الموجِّهات لتكون لديها معلومات متطابقة عن حالة الشبكة، أكثر من تركيزها على القابليّة العاليّة للتوسّع. تنقسم بروتوكولات التوجيه الداخليّة إلى ثلاثة أقسام: بروتوكولات متّجه المسافة (Distance vector protocols): هذه البروتوكولات هي الأولى ظهورًا، والأقل فاعليّة في أخذ التغييرات الطارئة على الشبكة في الحسبان. من أمثلتها RIP و IGRP. تعتمد هذه البروتوكولات على المسافة الفاصلة عن الوِجهة النهائية، والمتجه الذي يحدّد القفزة الموالية في المسار، لذا فمعرفتها بالمسار عمومًا محدودة وليست كاملة. بروتوكولات حالة الرابط (Link state protocols): أكثر فاعليّة وثباتًا من بروتوكولات متّجه المسافة. تعمل هذه البروتكولات على تجميع المعلومات التي تصل إلى الموجِّهات من أجل الحصول على معرفة كاملة بمخطَّط الشبكة. صُمِّمت من أجل الحصول على مدة تقارب سريعة. من أمثلتها OSPF و ISIS. بروتوكولات التوجيه المختَلط (Hybrid routing): يتأسّس هذا النوع من التوجيه على المزج بين الصنفيْن السابقيْن، فيأخذ جوانب من بروتوكولات متّجه المسافة، وجوانب من بروتوكولات حالة الربط بهدف الحصول على خوارزميّات توجيه ثابتة وسريعة التقارب. ينتمي بروتوكول EIGRP إلى هذا الصنف. ترتيب المسارات باستخدام المسافة الإدارية قد تجد أثناء تصميم الشبكات حالات تُستخدَم فيها بروتوكولات مختلفة للحصول على معلومات عن الوجهات. من الأفضل ألّا يتداخل عمل بروتوكولات التوجيه للإعلان عن الوجهة ذاتها، إلّا أن ذلك قد يحدُث. تكون المسافة الإداريّة (Administrative distance) في هذه الحالة عاملَ فصل بين بروتوكولات التوجيه. تشير المسافة الإداريّة إلى أولويّة بروتوكول توجيه ودرجة موثوقيّة المعلومات المُتحصَّل عليها عن طريقه بالنسبة لبروتوكول توجيه آخر. تتناسب أفضليّة البروتوكول عكسًا مع قيمة المسافة الإداريّة. يحصُل الموجِّه A في المثال أدناه على معلومات الوصول إلى الوِجهة E عن طريق بروتوكوليْن مختلفيْن: EIGRP الذي يعلمه بمسار يمرّ على الموجِّه B، وRIP الذي يخبره بمسار يمرّ على الموجِّه C؛ وبما أنّ المسافة الإداريّة لبروتوكول التوجيه ‏EIGRP ‏(90) أصغر من المسافة الإداريّة لبروتوكول التوجيه RIP ‏(90) فإنّ الموجِّه A يفضّل المسار المارّ على الموجِّه B. يجب عدم الخلط بين المسافة الإداريّة والكلفة (Cost) أو القياس (Metric). تعدّ المسافة الإداريّة عامل ترتيب بين بروتوكولات التوجيه من ناحية وثوقيّتها بوصفها مصدرًا للمعلومات، في حين أنّ الكلفةَ عاملُ موازنة بين مسارات مختلفة إلى نفس الوجهة. يبدأ الموجِّه بالموازنة بين بروتوكولات التوجيه، وبالتالي فإنّ المسافة الإداريّة هي أول عامل تُحدَّد قيمته. بعد تحديد بروتوكول توجيه على أنه مصدر موثوق للمعلومة، ينظُر الموجِّه إذا كانت هناك طرق مختلفة تحصّل عليها باستخدام البروتكول المُختار للوصول إلى الوجهة. تُستخدَم الكلفة بعد ذلك لاختيار المسار الأفضل من بين المسارات المتاحة. يُلخّص الجدول التالي قيم المسافة الإداريّة لبعضٍ من أكثر بروتوكولات التوجيه الديناميكيّة انتشارا: بوتوكول التوجيه المسافة الإداريّة بطاقة شبكة متصلة مباشرة بالموجّه 0 مسار ثابت 1 EIGRP 90 OSPF 110 RIP 120 بروتوكولات التوجيه ذات الفئة يوجد تصنيف مهم آخر ينبئ بالكثير عن كيفيّة عمل بروتوكولات التوجيه، وهو تصنيفها إلى صنفين: بروتوكولات ذات فئة (Classful routing protocols) وبروتوكولات عديمة الفئة (Classless routing protocols). يكمن الفرق بين الاثنين في تعامل بروتوكولات التوجيه مع أقنعة الشبكة. لا تُضمِّن بروتوكولات التوجيه ذات الفئة قناع الشبكة عند نشرها لمعلومات عن المسارات التي تعرفها، وهو ما يعني أنّه لا يمكن استخدام أقنعة شبكات فرعية بطول متغيّر VLSM ‏(اختصارًا إلى Variable Length Subnet Masks). ينتُج عن استخدام بروتوكولات التوجيه ذات الفئة سلبيّات مؤثّرة؛ منها أنّه لا يمكن استخدام أقنعة بأحجام متعدّدة، وبالتالي يحدّ ذلك من مرونة توزيع عناوين IP. الإصدار الأول من بروتوكول RIP وبروتوكول IGRP مثالان على هذا النوع من بروتوكولات التوجيه. بروتوكولات التوجيه عديمة الفئة تُصنَّف بروتوكولات مثل الإصدار الثاني من RIP، وEIGRP، وOSPF، وIS-IS على أنّها بروتوكولات عديمة الفئة. يعني هذا أنّها ستعلن عن القناع إلى جانب عنوان الوجهة التي تريد نشر مسار إليها. أي أنه يمكن الحصول على بيئة بأقنعة شبكة متعدّدة. يصبح توزيع عناوين IP أسهل بكثير، فعلى سبيل المثال يمكنك استخدام قناع 30/ لوصلة طرف بطرف (Point-to-point) لأنّ هذا القناع سيتيح عنوانيْ IP فقط، ولن تخسر عناوين IP أخرى في شبكة صغيرة جدَّا كالاتصال بين طرفين. يمكن علاوةً على ذلك التحكّم يدويًّا في المسارات المُجمَّعة داخل الشبكة، وهو ما يسمح بتقليص حجم جدول التوجيه وثبات عمليّة التوجيه. نعني بتجميع المسارات العمليّة التي تتمثّل في الإشعار عن مسارات أقلّ ولكنّها تتضمّن تجميعات من عناوين الشبكات الفرعيّة. تتمّ هذه العمليّة بإرسال عناوين شبكات فرعيّة بأقنعة صغيرة. يمكن تشبيه الأمر بإرسال خريطة تخبر بالطريق أو المسار الذي يقود إلى مدينة دون ذكر الشوارع والمناطق الموجودة داخل المدينة الوِجهة، ممّا يجعل الخريطة أبسط وأقلّ عرضة للتغييرات لأنّها لن تتغيّر إذا مُنِع الوصول إلى شارع داخليّ بالمدينة. ترجمة – بتصرّف – للمقال Dynamic Routing and Routing Protocols
  17. سنخصّص هذا الدرس بالكامل لتوجيه رزم IP. سنوازن بين التوجيه الثابت والتوجيه الديناميكي ونبيّن الفروق بينهما، كما سنبرز إيجابيّات كل خيار وسلبيّاته. سيُتاح لك من خلال هذا الدرس إمكانيّة ضبط المسارات (Routes) الثابتة على موجّهات تعمل بنظام IOS باستخدام سطر الأوامر، كما ستتعرّف على حالات خاصّة مثل المسارات الافتراضية. العمليّات على الموجِّهات نعرف أن الموجِّهات تحتفظ بمعلومات عن تخطيط الشبكة، وترسل الرزم (Packets) إلى وِجهتها عبر اختيار الطريق الأفضل حسب مخطّط الشبكة. توجد طريقتان تُضبَط بهما الموجِّهات للحصول على معلومات عن الشبكة، الطريقة الأولى هي المسارات الثابتة (Static routes)، والثانية هي المسارات الديناميكية أو المتغيرة (Dynamic routes). يتعرّف الموجّه عند إعداد المسارات الديناميكية على الشبكات المتّصلة به، وهي شبكات يعلم الموجِّه بوجودها ويمكنه إدراجها ضمن جدول التوجيه (Routing table). إنْ قُطِع الاتصال بواحدة من هذه الشبكات فإن الموجِّه يعدِّل جدول التوجيه بحذف الوِجهة المعنية. تشمل المعلومات الديناميكية كذلك الوِجهات التي عرف الموجِّه المسار الذي يؤدّي إليها عن طريق بروتكولات التوجيه. بالنسبة للحالات التي تكون فيها الشبكات المتصلة بالموجِّه محدودة ومعروفة سلفًا، فإنّ المسارات الثابتة تعدّ خيارًا مناسبا. الاختيار بين المسارات الديناميكية والمسارات الثابتة لا تمثل المسارات الثابتة حِمْلا كبيرًا على الموجِّه، فهي لا تستخدم بروتكولات التوجيه المتقدّمة، ولا تُرسل الإشعارات حول التغيرات الطارئة، ولا المعلومات المرتبطة بمخطّط الشبكة. يسهُل ضبطُ المسارات الثابتة ما دام عددها محدودًا، إلّا أن الموجِّه لن يتفاعل مع تغيّرات الشبكة. بالنسبة للمسارات الديناميكية فإنّها تمثل حِملًا إضافيًّا على الموجِّه، بسبب استخدامها لبروتكولات التوجيه المتقدّمة من أجل الحصول على التغييرات الطارئة على الشبكة، والتعديل بما يتوافق مع تلك التغييرات، إلّا أنك ستحصُل في النهاية على جدول مسارات يعكس الحالة الدقيقة للشبكات التي يتصل بها الموجِّه. تختلف سرعة أخذ التغييرات في الحسبان من بروتوكول إلى آخر. المسارات الثابتة يناسب استخدام المسارات الثابتة الشبكات الجذعية (Stub network)، وهي شبكات ليست لديها معرفة بأي شبكة أخرى، وترتبط بالخارج عبر موجِه لديه اتصال واحد بالخارج، كما في الصورة أدناه. يُستخدَم مسار ثابت لتوجيه البيانات من الشبكات الجذعية إلى جميع الوجهات خارج الشبكة. يُعرَف هذا النوع من المسارات بالمسار الافتراضي (Default route). الاتصال بالإنترنت مثال جيّد لاستخدام المسارات الافتراضية، ففي الشبكات الجذعية لا تهتم بالوِجهة النهائية التي تريد الوصول إليها، وكلّ ما يهمك هو أن هذه الوجهات توجد خارج شبكتك المحليّة، ويمكن الوصول إليها عبر الاتصال الوحيد الذي يتوفر عليه موجّهك. لذا فإنّ الإعداد الذي يقول "أرسل جميع البيانات التي لا تعرف وِجهتها عبرهذا المسار" (إلى الموجِّه A في المثال أعلاه) سيكون كافيا. يجب الانتباه أثناء إعداد التوجيه الثابت إلى كون البيانات بطبيعتها ثنائية الوِجهات، فكما أننا نرسل بيانات إلى الخارج فسنتلقى بيانات منه. نستطيع في هذه الحالة إعداد مسارات ثابتة على الموجِّه A لتوجيه البيانات إلى الشبكة الجذعية. يمكن في بعض الحالات المزج بين التوجيه الثابت والتوجيه الديناميكي. مثلًا، نضبُط مسارًا مبدئيًّا على الموجِّه B بالنسبة للبيانات الخارجة من الشبكة المحليّة، وبالنسبة للبيانات الداخلة إلى الشبكة نضبُط B بحيث يرسل إشعارات بالمسارات داخل الشبكة التابعة له، وبالتالي يعرف الموجِّه A بوجودها، ويوجّهها إليه. إعداد المسارات الثابتة يُستخدَم الأمر التالي لإعداد المسارات الثابتة على موجهات Cisco : Router(config)#ip route [network/host] [mask] [address/interface] [distance] [permanent] يأخذ الأمر ip route وسيط يمثّل الشبكة الوِجهة، متبوعة بقناع الشبكة (Mask)، وبالتالي يمكن الإشارة إلى شبكات فرعيّة (sub networks) بأقنعة متعدّدة وذات أحجام مختلفة. القيمة الأكثر تخصيصًا هي 32/ التي تشير إلى أن الوجهة مضيف (Host) مخصوص وليست شبكة فرعية. ثم نحدد بعد ذلك القفزة (Hop) الموالية على المسار والتي قد تكون عنوان IP الخاص بالموجِّه الموالي على المسار إذا كانت بطاقة الشبكة من النوع ذي الوصول المتعدّد (Multi-access interface) كما هي الحال في شبكات Ethernet (أجهزة طرفية متعدّدة على نفس الوسيط يمكنها التخاطب بدون الحاجة لموجّه)، أو اسم البطاقة في حال الاتصال طرفًا بطرف (Point-to-point). قيمة المسافة الإدارية (Administrative distance) الافتراضية للمسارات الثابتة هي 1. يمكن تغيير هذه القيمة لإنشاء مسارات ثابتة من أجل الاتصال الاحتياطي. يجب أن تتذكر أن هذه القيمة تمثل الأولوية بالنسبة لبروتوكول التوجيه. تعني القيمة 1 أن المسارات الثابتة ستكون لها الأولوية على أغلب بروتكولات التوجيه الديناميكية. بعبارة أخرى، إذا أدرجت مسارًا ثابتًا إلى وجهة سبق للموجّه التعرّف عليها عبر مسارات ديناميكة، فإن الأفضلية ستكون للمسار الثابت نظرًا لأنّ لديه مسافة ثابتة بقيمة أصغر. مثال على مسار ثابت في ما يلي مثال على مسار ثابت مضبوط على الموجِّه A في الصورة أدناه. RouterX(config)# ip route 172.16.1.0 255.255.255.0 172.16.2.1 أو: RouterX(config)# ip route 172.16.1.0 255.255.255.0 s0/0/0 يشير المسار المضبوط بالأمر ip route أعلاه إلى الشبكة الجذعية (172.16.1.0/24). توجد طريقتان لإعداد هذا المسار. تستخدم الطريقة الأولى عنوان IP الخاصّ بالموجِّه B ‏(72.16.2.1)‎، بينما تستخدم الثانية اسم بطاقة الشبكة المحليّة على الموجِّه A ‏(s0/0/0). يجب الانتباه إلى أن المسار الذي أعددناه بالأمر السابق هو مسار ذو اتجاه واحد. إنْ أردت السماح بحركة البيانات من الشبكة الجذعيّة إلى خارجها فستحتاج لتعيين مسار ثابت أو مسارات ديناميكة على الموجِّه B. المسار الافتراضي المسار الافتراضي هو مسار ثابت يتميّز بأنه يرسل الرزم مجهولة الوجهة جميعها إلى العنوان المحدّد في الأمر ip route (أي الموجِّه A في الشكل أدناه)، كما في المثال التالي، حيث تشير الأصفار مكان عنوان IP والقناع إلى الوجهة المجهولة. RouterX(config)# ip route 0.0.0.0 0.0.0.0 172.16.2.2 يُستخدَم الأمرsh ip route لعرض المسارات الموجودة على الموجِّه، كما في المثال أدناه. يشير الحرف S أمام المسار إلى أنّه مسار ثابت مُعدّ بالأمر ip route، وتدلّ العلامة * مع الحرف S أنّ المسار مبدئي. تظهر في نتائج الأمر ip route البوابة الافتراضية (Default gateway) التي تُعرَف أيضًا باسم بوّابة الملجأ الأخير (Gateway of last resort). Router# sh ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is 192.168.1.1 to network 0.0.0.0 C 192.168.62.0/24 is directly connected, FastEthernet0/0 C 192.168.1.0/24 is directly connected, FastEthernet0/1 S* 0.0.0.0/0 [1/0] via 192.168.1.1 في نتائج الأمر أعلاه، يشير السطرGateway of last resort is 192.168.1.1 to network 0.0.0.0 إلى المسار الافتراضي، ويعني أن 192.168.1.1 هو البوابة الافتراضية لجميع الوجهات المجهولة (العنوان 0.0.0.0). ترجمة - بتصرّف - للمقال Enabling Static Routing.
  18. تقودنا معرفتنا بالأعداد الثنائية إلى التعرف على بنية عناوين IP وأفضل الطرق لحجزها؛ إذ سنشرح في هذا الدرس العمليات على الشبكات ذات الفئات (classful) أو عديمة الفئات (classless)، بما في ذلك استعمال الشبكات الفرعية (subnets)؛ وسنشرح مستخدمين أمثلةً واقعيةً تصف عملية حساب عناوينIP للمضيفين؛ وسنشرح أيضًا استعمال قناع الشبكة الفرعية (subnet mask)، وكيف تُستعمَل من الموجِّهات. وستتاح لك الفرصة للتدرب على العمليات على قناع الشبكة الفرعية بعناوين IP ذات الفئات A، و B، و C. مخطط الشبكات المسطحة عندما نتحدث عن التوجيه، فنميل إلى التفكير بتمرير الرزم الشبكية إلى الوجهات البعيدة؛ وأول ما سيطرأ ببالنا هي شبكات WAN والإنترنت؛ لكن من المنطقي استعمال التوجيه في شبكة الحرم الجامعي مثلًا، أو حتى في شبكات محلية صغيرة لخدمة غرض تقسيم البيانات التراسليّة (traffic segmentation)؛ فإن لم يكن لديك موجه في شبكتك، فهذا يعني أننا نتحدث عن شبكة مسطحة (flat) حيث فيها كل الأجهزة متصلة إلى نفس «القطعة» (segment) المنطقية؛ تُمثِّل القطعة المنطقية مجالًا إذاعيًا، ولهذا السبب ستتشارك جميع الأجهزة في شبكةٍ مسطحةٍ مجالَ الإذاعة نفسه مما يعني أنَّها ستشاهد جميع الرسائل الإذاعية المُرسَلة من بقية الأجهزة، مما يؤثِّر على أداء الشبكة. المُكوِّن الوحيد الذكي في آلية ترشيح الرزم الشبكية هي المبدِّلات التي تعمل في الطبقة الثانية، التي تمرِّر الرزم الشبكيّة بناءً على عناوين MAC؛ وتلك العناوين ليست ذاتُ بنيةٍ هيكليةٍ مما يجعل الشبكة «مسطحة». وكلما أضفت أجهزةً إلى الشبكة، فسيقل مستوى الأداء؛ يمكن أن تُستعمَل الموجِّهات في مثل هذه الحالات لتقسيم الشبكة إلى عدِّة مجالاتٍ إذاعية أو شبكاتٍ فرعية. الشبكات الفرعية المزايا التي سنحصل عليها لا ترتبط بتحسين الأداء فحسب، بل عندما تُقطِّع الشبكة إلى شبكاتٍ فرعيّة مختلفة، فسيقل تراسل البيانات الإجمالي، وستمثِّل كل شبكة فرعية مجالًا إذاعيًا مختلفًا، ولهذا فلن تستطيع البيانات الإذاعية القادمة من قسم «الهندسة» -في هذا المثال- الوصول إلى قسم «التصنيع». يمنع الموجِّه مرور الرسائل الإذاعية؛ لكن هنالك المزيد من الميزات التي تأتي من الشبكات الفرعية؛ إذ يُمكِّنك تُقسيم الشبكة إلى قطعٍ صغيرة من اتباع منهجية «فرِّق تسد» لتسهيل الإدارة؛ ويُمكِّنك أيضًا من تطبيق سياسات (polices) مختلفة خاصة بكل قطعة من قطع الشبكة؛ إذ يُطبِّق الموجِّه السياسة المُعتمَدة، لأنه يتحكم بمرور البيانات من شبكةٍ فرعيةٍ إلى أخرى، وهذا يؤدي أيضًا إلى عزل مشاكل الشبكات؛ فلو حدث عطبٌ ما في شبكةٍ فرعيةٍ، فلن يكون له تأثيرٌ يُذكر على بقيّة الشبكات. تتعلق المزايا الأخرى بالأمان؛ فلن تستطيع هجمات الحرمان من الخدمة (denial of service) الوصول إلى الشبكات الفرعية الأخرى إن كان يعمل الموجِّه كجدارٍ ناريٍ بينهم. وبغض النظر عن سبب تقسيمك للشبكة إلى شبكاتٍ فرعية، فيجب أن نُسنِد لكل شبكةٍ فرعيةٍ مُعرِّفًا فريدًا (subnet ID) ثم سيكون للمضيفين في تلك الشبكة الفرعية «مُعرِّف مضيف» (host ID) فريد في عنوان IP. ماذا يفعل قناع الشبكة الفرعية كيف نستطيع معرفة أي قسم من عنوان IP خاصٌ بالشبكة أو خاصٌ بالمضيف؟ في الشبكات ذات الفئات (classful)، ستخبرنا الفئة أيّة بايتات مخصصة لمعرِّف الشبكة وأيّة بايتات مخصصة للمضيف؛ وعندما نُنشِئ شبكة فرعية لعنوان IP ذي فئةٍ معيّنة، فإننا «نسرق» بعض البتات من قسم المضيف من العنوان ونجعلها جزءًا من قسم الشبكة الفرعية في العنوان؛ وبهذا تصبح لدينا «طبقة» جديدة في الهيكلية، إذ لدينا شبكة مُعرَّفة عبر فئة (class) ثم شبكة فرعية ثم المضيف؛ حيث نُقسِّم الشبكات إلى شبكاتٍ فرعية ثم ستحتوي تلك الشبكات الفرعية المضيفين. تلك الهيكلية شبيهة بنظام الترقيم الهاتفي؛ لدينا رمز الدولة ثم رمز المدينة ثم أرقام الهواتف؛ وهذه بيئة عديمة الفئات؛ أما في بيئة ذات فئات، فإن الفئة لا تخبرنا أيّ جزء من العنوان مخصص للشبكة أو للشبكة الفرعية أو للمضيفين؛ إذ أنَّ تلك المعلومات موجودة في قناع الشبكة الفرعية، الذي يخبرنا بآلية تقسيم العناوين. وفي هذا السياق، لا يشبه قناع الشبكة الفرعية الأقنعة التي يرتديها الأولاد الصغار؛ وإنما مَثَلُه كمَثَلِ نظارةٍ لتنظر إلى العناوين بشكلٍ مختلف. وهو أداة قياس تخبرك بطول قسم الشبكة من العنوان، ثم قسم الشبكة الفرعية، ثم ما بقي مُخصصٌ للمضيفين. الشبكات الفرعية والمضيفون المحتملون في شبكة ذات الفئة C سيُستعمَل قناع الشبكة الفرعية من المضيفين للتعرف على بيانات التراسل التي تخرج من شبكتهم الفرعية، وسيُستعمَل أيضًا من الموجِّهات للتعرف على الشبكات والشبكات الفرعية ليكون قادرًا على تمرير الرزم الشبكيّة بينها. وإذا ابتغينا الدقة، القناع ما هو إلا آليةٌ لاقتراض البتات، فالمثال هنا يتحدث عن شبكة ذات الفئة C؛ تخبرنا الفئة C أنَّ أول ثلاثة بايتات من العنوان تُمثِّل قسم الشبكة، بينما يمثِّل آخر بايت قسم المضيفين؛ وعندما نُنشِئ شبكةً فرعيةً فستبقى بايتات الشبكة ثابتةً، وسنحتاج إلى استخدام بعض البايتات المخصصة للمضيفين للشبكة الفرعية؛ القاعدة العامة هنا هي أننا «نقترض» البايتات، بكلامٍ آخر، كلما أخذنا بايتات أكثر من قسم المضيف، كلما قلّ عدد المضيفين الذي يمكن أن يتواجدوا في الشبكة الفرعية، لكن سيزداد بذلك عدد الشبكات الفرعية التي سنُنشِئها؛ حيث يعتمد عدد الشبكات الفرعية وعدد المضيفين على عدد البتات التي سنقترضها، الذي سيكون من قوى الأساس 2. table{border: 1px solid black; border-collapse: collapse} table, th, td{border: 1px solid black;} th{background-color: white;} عدد البتات المُقتَرَضة (s) عدد الشبكات الفرعية المحتملة (2s) عدد البتات الباقية في قسم مُعرِّف المضيف (8 - s = h) عدد المضيفين المحتملين في كل شبكة فرعية (2h - s) 1 2 7 128 2 4 6 64 3 8 5 32 4 16 4 16 5 32 3 8 6 64 2 4 7 128 1 2 في هذا المثال عن الفئة C، يمكننا أن نفرض عدد البتات التي سنقترضها (رمزنا لها بالرمز S)، ثم سيعطينا ذلك H الذي هو عدد المضيفين، إذ أنَّ H هو ناتج ‎8-S. تذكَّر أنَّه كلما اقترضنا بتات للشبكات الفرعية، كلما قلَّ عدد المضيفين الذي يمكن أن يصبحوا جزءًا منها، وأنَّ عدد البتات الكلي الذي يمكنك اقتراضه في شبكات ذات الفئة C هو 8. إذا استعملنا بتًا وحيدًا، فيمكننا تمثيل «2 للأس 1» كعدد للشبكات الفرعية التي حاصلها هو شبكتان فرعيتان؛ مما يبقي لنا 7 بتات للمضيف، وهذا يعني 126 احتمالًا مختلفًا لعناوين المضيفين في كل شبكة فرعية؛ لاحظ أنَّ 2 للأس 7 تُعطي 128، لكن هنالك عنوانان محجوزان يُمثِّلان الشبكة نفسها وعنوان الإذاعة. ستحصل على نتائج مشابهة إذ اقترضت المزيد من البتات؛ لكن تذكر أنَّه كلما اقترضت بتاتٍ أكثر، كلما قل عدد المضيفين في شبكتك الفرعية. الشبكات الفرعية والمضيفون المحتملون في شبكة ذات الفئة B لدينا المزيد من البتات في قسم المضيف لنقترض منها في الفئة B؛ حيث أنَّ الطريقة مشابهة جدًا لما شرحناه أعلاه؛ ففي هذا المثال سنقترض -مثلًا- 4 بتات (إذ لدينا 16 شبكة فرعية في شبكةٍ ذات الفئة B) مما يُبقي لدينا 12 بت للمضيفين؛ وفي هذه المرة لدينا 16 بت ناقص 4 يساوي 12؛ و2 للقوة 12 تُنتِج 4096؛ ثم سنطرح عنوانين محجوزين مما يُبقي 4094 مضيفًا في كل شبكة فرعية. عدد البتات المُقتَرَضة (s) عدد الشبكات الفرعية المحتملة (2s) عدد البتات الباقية في قسم مُعرِّف المضيف (8 - s = h) عدد المضيفين المحتملين في كل شبكة فرعية (2h - s) 1 2 15 32766 2 4 14 16382 3 8 13 8190 4 16 12 4094 5 32 11 2046 6 64 10 1022 7 128 9 510 ... ... ... ... الشبكات الفرعية والمضيفون المحتملون في شبكة ذات الفئة A والأمر سيانٌ للشبكات ذات الفئة A؛ لكننا نتملك هذه المرة عددًا أكبر من البتات لنقترضها، وهذه الفئة هي أكثر الفئات مرونةً فيما يتعلق بموضوع الشبكات الفرعية، وهذا هو سبب اشتهار الشبكة 10 (عنوان من الفئة A للشبكات الخاصة [private]) كأكثر عناوين الشبكات الخاصة استعمالًا. وبهذا يمكننا أن نقترض البايت الثاني بأكمله لتمثيل الشبكة الفرعية، وتبقى لدينا إمكانية وصل عدِّة آلاف من المضيفين في كل شبكة فرعية. عدد البتات المُقتَرَضة (s) عدد الشبكات الفرعية المحتملة (2s) عدد البتات الباقية في قسم مُعرِّف المضيف (8 - s = h) عدد المضيفين المحتملين في كل شبكة فرعية (2h - s) 1 2 23 8388606 2 4 22 4194302 3 8 21 2097150 4 16 20 1048574 5 32 19 524286 6 64 18 262142 7 128 17 131070 ... ... ... ... آلية عمل القناع في المضيفين سيستخدم المضيفون قناع الشبكة الفرعية للتعرف على الشبكة التي يتواجدون فيها من ناحية هيكلية عنوان IP؛ ثم سيقارنون تلك الشبكة مع عنوان الوجهة للرزم الشبكية المُرسَلة منهم؛ فإن طابق عنوانُ الوجهة الشبكةَ التي يتواجدون فيها اعتمادًا على قيمة القناع، فسيحاولون إرسال طلبية ARP لمحاولة الحصول على عنوان MAC للوجهة، ثم سيمررون الرزم مباشرةً إلى الوجهة في الشبكة الفرعية المحلية. أما لو لم تتطابق الشبكة في المصدر والوجهة، فهذا يعني أنَّ الوجهة في شبكةٍ أخرى وسنحتاج إلى عنوان IP للموجِّه لتمرير الرزم إلى الوجهة البعيدة؛ وعنوان الموجه ما هو إلا البوابة الافتراضية المضبوطة في كل جهاز من أجهزة الشبكة. كيف تستعمل الموجهات قناع الشبكة الفرعية آلية عمل قناع الشبكة الفرعية هي ذاتها في الموجِّهات، لكن الموجِّهات ستستعمل هذه المعلومات بطريقةٍ مختلفة، إذ أنها تستلم الرزم الشبكيّة لكي تمررها إلى الوجهة المطلوبة؛ وستستخدم القناع لمقارنة عنوان IP الوجهة بعناوين الشبكات الموجودة في جدول التوجيه. أعراف تسمية قناع الشبكة الفرعية هي / ثم رقم، الذي يخبر الموجِّه أيّة بايتات ستمثِّل قسم الشبكة من العنوان؛ الرمز ‎/24 يعني أنَّ أول 3 بايتات أو أول 24 بت هي قسم الشبكة من العنوان. يحاول المضيف A -في هذا المثال- إرسال رزم شبكيّة إلى الوجهة 10.3.1.23، ويستعمل ذاك المضيف القناع ‎/24 لمقارنة مُعرِّف شبكته الفرعية التي هي 10.1.1، لكن وجد أنَّ أول 3 بايت من مُعرِّف الشبكة الفرعية للوجهة التي هي 10.3.1 لا تتطابق، لهذا سيُرسِل المضيف A الرزم إلى الموجِّه؛ ثم سيستعمل الموجِّه معلومات القناع لمطابقة الشبكة الفرعية الوجهة في جدول التوجيه الخاص به، وكما هو ظاهر في المخطط أعلاه، الشبكات الموجودة في جدول التوجيه هي شبكات ‎/24 لذلك سيُقارِن الموجِّه أول 3 بايتات مع عنوان IP للوجهة كي يرى إن كانت هنالك مُدخَلة تُطابِق الوجهة. ثم سيكمل الموجِّه عمله بتمرير الرزم إلى المنفذ الموافق للوجهة الذي هو Fa0/0؛ ومن هنا تصل الرزمة إلى الموجِّه B، الذي يجري العملية ذاتها لتوصيل الرزمة إلى الشبكة الفرعية المتصلة به مباشرةً. خطة تطبيق الشبكات الفرعية علينا التأكد من عدِّة أشياء قبل أن نُقسِّم شبكاتنا إلى شبكاتٍ فرعية؛ فعلينا أولًا تخطيط لاستراتيجية التقسيم، ثم نقترض عدد البتات الملائم من قسم المضيف في العنوان لتمثيل الشبكات الفرعية؛ وبعد اكتمال مرحلة التصميم، سنحتاج إلى حجز وإسناد الشبكات الفرعية إلى مختلف القطع الشبكيّة. إذ أنَّ قناع الشبكة الفرعية هو أداةٌ تُخبِرُ الأجهزةَ والمضيفين والموجهات كيف ستقرأ وتُمرِّر الرزم الشبكيّة إلى الوجهة. القيم الثمانية لقناع الشبكة الفرعية أصبحنا الآن نعرف لماذا نحتاج إلى قناع الشبكة الفرعية، لكن كيف يبدو وكيف نصممه؟ حسنًا، القناع ما هو إلا سلسلة مكونة من 4 بايتات شبيهة بعنوان IP؛ أي بكلامٍ آخر، سلسلة من 32 بت، إما 1 أو 0. لذلك يشابه القناع عناوين IP لكنه ليس منهم؛ فهو يأتي مع عناوين IP للسماح لك بالتعرف على قسم المضيف وقسم الشبكة من العنوان؛ وفي هذا السياق، كل 1 في القناع يعني أنَّ البت الموافق له في عنوان IP هو جزء من قسم الشبكة من العنوان؛ وكل 0 في القناع يُشير إلى أنّ البت الموافق له في عنوان IP سيكون من قسم المضيف. تذكر أننا قلنا أن قناع الشبكة الفرعية هو آلية «اقتراض»؛ فسننقل (shift) القناع الافتراضي إلى اليمين ونقترض البتات من قسم المضيفين من العنوان، وهذا سيُنتِج ميزةً محوريةً في قناع الشبكة، ألا وهي أنَّ الواحدات (1) متتالية ومتعاقبة دومًا، وكذلك الأصفار. عندما ننتقل إلى الأسفل في الرسم التوضيحي السابق، نجد أنَّ تتالي الأرقام منطقي بعد تعلمنا للتحويل من النظام الثنائي إلى النظام العشري. وفي النهاية، سترى أنَّ وجود الرقم 1 في جميع البتات يساوي الرقم 255، الذي هو أكبر قناع للشبكة الفرعية، أو تمثيل للقناع كعدد عشري لأي بايت؛ وهذا هو سبب كون ناتج 24 بت متتالي يحتوي على 1 هو قناع الشبكة الفرعية 255.255.225.0؛ أصبح الأمر مربكًا الآن، لنلقِ نظرةً على بعض الأمثلة كي تتضح بعض الأمور. الأقنعة الافتراضية للشبكات الفرعية في حالة عناوين IP من الفئة A ‏(10.0.0.0) يُعرِّف القناع الافتراضي -الذي يخبرنا ما هي فئة العنوان- قسم الشبكة من العنوان الذي سيكون البايت الأول كله واحدات (1) وبقية البايتات الثلاثة كلها أصفار (0)، الذي قيمته هي 255.0.0.0 في النظام العشري. لكن ما هي ‎/8؟ نحن البشر كسالى! فبدلًا من كتابة 255.0.0.0 نود أن نختصر ونكتب ‎/8 الذي يعني أنَّه في القناع 8 بتات متتالية قيمتها 1 والباقي أصفار. عنوان من الفئة A (عشري) 10.0.0.0 عنوان من الفئة A (ثنائي) 00001010.00000000.00000000.00000000 القناع الافتراضي للفئة A (ثنائي) 11111111.00000000.00000000.00000000 القناع الافتراضي للفئة A (عشري) 255.0.0.0 طول اللاحقة الافتراضي ‎/8 عنوان من الفئة B (عشري) 172.16.0.0 عنوان من الفئة B (ثنائي) 10101100.00010000.00000000.00000000 القناع الافتراضي للفئة B (ثنائي) 11111111.11111111.00000000.00000000 القناع الافتراضي للفئة B (عشري) 255.255.0.0 طول اللاحقة الافتراضي ‎/16 عنوان من الفئة C (عشري) 192.168.42.0 عنوان من الفئة C (ثنائي) 11000000.10101000.00101010.00000000 القناع الافتراضي للفئة C (ثنائي) 11111111.11111111.11111111.00000000 القناع الافتراضي للفئة C (عشري) 255.255.255.0 طول اللاحقة الافتراضي ‎/24 عندما نُنشِئ الشبكات الفرعية، فإننا نبدأ من اليسار وننتقل إلى اليمين عند تعريف عدد البتات التي ستكون قيمتها 1 التي تحدد قيمة معرِّف الشبكة؛ وبمعرفتنا أنَّ قناع الشبكة الفرعية فيه 32 بت، فكل ما علينا معرفته هو عدد البتات التي قيمتها 1، لأننا نعلم أنَّ بقية البتات ستكون سلسلة متتالية من الأصفار؛ والمِثلُ أيضًا لفئات B و C؛ فالقناع الافتراضي للفئة B ‏(172.16.0.0) -الذي يخبرنا أنَّ أول بايتين من الفئة يحتويان على واحدات- هو 255.255.0.0 أو ‎/16؛ والأمر سيانٌ لعناوين الفئة C، التي يكون قناعها هو ‎/24. آلية استعمال الشبكات الفرعية حان الوقت الآن لإلقاء نظرة على الحصول على عنوان IP من هيئة تسجيل العناوين مثل IANA ‏(Internet Assigned Numbers Authority) ثم تقسيم ذاك العنوان إلى عدِّة شبكات فرعية. إذ نحصل بادئ الأمر على شبكةٍ واحدة، لكننا نحتاج إلى أكثر من شبكة، لأنه من غير المحتمل أن يكون لدينا مخطط مسطح (flat) للشبكة. عدد القطع في شبكتنا سيعطينا فكرة عن عدد الشبكات الفرعية التي سنحتاج لها. وقد تعلمنا في هذا الدرس أن قناع الشبكة هو أداة اقتراض، فلنمضي قدمًا ولنحسب عدد البتات التي سنحتاج لها لتمثيل عدد الشبكات الفرعية التي نحتاج. تذكَّر أن كل بت نقترضه من قسم المضيف سيقلل من عدد المضيفين؛ فكلما ازداد عدد الشبكات الفرعية، كلما نقص عدد المضيفين في كل شبكة. وبعد أخذ ما سبق بعين الاعتبار، فسنُنشِئ قناعًا جديدًا الذي سيكون سلسلةً من الأصفار والواحدات المتتالية؛ ثم سيكون على عاتقنا تحويله إلى قيمة عشرية وتمثيله بصيغةٍ شبيهةٍ بعناوين IP بوضع نقطةٍ بين كل بايتين. بعد إنشائنا للقناع الجديد، حان الآن الوقت لتعريف الشبكات الفرعية؛ أي بكلامٍ آخر، هذه العملية شبيهة بتوليد أرقام المناطق في أنظمة الهواتف؛ فلو قارنا الشبكة التي أعطتنا إياها هيئة تسجيل العناوين بالرمز الدولي للاتصال، فستكون الخطوة التالية هي إنشاء رموز للمناطق من رمز الدولة؛ وسنحجز لكل قطعة شبكية مُعرِّف شبكة فرعية مختلف في الشبكة، ثم سيحصل كل مضيف في تلك الشبكة على مُعرِّف خاص به... وبعد انتهاء التخطيط، فسيحين الوقت للذهاب إلى كل مضيف وجهاز وموجِّه ثم تطبيق مخططنا لعناوين IP مع القناع الملائم. ترجمة -وبتصرّف- للمقال Constructing an IP Network Addressing Scheme.
  19. يقدِّم لك هذا الدرس أدواتٍ لتحسين الأداء للبنية التحتية للمبدِّلات عندك لكي تواجه متطلباتٍ قاسيةً متعلقةً بالتراسل الشبكي؛ وهذا يتضمَّن التجزئة المُصغَّرة (micro segmentation) عبر مجالات التصادمات (collision domains)، واستخدام الاتصالات ثنائية الاتجاه (full-duplex)، ومعدَّلات تدفق مختلفة للوسائط مثل اتصال 1 غيغابت و10 غيغابت؛ وسنشرح أيضًا بروتوكول الشجرة الممتدة (spanning tree) كطريقة لاكتشاف الحلقات (loops) ومنعها. التجزئة المصغرة إحدى ميزات المبدِّلات هي قدرتها على التجزئة المُصغَّرة (micro segmentation)، التي ليس لها أيّة علاقة بتمرير الرزم الشبكية بذكاء بين المنافذ الوجهة والمصدر؛ إذ أنها القدرة على تقسيم الأجهزة المتصلة إلى عدِّة مجالات تصادمات؛ ففي الأيام الخالية، كان للموزِّع (hub) مجالَ تصادماتٍ وحيدًا وهذا يعني أنَّ جميع الأجهزة التي تتصل إلى الموزِّع سترى بعضها عندما تحاول الإرسال. يمكنك القول أنَّ جهازًا واحدًا سيستطيع الإرسال في وقتٍ معيّن، حيث يتحسس بقية الأجهزة القناة (channel) ويتراجعون عن الإرسال ثم سيحاولون لاحقًا استنادًا إلى بروتوكول CSMA/CD الذي يحكم آلية عمل بروتوكول إيثرنت. وفي حالة المبدِّلات، يمثِّل كل منفذٍ مجال تصادمات، ولهذا تستطيع القول أنَّه لا توجد تصادماتٌ في بيئةٍ تعتمد على المبدِّلات؛ وهنالك مكوِّن داخلي في المبدلات يسمح بأن تُجرى عدِّة «محادثات» (conversations) في نفس الوقت (تسمى هذه الميزة بالمصطلح switching fabric). ولكي يحصل هذان الأمران سويةً، فيجب أن يكون كل منفذٍ مجالَ تصادماتٍ منفصل وأنَّ يسمح switching fabric بأن تُجرى عدِّة محادثات في نفس الوقت. هذا شبيهٌ بعملية انتقال كل سيارة إلى العمل في «حارة» في الطريق السريع الذي يحتوي على عدِّة خطوط (أو حارات) للسماح لعدِّة سيارات بالمرور في نفس الوقت؛ تُحدِّد كميّة switching fabric عدد المحادثات التي تجري في وقتٍ واحدٍ في المبدِّل، لذا كلما كان الرقم أكبر كان ذلك أفضل؛ يُقاس switching fabric بوحدة البت في الثانية، وبعض المبدلات العصرية يمكنها تحتوي switching fabric بوحدة الغيغابت في الثانية، أو حتى تيرابت في الثانية. لمحة عن Duplex الاتصالات ثنائية الاتجاه (full-duplex) هي ميزةٌ أخرى من ميزات المبدِّلات؛ حيث تُستخدَم لحل مشاكل التراسل الشبكي. ففي الاتصالات ثنائية الاتجاه -مثلًا بين الخادوم والمبدِّل- يمكن زيادة التراسل الشبكي الفعال (effective bandwidth) بالسماح للأجهزة بالإرسال والاستقبال في نفس الوقت؛ أي بكلامٍ آخر، إذا كانت لديك وصلةٌ بسرعة ‎100 Mb/s ثنائية الاتجاه، فإن التراسل الشبكي الفعال سيكون ‎200 Mb/s؛ وهذا يكون للاتصالات من نقطة إلى نقطة فقط؛ أي بكلامٍ آخر، إذا أردت وصل موزِّع إلى مبدِّل (الأمر الذي يُعتَبَر وصل نقطة إلى عدِّة نقط، لأن الموزِّع يجب أن يحدد ويفهم أين حصلت التصادمات) فيجب استخدام اتصالات أحاديّة الاتجاه (half-duplex). في هذه المرحلة، سيكون لديك مرور للبيانات باتجاه وحيد مع احتمالٍ كبير بحدوث تصادمات، وستحصل على أيّة حال على تصادمات في بيئةٍ تستعمل موزِّعًا؛ فستستعمل إحدى القنوات للإرسال أو الاستقبال، وستستعمل الأخرى لتحسس التصادم؛ أما الاتصالات ثنائية الاتجاه (full-duplex) فهي تضمن اتصالاتٍ خاليةً من التصادمات بناءً على افتراض وجود بيئة تعتمد على التجزئة المُصغَّرة. مثالٌ على ذلك هو محادثةٌ عبر جهاز الراديو الذي يشبه الاتصال أحادي الاتجاه؛ فإذا كنت تتحدث، فعليك التوقف عن ذلك كي تسمح للطرف الآخر بالتحدث؛ أما الاتصالات ثنائية الاتجاه فهي تشبه المحادثات الهاتفية، حيث يمكن للطرفين التحدث في نفس الوقت. ضبط خيارات Duplex وخيارات السرعة يمكنك تغيير إعدادات Duplex والسرعة عبر استخدام هذه الأوامر: بعد الذهاب إلى نمط ضبط البطاقات (interface configuration mode) يمكنك استخدام الأمر duplex لإنشاء ضبط ثابت إما باتجاهٍ واحد (half-duplex) أو باتجاهين (full-duplex)؛ أما لو استخدمت الكلمة المحجوزة auto، فستُفعِّل استخدام المفاوضات التلقائية (auto negotiating) لاختيار أيهما أفضل. الأمر speed موجودٌ أيضًا في نمط ضبط البطاقات، ويمكنك تحديد السرعة التي تريدها إما 10 أو 100 أو 1000 ميغابت في الثانية، أو ربما تريد أن يتم اختيارها تلقائيًا باستخدام الكلمة auto؛ القيمة الافتراضية لمنافذ Fast Ethernet بسرعة 10/100/1000 هي «المفاوضة التلقائية» (auto negotiating)، أما القيمة الافتراضية لمنافذ Gb/s التي تستعمل الأكبال الضوئية هي ثنائية الاتجاه (full-duplex). يمكن عرض الضبط باستخدام الأمر show interfaces لترى إن كان قد ضُبِطَ ضبطًا ثابتًا أم كان تلقائيًا، إذ سيظهر عندك ضبط duplex وحالته وخيارات السرعة. يجدر بالذكر أنه قد تفشل المفاوضات التلقائية وبهذا سيُضبَط المنفذ إلى نمط الاتصال باتجاه وحيد، وهذا قد لا يتلاءم مع الجهاز، ولمنع حدوث هذه المشكلة فيجب عليك ضبط إعدادات duplex يدويًا. التسلسل الهرمي للاتصالات – نموذج الطبقات الثلاث عندما تفكِّر في السرعة والتراسل الشبكي وفي خطوط ‎10 Gb/s كخطوطٍ تستعمل للخوادم في الوقت الراهن، فربما تجد أنه من المثالي أن تستطيع توفير خطوط بسرعات ‎10 Gb/s لجميع اتصالات الشبكة؛ لكن هذا الأمر مكلفٌ للغاية؛ إحدى النهج في التصميم هي تقطيع الشبكة إلى أقسام وتحديد مقدار التراسل الشبكي بناءً على حاجة كل قسم. نموذج الطبقات «الأساس – التوزيع – الوصول» (core distribution access) يدعو إلى وجود طبقة وصول لتوفير الاتصالات إلى النهايات الشبكيّة ثم يُخصَّص التراسل الشبكي وغيره من الميزات والوظائف تبعًا للنهايات المتصلة؛ على سبيل المثال، يمكن أن تتصل مجموعة خواديم إلى طبقة الوصول وربما تجد وصلات 1‎ ‎Gb/s أو حتى ‎10 Gb/s هناك؛ لكن طبقة الوصول لمبنى خدمي ستحتوي على وصلات بسرعات ‎100 Mb/s أو ‎1 ‎Gb/s؛ تجمع طبقة التوزيع بين عدِّة مجموعات وصول وتصب فيها الخطوط الصاعدة (uplinks) القادمة من مبدِّلات طبقة الوصول. هذا سببٌ لزيادتك لاشتراكك في التراسل الشبكي، لأنك تعلم أنَّه من المستبعد أن تُرسِل جميع الأجهزة في مجموعات الوصول في نفس الوقت. فطبقة الأساس (core) ستصل بين عدِّة مجموعات توزيع وهنا مكان نقل غالبية بيانات الشبكة، وخصوصًا أنَّ الموارد (resources) في شبكاتنا العصرية تكون خارج مجموعات الوصول مثل شبكة الإنترنت. ليست كمية التراسل الشبكي هي الخاصية أو المورد الوحيد الذي يُخصَّص عبر هذا النموذج، يمكنك مثلًا أن تجعل حماية طبقة الوصول قويةً، وبهذا سنستطيع الإمساك بالأشخاص السيئين قبل أن يصلوا إلى الشبكة؛ وهنالك أدواتٌ مثل الجدر النارية وجودة الخدمة (quality of service) موجودةٌ في طبقة التوزيع وطبقة الأساس. الحلقات عند بناءك للتسلسل الهرمي، فربما تضع به بعض الآليات التعويضية (redundancy) في بعض الوحدات؛ على سبيل المثال، تتطلب طبقة الأساس مستوى معيّن من القدرات التعويضية والوثوقية لأنها ستنقل أغلبية بيانات التراسل الشبكي، وخصوصًا البيانات القادمة من مجموعات طبقة التوزيع. عندما تبني آليات التعويض، فربما ستنشِئ حلقات من المبدلات كما هو مبيّن في الشكل. استخدام الحلقات فكرةٌ جيدة عندما تريد أن يكون لديك تعويض ووثوقية وتوفر دائم لشبكة؛ فإذا أنشَأت حلقاتٍ مثل الموضَّحة بالشكل، فلن يشكل لك خروج جزءٍ من الشبكة انقطاعًا للاتصال، لأن البيانات ستجد طريقًا آخر لتصل إلى وجهتها. البيانات المُرسَلة إلى وجهاتٍ غير معروفةٍ ستتبع طريقًا مشابهًا وخصوصًا بيانات الإذاعة؛ مما سيؤدي إلى تقليل جودة أداء المبدلات والتسبب في مرور بيانات غير مرغوبة في الشبكة؛ التي ستُعالَج من جميع الأجهزة على الشبكة، وستسبب تخفيضًا في أداء الحواسيب والخوادم. بروتوكول الشجرة الممتدة (Spanning Tree Protocol) الحل الرئيسي لمنع تشكيل حلقات هو بروتوكول الشجرة الممتدة المعروف باسم STP؛ الذي يدير الوصلات (links) عبر عملية معيّنة؛ حيث سيمنع تشكيل الحلقات عبر حجب المنافذ والتخلص منطقيًّا من الحلقة. وهذا لا يعني أن يُعطَّل المنفذ أو يقطع عنه الاتصال؛ بل سيُحجَب من وجهة نظر الشجرة الممتدة. وعبر حجب ذاك المنفذ، سيمنع تشكيل الحلقة وستتوقف المشاكل الناتجة عن الحلقات. آلية العمل في الشجرة الممتدة هي تعيين مدير للشبكة يسمى الجسر الجذر (root bridge)؛ الذي يُرسِل ما يسمى PBDU أو bridge protocol data units لإنشاء بنية شجريّة متناسقة على الشبكة؛ وهذا يعني أنَّ اختيار الجسر الجذر ديناميكي، وسيتم اختيار الطريق ذي الأولوية القصوى ليكون جسرًا، وهذا يعني لو أن ذاك الطريق قد توقف عن العمل، فإن مبدِّلات أخرى ستأخذ مكانه وتصبح جذورًا (roots). الجزء الثاني من العملية هو اختيار المنفذ الذي سيُحجَب لمنع تشكيل الحلقة، ويتم اختياره ليكون أبعد المنافذ عن الجذر؛ وفي النهاية، سيُحجَب منفذٌ وحيد وستعلم تلك المبدلات أن عليها ألا تنقل البيانات عبره؛ مما يشكِّل مخططًا شبكيًّا خاليًا من الحلقات، مما يخلصنا من المشاكل المتعلقة بالمعدات التعويضية في الشبكة. ترجمة -وبتصرّف- للمقال Maximizing the Benefits of Switching.
  20. cisco icnd1

    يمكننا رؤية أمن المبدِّلات بعدِّة أبعاد؛ أحدها هو البعد الفيزيائي والبيئي الذي يتضمّن عدِّة فئات وتصنيفات -المذكورة هنا- تتعلق تهديدات الأجهزة بالضرر الفيزيائي للمعدّات، قد يكون سوء الاستعمال سببًا في هذا وليس بالضرورة أن يكون الضرر متعمّدًا؛ فقد يكون السبب قادمًا من الإدارة السيئة للتغييرات أو السياسات غير الحريصة في تثبيت العتاد الفيزيائي؛ وعدم وجود سياسة خاصّة بالتعامل مع المعدات. أما التهديدات البيئية فهي متعلقة بدرجات الحرارة الكبيرة والرطوبة؛ لكن مركزَ بياناتٍ بتصميم جيد لحاويات الأسلاك (wiring closet) -يتّبِع أفضل الممارسات العملية المتعلقة بالمكان الفيزيائي والتبريد ...إلخ. سيساعد في تخفيف هذه الأخطار. قد تكون التهديدات الكهربائية أكثر شيوعًا وهي تتراوح بين ارتفاع مفاجئ في الجهد (voltage spikes) إلى التيار الكهربائي غير المستقر أو إلى فقدان تام للطاقة الكهربائية. يمكن تجنب هذه المخاطر باستخدام وحدات عدم انقطاع التيار (UPS). تهديدات الصيانة متعلقة بمنهجية وعملية تصميم المكان الفيزيائي للمعدات، إذ ستشكِّل تمديدات الأكبال السيئة تهديدًا أمنيًا إذا سببت في مشكلة كهربائية أو مشكلة في العتاد إذا أدّت إلى إسقاط المعدات على الأرض. وقد يُشكِّل أيضًا نقصان قطع التبديل تهديدًا أمنيًا؛ الذي يُثبِت مدى سوء التصميم والتخطيط من ناحية إمكانية تعويض المعدات. ضبط كلمة مرور للمبدل قد تكون التهديدات الأخرى متعلقةً بالاستيثاق وإدارة الهويات؛ وهذه هو السبب وراء ضبطنا لكلمات المرور وتوفير تحكم بالوصول مع استخدام كلمات المرور. قد يتعلق إعدادٌ بسيطٌ لكلمة المرور بخطوط وصولٍ (access lines) معيّنة إلى المبدِّل -على سبيل المثال- الطرفية (console)، وخطوط VTY المتعلقة بوصول الطرفية إلى المعدات؛ وهنالك قواعد للتحكم بالوصول عبر Telnet و SSH، لكن بعد أن تتصل إلى المعدات باستخدام طرفية أو Telnet، فستتمكن من الدخول إلى وضع المستخدم ذي الامتيازات بكلمة مرور، وهذا أمرٌ أخرٌ يجب علينا أخذه بعين الاعتبار. أحد الأمور الشائعة لكل كلمات المرور تلك هي أنها مضبوطة وثابتة لكل خط وصول أو لكل وظيفة مثل enable password. SwitchX(config)#no aaa new-model SwitchX(config)#line console 0 SwitchX(config-line)#login % Login disabled on line 0, until 'password' is set SwitchX(config-line)#password cisco SwitchX(config-line)#exi SwitchX(config)#line vty 0 4 SwitchX(config-line)#login % Login disabled on line 2, until 'password' is set % Login disabled on line 3, until 'password' is set % Login disabled on line 4, until 'password' is set % Login disabled on line 5, until 'password' is set % Login disabled on line 6, until 'password' is set SwitchX(config-line)#password sanjose SwitchX(config-line)#exi SwitchX(config)#enable password cisco SwitchX(config)#enable secret sanfran SwitchX(config)#service password-encryption طريقةٌ أخرى أكثر تقدمًا هي ربطها إما مع مستخدمين محليين أو مستخدمين مركزيين، وبهذا تستطيع استخدام تحكم بالوصول مستند إلى الدور (role-based access control) لإدارة الجهاز. تُستعمَل الأوامر المذكورة في الأعلى لإعداد كلمات مرور للخطوط؛ ربما تريد أن تُفعِّل عملية الاستيثاق على أحد الخطوط؛ ثم يمكنك ببساطة إعداد كلمة مرور دون تشفير لكن هنالك طريقة مُحسّنة هي تفعيل كلمة المرور مع تشفير أو إخفاء كلمة المرور باستخدام آليات التعمية (hashing mechanisms). تكون جميع كلمات المرور بنصٍ واضح وتُعرَض كما هي في أوامر: show running-config و show startup-config إذا أردت إخفاء الأوامر وتشفيرها تشفيرًا بسيطًا، فيمكنك استخدام الأمر last، بعد أن تنفِّذ ذاك الأمر، فسيتم تشفير جميع كلمات المرور الجديدة، ويمكنك تعطيل هذه الآلية باستخدام نسخة no من ذاك الأمر. ضبط لافتة تسجيل الدخول ستساعدك لافتات تسجيل الدخول على إيصال رسالة معيّنة إلى المستخدمين الذين تم الاستيثاق من دخولهم إلى المبدِّل؛ يمكن للافتات خدمة غرض إظهار معلومات، وعرض السياسة للمستخدمين الذين لم يتم الاستيثاق من دخولهم. يمكنك ضبط اللافتة بواسطة الأمر banner. الوصول عبر Telnet أو SSH تاريخيًا، كان Telnet أشهر الخيارات للوصل بين موجَّهَين لأغراض الإدارة، وكذلك للاتصال إلى المبدِّلات؛ لكنه غير آمن لأنه لا يوفر تشفيرًا للاتصال؛ أي بكلامٍ آخر، يمكن لمتلصصٍ أن يجمع رزماتٍ شبكيّة من الاتصال ويعلم الأوامر التي تستعملها وقد يستطيع سرقة كلمات مرورك، إذ أنها لا تشفَّر؛ أما SSH بإصدارَيه 1 و 2، سيشفِّر عملية نقل البيانات وسيخدم بنفس الوقت غرض الاتصال إلى جهازٍ لضبطه؛ وربما يوفِّر الإصدار الثاني من SSH خوارزمية تشفير أكثر تعقيدًا. إذا أردت استخدام SSH، فعليك إنشاء مفاتيح للتشفير، وعليك استخدام الأمر: crypto key generate rsa لإنشاء المفاتيح، وتلك المفاتيح مرتبطة أو تحتوي على اسم نطاق (domain name)، وهذا هو السبب وراء حاجتنا لذاك الأمر. يمكنك أيضًا تعريف قاعدة بيانات مستخدمين محليّين؛ يمكنك إضافة المستخدمين بالأمر username. طريقة ضبط أكثر تقدمًا هي استخدام خواديم AAA، أي خواديم الاستيثاق والتصريح والحسابات (authentication authorization and accounting servers) لجعل قاعدة بيانات المستخدمين مركزية وتوفير إمكانية التوسع لعدِّة أجهزة، التي تتشارك قاعدة البيانات نفسها من خادوم مركزي. ضبط حماية المنافذ آلية تأمينٍ إضافيةٌ في المبدِّلات مثل Catalyst 2960 هي حماية المنفذ؛ وتسمح لك تلك الميزة بتحديد عدد عناوين MAC التي يمكنك تعلمها في منفذ معيّن، ويمكنك أيضًا تحديد عناوين MAC التي تسمح لها في منفذٍ معيّن. هذا نوعٌ من آليات التأمين في الطبقة الثانية التي تساعد في الحماية الفيزيائية عبر تحديد من يمكنه الاتصال عبر منفذٍ ما، وكم جهازًا يستطيع الاتصال. عملية الضبط سهلة جدًا، حيث تبدأ بالأمر switchport في نمط ضبط المنافذ. لنلقِ نظرةً على بعض الخيارات بالنظر إلى مثال ضبط قياسي، أول شيء ستفعله لضبط البطاقة fa0/5 هو تفعيل المنفذ كمنفذ وصول (access port) وليس كمنفذ trunk؛ يسمح منفذ الوصول بوصل النهايات مثل محطات العمل والحواسيب المحمولة. الخطوة الثانية هي تفعيل تأمين المنفذ؛ الخطوة الثالثة هي تعريف العدد الأقصى من عناوين MAC، الوسيط maximum 1 يعني أنك ستسمح بعنوان MAC وحيد بالاتصال إلى هذا المنفذ. Switch(config)#interface fa0/5 Switch(config-if)#switchport mode access Switch(config-if)#switchport port-security Switch(config-if)#switchport port-security maximum 1 Switch(config-if)#switchport port-security mac-address sticky Switch(config-if)#switchport port-security violation shutdown وكما نعلم، تتعلم المبدِّلات عناوين MAC، ولهذا سيكون العنوان المُسنَد إلى المنفذ ديناميكيًا، ولكن بعد أن يتعلم المبدِّل عنوان MAC، فلن يقبل أي شيءٍ أكثر من العدد الأقصى؛ فلنقل أنك ضبطت العدد الأقصى إلى 10، فإن أعيد تشغيل المبدِّل، فسيتم نسيان تلك العناوين، وإذا أردت من المبدِّل أن يتذكرها، فعليك أن تجعلها ثابتةً باستخدام الكلمة المحجوزة sticky. في النهاية، عليك تحديد ماذا سيحصل عندما يتم تجاوز الحدود التي ضبطتها؛ هنالك عدِّة خيارات، يمكنك أن تعطِّل المنفذ (shutdown) وعليك إعادة تفعيله يدويًا بعد ذلك؛ أو يمكنك أن تعطِّل المنفذ مؤقتًا، أو أن تترك المنفذ على حاله لكن سترسِل رسالة syslog لكي يعلم المدراء أن الحدود قد تم تجاوزها. تستطيع عرض الإعداد والحالة لجميع البطاقات أو بطاقات معيّنة بعد ضبط حماية المنافذ، يمكنك استخدام الكلمة address لعرض عناوين MAC المرتبطة بالبطاقة؛ وهو أمرٌ بسيط سيعرض إن كان تأمين المنفذ مُفعّلًا وحالته إن كان كذلك؛ وفي هذه الحالة، «secure up» تعني أنه لم تحدث تجاوزات للحماية. ما سيحدث عندما يحصل تجاوز ما هو تعطيل المنفذ، فعدما يتصل عنوان MAC غير معروف أو تتجاوز عناوين MAC الحد المعيّن، فسيتم تعطيل المنفذ. عندما تُحدَّد قيمة بالدقائق لعناوين MAC المُسجَّلة، فيمكن أن تُزال تلقائيًا بعد أن يفصل اتصالها دون الحاجة إلى إزالتها يدويًا. أخيرًا، عدد عناوين MAC هو العدد الكلي لعناوين MAC التي يمكن للمنفذ تعلمها، وستُعرَض الإعدادات الثابتة (sticky configuration) وعدد التجاوزات التي حصلت في منفذ المبدِّل. تأمين المنافذ غير المستخدمة أفضل الممارسات العملية هي تأمين المنافذ غير المُستخدَمة التي قد تُشكِّل ثغراتٍ أمنيةً لأنها مفعَّلة افتراضيًا؛ إن كان لديك DHCP على شبكتك ولم تكن توفِّر حمايةً فيزيائيةً لها، فيمكن الوصول إلى شبكتك دون إذنك؛ لذا يُنصَح بتعطيل بطاقات المنافذ غير المُستعمَلة. ولهذا سنستخدم الأمر shutdown بالذهاب إلى وضع ضبط البطاقات وتحديد البطاقات التي نريد تعطيلها. في الإصدارات الحديثة من نظام تشغيل IOS، ستعثر على خيار لتحديد مجال من البطاقات لتعطلها في آن واحد؛ تذكر أنك تستطيع إعادة تفعيل البطاقة باستخدام نسخة no من أمر التعطيل؛ أي بكلامٍ آخر، الأمر shutdown سيعطِّل البطاقة إداريًا، بينما no shutdown سيفعِّلها. ترجمة -وبتصرّف- للمقال Understanding Switch Security.
  21. cisco icnd1

    لا يمكننا ضبط المبدِّلات إن لم تكن مُهيّئة بعد؛ سنشرح في هذا الدرس عملية بدء تشغيل نظام سيسكو IOS للمبدِّلات ونساعدك في التعرّف على الخطوات بالنظر إلى مخرجات الإقلاع. ثم سندخل إلى المبدِّل ونضبطه عبر واجهة سطر الأوامر، ثم سنتأكد من عمله عبر استخدام أوامر show المناسبة. الضبط الابتدائي لمبدلات Catalyst تكون مبدِّلات سيسكو جاهزةً لتوفير قابلية الاتصال ووظائف الطبقة الثانية عند إقلاعها. تتضمن عملية الإقلاع سلسلةً من إجراءات الإقلاع لتهيئة النظام وجعل وظائفه متوفرةً. الضبط الافتراضي يتضمن إنشاء مِحَث للمبدِّل، وتعريف أساسي للمنافذ (أو البطاقات) الذي هو تمكينها جميعًا؛ وإذا أردت مراقبة العملية، فتأكد من أنَّك تملك اتصالًا للمبدِّل عبر طرفية (console)، أو أنَّ لديك عميل طرفية مثل HyperTerminal أو PuTTY. في المبدِّلات الأبسط، يؤدي وصل شريط الطاقة مباشرةً إلى تشغيل المبدِّل وبدء عملية التهيئة. وفي هذه المبدِّلات البسيطة، لن تجد زر «on» أو «off» كما في المبدِّلات الأكثر تعقيدًا مثل المبدِّلات في طبقة التوزيع (distribution layer) والمبدِّلات الأساسية (core layer switches)؛ يمكنك مراقبة تسلسل عملية الإقلاع فيزيائيًا بالنظر إلى المبدِّل وملاحظة أضواء LED في هيكل المبدِّل، وأيضًا عبر اتصال الطرفية بالنظر إلى مخرجات نظام IOS، التي تعرض معلوماتٍ عن التشخيص وعملية التهيئة بأكملها. لاحظ أن هذه الدورة التدريبية مبنية على المبدِّل Catalyst 2960، وقد تختلف المخرجات أو الأوامر عن غيرها من المبدِّلات. إشارات أضواء LED في مبدِّلات Catalyst 2960 تُظهِر الصورة أضواء LED في Catalyst 2960، تعرض الأضواء المختلفة معلوماتٍ قيّمة عن حالة وإمكانيات المبدِّل. فضوء النظام (system LED) سيضيء بالأخضر لو كان النظام مشغلًا ويعمل عملًا سليمًا، ولكنه سيصفر إذا كانت هنالك أخطاء عند الإقلاع أو مشكلة في النظام؛ وسيومض لونٌ أصفرٌ في ضوء مزود الطاقة (power supply LED) إن فشل مزود الطاقة الرئيسية بإمداد المبدِّل بالطاقة وأصبح مزود الطاقة التعويضي يعمل بدلًا عنه. أما أضواء المنافذ فلها معانٍ مختلفة. مهمة زر «النمط» (mode) هي التبديل بين الأنماط المختلفة التي تُعطي معانٍ مختلفة لأضواء المنافذ؛ على سبيل المثال، إذا اخترت نمط «stat» أو «الحالة» فهذا سيجعل أضواء المنافذ تومض باللون الأخضر إن كان هنالك اتصالٌ وكان ذاك الاتصال نشطًا؛ لكنها ستصفر إن أُغلِق المنفذ من المدير أو حُجِبَ بواسطة بروتوكول الشجرة الممتدة (spanning tree)؛ ومثلًا، لو بدَّلت إلى نمط «الاستعمال» (utilization)، فإن عددًا من المنافذ ستضيء بالأخضر، مُظهِرةً حجم مرور البيانات في المبدِّل؛ فمثلًا، عندما تُظهِر كل أضواء LED لونًا أخضرًا فهذا يعني أن المبدِّل يعمل بنسبة 50% من قدرته، ويشير عدد أضواءٍ آخر إلى نسبٍ أخرى. مخرجات الإقلاع سيُظهِر نظام IOS معلوماتٍ أكثر تحديدًا، فيعرض -بالإضافة لغير ذلك من الأمور- عنوان MAC للمبدِّل ومختلف مراحل عملية التهيئة؛ ويُظهِر أيضًا مسار صورة نظام التشغيل الذي تُحمِّل منه، وحالة عملية التحميل؛ وبعد إتمام عملية التهيئة، سنحصل على وصول إلى واجهة سطر الأوامر؛ لكن إن كانت ملفات ضبط المبدِّل فارغةً، فسنحوَّل مباشرةً إلى نمط الإعداد الذي سيبدأ بسؤالنا أسئلةً عن الضبط الأساسي؛ يمكنك الانتقال إلى نمط الإعداد في أيّ وقتٍ باستدعاء الأمر setup. الدخول إلى المبدل والتحويل إلى نمط EXEC بمستخدم ذي امتيازات ستكون في نمط EXEC عندما تدخل إلى واجهة سطر الأوامر، حيث يسمح لك ذاك النمط بمراقبة وعرض وصيانة المبدِّل، لكنه يعتمد على الدور المُسنَد لك؛ فالأدوار هي نمط المستخدم العادي، أو نمط المستخدم ذو الامتيازات؛ يملك نمط المستخدم العادي وصولًا محدودًا إلى أدوات المراقبة البسيطة، بينما يسمح نمط المستخدم ذو الامتيازات لك بمراقبة وصيانة المبدِّل؛ على سبيل المثال، يمكنك نسخ ملفات الضبط من الشبكة، أو بإمكانك ببساطة حذفها، وحتى حذف صورة ملف IOS. لذا، ذاك النمط أكثر خطورةً وقدرةً على إدارة وصيانة المبدِّل؛ ولكي تنتقل من نمط المستخدم العادي إلى نمط المستخدم ذو الامتيازات، فعليك استخدام الأمر enable؛ ثم سيُطلَب منك إدخال كلمة المرور إن كانت موجودةً؛ إذ لا توجد كلمة مرور افتراضيًا، ويمكنك معرفة أنك انتقلت إلى نمط المستخدم ذي الامتيازات باختلاف شكل المِحَث (prompt). User Access Verification Username: admin Password: Switch>enable Password: Switch# حيث يظهر في نمط المستخدم العادي إشارة «أكبر من» كمحث، أما نمط المستخدم ذو الامتيازات فيظهر فيه إشارة المربع؛ ولأسبابٍ أمنيّة، لن تظهر كلمة المرور التي تكتبها على الشاشة؛ لكن إن كنت تتصل عبر جلسة Telnet، فستُرسَل كلمة المرور بنصٍ صريحٍ دون تشفير؛ ولهذه يُنصَح بشّدة استخدام بروتوكولات فيها تشفير مثل SSH لتوفير خصوصية وأمان نقل البيانات. ضبط المبدل يمكنك استخدام أوامر المراقبة والصيانة مثل الأمر copy في نمط المستخدم ذو الامتيازات؛ إذا أردت ضبط المبدِّل، عليك أن تدخل إلى وضع الضبط؛ وهنالك عدِّة طبقات من أنماط الضبط؛ أكثرها شموليةً هو نمط الضبط العام، الذي يمكنك الدخول إليه بكتابة الأمر configure terminal، ثم ستشاهد المحث يتغيّر لكن إشارة المربع ستبقى موجودةً فيه لتخبرك أنّك في نمط المستخدم ذي الامتيازات، وستجد اسم طبقة نمط الضبط التي أنت فيها مكتوبةً في المِحَث بين قوسين. تتعلق جميع الأوامر في الضبط العام بالمبدِّل كجهاز. Switch# Switch#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch(config)# فمثلًا، يمكنك تغيير المِحَث، ويمكنك تفعيل كلمة المرور للجهاز أو تغييرها إن كانت مُفعّلةً، وتستطيع عرض لافتات (banners) للمستخدمين الذين يسجلون الدخول إلى المبدِّل، أو يمكنك تعديل ترتيب عملية الإقلاع. وإذا أردت ضبط مكوناتٍ مخصصة، فعليك الانتقال من وضع الضبط العام إلى وضع الضبط لذاك المكوِّن؛ فمثلًا، لو أردت ضبط البطاقات، فعليك كتابة الأمر interface متبوعًا بمرجع البطاقة، وفي هذه الحالة، سندخل إلى بطاقة fast Ethernet في الفتحة (slot 0)، والمنفذ (port 1)؛ وهذا مثالٌ تقليديٌ عن الأجهزة ذات الضبط الثابت (fixed configuration) مثل 2960؛ وستعرف أنَّك في وضع ضبط البطاقة وذلك بتغيّر المِحَث ليعرض الكلمة «config-if». Switch(config)#interface FastEthernet 0/1 Switch(config-if)# هنالك عدِّة أنماط ضبط لبروتوكولات التوجيه في حالة المبدِّلات متعددة الطبقات (multilayer switch)؛ يمكنك من وضع الضبط العام الدخول إلى وضع ضبط بروتوكول التوجيه. ويمكن أيضًا ضبط وصلة الطرفية وأسطر VTY لوصول Telnet أو الدخول إليها من نمط الضبط العام. وإذا أردت العودة إلى النمط السابق؛ فأدخِل الأمر exit؛ الذي سيأخذك -على سبيل المثال- من نمط ضبط البطاقات إلى نمط الضبط العام. وإذا أردت العودة مباشرةً إلى طبقة EXEC بمستخدمٍ ذي امتيازات، فيمكنك الضغط على Ctrl-Z أو end وستذهب إلى أول طبقة، التي هي نمط EXEC. أولى المهام في نمط الضبط العام هي تسمية المبدِّل؛ يسمح لك الأمر hostname بإعطاء اسم للمبدِّل، وسيتغيّر المِحَث لأن اسم المبدِّل سيصبح جزءًا منه. ويمكن أيضًا أن يُستعمَل اسم المبدِّل لأغراضٍ إدارية للتعرف بسرعة إلى المبدِّل بالنظر إلى المِحَث، أو لغيرها من الأغراض بما في ذلك تفعيل DNS في المبدِّل. Switch(config-if)#^Z Switch# Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#hostname DSTR2 DSTR2(config)# يمكنك أيضًا توفير عناوين IP للمبدِّل بالذهاب إلى بطاقاتٍ معيّنة بالأمر interface من نمط الضبط العام ثم استخدام الأمر ip address كما هو موضّح في المثال لتعريف عنوان IP وقناع الشبكة الفرعية؛ وفي هذه الحالة، نحن نستعمل مبدِّل في الطبقة الثانية في 2960 ولذا ستكون بطاقات الطبقة الثالثة المتوفرة هي بطاقات VLAN لأغراضٍ إدارية. يمكنك أيضًا أن ترى بعض الاستعمالات للأمر shutdown؛ يمكننا استخدام الأمر مع الكلمة المحجوزة «no» وهذا شائعٌ في أغلبية أوامر سيسكو؛ بكلامٍ آخر، تنفيذ الأمر shutdown سيعطِّل البطاقة إداريًا، لكن تنفيذ الأمر no shutdown سيعيد تفعيلها. وبهذه الطريقة يمكنك إزالة عناوين IP التي أسندتها عبر استخدام الأمر no ip. DSTR2(config)#vlan 10 DSTR2(config-vlan)#name Management DSTR2(config-vlan)#exi % Applying VLAN changes may take few minutes. Please wait... DSTR2(config)#int vlan 10 DSTR2(config-if)#ip address 192.168.0.10 255.255.255.0 DSTR2(config-if)# ضبط البوابة الافتراضية في المبدل سيتكمل ضبط IP في مبدِّلات الطبقة الثانية مثل 2960 عند ضبط البوابة الافتراضية. ليس لدى المبدِّل جدول توجيهات، ولهذا سيحتاج إلى عنوان IP للبوابة الافتراضية، مَثَلُهُ كَمَثِلِ أيّة نهايةٍ شبكيّة. يمكنك تحديد عنوان IP للبوابة الافتراضية باستخدام هذا الأمر في نمط الضبط العام؛ وبهذا يكون المبدِّل قادرًا على الوصول إلى الوجهات البعيدة. وهذا يُستعمل عادةً لأغراضٍ إدارية لتمكّن من الاتصال عبر Telnet و SNMP للوجهات البعيدة. DSTR2(config)#ip default-gateway 192.168.0.1 DSTR2(config)# حفظ الضبط علينا أن نتذكر أن تلك الأوامر مُفعّلةٌ وتعمل على المبدِّل؛ لكنه موجودةٌ في الضبط التشغيلي؛ أي أنها لم تُحفَظ إلى الضبط الإقلاعي، الذي سيقرأه المبدِّل بعد إعادة الإقلاع. حفظ الضبط هو عمليةٌ يدويةٌ والأمر المستخدم هو: copy running-config startup-config command وستُسأل عن اسم الملف الهدف، الذي هو مضبوطٌ افتراضيًا؛ يمكنك ببساطة الحفظ إلى ملف ضبطٍ موجودٌ مسبقًا اسمه startup-config موجودٌ في NVRAM؛ مما يضمن أن الضبط جاهزٌ ومتوفرٌ لكي يقرأه المبدِّل بعد الإقلاع القادم؛ إذا لم تفعل ذلك، فستفقد الضبط التشغيلي في ذاكرة RAM عندما يفقد المبدِّل الطاقة الكهربائية أو عندما تُعيد تشغيل المبدِّل. عرض حالة التشغيل المبدئية للمبدل يمكنك التأكد من ضبطك والحالة الإجمالية وإمكانيات المبدِّل بالأوامر الآتية: show running-configuration الذي -كما ذكرنا سابقًا- يعرض الضبط الفعال حاليًا في المبدِّل؛ بينما الأمر: show startup-configuration سيُظهِر الضبط المحفوظ في NVRAM، و show version يُظهِر الإعدادات الإجمالية وإمكانيات المبدِّل بما في ذلك العتاد وإصدار البرمجيات، وملفات الضبط وصور الإقلاع. تسمح الأوامر الأخرى لك برؤية حالة البطاقات مثل الأمر show interfaces، الذي لا يُظهِر الحالة فقط، بل وإحصائيات متعلقة بالبطاقات. هذا مثالٌ عن ناتج الأمر show version، الذي يُظهِر خصائص نظام IOS بما في ذلك أرقام الإصدارات ومجموعة الميزات، ويعرض النسخة المُصغَّرة من IOS ‏(mini IOS) الموجودة في ROM، ومحمِّل الإقلاع الذي قد يكون إصداره مختلفًا؛ وزمن التشغيل (uptime) المهم لتحديد إن أُعيد إقلاع المبدِّل في الآونة الأخيرة. ثم ستُعرَض صورة IOS التي تم تحميلها من ذاكرة flash (وهذا ما يتم افتراضيًا)، لكن يمكن أن يكون المبدِّل قد حمَّل الصورة من الشبكة. Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 15.0(1)SE1, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2011 by Cisco Systems, Inc. Compiled Thu 01-Dec-11 14:53 by prod_rel_tea ROM: Bootstrap program is Alpha board boot loader BOOTLDR: C2960S Boot Loader (C2960S-HBOOT-M) Version 12.2(55r)SE, RELEASE SOFTWARE (fc1) Switch uptime is 28 weeks, 2 days, 6 hours, 15 minutes System returned to ROM by power-on System restarted at 18:16:59 EET Wed Dec 14 2011 System image file is "flash:/c2960s-universalk9-mz.150-1.SE1.bin" ... cisco WS-C2960S-48TS-L (PowerPC) processor (revision F0) with 131072K bytes of memory. Processor board ID XXXXXXXXXXX Last reset from power-on 2 Virtual Ethernet interfaces 1 FastEthernet interface 104 Gigabit Ethernet interfaces The password-recovery mechanism is enabled. ثم ستظهر إعدادات العتاد الإجمالية، بما في ذلك كميّة الذاكرة، التي تُعرَض على هيئة رقمين: الذاكرة المشتركة (shared memory) والذاكرة المتوفرة لبقية النظام؛ إذا جمعت هذين الرقمين، فستحصل على كميّة ذاكرة RAM الإجمالية الموجودة في المبدِّل. ويظهر أيضًا العدد الإجمالي للبطاقات الفيزيائية، وتُظهِر بقية الناتج (التي لم تُعرَض هنا) كميّة ذاكرة flash وقيمة مسجِّل الضبط (configuration register). يُستخدَم الأمر show interfaces عادةً للضبط الدقيق، لكنه يستعمل أيضًا للمراقبة واستكشاف الأخطاء وإصلاحها؛ يمكنك استعمال الأمر show interfaces لإظهار معلومات عن جميع البطاقات، أو يمكنك تحديد البطاقة التي تريد عرض معلوماتها. يَعرض الأمر حالة الطبقة الأولى، والثانية التي تتضمن عنوان MAC وحالة duplex وسرعة البطاقة متبوعةً بسلسلة من الإحصائيات تتضمن آخر إزالة للعدادات (counters)، واستراتيجية الطابور (queuing strategy)، ومعدلات الدخل والخرج في آخر 5 دقائق بوحدات «بت في الثانية» و «رزمة في الثانية»، ثم إحصائيات متعلقة بالرزم الإجمالية والأخطاء المتعلقة بعدِّة تصنيفات. Switch#sh int gi 1/0/2 GigabitEthernet1/0/2 is up, line protocol is up (connected) Hardware is Gigabit Ethernet, address is d4d7.48ef.9e82 (bia d4d7.48ef.9e82) MTU 9000 bytes, BW 1000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX input flow-control is off, output flow-control is unsupported ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output 00:00:00, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 59814322 packets input, 25857763788 bytes, 0 no buffer Received 7326867 broadcasts (7172259 multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0watchdog, 7172259 multicast, 0 pause input 0 input packets with dribble condition detected 98618698 packets output, 90904769164 bytes, 0 underruns 0 output errors, 0 collisions, 1 interface resets 0 unknown protocol drops 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier, 0 pause output 0 output buffer failures, 0 output buffers swapped out وكجهازٍ في الطبقة الثانية، ستحافظ المبدِّلات على جدول عناوين MAC، حيث ستتعلم عناوين MAC ديناميكيًا بالنظر إلى ترويسات الإطارات ثم ستتمكن من تحديد أماكن تلك العناوين وربطها مع المنافذ لتمكين تمرير الرزم أو الإطارات بشكلٍ ذكي. يمكنك عرض جدول عناوين MAC بالأمر: show mac address-table الذي سيُظهِر عناوين MAC ونوعها والمنفذ الذي تتصل الأجهزة حاملةُ عناوين MAC السابقة منه. قد تكون بعض عناوين MAC ثابتة، فجزءٌ منها متعلقٌ بالاستخدام الداخلي لمبدِّلات Catalyst 2960؛ تذكّر أن بعض المدخلات في الجدول ستنتهي صلاحيتها، وتُحذَف، ثم ستُضاف مرةً أخرى... ترجمة -وبتصرّف- للمقال: Starting a Switch and Basic Configuration.
  22. وأخيرًا لقد أصبحنا جاهزين لضبط مبدِّلات إيثرنت، وسنستخدم في هذا الدرس نظام تشغيل IOS التابع لسيسكو؛ حيث سنشرح ميزاته ووظائفه إضافةً إلى واجهة سطر الأوامر الخاصة به. وسيتضمن هذا الدرس أيضًا بدء تشغيل جلسة EXEC واستخدام الميزات الأساسية مثل المساعدة على الإنترنت (online help) والتعديل المُحسَّن (enhanced editing) وخاصية تأريخ الأوامر (command history). برمجية سيسكو IOS IOS هو نظام تشغيل ومعمارية البرمجيات المضمَّنة (embedded software architecture) لجميع أجهزة سيسكو؛ وفي الواقع، يشير اسمه إلى «نظام تشغيل الشبكة البينية» (internetwork operating system)؛ ويمنح الجهاز واجهة سطر أوامر للضبط، ويُمثِّل البرمجيّة التي تُعرِّف الميزات والوظيفة جنبًا إلى جنب مع البروتوكولات المدعومة من ذاك الجهاز. وهذا يتضمَّن -في المبدِّلات- الذكاء لتوفير اتصالات ومعالجة إطارات إيثرنت؛ بما في ذلك الوظائف الأمنية للتحكم بالوصول ومنع الاستخدام غير المُصرَّح به للشبكة؛ بالإضافة إلى ميزات خاصة بقابليّة التوسّع، والوثوقيّة، وغيرها. إن IOS هو نظام تشغيل مبدِّلات «Cisco Catalyst». ضبط الأجهزة الشبكية تسمح لك واجهة سطر الأوامر لنظام IOS بضبط المبدِّل؛ لكن الضبط الافتراضي كافٍ لكي يعمل المبدِّل عمله في الطبقة الثانية؛ أي بكلامٍ آخر، تكون المنافذ مُفعَّلةً افتراضيًا وتبدأ وظائف التبديل (switching) عند إقلاع الجهاز. أي أنك لو وصلت أجهزتك إلى المبدِّل، فيمكنك استخدام بروتوكول إيثرنت وتكون وظيفة التبديل جاهزةً للاستعمال. لكن ما يزال عليك ضبط وظائف الطبقة الثالثة لأتمتة عملية الضبط وإخفاء تعقيدات الأوامر عن المدراء. ستطلب أجهزة سيسكو ضبطًا ابتدائيًا إذا لم يتوفر ضبطٌ في الذاكرة؛ فعندما تُقلِع وتكون ملفات الضبط فارغةً، فستبدأ عمليةٌ اسمها «setup». يمكن أن تُستعدى عملية الضبط بعد إقلاع المبدِّل؛ حيث يظهر مربع حوار الإعداد الذي يتضمّن أسئلةً متعلقةً بمهام الضبط لإعداد الجهاز، بما في ذلك بروتوكول العناوين وبعض الخيارات المتعلقة بالطبقة 3 بما في ذلك عنوان IP وقناع الشبكة الفرعيّة (subnet mask). تتضمن الخيارات الأخرى -المتعلقة بالإدارة- إمكانية ضبط كلمة مرور وتعريف بروتوكولات الإدارة. لمحة عن عملية بدء تشغيل جهاز سيسكو إذًا، تتحقق أجهزة سيسكو من ملفات الضبط عندما تُقلِع، لكن هذا ليس الشيء الوحيد الذي تفعله، حيث تتأكد من عتاد الجهاز وتبدأ سلسلة من الاختبارات التشخصيّة المعروفة بالمصطلح «power-on self-test» أو اختصارًا POST. وبعد التأكد من سلامة العتاد، فسيبدأ الموزِّع سلسلةً من خطوات التهيئة تتضمن تحميل صورة نظام تشغيل IOS، لتشغيله والتمكن من استعمال واجهة سطر الأوامر. وأخيرًا وليس آخرًا، يستعد الجهاز لتحميل الضبط الحالي، حيث سيحاول العثور على ملف الضبط، الذي يجب أن يكون صالحًا وبصيغةٍ صحيحة، ومن ثم يحمِّله إلى الذاكرة لإعطاء الجهاز ضبطه الابتدائي؛ مكان وجود صورة نظام تشغيل IOS وملفات ضبط الجهاز مُعرَّفةٌ مسبقًا، لكن هنالك إجراءات احتياطية في حال لم تكن موجودةً مكانها، أو كانت معطوبة، أو نُقِلَت إلى مكانٍ آخر؛ تكون الإجراءات الاحتياطيّة تلقائيةً وجزءًا من عمليّة الإقلاع. مصادر خارجية للضبط أصبحنا جاهزين في هذه المرحلة لضبط الجهاز. يمكن أن يأتي الضبط من عدِّة مصادر وستُنفَّذ الأوامر مباشرةً على الجهاز؛ أي بمجرد أن أكتب أمرًا أو أحمِّل ملف ضبط، فسيحمَّل الضبط مباشرةً إلى الذاكرة ويُنشَّط. هنالك عدِّة طرق للوصول إلى الجهاز لضبطه أو إدارته. أولها هو منفذ الطرفية (console port) الموجود في أغلبية أجهزة سيسكو وهو منفذ تسلسلي يسمح بالوصول إلى واجهة سطر الأوامر لبدء الضبط. منفذ مشابهٌ له هو المنفذ البديل (auxiliary port) الذي يوفِّر وصولًا إلى سطر الأوامر، لكنه موجودٌ فقط في الموجِّهات ويسمح باتصالٍ من نمط الموديم (modem type) لإدارةٍ من خارج النطاق (out-of-band management)، عدا ذلك، تستطيع الوصول إلى الجهاز من داخل النطاق باستخدام الشبكة، ويمكنك أن تستخدم البطاقات الشبكيّة المتوفِّرة في الجهاز للاتصال إليه عبر «طرفيّة وهميّة» (virtual terminal) مثل عملاء Telnet أو تنزيل الملفات عبر TFTP، وغيرها من البروتوكولات مثل بروتوكول FTP وبروتوكول «النقل الآمن» (secure copy) لضبط ومراقبة وإدارة الجهاز عبر خادوم إدارة مركزية عبر الشبكة، أو أداة إدارة شبكيّة مثل SNMP، أو «Cisco Works» في حالة أنظمة سيسكو. يتضمّن نظام IOS صَدَفة (shell) ضبط معروفة باسم «واجهة سطر الأوامر»؛ التي يمكن استعمالها لإدخال أو لصق الأوامر لضبط الجهاز، وتوجد عدِّة أنواع (أو نكهات [flavors]) من نظام IOS اعتمادًا على نوع الجهاز، بما في ذلك الجدر الناريّة، ونقاط الوصول اللاسلكية، والمبدِّلات، والموجِّهات ...إلخ. ستصبح الأوامر متوفرةً في عدِّة أنمطٍ تتبع النهج الهرمي؛ على سبيل المثال، إذا ذهبت إلى نمط الضبط العام (global) لضبط أشياءٍ متعلقة بالموجِّه كجهاز، يمكنك بعدها الذهاب إلى وضع ضبط المنافذ الشبكيّة... لكل نمط شكل مِحَث (prompt) مختلف لتسهيل التعرّف عليه بصريًّا. يمكنك الضغط على زر Enter عندما بعد أن تكتب الأوامر لتفسيرها وتنفيذها مباشرةً؛ ستذهب تلك الأوامر إلى ذاكرة RAM إلى شيءٍ يُعرَف بالضبط التشغيلي (running configuration). ويجب حفظها إلى شيءٍ يُعرَف بالضبط الإقلاعي (startup configuration) لكي تتاح بعد إعادة إقلاع الجهاز؛ مثالٌ عن أحد أنواع الضبط هو نمط EXEC، الذي يسمح للمستخدمين بفتح صدفة (shell) في الجهاز وبدء عملية ضبطه؛ هنالك نمطان للوصول إلى أجهزة سيسكو: نمط المستخدم العادي (user mode)، ونمط المستخدم ذو الامتيازات (privilege mode)؛ يمكن للمدير في نمط المستخدم العادي أن يراقب ويتحقق من الضبط أدوات التشخيص لمرا ئقبة الشبكة والجهاز نفسه، أما في نمط المستخدم ذو الامتيازات، سيكون لديك المزيد من الامتيازات الإدارية على صيانة برمجيات ومكوِّنات الجهاز بالإضافة إلى قدرتك على ضبطه. نمط EXEC في نظام تشغيل IOS (نمط المستخدم العادي) نمط المستخدم هو أوّل ما ستصادفه عندما تتصل إلى الجهاز؛ سيكون لديك إمكانية مراقبة الجهاز لكن دون القدرة على ضبطه؛ يمكنك التعرّف على نمط المستخدم العادي بالنظر إلى مِحَث الأوامر؛ حيث سيحتوي على اسم الجهاز متبوعًا بإشارة «أكبر-من»؛ تستطيع في هذا النمط تشغيل المساعدة على الإنترنت في واجهة سطر أوامر IOS؛ وذلك بكتابة علامة استفهام مما يتيح لك وصولًا إلى معلوماتٍ عن الأوامر المتوفرة في هذا النمط. DSTR2 con0 is now available Press RETURN to get started. User Access Verification Username: admin Password: DSTR2>? Exec commands: access-enable Create a temporary Access-List entry access-profile Apply user-profile to interface clear Reset functions connect Open a terminal connection … نمط EXEC في نظام تشغيل IOS (نمط المستخدم ذو الامتيازات) النمط الثاني هو نمط المستخدم ذو الامتيازات، الذي سيمح لك بالمراقبة والتشخيص بالإضافة إلى إمكانيات الصيانة والضبط؛ وهذا النمط هو أساس بقية أنماط الضبط، ويمكنك التعرّف على نمط المستخدم ذو الامتيازات إذا رأيت اسم الجهاز متبوعًا بإشارة المربّع. ولكي تنتقل من نمط المستخدم العادي إلى نمط المستخدم ذو الامتيازات، فعليك إدخال الأمر enable وستُسأل عن كلمة اسم المستخدم وكلمة المرور. DSTR2> DSTR2>enable Password: DSTR2# DSTR2#? Exec commands: access-enable Create a temporary Access-List entry access-profile Apply user-profile to interface access-template Create a temporary Access-List entry … وسائل المساعدة في سطر أوامر المبدلات المساعدة في سطر أوامر أجهزة سيسكو مفصّلة بشكل كبير؛ فتتوفر لك مساعدةٌ حساسةٌ للسياق، التي تسمح لك بسرد الأوامر المتوفرة في كل نمط ضبط ومساعدتك ببناء الشكل العام للأوامر بكتابة علامة استفهام في كل خطوة أو في كل وسيط في الأمر نفسه. ولديك إمكانية التنقل إلى الأعلى والأسفل في حافظة تأريخ الأوامر (command history)، مما يمكّنك من استدعاء الأوامر الطويلة والمعقّدة دون الحاجة إلى إعادة كتابتها؛ وستساعدك رسائل الخطأ من التعرّف على المشاكل في أي أمر يمكن أن يكون قد أُدخِل بصيغة غير صحيحة، حيث سترى رسائل الأخطاء في البنية (syntax errors)، أو رسائل الأوامر غير المكتملة، أو الرسائل التي تشير إلى أنَّ الأمر غير موجود. تتضمن ميزات التعديل المُحسَّن أوامر تسمح لك بالتحرك بسلاسة في سطر الأوامر لإجراء تصحيحات أو تعديلات؛ حيث سيتحرّك المؤشر إلى بداية السطر عند الضغط على Ctrl-A، أو إلى نهاية السطر بالضغط على Crtl-E، ويمكنك التنقل إلى الإمام وإلى الخلف حروفًا وكلماتٍ، وحذف حرفٍ وحيدٍ أو مسح كل السطر بالضغط على Ctrl-U؛ وأحد أكثر المفاتيح فائدةً هو المفتاح Tab، الذي سيُكمِل الأوامر بعد أن تُدخِل أول عدِّة أحرف منها. يمكنك التحرك إلى الأمام والخلف عبر تأريخ الأوامر مستخدمًا Ctrl-P و Ctrl-N أو عبر أزرار الأسهم (إلى الأعلى، وإلى الأسفل)؛ إذا أردت رؤية جميع التأريخ المتوفر، فيمكنك تنفيذ الأمر show history، الذي تكتبه في نمط EXEC، ويمكنك زيادة حجم التأريخ عبر زيادة عدد أسطره. تُخزَّن ملفات الضبط تخزينًا حيًّا في ذاكرة RAM، وهذا ما يُسمى بالضبط التشغيلي (running configuration) الذي هو الضبط النشط الذي يحكم آلية عمل الجهاز في تلك اللحظة؛ وهناك ما يُسمى بالضبط الإقلاعي (startup configuration)، الذي يكون مخزنًا في ذاكرة تُسمى NVRAM (اختصار للعبارة nonvolatile RAM)؛ يتضمن الضبط الإقلاعي جميع الأوامر التي يجب أن تكون متوفرةً عند إقلاع الجهاز مرةً أخرى. يمكنك مشاهدة النسخة الحالية من الضبط عبر الأمر show running-config، والأمر show startup-config لعرض الضبط الإقلاعي. قد تكون النسختان مختلفتين عن بعضها لأن عملية حفظ الضبط التشغيلي إلى ضبط إقلاعي هي عمليةٌ يدويةٌ. فإذا لم تحفظه، فسيكون ملفا الضبط مختلفين وقد تخسر تغييراتك التي أجريتها عندما تعيد الإقلاع. يعرض الأمر show running-config الضبط التشغيلي الموجود في ذاكرة RAM، مما يسمح لك بمراقبة وإدارة هذا النوع من الضبط. DSTR2#show running-config Building configuration... Current configuration : 1481 bytes ! version 15.0 سيُظهِر الأمر show startup-config محتويات ملف الضبط في NVRAM، لاحظ أن الأمر show running-config يبني الضبط من ذاكرة RAM ولهذا ستحصل على تلك الرسالة التي تشير إلى ذلك، بينما الأمر show startup-config يعرض محتويات ملفٍ موجودٍ في NVRAM؛ بالإضافة إلى عرضه لعدد البايتات التي يستهلكها ملف الضبط، والكميّة الإجمالية المتاحة من ذاكرة NVRAM. أُخِذ ناتج الأوامر الموجودة في هذه المقالة من مبدِّل DSTR2 في «مخبر التبديل» (switching lab). ترجمة -وبتصرّف- للمقال Supporting a Layer 2-to-Layer 3 Boundary Design.
  23. نحن نعلم أنَّ الطبقة الأولى تتعامل مع الوسائط (media) الفيزيائيّة؛ وهي تتعلق بالبتات والإشارات (signals) والواصلات (connectors) والأكبال وغيرها من المكّونات الفيزيائيّة. أمثلة هي: الاتصالات التسلسلية (serial connections) لشبكات WAN، والمُكرِّرات (repeaters) للشبكات الضوئية (optical networks)، والبروتوكولات الأخرى والمواصفات الفيزيائية للبطاقات الشبكيّة، التي قد تكون مثلًا «إيثرنت» (Ethernet). أجهزة الطبقة الثانية نتعامل في الطبقة الثانية مع الوصول إلى الوسائط (media)، لذلك نقوم بتقسيم المعلومات إلى إطارات (framing of information) لتوفيرها إلى الطبقة الفيزيائية؛ ونقوم أيضًا في الطبقة الثانية بإسناد العناوين، وإنشاء الجسور، والتبديل (switching) لتجاوز محدودية الوسائط الفيزيائيّة ولتجميع اتصالاتٍ متعددة من عدِّة نهايات؛ وبهذا تملك البطاقة الشبكيّة وصولًا «ذكيًّا» إلى الوسائط؛ وتتمكن المبدِّلات من وصل عدِّة أجهزة؛ وتُستخدَم الجسور تقليديًّا (مع غيرها من الأجهزة) لزيادة المسافة العظمى لبعض الوسائط الفيزيائية. إسناد العناوين (addressing) في الطبقة الثانية مهمٌ جدًا، لأننا نتكلم عن اتصالات «النّد-للنّد» (peer-to-peer)؛ ومثالٌ عن ذلك هو عنوان MAC ‏(media access control address) في شبكات إيثرنت؛ فجميع النهايات الشبكيّة تملك عنوان MAC، وحتى في بعض الأحيان يكون للمبدِّلات (switches) عناوين MAC. أجهزة الطبقة الثالثة يمكن أن تُفصَل الشبكات عن بعضا اعتمادًا على المسافة أو المكان الجغرافي، أو ربما تريد تقسيم شبكتك إلى عدِّة أجزاء؛ ففي هذه المرحلة، ستحتاج إلى جهازٍ في الطبقة الثالثة للقيام بدور التوجيه واختيار أفضل طريق؛ وستتمكن النهايات الشبكيّة من اتخاذ قراراتٍ عن مكان إرسال الرزم عبر طبقة الشبكة؛ فلو كانت الوجهة في قسمٍ أو شبكةٍ مختلفة، فإن الموجهات ستعرف الطريق إلى الشبكة الهدف، وستعطيه لتلك الرزم. إن عناوين الطبقة الثالثة مهمة ليس اتباعًا لنموذج اتصالات الند للند، وإنما أيضًا لإضافة هيكليّة إلى تسمية الأجهزة والتعرّف إليها؛ فكل نظام تشغيل خاص بالشبكة له صيغة عناوين خاصة به... فمثلًا، يستخدم بروتوكول TCP/IP عناوين IP. نماذج OSI الشاملة تَستخدم عناوين NSAP؛ لكن حصول كل جهاز على عنوان IP فريد خاص به، بالإضافة إلى الهيكليّة الموجودة في عناوين IP ستخدم هدف السماح للأجهزة والنهايات الشبكية والموجهات بمعرفة أين يجب أن تكون العقدة التوجيهية (next-hop) التالية لكي نصل إلى الوجهة المطلوبة. شرح عملية ARP نحن نعلم مدى أهميّة التفاعل بين الطبقات في النموذج الطبقي؛ في الحقيقة، نعلم أن الاتصالات العمودية بين الطبقات مهمة في نموذج اتصالات الند للند؛ حيث ستفدينا عناوين IP في سدّ الفجوة بين الطبقتين الثالثة والثانية؛ وعندما تُجمَّع الرزم الشبكيّة وتُنشَأ الاتصالات، فستحتاج الأجهزة إلى الوصول إلى الوسائط الفيزيائية، أي أن علينا الانتقال إلى الطبقة الثانية، ولهذا سنحتاج عنوان MAC إن كنّا نستخدم بروتوكول إيثرنت؛ إذ أنَّ المعلومات القادمة من الطبقات الأعلى هي عنوان IP، ويستطيع ARP التحويل بينهما. في هذا المثال، سيكون لدينا الجهاز A الذي سيحاول إرسال رزم شبكيّة إلى 172.16.3.2، ولكي يستبين ويتعرَّف على عنوان MAC لذاك IP، فإننا نستخدمARP لإذاعة السؤال الآتي: «من هو 172.16.3.2؟» وسيستلم كل جهازٍ على الشبكة هذا السؤال، لكن سيرد الجهاز صاحب عنوان IP الموافق فقط، ويعطي عنوان MAC الخاص به. وبالتالي سيحصل المُرسِل على معلومات عنوان MAC ويستطيع إنشاء الاتصال في الطبقة الثانية. من المهم أن تُخزَّن (cached) معلومات ARP في كل جهاز على الشبكة، لأن الإذاعة «مكلفة» بتعابير الشبكة، ويجب أن تبقى تلك المعلومات لفترةٍ محددة، ﻷنها من غير المحتمل أن تتغير خلال الاتصال؛ ولهذا، سيحتوي جدول ARP على معلومات الربط (mapping information) وهو ديناميكي لتعلم ARP، وإبقاء جدول الربط لفترة، ومن ثم التخلص منه بعد انقضاء فترة صلاحيته للاستجابة إلى أيّة تغيرات قد حصلت في الربط؛ وتكون المهلة عادةً هي 300 ثانية، لكن هذا يعتمد أيضًا على نظام التشغيل؛ يمكن مثلًا الحصول على جدول ARP على نظام ويندوز باستخدام الأمر arp -a. C:\Users\Administrator>arp -a Interface: 192.168.0.7 --- 0xe Internet Address Physical Address Type 192.168.0.1 a0-f3-c1-05-a4-96 dynamic 192.168.0.6 e4-ce-8f-9c-19-b3 dynamic 192.168.0.12 00-26-96-00-18-5e dynamic 192.168.0.255 ff-ff-ff-ff-ff-ff static أدوات المضيف طريقة جيّدة للتحقق من قابلية الاتصال دون الحاجة إلى وجود تطبيق لإرسال البيانات هي استخدام الأدوات المختلفة الموجودة في طبقة الشبكة. أحد الأمثلة على تلك الأدوات هو ping، الذي يُرسِل طلبات ICMP echo إلى عنوان IP معيّن أو اسم مضيف كما في هذا المثال؛ وبالطبع، سيتحوَّل اسم المضيف إلى عنوان IP، ثم ستستخدمه الأداة ping. فإذا وصلت رسالة الاختبار (probe) إلى الوجهة، وكانت الوجهة قادرةً على الرد على ICMP echo، فسيعلم المُرسِل أنَّ المستقبِل يعمل ويمكن الوصول إليه؛ لكن الأمر سيكون عديم الفائدة إن لم نحسب الزمن اللازم للوصول إلى الوجهة؛ حيث تحسب الأداة ping الزمن اللازم لإتمام الرحلة إلى الهدف؛ ويعطيك ناتج الأمر الزمن الأدنى والأقصى والمتوسط للرحلات؛ ونسبة مئوية للرزم المفقودة؛ ويوجد لهذا الأمر خياراتٌ لتحديد حجم الرزمة، وعدد الطلبيات التي ستُرسَل، والمهلة التي يجب انتظارها لكل عملية رد. أداةٌ أخرى مفيدةٌ جدًا هي trace، واسم الأمر في حالة نظام ويندوز هو tracert؛ حيث سيُظهِر هذه الأمر جميع الموجِّهات بين المُرسِل والمُستقبِل؛ لذا فإنه يعرض الطريق إلى الوجهة، مُظهِرًا جميع العقد التوجيهيّة (hops) والموجِّهات؛ ويعرض أيضًا معلومات الرحلة إلى كل بوابة، ويُظهِر آخر سطرٍ معلومات الرحلة الإجمالية إلى الوجهة. تعمل هذه الأداة عملًا مختلفًا وفقًا لنظام التشغيل، بعضها يستخدم رزم UDP، وبعضها يستخدم ICMP؛ ويكون لديها خياراتٌ كغيرها من الأوامر، يمكنك على سبيل المثال أن تُحدِّد العدد الأقصى من العقد التوجيهية لتضمِّنها في الناتج، أو أن تُحدِّد قائمةً بالبوابات التي تريد العبور خلالها للوصول إلى الوجهة. ترجمة -وبتصرّف- للمقال Exploring the Packet Delivery Process.
  24. شاهدنا عبر مسيرة تطور الشبكات المحلية كيف أنَّ كفاءة الشبكة واستغلال التراسل الشبكي أصبحا ميزتين محوريتين ومهمتين في كلٍّ شبكةٍ محليةٍ؛ وأصبحت الحواسيب والخواديم في أيامنا هذه قادرةً على معالجة آلاف ملايين العمليات في الثانية الواحدة، وهذا يعني أنها تملك المزيد من القدرة على توليد البيانات بدرجةٍ أكبر وإرسال المزيد من المعلومات عبر الشبكة. ازدحام الشبكة – الموزعات في مواجهة الجسور بصفةٍ عامة، ازدادت كميات البيانات التي تُنقَل عبر الشبكة المحلية (LAN) وذات النطاق الواسع (WAN) أضعافًا كثيرة، وتفرض البرمجيات الشرهة للتراسل الشبكي -مثل الفيديو، والوسائط المتعددة، والتعلم الإلكتروني ...إلخ.- متطلباتٍ صارمةً لشبكاتنا. نحن نعلم أنَّ الموزَّعات (hubs) لا يمكن أن تُستخدَم بفعاليّة في شبكاتنا الحالية لأنها تمثِّل مجالًا وحيدًا للتصادمات ومجالًا وحيدًا للإذاعة في كل موزِّعٍ، ولا يمكنها التعامل مع كمّياتٍ ضخمةٍ من البيانات الشبكيّة التي تمر في شبكاتنا العصرية؛ تمثِّل الجسور (bridges) تحسينًا كبيرًا، بينما ما تزال تعمل في الطبقة الثانية من نموذج OSI، لكنها تملك ذكاءً لتمرير الإطارات (frames) بناءً على معرفتها للمصدر والوجهة على شكل عنوان MAC؛ وعلى الرغم من أنَّها تملك منافذ أقل وهي أبطء، لكنها أفضل من الموزَّعات؛ وفي الواقع، يمكنها إنشاء مجالات تصادمات متعددة مثلها مثل المبدِّلات. المبدلات على الرغم من أنَّ آلية العمل الأساسية للمبدِّلات مشابهةٌ للجسور، لكن المبدِّلات تعمل بسرعات أعلى بكثير وفيها وظائف أكثر مقارنةً مع الجسور؛ وفيها عدد منافذ أكثر، فتتضمن مبدِّلات طبقةِ الوصولِ (access layer LAN switches) الاعتيادية من 28 إلى 48 منفذًا (port)، ويمكن أن تدعم مبدِّلات طبقة التوزيع (distribution layer switches) مئات المنافذ؛ وهذا يجعلها داعمةً للتوسع بشكلٍ كبير، ولها قدرة على تخزين الإطارات الكبيرة والمزيد من المعلومات مؤقتًا، مما يقلل من احتمال تجاهل بعض الإطارات الشبكيّة عندما تتم معالجتها؛ ومن المُرجَّح أن تدعم مزيجًا من سرعات المنافذ تتراوح بين 10 إلى ‎100 Mb/s إلى ‎1 Gb و ‎10 Gb/s وخصوصًا في «الخطوط الصاعدة» (uplinks) إلى الشبكات الأكبر. تتضمن المبدِّلات عدِّة مجالات للتصادمات أو مجالًا واحدًا لكل منفذ للسماح بإجراء اتصالاتٍ متعددة في نفس الوقت وزيادة سلاسة مرور البيانات العابرة في المبدِّل بآنٍ واحد. ويمكن أيضًا ضبطها لدعم عدِّة أنماط من «التبديل» (switching)؛ فنمط «التخزين-والتمرير» (store-and-forward) هو النمط التقليدي الذي تُخزَّن فيه الرزم كاملةً مؤقتًا قبل إرسالها لكي تتم معالجتها وتحديد المنفذ الصادر. وهنالك آليةٌ أخرى أكثر كفاءة هي نمط «المرور» (cut-through)، الذي يتم فيه تمرير الرزم في أسرع وقت ممكن بعد أن يتمكن المبدِّل من تحديد عنوان الوجهة؛ وهذا يحدث حتى لو لم يستلم المبدِّل الرزمة كاملةً؛ خيارٌ آخر هو نمط التبديل «الخالي من القطع» (fragment-free) الذي يتغلب على مشاكلٍ متعلقةً بالأخطاء المحتملة في نمط «المرور» (cut-through). تتشابه الجسور والمبدِّلات في أنها تصل بين مختلف قطع (segments) الشبكة المحليّة، وتتعلم عناوين MAC لترشيح البيانات وإرسالها إلى المنفذ الملائم حيث تتواجد الوجهة؛ لكن توجد ميزات في المبدِّلات تجعلها أكثر كفاءةً في تخفيف الازدحام والاستفادة بصورة أفضل من التراسل الشبكي. هذه قائمةٌ بتلك الميزات: أولها هو التواصل المخصص بين الأجهزة المعروف باسم «التجزئة الصغيرة» (micro segmentation)، وهذه الميزة تجعل الأجهزة لا تتنافس مع بعضها لإرسال البيانات، إذ يمثِّل كل منفذٍ في المبدِّل مجال تصادماتٍ مختلف؛ أي أنَّه لا توجد تنافسية بين الأجهزة ولا يحصل -نظريًّا- أيّة تصادمات. قد تظن أنَّه ما يزال هنالك تنافسيةٌ في الشبكة بسبب احتمال محاولة طرفَيّ الوصلة إرسال البيانات في نفس الوقت، لكن ذلك غير موجود والفضل يعود إلى الاتصالات ثنائية الاتجاه (full-duplex)، مما يسمح لجهازَين بالإرسال معًا في آنٍ واحد، مما يزيد من مقدار نقل البيانات، فمثلًا يمكن لوصلة بسرعة ‎100 Mb/s أن تنقل البيانات بسرعة 200‎ Mb/s. ميزةٌ أخرى مهمة هي أنَّ المبدِّلات تسمح باتصالاتٍ متعددة في آن واحد؛ وهذا بسبب ما يسمى «switching fabric» في المبدِّل، الذي هو مجرد حافظات داخلية تسمح لأزواجٍ متعددة من المنافذ بإرسال الإطارات في آنٍ واحد. هنالك بعض أنواع المبدِّلات التي تسمح لجميع المنافذ بإرسال جميع الإطارات في جميع المحادثات معًا، التي تسمى «wire-speed nonblocking servers»، ويكون بالطبع ثمنها أغلى. هنالك ميزةٌ أخرى تسمح للمبدِّلات بالتعامل مع سرعاتٍ متفاوتة على منافذ مختلفة مما يجعل المبدِّل يعمل كوسيط لنقل الرزم بين تلك المنافذ؛ وهذا يسمح باستخدام المبدِّل لوصل عدِّة أجهزة بسرعاتٍ قليلة أو بتراسل شبكي صغير، ويمكن لها في نفس الوقت التعامل مع الاتصالات ذوات السرعات العالية مع بقية الشبكة. ولهذه الأسباب، تتفوق المبدِّلات على الجسور؛ مما يجعلها الاختيار الأنسب للشبكات المحلية في هذه الأيام، فلم يعد من المعقول استخدام الموزَّعات والجسور في الشبكات العصرية؛ وبغض النظر أنَّ المبدِّلات تعمل في الطبقة الثانية مثلها مثل الجسور، لكنها تملك منافذ أكثر بسرعاتٍ أكبر، وكما ذكرنا سابقًا، لديها ذكاءٌ لتمرير، أو ترشيح، أو «إغراق» الشبكة بالإطارات الشبكيّة؛ فعندما تستلم المبدِّلات إطارًا، فإنها تبحث عن عنوان MAC للوجهة في جدول عناوين MAC الخاص بها، فإذا وجدت مطابقةً فإنها ستُمرِّر الإطار إلى المنفذ حيث تتواجد الوجهة، وإلا فسترسِل الإطار إلى جميع المنافذ عدا المنفذ الذي أتى منه الإطار. تبديل الإطارات (Switching Frames) هذا شرحٌ مرئيٌ للعملية؛ ففي الخطوة 1، يُرسِل الحاسوب A إطارًا إلى المبدِّل، ثم سيقارن المبدِّل عنوان MAC للوجهة مع جدول عناوين MAC الخاص به، فلا يجده؛ وقبل إرسال الإطار إلى جميع المنافذ، فسيربط المبدِّل عنوان MAC للحاسوب A إلى المنفذ بتضمين العنوان في جدول عناوين MAC؛ تتم إذاعة الإطار في الخطوة 3 على كل المنافذ، ثم -في الخطوة 4- ستستقبل الوجهة الإطار وترسِل إشعارًا مع عنوان MAC الخاص بها؛ ثم سيستمع المبدِّل إلى الرد في الخطوة 5 ويضيف عنوان MAC للحاسوب B إلى جدوله؛ ويكون المبدِّل جاهزًا لتمرير الإطارات في الخطوة 6. بكلامٍ آخر، سيمرر المبدِّل الإطار إلى المنفذ 1 فقط، وهو المنفذ الذي يقبع فيه الحاسوب A استنادًا إلى جدول MAC. نحن نعلم أنَّه يمكن لجميع الأجهزة المتصلة إلى مبدِّل أن ترى بعضها بعضًا في قطعة شبكيّة (network segment)؛ ومن احتياجات الاتصال في شبكاتنا المحلية الحالية هي التوسع إلى عدِّة مجموعات عمل، والتوجه الحالي في الشبكات ينزع إلى المركزية وأن تكون مجموعات العمل متصلةً فيما بينها وتملك وصولًا إلى الموارد المركزية (مجموعة خواديم) وإلى الإنترنت. ولهذا نُنشِئ شبكاتٍ كبيرةً مصنوعةً من سلسلةٍ من المبدِّلات الموصولة فيما بينها بخطوط ربطٍ سريعة؛ مما يُمكِّن آلاف المستخدمين من الاتصال إلى شبكةٍ فيها مجال إذاعة وحيد. لا تنسَ أن المبدِّلات تمثَّل مجال إذاعةٍ وحيدًا؛ فإذا وصلت عدِّة مبدِّلات فيما بينها، فسيكون لديك مجال إذاعةٍ وحيد؛ وهذا يعني أنَّ رسالة الإذاعة المُرسَلة من أحد المستخدمين على مجموعة عمل ما ستُشاهَد من كل الشبكة، وهذا سيُنقِص من الأداء وله تأثير على استهلاك التراسل الشبكي. لمحة عن VLAN تستعمل VLANs كطريقة لإنشاء عدِّة مجالات للإذاعة في نفس المبدِّل أو في سلسلة هيكليّة من المبدِّلات. VLAN هي شبكة LAN وهمية (Virtual LAN) تُحسِّن من الأداء عبر إنشاء مجالات إذاعة، وتسمى هذه العملية بالتقطيع (segmentation)؛ فرسائل الإذاعة المولَّدة من جهازٍ على شبكة VLAN معيّنة ستُرى من بقيّة الأجهزة على شبكة VLAN نفسها؛ ولن تنتقل إلى شبكات VLAN الأخرى؛ يُعتَبر كل مجال إذاعة أو شبكة VLAN هو شبكة IP فرعية (IP subnet)، وهذا يعني أنَّه للتواصل بين مختلف شبكات VLAN فستحتاج إلى استخدام وظائف في الطبقة الثالثة من نموذج OSI، أي بكلامٍ آخر، ستحتاج إلى موجِّه؛ مما يجعل شبكات VLAN أداةً أمنيةً لأن بيانات التراسل الشبكي المُرسَلة عبر شبكات VLAN يجب أن تمر على الموجِّه، وبهذا تستطيع ضبط التحكم بالوصول في الموجِّه الخاص بك. إحدى طرق استخدام شبكات VLAN هي إسناد منافذ المبدِّل إلى شبكات VLAN معيّنة، مما يفصل بين الموقع الفيزيائي للجهاز وشبكة LAN الوهمية التي ينتمي إليها؛ أي بكلامٍ آخر، يمكن أن يكون لديك جهازٌ في الطابق الثالث ينتمي إلى شبكة VLAN معيّنة، ويمكن أن يكون جهازٌ في الطابق الأول جزءًا من تلك الشبكة الوهمية أيضًا، وهما في الواقع متصلان بمبدِّلَين مختلفَين، لكن جميع المبدِّلات في الشبكة المحلية تَعرِف تعريف الشبكات الوهمية الذي ضَبَطَتَهُ؛ مما يُنشِئ بيئاتٍ مرنة، فلم يعد المكان الفيزيائي مهمًا، وستكون الإضافات والتغيرات في الشبكة أسهل في التنفيذ؛ فلو أردت أن يصبح جهازٌ ما جزءًا من مجموعة عمل معيّنة، فكل ما عليك فعله هو تغيير الشبكة الوهمية (VLAN) لمنفذ المبدِّل الذي يتصل فيه ذاك الجهاز. ترجمة -وبتصرّف- للمقال Developing an Optimum Design for Layer 2.
  25. يساعدنا هذا الدرس في فهم التحديات التي تواجه التقنيات التشاركيّة (shared technologies) مثل إيثرنت؛ ستتعرَّف على بعض الأمور المتعلقة بمحدودية المسافة وأجهزة الاتصال؛ تتضمن هذه الأجهزة الموزِّعات (hubs)، لكننا سنركِّز على المبدِّلات (switches)، وكيف تتعامل مع التصادمات (collisions) بتحديد مجالات التصادمات (collision domains). محدوديات قطع الشبكة المحلية رأينا أنواعًا مختلفة من إيثرنت اعتمادًا على نوع الوسيط (media)، إذ لدينا أطوال قطعٍ (segment) مختلفة، وستضعف قوة الإشارة تبعًا للمسافة؛ ستؤثر هذه المحدوديات على طريقة تصميمك لشبكة إيثرنت، ونوع الأجهزة التي عليك استعمالها لزيادة محدودية المسافة. على سبيل المثال، ستضعف قوة الإشارة في الأكبال المجدولة بعد 100 متر، بينما ستضعف الإشارة المنقولة في أكبال الألياف الزجاجية بعد عدِّة كيلومترات. جزءٌ من عمل بعض العناصر الشبكيّة ليس فقط وصل الأجهزة المختلفة، وإنما أيضًا زيادة حدود المسافة القصوى بتكرير (repeating) وبتضخيم (amplifying) الإشارة. الموزِّع هو الجهاز الذي كان يُستعمَل في شبكات إيثرنت المحليّة في أيامها الأولى، ولم يكن «ذكيًّا» لإدارة تراسل البيانات وعدِّة اتصالات تحدث في آنٍ واحدٍ بكفاءة. فعندما يستلم الموزِّع إشارةً، فسوف يكررها إلى جميع المنافذ الشبكيّة المتاحة؛ وهنالك مشكلتان في ذلك: أولهما هو أنه لا يعلم المصدر والوجهة، فسترى جميع الأجهزة البيانات المُرسَلة من أي جهازٍ على الشبكة، وهذا غير عملي، وسيخفِّض أداء الأجهزة جميعًا؛ أما المشكلة الثانية فهي أن الأجهزة تتشارك في تراسل البيانات (bandwidth) نفسه، فعلى الرغم من أنَّ لكل جهازٍ متصلٍ إلى الموزَّع كابلٌ خاصٌ به، لكن ستُحاسب جميع الأجهزة على تراسل البيانات ذاته. مجالات التصادمات يمثِّل كلُ موزِّعٍ مجال تصادمٍ وحيدًا؛ يُعرَّف مجال التصادم بعدد الأجهزة المتصلة التي يمكن أن تتأثر بإشارات التشويش الناتجة عن التصادمات؛ فإذا كنت تذكر آلية عمل تحسس الناقل للتصادمات في إيثرنت، فستعلم أنَّه عندما يحاول جهازان «التحدث» في نفس الوقت، فسيتحسسان الناقل، ويلاحظان التصادم، ثم سيرسلان إشارة تشويش (jam signal) ليعلم الجميع أنَّ عليهم عدم الإرسال في هذا الوقت؛ وفي حالة الموزَّع، فسترى جميع الأجهزة المتصلة إشارة التشويش وستتوقف عن الإرسال؛ وسيخفِّض هذا النوع من البيئات الشبكية من الأداء، وسيبطِّئ من عمل الشبكة؛ وهذا شبيهٌ بمحاولة عدِّة أشخاصٍ التحدث في نفس الوقت في مؤتمرٍ هاتفي، إذ تلاحظ أنهم سيقاطعون بعضهم بعضًا وسيحاولون التوقف عن الكلام لتجنب «التصادم». حلٌ آخر لهذه المشكلة هو إضافة المبدِّلات؛ فيمثِّل كل منفذٍ (port) في المبدِّل مجالًا للتصادمات، فهذا يعني أن التصادمات ستؤثر على الجهاز المتصل بهذا المنفذ فقط؛ وفي الواقع يمكننا القول أنَّه لا توجد تصادمات في بيئة شبكيّة تعتمد كليًّا على المبدِّلات. أمرٌ آخرٌ هو أنَّ المبدِّلات فيها «ذكاء» لتمرير البيانات مع علمها بالمصدر والوجهة؛ أي بكلامٍ آخر، على الرغم من أنَّ المبدِّل «يُغرِق» الشبكة ببيانات التراسل في المرّة الأولى التي يرى فيها مصدرًا أو وجهةً، لكنها سيتعلم أماكن تلك المصادر والوجهات ويصلها أو يربطها مع المنافذ التي تتصل تلك الأجهزة عليها؛ ويمكن للمبدِّل بعد تعلم أماكن المصادر والوجهات أن يُمرِّر الرزم إلى الوجهة المحددة دون إرسالها إلى جميع الأجهزة كما في الموزَّع. مجالات الإذاعة مفهومٌ مهمٌ آخر هو «مجالات الإذاعة» (broadcast domains). يُعرَّف مجال الإذاعة بعدد الأجهزة التي تتأثر بالإذاعة، أي بكلامٍ آخر، عدد الأجهزة التي يمكنها رؤية ومعالجة الرسائل المُرسَلة إلى الإذاعة؛ ويمثِّل موزِّعٌ واحدٌ مجال إذاعةٍ وحيدًا، وكذلك الأمر للمبدِّلات (بضبطها الافتراضي)؛ فعلى الرغم من أنَّ المبدِّلات تحل مشكلة التصادمات، لكنها ما تزال توزِّع الإذاعات مما يخفِّض من الأداء. أحد الحلول هو تقسيم الشبكة إلى عدِّة مجالات إذاعية عبر الشبكات المحليّة الوهمية (Virtual LANs) التي يُشار إليها بالاصطلاح VLANs. ترجمة -وبتصرّف- للمقال Understanding the Challenges of Shared Local Area Networks.