المحتوى عن 'lan connections'.



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

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

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

نوع المُحتوى


التصنيفات

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

التصنيفات

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

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 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

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

  1. سنشرح في هذا الدرس ميزات خادوم DHCP وسنبيّن كيف يمكن استعمال موجِّهات سيسكو للعمل كخادوم DHCP. يمكنك عبر «Security Device Manager» أن تضبط البروتوكول وتخصِّص مكوناته، وتراقب عملياته. فهم بروتوكول DHCPبروتوكول ضبط المضيف الديناميكي، أو ما يُعرَف اختصارًا بالاسم DHCP، هو برنامج من نمط عميل-خادوم يؤتمت عملية إسناد عنوان IP ومحلقاتها إلى أجهزة العملاء؛ أي أنَّ العملاء سيتصلون بالشبكة دون معلومات IP ثم سيطلبونها من خادوم DHCP. المعلومات التي يوفرها خادوم DHCP تتراوح بين عنوان IP المطلوب والبوابة الافتراضية وقناع الشبكة الفرعية إلى خواديم DNS وخواديم أسماء NetBIOS وغيرها من المعلومات المخصصة مثل خواديم TFTP و SIP. المعايير المُعرَّفة في RFC تتضمن مُعرِّفات الشبكات المحلية الوهمية (VLAN IDs) ومعاملات جودة الخدمة (QoS). يمكن أن يعمل البروتوكول بنمط «التأجير» (lease model) الذي تستأجر فيه الأجهزة المعاملات الخاصة بها التي يمكن أن تُستعمل من الأجهزة الأخرى إن لم يعد الجهاز الأصلي متوفرًا على الشبكة؛ تُستأجر تلك المعاملات بناءً على وقتٍ مُحدَّد، الذي يمكن أن يُعرَّف ويختلف لمجموعةٍ من عناوين IP أو لمجموعةٍ من الأجهزة؛ ويمكنك أيضًا إسناد عناوين ثابتة لأجهزة معيّنة. لنشرح الآن عمل DHCP بمزيدٍ من التفصيل. في الشكل أعلاه، لدينا عميل يطلب عنوان IP من الخادوم (قد يبدو لك من الرسم أنَّ لدينا ثلاثة عملاء وخادومَين، لكن هذا لأغراضٍ توضيحيةٍ فقط، إذ نتحدث عن نفس العميل ونفس الخادوم هنا)، وأول ما علينا ملاحظته أنَّ تلك الرسائل هي رسائل إذاعيّة محليّة، لأن العملاء لا يعرفون الشبكة الفرعية، لأنهم لا يملكون عنوان IP وبالتالي لا يعرف الخادوم أين سيُرسِل البيانات. سيُرسِل العملاء رسالة طلب (request massage)، وقد يرى الرسالة أكثر من خادوم، ولهذا السبب سنحتاج إلى أربع خطوات لإتمام هذه العملية. ستُجيب الخواديم برسالة عرض (offer massage)، وهي رسالة إذاعة محليّة لأن العميل لا يملك عنوان IP محلي؛ وهي رسالة إذاعية في الطبقة الثالثة، لكن عندما يُرسِل العميل رسالة الاستكشاف (discover massage)، فسيعلم عنوان MAC للعميل، ثم سيُرسِل رسالة unicast لاحقًا لأن الخادوم سيرسل المعلومات مباشرةً إلى عنوان MAC للعميل. بعد رسالة الاستكشاف (discover)، قد يجيب أكثر من خادوم برسالة عرض (offer)، لذا على العميل اتخاذ القرار بأيّة معلومات عليه أخذها؛ لذلك سيُجيب برسالة طلب (request) مُقرِّرًا أي خادوم سيأخذ منه المعلومات. تُضمِّن رسائل العرض عناوين IP بجانب معاملات أخرى مثل البوابات الافتراضية، ووقت التأجير، ووقت انتهاء الصلاحية ...إلخ. في النهاية، سيقول الخادوم الذي تم اختياره: «حسنًا، لقد وصلني طلبك، وهذه هي المعلومات؛ وسنبدأ الآن وقت الإيجار، فأنت المالك المؤقت للعنوان»؛ وهذا هو إشعار الاستلام (acknowledgment message)، إذ سيراها العميل وسيبدأ عمله. عليك الانتباه أنَّك إذا وضعت موجِّهًا بين الخادم والعميل، فلن تمر الرسائل الإذاعية المحلية؛ إذ أنَّ الموجِّهات لا تمررها؛ وعليك ضبط الموجِّه ليسمح بمرور تلك الرسائل، وإذا كنت ستضبط موجِّه سيسكو كخادوم DHCP، فعليه أولًا أن يدعم DHCP. إسناد العناوين في DHCPتوفير عنوان IP للعميل هي أهم مهمة يُجريها بروتوكول ضبط المضيف؛ ومع ذاك العنوان، نحصل على معلومات حول القطع الشبكيّة، والبوابة الافتراضية، وخودايم DNS، واسم النطاق، وخواديم TFTP (المهمة في الاتصالات الهاتفية عبر IP) وهلم جرًا. ولكي يكون ضبط العناوين مرنًا لمختلف أنواع العملاء، فيُضمِّن معيار DHCP ثلاث آليات مختلفة لحجز العناوين. الحجز اليدوي (Manual Allocation): ويُعرَف أيضًا بالمصطلح «الحجز» (reservation). إذا يُحجَز عنوان IP معيّن مسبقًا إلى جهازٍ مُحدَّد من مدير الشبكة؛ ويُسنِد خادوم DHCP عنوان IP المعيّن إلى ذاك الجهاز فقط، إذ يُربَط عنوان IP إلى عنوان MAC للجهاز.الحجز التلقائي (Automatic Allocation): يُسنِد خادوم DHCP عنوان IP بشكلٍ دائمٍ إلى جهازٍ ما؛ ويختار الخادومُ العنوانَ من مجموعةٍ (تسمى بالمصطلح pool) من العناوين المتوفرة.الحجز الديناميكي (Dynamic Allocation): يُسنِد خادوم DHCP عنوان IP من مجموعة من العناوين لوقتٍ محدود ضُبِطَت قيمته في الخادوم، أو إلى أن يُخبِرَ العميلُ خادومَ DHCP أنَّ لم يعد بحاجةٍ إلى العنوان (كما لو نفذنا الأمر ipconfig /release في نظام ويندوز).استخدام الموجه كخادوم DHCPخدمة DHCP هي خدمة محورية ومهمة، ويمكن لنظام تشغيل سيسكو IOS للموجِّهات أن يكون خادوم DHCP بكامل الميزات. العديد من المعاملات والخيارات المُعرَّفة في RFC موجودة ومتوفرة في موجِّهات IOS. ومن المهم أن يستطيع الموجِّه توفير تلك الخدمة، لأنه موجود دائمًا في الشبكة، فيمكنه أن يوفِّر ذاك النوع من الخدمات دون الحاجة إلى ضبط خادوم كامل لذلك. إذ تستفيد المكاتب الفرعية والمكاتب الصغيرة من إمكانية تشغيل هذه الخدمة في عنصر من عناصر الشبكة. هذه الخدمة هي خدمة برمجية، ويمكن أن تُضبَط ضبطًا كاملًا في موجِّهك لعدِّة بطاقات شبكيّة، ولعدة مجالات من العناوين، وتدعم هذه الخدمة أيضًا حجز العناوين يدويًا. الأوامر والضبطهذا مثال ضبطٍ عن كيفية إعداد مجموعة عناوين (pool) في خدمة DHCP في موجِّه سيسكو: RouterX(config)#ip dhcp pool Marketing RouterX(dhcp-config)#network 10.123.1.0 255.255.255.0 RouterX(dhcp-config)#default-router 10.123.1.1 RouterX(dhcp-config)#domain-name learncisco.net RouterX(dhcp-config)#dns-server 172.16.4.10 172.16.4.12هنالك أوامرٌ متوفرة لمساعدتك في مراقبة واستكشاف أخطاء تلك الخدمة. RouterX#show ip dhcp pool Marketing Pool Marketing : Utilization mark (high/low) : 100 / 0 Subnet size (first/next) : 0 / 0 Total addresses : 254 Leased addresses : 0 Pending event : none 1 subnet is currently in the pool : Current index IP address range Leased addresses 10.123.1.1 10.123.1.1 - 10.123.1.254 0 RouterX#Router#sh ip dhcp conflict IP address Detection method Detection time VRF 192.168.200.58 Gratuitous ARP May 28 2012 03:31 PM 192.168.200.59 Gratuitous ARP May 28 2012 03:31 PM 192.168.200.64 Gratuitous ARP May 28 2012 03:39 PMيُساعِدك آخر أمر (sh ip dhcp conflict) في التعرف على التضاربات في إسناد عناوين IP التي يتم العثور عليها من خواديم DHCP ومن العملاء. ويحدث التضارب في العناوين عندما يحاول خادوم أن يُسنِد عنوان IP، فيجد الخادوم أو العميل أنَّ هنالك أجهزة أخرى على الشبكة لها نفس العنوان. وستحاول الخواديم عميل ping لعناوين IP المُؤجَّرة قبل إسناد تلك العناوين لأجهزةٍ أخرى لتفادي حدوث تضاربات، وسيستعمل العملاء «gratuitous ARP» للعثور على جميع العملاء الذين يملكون نفس عنوان IP؛ إن حدث تضارب في العناوين، فسيُحذَف العنوان من مجموعة العناوين المتوفرة (pool)، ولن يُعاد إسناده حتى يحل مدير الشبكة التضارب. هذه الميزات تجعل من خادوم DHCP في موجِّهات سيسكو العاملة بنظام تشغيل IOS أداةً فعالةً جدًا. ترجمة -وبتصرّف- للمقال Using Cisco Router as a DHCP Server.
  2. سنبدأ درسنا بالحديث عن الحماية الفيزيائية، ثم سنتبعه بشرح بعض الأمور الأساسية مثل وضع استراتيجية لكلمات المرور، وضبط اللافتات التي تظهر عند تسجيل الدخول، واستخدام SSH للزيادة في أمان عملية الضبط. التهديدات الفيزيائية الشائعةيجب أن تكون السياسات الأمنية لحماية المعلومات مبنيةً على تحليل المخاطر وإدارتها؛ والمخاطر مبنية على احتمال استغلال الأجهزة التي فيها نقاط ضعف معيّنة. فالمخاطر الفيزيائية موجودةٌ منذ الأيام الأولى للشبكات، وازدادت تلك المخاطر بالتطورات التقنية التي حدثت في زماننا هذا؛ على سبيل المثال، من المحتمل ألّا تُعامَل المكونات الإلكترونية المهمة في الأجهزة المركبة من الوحدات بحذر (modular device) سواءً كان موجِّهًا أو مبدِّلًا الذي يتطلب تثبيت وحدات أو بطاقات شبكيّة لزيادة قدراته التشغيلية أو وظائفه. أصبح فقدان الطاقة الكهربائية وغيرها من المخاطر الكهربائية مشكلةً كبيرةً، لأننا نزيد من عدد الأجهزة والخواديم والتطبيقات في مراكز البيانات عندنا، ونحاول التوسع لتخديم عدد أكبر من المستخدمين؛ وهذا يُسبِّب إجهادًا كبيرًا على مُعدات إدارة الطاقة عندنا، وقد يسبب ذلك حادثًا أمنيًا، وقد لا يرتبط بالضرورة بهجومٍ خبيث. ضبط كلمة مرور للموجهالحماية أمرٌ متعدد الجوانب، ولا نحتاج إلى القلق حول الحماية الفيزيائية فحسب، لكن يجب أيضًا التحكم في الوصول إلى الموجِّهات وإدارته. RouterX(config)#no aaa new-model RouterX(config)#line console 0 RouterX(config-line)#login % Login disabled on line 0, until 'password' is set RouterX(config-line)#password cisco RouterX(config-line)#exi RouterX(config)#line vty 0 4 RouterX(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 RouterX(config-line)#password sanjose RouterX(config-line)#exi RouterX(config)#enable password cisco RouterX(config)#enable secret sanfran RouterX(config)#service password-encryptionلقد شاهدنا تلك الأوامر مسبقًا عندما ضبط الوصول إلى الجهاز لأغراضٍ إدارية. لكل خط (line) كلمة مرور خاصة به، ويمكنك ربط كل الخطوط إلى قاعدة بيانات محلية، وقد تُفكِّر أيضًا بنقل أو بجعل قاعدة بيانات المستخدمين مركزية على شكل خادوم AAA، وتطلب من كل الأجهزة أن تستعلم في ذاك الخادوم لكي تحصل على معلومات الاستيثاق. يجب أن تُبنى الإدارة أيضًا على «الأدوار»؛ وهذا هو ما يُعرَف بالتحكم بالوصول المبني على الأدوار؛ وبهذا يكون لديك مستخدمين لوظائف مُعيّنة في الجهاز ومستخدمين آخرين لوظائف أخرى تتطلب امتيازات، التي يمكن ضبطتها وتعريفها عبر الأمرَين enable و enable secret. حتى ولو كان لديك استيثاق محلي، فمن المستحسن وبشدة أن تُعرِّف المستخدمين بمرحلة ملائمة من الامتيازات؛ ولإجبار عملية تسجيل دخول المستخدم (الاستيثاق) فعليك الانتقال إلى «AAA new-model» ثم أنشِئ مُستخدِمًا. وإذا كنت تستعمل secret بدلًا من password، فسيكون ضبطك أقوى أمنيًا. RouterX(config)#aaa new-model RouterX(config)#username admin privilege 15 secret learncisconet RouterX(config)# RouterX(config)#aaa authentication login default local RouterX(config)#end RouterX#wr Building configuration... [OK] RouterX# RouterX#quit RouterX con0 is now available Press RETURN to get started. User Access Verification Username: admin Password: RouterX>ضبط لافتة تسجيل الدخولعندما يُعلَم المستخدمون بالسياسة الأمنية، فستزداد قابلية التزامهم بها أو تعرفهم على الحالات التي لا تُطبَّق السياسات فيها. فلافتةٌ بسيطةٌ مضبوطةٌ بالأمر banner logging ستُبلِّغ سياسة الوصول إلى الموجِّه (وغيره من الأجهزة) لأغراضٍ إدارية. وقد تتضمن أيضًا معلوماتٍ حول الدعم والتبليغ عن المشاكل والحوادث. المقارنة بين الوصول عبر Telnet و SSHالسرية هي أمرٌ جوهري يجب أخذه بعين الاعتبار في البنية التحتية لشبكتك؛ وهذا لا يعني أن عليك فقط تعديل كلمات المرور، فإن أرسلتها بنصٍ واضح (clear text) فيمكن لمهاجمٍ أن يعرفها... ولا تنسَ أنَّك تشارك ملفات الضبط بين الموجِّات والأجهزة الشبكية، وتُرسِل رسائل الأخطاء والتنبيهات عبر الشبكة لأغراضٍ تتعلق باستكشاف الأخطاء أو للتوثيق. لا تُضمِّن الأداة telnet أيّة آليات تتعلق بالسرية، ولهذا من المستحسن الانتقال إلى استخدام جلسات مُشفَّرة مثل SSH أو استخدام تقنيات تستعمل التعمية والتأكد من صحة نقل البيانات واستيثاق النهايات الشبكية عبر «strong authentication». ! ip domain-name mydomain.com ! crypto key generate rsa ! ip ssh version 2 ! line vty 0 4 login local transport input ssh ! !نحن نتحدث هنا عن مفاتيح التشفير والشهادات الرقمية. فعندما تضبط SSH، فعليك أن تأخذ بعين الاعتبار العملية ككل، من إنشاء المفاتيح حتى التحكم بالوصول المبني على الأدوار عبر قاعدة بيانات محلية. ترجمة -وبتصرّف- للمقال Understanding Cisco Router Security.
  3. يشرح هذا الدرس عملية توجيه الرزم الشبكيّة من وجهة نظر الموجَّه؛ وهذا يتضمن ربط عناوين الطبقتين الثانية والثالثة، بالإضافة إلى قدرة الموجِّه على حساب أفضل طريق للوصول إلى الوجهة. وسنلقي نظرةً على بعض الأدوات للتحقق من صحة الضبط التي سينتج عنه قابلية الاتصال بين الأجهزة على شبكاتٍ مختلفة، ومنها الأداة show ip arp، و ping، و trace. عناوين الطبقة الثانية: عناوين MACعندما يكون لدينا موجِّه بين جهازين، فعلينا استعمال عناوين الطبقتين الثانية والثالثة؛ سنستعمل عناوين MAC المبيّنة في الشكل في أمثلتنا القادمة للموجِّه والمضيفين؛ تذكر أننا سنستبين عناوين MAC للموجِّه لإرسال الرزم من جهازٍ في القطعة الشبكيّة الأولى إلى جهازٍ آخر في قطعةٍ شبكية أخرى. عناوين الطبقة الثالثة: عناوين IPتوضِّح هذه الصورة عناوين IP للمضيفين والموجِّه نفسه؛ تذكر أن تصميم شبكتك قد أتى من حقيقة أنَّك قسَّمتَ إلى قسمين لأغراضٍ تتعلق بالأداء أو الحماية (أو لغير ذلك من الأسباب) ثم وضعت موجِّهًا في المنتصف لكي تتمكن من تمرير الرزم الشبكيّة إلى وجهتها الصحيحة. سنفترض في الأمثلة القادمة أنَّ الموجِّه يقوم بدور توجيه الرزم فقط، لكن قد يقوم الموجِّه بوظائفَ أمنية، وترشيح الرزم، وإقامة جدر نارية، وتطبيق آليات لتحديد جودة الخدمة (QoS)؛ قد يؤثِّر ما سبق على كيفية تمرير الموجِّه للرزم، لكننا سنفترض أنَّه يؤدي دور التوجيه فقط. عملية توصيل الرزم عبر توجيه IPأول خطوة يجب على التطبيقات فعلها هي استبيان (resolve) أسماء DNS إن اُستخدِمَت، وتحويلها إلى عناوين IP واختيار بروتوكول النقل الذي سيُستعمَل؛ سنستخدم في هذا المثال بروتوكول UDP. يصبح السؤال هو التالي -بعد أن تصل المعلومات إلى طبقة الشبكة في نموذج OSI- أين تقع الوجهة، هل هي محليّة (local) أم بعيدة (remote)؟ ستُضيف كل طبقة ما يخصها على شكل ترويسات حتى تصل إلى الطبقة 3، التي ستضع ترويسة IP ثم ستطلب من الطبقة الثانية أن تُرسِل الرزمة «فعليًا». ستجيب الطبقة الثانية قائلةً: «ليست عندي معلوماتٌ حول ذاك عنوان IP ذاك، فليس عندي عنوان MAC؛ لذا سأحاول أن أستبينه عبر طلبية ARP»، وستبقى الرزمة مخزنةً في الحافظة إلى أن تكتمل طلبية ARP. وفي هذه المرحلة -التي هي بين الطبقتين الثالثة والثانية- سيقول الجهاز: «حسنًا، اعتمادًا على عنوان IP والقناع، فإن الشبكة هي ‎/24، والوجهة موجودة في شبكةٍ مختلفة؛ فأنا على الشبكة 192.168.3 والوجهة على الشبكة 192.168.4». نذكِّر أن ذلك بسبب قناع الشبكة، الذي يقول أنَّ مُعرِّف الشبكة موجودٌ في أول ثلاثة بايتات من عنوان IP؛ لذا تقول عملية ARP: «حسنًا، لستُ بحاجةٍ إلى استبيان عنوان MAC للوجهة، لأنني لستُ موجِّهًا ولا أعرف كيف أرسل تلك الرزمة، لكن البوابة الافتراضية تعرف ذلك؛ لذا سأستبين عنوان MAC للبوابة الافتراضية، الذي يكون عنوان IP الخاص بها مضبوطًا في الجهاز». ربما يكون أكثر الحلول شيوعًا للمشاكل هو التحقق من ضبط عنوان صحيح للبوابة الافتراضية؛ فلو لم أكن أعرف أين سأرسل الرزمة وأيّ موجِّه عليه معالجتها، فلن تصل الرزمة إلى وجهتها أبدًا. هذه هي طلبية ARP، التي وجهتها هي الإذاعة في الطبقة الثانية، والطلبية نفسها تحتوي عنوان IP لكي يتم استبيانه، الذي هو في هذه الحالة 192.168.3.2 (عنوان IP للموجِّه). من المثير للاهتمام أن نذكر وجود آلية تُسمى «ARP وسيط» (proxy ARP)، فقد تُضبَط الموجِّهات للإجابة عن أيّة طلبيات ARP، حتى لو لم تكن الطلبية موجهةً لعنوان IP الخاص بالموجِّه. ويتم فيها معاملتهم كبوابات افتراضية كملاذٍ أخير، وسيكونون قادرين على الرد على الطلبيات التي تسأل عن البوابة الافتراضية القادمة من الأجهزة غير المضبوطة ضبطًا صحيحًا؛ لكن لهذا الميزة مشاكل وآثار جانبية وقد يتم تجاهلها من قِبل بعض السياسات الأمنية. وفي أيّة حال، سيستلم الموجِّه الطلبية وسيبدأ عملية تمرير الرزم؛ لكنه سيحفظ عنوان MAC و IP للجهاز المُرسِل في جدول ARP الخاص به أولًا. فالموجِّه هو جهاز IP مثله كمثل أي جهاز آخر عليه أن يتبع قواعد بروتوكول IP. وفي هذه المرحلة، سيُرسِل الموجِّه رد ARP قائلًا: «هذا أنا! وهذا عنوان MAC الخاص بي، ابدأ تمرير الرزم إليّ». أصبح الجهاز المُرسِل يعرف ربط عنوان IP للبوابة الافتراضية إلى عنوان MAC الخاص بها في جدول ARP، وهو جاهز لإرسال الرزم إلى البوابة لكي تُمرَّر إلى وجهتها. تذكر أن تلك المدخلات ستنتهي صلاحيتها، لذا قد يُعاد إجراء عملية ARP أثناء المحادثة اعتمادًا على أوقات الخمول أو الوقت المُطلَق (absolute). الرزمة التي كانت «في الانتظار» قد أرسِلَت باستخدام عنوان IP الوجهة النهائية، وعنوان IP المصدر للمُرسِل، وعنوان MAC المصدر للمُرسِل، وعنوان MAC الوجهة للموجِّه. ولمّا كنا نتحدث عن وظيفة التوجيه فقط في الموجَّهات، فعلينا أن نفهم كيف تعمل وظيفة التوجيه. يعمل الموجِّه في الطبقة الثالثة فقط، وإذا رأى إطارًا قادمًا، فسيحلله ويعالجه لأنه هو المُستلِم من حيث عنوان MAC في الطبقة الثانية؛ فسيزيل التغليف ويرسل الرزمة إلى الطبقة الثالثة التي يتم فيها التوجيه والتمرير؛ وهذا هو السبب وراء أن لا يكون عنوان IP للوجهة في الرزمة هو عنوان IP للموجِّه، إذ سيقول الموجِّه: «حسنًا، أنا موجِّه، لذلك سأمرِّر هذه الرزمة اعتمادًا على جدول التوجيهات الخاص بي». عندما ينظر الموجِّه في جدول التوجيهات، فسيرى أنَّ عنوان IP الوجهة هو في مدخلاته؛ ويرى أنَّ 192.168.4.0 (بقناع الشبكة الصحيح) هي قطعة شبكية موصولة مباشرةً إليه عبر بطاقة Fast Ethernet 0/1؛ ثم سيقرر الإرسال إلى الطبقة الثانية ويجعلها تستبين عنوان MAC للوجهة. أما لو كانت القطعة الشبكية غير متصلة مباشرةً بالموجِّه، فستُشير المُدخلة في جدول التوجيهات إلى العقدة التالية على شكل عنوان IP لموجِّهٍ آخر في المسار الواصل إلى الوجهة. وفي هذه المرحلة، سيطلب الموجِّه تمرير الرزمة إلى ذاك الجهاز الوسيط، ثم سيُجرى استبيان ARP لمعرفة عنوان MAC لذاك الجهاز؛ لكن الحالة هنا مبسطة، والشبكتان متصلتان بالموجِّه مباشرةً. وبسبب ذلك، ستُغيّر طبقة الشبكة في الموجِّه ترويسةَ IP، بما في ذلك عنوان IP للوجهة في حقل «IP الوجهة»؛ لاحظ كيف أنَّ عنوان IP المصدر بقي عنوان الجهاز المُرسِل، فالموجِّه مجرد وسيط كل ما يفعله هو تمرير الرزمة والمساعدة في إتمام عملية التواصل. والطبقة الثانية هي مرحلة بينية، وهذا هو سبب تغيير عنوان IP؛ لكننا ما زلنا نتحدث عن إرسال الرزمة من المصدر الأصلي إلى الوجهة في الطبقة الثالثة. ستقول الطبقة الثانية: «هذا رائع، لكنني لا أملك عنوان MAC لجهاز الوجهة، لذلك سأحاول أن أستبين عنوان MAC اعتمادًا على عنوان IP في طبية ARP»؛ تذكر أن هذه الرسالة الإذاعية في الطبقة الثانية، لذا ستراها جميع الأجهزة في تلك القطعة الشبكية ثم ستعالجها، ثم ستحدِّد إن كانت سترد عليها أم لا. ثم سيستقبل الجهاز الوجهة طلبية ARP ويعالجها. لاحظ أنَّ عنوان IP يُطابِق الوجهة، وستجيب الوجهة بعنوان MAC الخاص بها. قبل إرسال رد ARP، فسيحفظ الجهاز الوجهة ربط عنوان IP للموجِّه مع عنوان MAC الخاص به إلى جدول ARP. من الجميل مشاهدة كيف تملأ الأجهزة جداول ARP، فلا تُربَط عناوين الطبقتين 2 و3 عندما تتلقى الأجهزة رد ARP وحسب، وإنما عندما ترى طلبية ARP أيضًا. هذه الطريقة ليست مثاليةً -لأنها تستعمل الرسائل الإذاعية- لكنها فعالة إذ ستعرف جميع الأجهزة من معها في الشبكة من ناحية ربط عناوين الطبقة الثالثة إلى الثانية. سيرى الموجِّه رد ARP، وسيعلم عنوان MAC للجهاز الوجهة، وسيكون جاهزًا لتجميع كامل الرزمة بعنوان IP للوجهة الهدف والمصدر الأصلي، وعنوان MAC المصدر هو عنوان MAC للموجِّه، وعنوان MAC الوجهة هو عنوان MAC لذاك الجهاز. أي أنَّ اتصالات IP في الشبكات البعيدة ما هي إلا نتيجةٌ لعمل سلسلةٍ من الوسطاء الذين نسميهم «الموجِّهات» الموجودين في منتصف المسار لتمرير البيانات الشبكية بذكاء؛ وعلى أيّة حال، عملية الاتصال لجهازٍ بعيد هي مماثلة تمامًا لما شرحناها هاهنا من ناحية ARP والربط ...إلخ. إذا أردت أن تتحقق من جداول ARP في الموجِّهات، فيمكنك استعمال الأمر sh ip arp؛ هنا ستشاهد ربط عناوين IP إلى عناوين MAC، والبطاقات التي تتواجد عليها عناوين MAC تلك. Router#sh ip arp Protocol Address Age (min) Hardware Addr Type Interface Internet 10.10.98.1 - 7081.0597.ca61 ARPA GigabitEthernet0/1.1098 Internet 10.10.98.2 18 649e.f32c.7571 ARPA GigabitEthernet0/1.1098 Internet 10.10.98.3 76 001d.709f.d1e0 ARPA GigabitEthernet0/1.1098 Internet 10.100.0.1 237 0000.0c07.ac82 ARPA GigabitEthernet0/2.2939 Internet 10.100.0.2 14 000d.6630.a01a ARPA GigabitEthernet0/2.2939 Internet 10.100.0.3 30 000d.6630.9c1a ARPA GigabitEthernet0/2.2939 Internet 10.100.0.4 - 7081.0597.ca62 ARPA GigabitEthernet0/2.2939 Internet 10.100.0.5 - 0000.0c07.ac64 ARPA GigabitEthernet0/2.2939 Internet 10.201.1.1 138 a0f3.e433.6485 ARPA GigabitEthernet0/2.3057 Internet 10.201.1.2 92 001c.5821.968d ARPA GigabitEthernet0/2.3057 Internet 10.201.1.3 243 001a.6dbe.406c ARPA GigabitEthernet0/2.3057 Internet 10.201.1.4 221 001c.f6d5.f64d ARPA GigabitEthernet0/2.3057 Internet 10.201.1.5 148 649e.f32c.7572 ARPA GigabitEthernet0/2.3057قد تشاهد أنَّ بعض مدخلات الربط السابقة ليس لها وقت انتهاء صلاحية، أي أنَّ ربط عنوان IP إلى عنوان MAC ثابتٌ؛ وهذا مفيدٌ ببعض الحالات، وخطير بحالاتٍ أخرى. تتوفر عدِّة أدوات للمساعدة في عملية استكشاف الأخطاء. الأداة ping تُرسِل طلبية ping، وهي أداة تشخيص تسمح لك باختبار قابلية الاتصال، وستعرض لك معلومات خلال تلك العملية حول حالة الاتصال؛ وهي أداة في الطبقة الثالثة، لذا ستنفِّذ هذه الأداة على اسم مضيف أو عنوان IP؛ وستستعمل هذه الأداة طلبيات ICMP echo؛ إذ أنَّ ICMP هو بروتوكول في الطبقة الثالثة. وسنتنظر الأداة ping إلى أن تحصل على رد ICMP echo من الوجهة. ولها إعدادات معيّنة تتعلق بمدة الانتظار، وكم طلبية ستُرسِل، وحجم كل رزمة. أما وظيفة Trace فستعطيك تمثيلًا للموجهات الموجودة في المسار الواصل إلى الوجهة. حيث ستذكر كل تلك العقد الشبكية على الطريق مع عناوين IP أو أسماء DNS مع معلومات إضافية معيّنة مثل وقت الرحلة (round-trip time). يكون ناتج خرج trace عبارة عن سلسلة من الأسطر حيث يمثِّل كل سطر موجِّهًا عالج الرزمة الشبكية ومررها إلى الوجهة. يمكن استخدام trace بشكلٍ شبيهٍ بالأداة ping، كأداةٍ لاختبار إن كان يعمل المضيف الوجهة، ولكن يمكن أن تُستعمَل أيضًا لتحديد المشاكل في الأداء، والمشاكل في تحديد المسارات، وخطوط الاتصال المقطوعة أو العقد الشبكية المتوقفة، والتأخير في زمن الرحلة من المصدر إلى الوجهة. يمكن استعمال وظيفة trace في موجِّهات سيسكو بالأمر traceroute. ترجمة -وبتصرّف- للمقال Exploring the Network Routing Process.
  4. سيُقدِّم هذا الدرس كيفية استخدام أنماط الضبط والتفاعل معها لمساعدتنا في إكمال الضبط الأساسي لموجِّهات سيسكو من واجهة سطر الأوامر. وسنشاهد أمثلة أساسية لضبط مكونات البطاقات بما في ذلك عناوين IP، ولمحةٌ عن أوامر عرض الضبط للتحقق من الإعداد السليم للموجِّه. لمحة عن أنماط الموجهأول خطوة في ضبط الموجِّه هي التواجد في نمط المستخدم ذي الامتيازات، تذكر أنَّ نمط EXEC له نمطان فرعيان: نمط المستخدم العادي (دون امتيازات) ونمط المستخدم ذو الامتيازات؛ تستطيع الانتقال من نمط المستخدم العادي (الذي يسمح لك باستعمال أوامر المراقبة والصيانة فقط) إلى نمط المستخدم ذي الامتيازات باستخدام الأمر enable. بعد أن تدخل إلى نمط الضبط العام (global) بمستخدمٍ ذي امتيازات، فيمكنك الذهاب إلى نمط ضبطٍ فرعي بكتابة -على سبيل المثال- configure terminal وستتاح لك مجموعة أوامر أخرى. عندما تكون في نمط الضبط العام، فإن أيّ شيءٍ تضبطه في ذاك النمط سيؤثِّر على الموجِّه ككل؛ على سبيل المثال، اسم المضيف للموجِّه وكلمات المرور واللافتات (banners)، إذا أردت أن تضبط مكوِّنات محدَّدة، فعليك الذهاب إلى نمط ضبط تلك المكونات من نمط الضبط العام. Router con0 is now available Press RETURN to get started. Router>enable Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# Router(config)#hostname Branch Branch(config)#^Z Branch# *Feb 4 20:09:54.192: %SYS-5-CONFIG_I: Configured from console by console Branch#يتطلب الدخول إلى نمط ضبط البطاقات أمرًا يُنفَّذ في نمط الضبط العام ثم سيتحول المِحَث مشيرًا إلى أنَّك في نمط ضبط مختلف. وهذا مماثل للبطاقات الفرعية، والمتحكمات (controllers)، وخطوط الوصول (access lines)، وبروتوكولات التوجيه. إذا أردت التنقل بين الأنماط، فالأمر exit يحوِّلك إلى النمط السابق، و Ctrl+Z يُعيدك إلى نمط EXEC ذي الامتيازات دون أخذ بعين الاعتبار موقعك الحالي في أنماط الضبط. إذا أردت أن تنتقل بين أنماطٍ فرعيّةٍ للضبط، فيمكنك فعل ذلك دون الحاجة إلى العودة إلى نمط الضبط العام. حفظ الضبطعملية الضبط هي عمليةٌ تراكمية تتم على فترةٍ من الزمن؛ وربما يبدأ بعض مدراء الشبكة هذه العملية بنسخ النصوص من ملفات الضبط ولصقها في واجهة سطر الأوامر؛ وبعد ذلك سيضبطون تدريجيًا مختلف وظائف ومكونات الموجِّه. ولكل سطر نكتبه أو ننسخه إلى واجهة سطر الأوامر ثم نضغط Enter، فسيصبح فعالًا ومتاحًا في الضبط التشغيلي (running configuration)، وإذا أعدنا إقلاع الموجِّه في هذه المرحلة، فسنفقد كل الضبط الذي ضبطناه إن لم نحفظه إلى إلى ذاكرة NVRAM، وعندها يُسمى الضبطُ ضبطًا إقلاعيًا (startup configuration). الأمر الآتي سيحفظ الضبط التشغيلي إلى ذاكرة NVRAM، ومن المستحسن استعماله بين الحين والآخر خصوصًا في عمليات الضبط الطويلة. Branch#copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK] Branch#أو: Branch#write memory Building configuration... [OK]ضبط معرف للموجهالتوثيق الدقيقة والفعال عبر استعمال لافتة أو اسم الموجِّه هو أمرٌ مستحسن، وضبط الموجِّه ليس استثناءً وهنا سنرى بعض الأوامر التي تسمح لك بتوثيق الإعدادات وتوفير مساعداتٍ بصرية للتعرف على مكوِّنات محددة؛ على سبيل المثال، يمكن أن يُستعمَل اسم مضيف الموجِّه في مِحَث سطر الأوامر. أول كلمة تراها في واجهة سطر الأوامر هي اسم المضيف. ويمكن أن تُساعد اللافتات (banners) -عند تسجيل دخول المستخدمين الذين يحاولون الاتصال بالموجِّه عبر أيّة وسيلةٍ من وسائل الاتصال- على إيصال رسالة تحتوي على السياسات المُتبَعَة وأوقات الدخول ومعلومات الدعم. وعندما تُعدِّل في ضبط الموجِّه، يكون من المهم توفير وصف لمختلف المكونات. فمثلًا لو استعملت الأمر description في نمط ضبط البطاقات، فسيسمح لك الوصف بالتعرف بسهولة على البطاقة عندما تستعمل أمر show عليها. الأوامر المتعلقة بالطرفياتموضوع آخر مهم لتضبطه في الموجهات هو الحماية والتحكم في الوصول، الأمر الذي سنشرحه في هذه الفقرة سيقلل من إمكانية حدوث اختراقاتٍ أمنيةً نتيجةً لعدم وجود حماية فيزيائية للمعدات، فلو سجل أحدهم دخوله عبر طرفية، ثم غادر فجأةً، فربما يأتي أحدهم ويستعمل تلك الجلسة لأغراضه الخاصة، فيمكنه رؤية الضبط، وكلمات المرور، وحتى أنَّه يستطيع تغييرهم. الأمر exec-timeout يسمح لك بضبط مهلة لصدفات (shells) واجهة سطر الأوامر؛ وفي هذا المثال، ستنتهي المهلة للمستخدمين الذي سجلوا دخولهم بعد 20 دقيقة و30 ثانية. Branch(config)# Branch(config)#line vty 0 4 Branch(config-line)#exec-timeout ? <0-35791> Timeout in minutes Branch(config-line)#exec-timeout 20 ? <0-2147483> Timeout in seconds <cr> Branch(config-line)#exec-timeout 20 30 ? <cr> Branch(config-line)#exec-timeout 20 30أحيانًا عندما تحاول استكشاف الأخطاء في الموجِّهات، قد تُفعِّل عددًا كبيرًا من الرسائل لتظهر في الطرفية، كي ترى ما الذي يحصل؛ لكن هذا يمنعك من كتابة الأوامر لتصحيح المشكلة، لذلك يسمح لنا الأمر logging synchronous بإعادة عرض المُدخلات التي تمت مقاطعتها بعد إظهار الرسالة. أي بكلامٍ آخر، كنت أكتب، فعُرِضَت رسالة، ثم سيعاد عرض الأمر الذي كنت أكتبه على الشاشة، كي أكمل الكتابة وأصلح الخلل. Branch(config-line)#logging synchronous Branch(config-line)#end Branch#wr Building configuration... [OK] Branch#ضبط البطاقاتالبطاقات هي الأبواب لبقية الشبكات، وأحد الأشياء التي تجعل من الموجِّه «موجِّهًا» الذي هو الجهاز القادر على وصل عدِّة قطع شبكيّة، لذا يكون من المهم جدًا ضبطها ضبطًا صحيحًا. يمكنك ضبط البطاقات عبر الانتقال إلى نمط ضبط البطاقات، وذلك عبر كتابة الأمر interface ثم تكتب بعده مُعرِّف البطاقة. يتعلق مُعرِّف البطاقة عادةً بنوع الموجِّه الذي نملكه، فهنالك موجِّهات ذات ضبطٍ ثابت فيها Ethernet 0 أو Serial 0 على سبيل المثال؛ أما في الموجِّهات المركبة من الوحدات (modular)، فإن مُعرِّف البطاقة يعتمد على مكان البطاقة من ناحية الفتحات الموجودة في هيكل الموجِّه؛ وفي هذه الحالة عليك تعريف البطاقة برقم الذي هو الفتحة متبوعةً بشرطة مائلة / ثم المنفذ؛ فمثلًا لو كانت البطاقة التي أرغب في الوصول إليها موجودةً في الفتحة 1 ورقم المنفذ هو 3، فسيكون مُعرِّف البطاقة هو 1/3. ضبط وصف للبطاقاتمن المهم جدًا القدرة على التعرف السريع على مختلف مكونات الضبط. قد لا تكون أسماء وأرقام البطاقات مناسبةً جدًا لتذكر وظيفتها، فمن الأفضل تسمية البطاقة أنها «البطاقة 2 الفرع 1» بدلًا من تسميتها 00. لذلك من المستحسن كتابة وصف جيد للبطاقات، لأنه يُحسِّن من التوثيق، ويساعد في استكشاف الأخطاء. الأمر الذي يُستعمَل لإضافة وصف للبطاقات هو الأمر description، المتوفر في نمط ضبط البطاقات. تعطيل أو تفعيل بطاقةهنالك عدِّة حالات للبطاقات، التي ترتبط بالطبقتين 1 و 2 عند عرض ناتج الأوامر؛ على سبيل المثال، إذا نفذنا الأمر show ip interface brief، فإن الناتج سيُظهِر حالة البطاقة في الطبقتين 1 و 2. قد تكون حالة البطاقة هي down (أي مُعطَّلة)، وقد يحدث هذا بسبب عدم وجود خدمة أو إشارة في تلك البطاقة، أو بسبب عدم الضبط بشكلٍ صحيح. وفي مرحلةٍ ما أثناء استكشاف الأخطاء أو عند إجراء بعض المهام الإدارية؛ قد يُعطِّل مدراء الشبكة البطاقة إداريًا، الأمر shutdown يُعطِّل البطاقة، بينما نسخة no من الأمر ستُفعِّلها. يمكن استعمال الكلمة no قبل العديد من الأوامر، مما يسمح لك بعكس تأثير الأمر المُحدَّد. ضبط عنوان IPعناوين IP هي اللبنة الأساسية للتواصل عبر بروتوكول IP؛ وستتطلب أيّة بطاقة مُفعَّلة عنوان IP. عملية ضبط عنوان IP تتضمن إسناد العنوان نفسه بالإضافة إلى ضبط القناع. يخبر القناعُ الموجِّهَ كيف يقرأ ويفهم عنوان IP من ناحية تقسيمه إلى قسم الشبكة وقسم المضيفين. وإذا اتبعت تعلميات التصميم التي ذكرناها في درسٍ سابق، فسيكون عندك توافق أو تناغم في آلية حجز وإسناد عناوين IP إلى مختلف القطِع الشبكيّة والمضيفين على شبكتك. نُذكِّر مرةً أخرى أنَّ كل البطاقات في الموجهات التي تنقل البيانات الشبكيّة تحتاج إلى عنوان IP؛ وهذا يساعد الموجِّه في تعريف مخطط الشبكات المتصلة مباشرةً إليه، وسيستطيع أن يُخبِرَ عن تلك الشبكات إلى أجهزةٍ أخرى عبر بروتوكولات التوجيه. وتخدم عناوين IP للموجِّه أيضًا كالبوابة الافتراضية التي يجب ضبطها على بقية الأجهزة والمضيفين. Branch#conf t Enter configuration commands, one per line. End with CNTL/Z. Branch(config)#interface fa0/0 Branch(config-if)#ip address 192.168.10.1 255.255.255.0 Branch(config-if)#description ### LAN ### Branch(config-if)#no shutdown Branch(config-if)# *Feb 4 20:21:05.434: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up *Feb 4 20:21:06.435: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up Branch(config-if)# Branch(config-if)#exi Branch(config)#int fa0/1 Branch(config-if)#ip address 10.1.5.2 255.255.255.252 Branch(config-if)#description ### Internet ### Branch(config-if)#no shu *Feb 4 20:22:32.896: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up *Feb 4 20:22:33.899: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up Branch(config-if)#end Branch# Branch#wr Building configuration... [OK] Branch#الأمر show interface في الموجهاتتتوفَّر عدِّة أوامر للتحقق من الضبط، ربما يكون الأمر show interface أحد الأوامر التي تَعرِض أغلبية المعلومات عن البطاقات في ناتج خرجها. النسخة الأساسية من ذاك الأمر تعرض عناوين MAC و IP وبعض الإحصائيات القيّمة بخصوص عدد الرزم التي أُرسِلَت أو استُلِمَت وتَعرِض أيضًا معدلات الخرج (output rates) وعدّادات (counters) للطبقتين الأولى والثانية. أسدِ لنفسك معروفًا وحاول حفظ هذين الأمرين المهمين والمفيدين: Branch#show ip interface brief Interface IP-Address OK? Method Status Protocol FastEthernet0/0 192.168.10.1 YES manual up up FastEthernet0/1 10.1.5.2 YES manual up up Branch#show interfaces description Interface Status Protocol Description Fa0/0 up up ### LAN ### Fa0/1 up up ### Internet ### ... Branch#تفسير حالة البطاقاتأول سطر من ناتج مخرجات أمر show interface هو حالة (status) البطاقة، وهو مُقسَّم إلى حالتين، إذ تتعلق كل واحدة بطبقة. فأول حالة هي حالة الطبقة الأولى، والحالة الثانية هي حالة الطبقة الثانية: Router#sh int fa 0 FastEthernet0 is up, line protocol is up Hardware is PQ3_TSEC, address is 0021.a09d.1b6c (bia 0021.a09d.1b6c) Description: ### PROVIDER ### Internet address is 192.168.0.65/24 MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 100Mb/s, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, 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: 39 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 2000 bits/sec, 1 packets/sec 5 minute output rate 1000 bits/sec, 1 packets/sec 491094 packets input, 487489009 bytes Received 245 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog 0 input packets with dribble condition detected 386363 packets output, 74996232 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 unknown protocol drops 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped outإذا كان يعمل كلا المكونَين، فالبطاقة تعمل؛ أما إذا كانت تعمل الطبقة الفيزيائية، لكن طبقة نقل البيانات لا تعمل، فهذا يعني وجود مشكلة متعلقة (ولنقل) بإيثرنت؛ وفي حالة البطاقات التسلسلية (serial interfaces)، فربما لا يكون هنالك رسائل keepalive متبادلة، أو قد يكون هنالك اختلافٌ بأنواع التغليف (encapsulation). أما لو كانت كلا الطبقتين لا تعملان، فربما يدل ذلك على أنَّ الكابل غير موصول إلى المنفذ؛ وأخيرًا، لو أغلقت المنفذ إداريًا، فسيُكتَب «administratively down». جولة في سطر الأوامرلنراجع بعض أدوات التنقل وبعض الأوامر المفيدة؛ سنبدأ بنمط المستخدم ذي الامتيازات، ثم سنذهب إلى نمط الضبط العام بتنفيذ الأمر conf t، ثم سننتقل من هناك إلى أنماط ضبط أخرى مثل نمط ضبط البطاقات كي نضبط بطاقة معيّنة؛ ولا نستطيع من هنالك أن نستعمل أوامر show لأنها تتعلق بنمط EXEC ونحن الآن في نمط ضبط البطاقات؛ لذا لو نفذنا الأمر sh ip int brie (كما هو ظاهر في المثال الآتي)، فستظهر رسالة خطأ ولن يُنفَّذ الأمر؛ أما لو وضعنا الكلمة do قبل الأمر، فستنفَّذ الأوامر وكأنها في نمط EXEC، وبهذا سيظهر ناتج الأمر sh ip int brie بينما ما نزال في نمط ضبط البطاقات. إذا أردنا أن ننتقل بين الأنماط، فيمكننا استعمال الأمر exit للانتقال إلى الخلف خطوةً واحدةً فقط؛ أما لو عدنا إلى نمط ضبط البطاقات وأردنا الذهاب إلى نمط EXEC مباشرةً، فسنضغط على Ctrl+Z. شيءٌ آخر مفيدٌ لنتعلمه هو كيفية إيقاف تنفيذ الأوامر؛ فعلى سبيل المثال، لو كتبنا أمرًا غير ذي معنى (الكلمة unknown في المثال الآتي) فسيحاول الموجِّه البحث عن تلك الكلمة عبر خدمة DNS ويحاول استبيان الاسم وتحويله إلى عنوان IP ثم سيحاول الاتصال عبر telnet إليه، وهذا يأخذ وقتًا. لذا سأضغط على Ctrl+Shift+6 الذي يوقف عمل الأوامر مثل استبيان الأسماء، والأمريَن ping و trace؛ وستفيدك تجميعة المفاتيح تلك إن لم تكن ترغب بإضاعة وقتك في انتظار تنفيذ أوامر ليس لها معنى. Router# Router# Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#int fa 0 Router(config-if)# Router(config-if)#sh ip int brie ^ % Invalid input detected at '^' marker. Router(config-if)#do sh ip int brie Interface IP-Address OK? Method Status Protocol BRI0 unassigned YES NVRAM administratively down down BRI0:1 unassigned YES unset administratively down down BRI0:2 unassigned YES unset administratively down down FastEthernet0 192.168.0.65 YES NVRAM up up FastEthernet1 unassigned YES NVRAM administratively down down FastEthernet2 unassigned YES unset down down FastEthernet3 unassigned YES unset down down FastEthernet4 unassigned YES unset up down FastEthernet5 unassigned YES unset up down FastEthernet6 unassigned YES unset up up FastEthernet7 unassigned YES unset up up FastEthernet8 unassigned YES unset up up FastEthernet9 unassigned YES unset down down NVI0 192.168.0.65 YES unset up up Tunnel1 10.10.1.65 YES NVRAM up up Tunnel2 10.10.2.65 YES NVRAM up up Vlan1 192.168.65.192 YES NVRAM up up Router(config-if)# Router(config-if)#exi Router(config)# Router(config)# Router(config)#int fa 0 Router(config-if)# Router(config-if)#^Z Router# Router#unknown Translating "unknown" Translating "unknown" % Bad IP address or host name % Unknown command or computer name, or unable to find computer address Router#ترجمة -وبتصرّف- للمقال Configuring a Cisco Router.
  5. لا توجد طريقة لفهم وظائف التوجيه أفضل من ضبط موجِّه حقيقي، لذا سنُشغِّل موجِّه سيسكو في هذا الدرس وسنهيئه باستخدام واجهة سطر أوامر نظام تشغيل IOS؛ ثم سنسجِّل دخولنا إلى الموجه لإكمال عملية الضبط، ثم مراقبة العتاد وحالة النظام. الإعداد الابتدائي لموجه سيسكوعملية تهيئة الموجِّهات شبيهة بمثيلتها في المبدِّلات (switches). سيفحص الجهاز نفسه أولًا عبر اختبار POST (اختصار للعبارة power-on self test) للتأكد من عمل العتاد، ثم سيحاول العثور على نسخة نظام التشغيل في عدِّة مسارات، وهو مضبوطٌ لكي يبحث في أماكن بديلة إن لم يعثر على نسخة نظام التشغيل الموجودة في قرص فلاش. وبعد تحميل الضبط إلى ذاكرة الوصول العشوائي (RAM)، فإنه سيُطبِّق التعليمات الواردة في ملف الضبط في NVRAM. وهنالك خياراتٌ بديلةٌ لملفات الضبط ستُستعمَل عند الحاجة. مثالٌ على تلك الخيارات البديلة هو ميزة التثبيت التلقائي (auto install)، التي تسمح للموجه أن يحصل على عنوان IP ديناميكيًا من الشبكة -لأن الموجِّه يُقلِع دون ضبط- ثم يحاول الموجِّه أن يُحمِّل ملفات الضبط من خادم TFTP على الشبكة. وللإكمال معنا في هذا الدرس، يجب أن تتحقق من أنَّ مقبس الطاقة موصولٌ، وأنَّك قادرٌ على الاتصال إلى الموجِّه عبر الطرفيات التي ستسمح لك بمشاهدة الخرج الناتج عن نظام تشغيل IOS أثناء عملية التهيئة. ولا تنسَ أيضًا أن يكون المفتاح الطاقة مُشيرًا إلى وضع التشغيل (on)، فالموجَّهات -على عكس المبدلات- فيها مفتاحٌ خاصٌ بالطاقة. ناتج خرج الإقلاع في موجهإن لم يكن للموجِّه ملفُ ضبطٍ موجود في NVRAM، فالإجراء الاحتياطي هنا هو التثبيت التلقائي (auto install)، وإن فشل الموجِّه في هذه الخطوة، فالبديل هو الدخول إلى وضع الإعداد (setup mode). تظهر في وضع الإعداد أسئلةٌ عن ضبط النظام -كما في المبدِّلات في الطبقة الثانية- التي تُهيّء الضبط المبدئي للموجِّه. لكن نوعية الأسئلة مختلفة هنا لأننا نضبط جهازًا في الطبقة الثالثة. ليس الغرض من وضع الإعداد أن نضبط ميزاتٍ معقدةً للبروتوكولات أو ضبطًا متقدمًا للموجِّه؛ وإنما يُستعمَل لإعداده بالحد الأدنى من الضبط. إن كان للموجِّه ملفُ ضبطٍ صحيحٍ، فسيُرسِلنا إلى واجهة سطر الأوامر (Cisco CLI) في نمط EXEC؛ فافتراضيًا، يرسلنا الموجِّه إلى نمط المستخدم دون امتيازات، ثم بعد ذلك ندخل إلى نمط المستخدم ذي الامتيازات عبر إدخال الأمر enable. Setup: الضبط الابتدائييمكنك استدعاء برمجية الضبط الابتدائي عبر كتابة الأمر setup. سنحتاج إلى أن نكون في نمط الضبط بمستخدمٍ ذي امتيازات (يمكنك معرفة ذلك إذا كان في المِحَث [prompt] إشارة المربع [#]). بعد ذلك ستَدخل إلى مربع حوار ضبط الإعداد، الذي سيسألك الموافقة إذا كنت تريد ضبط الجهاز، ثم سيسألك إن كنت تريد الذهاب إلى ضبط الإدارة الأساسي (basic management setup). إذا ضغطت على No في مربع الحوار السابق الذي يسألك الدخول إلى ضبط الإدارة الأساسي، فستدخل إلى الضبط الموسَّع (extended setup) الذي يتيح لك ضبط خيارات متخصصة بالنظام. إذ أنَّ الضبط الأساسي سيسألك عدِّة أسئلة لضبط اسم المضيف، وكلمات المرور، وبعض المتغيرات الأساسية في ضبط البطاقات (interfaces)، وغيرها من الخيارات. تذكر أنَّ الضبط الافتراضي سيوضع ضمن أقواسٍ مربَّعة (أي «[]») ويمكنك ببساطة الضغط على Enter لقبول الضبط الافتراضي. تجميعة مفاتيح أخرى مهمة هي Ctrl+C التي تتيح لك إنهاء العملية الحالية لتبدأ من جديدٍ في أيّ وقت. فعند الضغط على Ctrl+C، ستعود إلى نمط EXEC بمستخدمٍ ذي امتيازات ويمكنك إكمال ضبط الموجِّه من هناك. ملخص ضبط البطاقاتإذا ضغط على Yes في مربع الحوار الذي يسألك عن الدخول إلى ضبط الإدارة الأساسية، فستُسأل سؤالًا آخر إذا ما كنت تريد رؤية ملخص ضبط البطاقات الحالي؛ إذا ضغطت على Yes، فسترى شيئًا شبيهًا بما يلي، حيث تُعرَض قائمة بالبطاقات مع حالتها في الطبقتين الأولى والثانية. فمثلًا، تملك بعض البطاقات عنوان IP. والناتج المعروض هنا هو ناتج الأمر sh ip int brie: Interface IP-Address OK? Method Status Protocol BRI0 unassigned YES NVRAM administratively down down BRI0:1 unassigned YES unset administratively down down BRI0:2 unassigned YES unset administratively down down FastEthernet0 192.168.0.65 YES NVRAM up up FastEthernet1 unassigned YES NVRAM administratively down down FastEthernet2 unassigned YES unset down down FastEthernet3 unassigned YES unset down down FastEthernet4 unassigned YES unset up down FastEthernet5 unassigned YES unset up down FastEthernet6 unassigned YES unset up up FastEthernet7 unassigned YES unset up up FastEthernet8 unassigned YES unset up up FastEthernet9 unassigned YES unset down down NVI0 192.168.0.65 YES unset up up Tunnel1 10.10.1.65 YES NVRAM up up Tunnel2 10.10.2.65 YES NVRAM up up Vlan1 192.168.65.192 YES NVRAM up upميزة Cisco AutoSecureقد تجد من ضمن الأسئلة التي ستُسأل عنها أسئلةً متعلقةً بتفعيل AutoSecure، التي هي ميزةٌ أمنيةٌ متوفرة في نسخٍ معيّنة من نظام التشغيل، تسمح لك بتقليل تعقيد تأمين الموجه ومعرفة الأوامر اللازمة لذلك، عبر إنشاء هذا الأمر الذي يؤتمت عملية ضبط تلك المزايا الأمنية؛ أي أنَّ تلك الميزة مكان جامعٌ لتأمين موجِّهك وتحسين السياسات الأمنية الحالية. وبالإجابة بنعم (yes) على السؤال المتعلق بتفعيل AutoSecure، فإنك ستُفعِّل AutoSecure، الذي يعني تنفيذ الأمر auto secure وبه تبدأ عملية تأمين الموجِّه. وتلك الأداة صارمةٌ جدًا وستحاول ضمان أكبر قدر من الحماية عن طريق (على سبيل المثال) تعطيل الخدمات العامة، وتعطيل الخدمات التي تعمل على مستوى البطاقة (interface)، وتفعيل أشياء مثل تشفير كلمات المرور، والتسجيل (logging)، والتحقق من أنَّ وجود كلمات مرور لموجِّهك، والتأكد من أنَّ SSH مضبوطٌ ضبطًا صحيحًا؛ وتُعطَّل أيضًا ميزة الإدارة عبر SNMP إن لم تكن مستخدمة. وتحاول تطبيق ميزات متعلقة بمكافحة التنصت واعتراض اتصالات TCP (أي TCP intercept) ومهلة فقدان اتصالات TCP. إنها أداةٌ شاملة، وعليك تفعيلها إذا كنت تعرف تمامًا ما هي تبعات ذلك. مراجعة سكربت الإعداد واستخدامهوبشكلٍ شبيهٍ بمربعات حوار الضبط في المبدِّلات، تنتهي هذه العملية بإظهار الموجِّه للسكربت التي أُنشِئ اعتمادًا على أجوبتك، متبوعًا بقرارك إن كنت تريد تريد العودة إلى المِحث دون الحفظ، أو بالعودة إلى أول الأسئلة مُعيدًا الضبط مرةً أخرى، أو حفظ الضبط والعودة إلى المِحَث. تسجيل الدخول إلى موجه سيسكوبعد إنهاء الضبط كما في الخطوة السابقة، يمكنك العودة إلى المِحَث وإعادة ضبط الموجِّه، أو إجراء المزيد من الضبط. الموجِّه هو جهاز يعمل بنظام IOS، أي أنه شبيه بالمبدِّلات في كونه يحتوي على نمط EXEC، الذي فيه نمطين فرعيين: نمط المستخدم دون امتيازات، ونمط المستخدم ذو الامتيازات. يمكنك الانتقال من نمط المستخدم العادي إلى نمط المستخدم ذي الامتيازات عبر استعمال الأمر enable. ويمكنك الخروج من نمط المستخدم ذي الامتيازات عبر الأمر disable، أو تسجيل الخروج كليًا بالأمر logout، والأمر exit يفعل المِثَل أيضًا. لاحظ أيضًا -وبما يشابه المبدلات- أنَّه يمكنك معرفة نمط المستخدم العادي من إشارة «أكبر من» (<) في المِحَث، بينما نمط المستخدم ذو الامتيازات يُعرَف بإشارة المربع (#). Router> Router> enable Password: Router#قائمة بالأوامر التي يمكن تنفيذها على الموجهات بنمط المستخدم العادييمكنك استعمال إشارة الاستفهام (?) بجميع مستويات الامتيازات وبجميع أنماط الضبط لعرض قائمة بالأوامر التي يمكنك استعمالها في ذاك النمط؛ لاحظ أنك تستطيع التمرير إلى الأسفل لوجود الكلمة «More»، يمكنك الضغط على زر المسافة للتمرير صفحةً بصفحة، أو الضغط على زر Enter (أو Return في بعض لوحات المفاتيح) للتمرير سطرًا بسطر، أو بإمكانك استعمال الزر Q للخروج، أو عبر التجميعة Ctrl+C. Router>? Exec commands: <1-99> Session number to resume access-enable Create a temporary Access-List entry access-profile Apply user-profile to interface clear Reset functions connect Open a terminal connection crypto Encryption related commands. disable Turn off privileged commands disconnect Disconnect an existing network connection dot11 IEEE 802.11 commands emm Run a configured Menu System enable Turn on privileged commands exit Exit from the EXEC --More--تختلف قائمة الأوامر بناءً على نسخة وميزات نظام التشغيل، وستختلف تبعًا لامتيازات الوصول وأنماط الضبط؛ فمثلًا، هنالك قائمةٌ محدودةٌ من الأوامر التي تستطيع تنفيذها في نمط المستخدم دون امتيازات تسمح لك بمراقبة عمل الموجِّه، بينما يمكنك في نمط المستخدم ذي الامتيازات أن تدخل إلى مختلف مستويات الضبط وتنفِّذ أوامر تتعلق بالصيانة. قائمة بالأوامر التي يمكن تنفيذها على الموجهات بنمط المستخدم ذي الامتيازاتهذه قائمة مبسطة وجزئية بالأوامر المتوفرة في نمط المستخدم ذي الامتيازات الظاهرة بكتابة علامة استفهام في المحث؛ لاحظ أنَّ الأمر configure متوفرٌ في القائمة، وهو يسمح لك بالذهاب إلى نمط الضبط؛ وأيضًا الأمر copy، الذي يسمح بنسخ صور نظام التشغيل أو ملفات التشغيل من وإلى الموجِّه؛ وهنالك الأمر erase لمسح الصور من نظام الملفات. Router#? Exec commands: <1-99> Session number to resume access-enable Create a temporary Access-List entry access-profile Apply user-profile to interface access-template Create a temporary Access-List entry archive manage archive files auto Exec level Automation beep Blocks Extensible Exchange Protocol commands bfe For manual emergency modes setting calendar Manage the hardware calendar cd Change current directory clear Reset functions clock Manage the system clock cns CNS agents configure Enter configuration mode connect Open a terminal connection copy Copy from one file to another crypto Encryption related commands. debug Debugging functions (see also 'undebug') delete Delete a file dir List files on a filesystem disable Turn off privileged commands disconnect Disconnect an existing network connection --More--أمر إظهار نسخة نظام التشغيلنحن الآن جاهزون لنخطي خطوةً إلى ضبط وإدارة الموجِّهات الخاصة بنا؛ ربما أحد أهم الأوامر من حيث إظهار إمكانيات الجهاز هو الأمر show version؛ وهو شبيه بالأمر الخاص بمبدلات الطبقة الثانية؛ حيث يُظهِر النسخة الحالية من نظام التشغيل ويعرض قائمة بالميزات، ويُظهِر نظام التشغيل الموجود في ذاكرة ROM الذي يُستخدم كنظام بديل إن لم يكن النظام الرئيسي متوفرًا. ويُعرَض أيضًا زمن تشغيل الموجِّه (uptime)، وكذلك المواصفات الفيزيائية بما في ذلك مقدار ذاكرة RAM، والبطاقات الفيزيائية (physical interfaces) في الموجِّه، ومقدار ذاكرة NVRAM، وذاكرة فلاش، وقيمة المُعامل «Configuration register». Router#sh ver Cisco IOS Software, C181X Software (C181X-ADVENTERPRISEK9-M), Version 12.4(24)T6, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2011 by Cisco Systems, Inc. Compiled Tue 23-Aug-11 05:42 by prod_rel_team ROM: System Bootstrap, Version 12.3(8r)YH12, RELEASE SOFTWARE (fc1) Router uptime is 1 day, 2 hours, 38 minutes System returned to ROM by Reload Command System restarted at 17:27:50 EET Wed Nov 28 2012 System image file is "flash:c181x-adventerprisek9-mz.124-24.T6.bin" This product contains cryptographic features and is subject to United States and local country laws governing import, export, transfer and use. Delivery of Cisco cryptographic products does not imply third-party authority to import, export, distribute or use encryption. Importers, exporters, distributors and users are responsible for compliance with U.S. and local country laws. By using this product you agree to comply with applicable laws and regulations. If you are unable to comply with U.S. and local laws, return this product immediately. A summary of U.S. laws governing Cisco cryptographic products may be found at: http://www.cisco.com/wwl/export/crypto/tool/stqrg.html If you require further assistance please contact us by sending email to export@cisco.com. Cisco 1812 (MPC8500) processor (revision 0x400) with 236544K/25600K bytes of memory. Processor board ID XXXXXXXXXXX, with hardware revision 0000 10 FastEthernet interfaces 1 ISDN Basic Rate interface 62720K bytes of ATA CompactFlash (Read/Write) Configuration register is 0x2102التحقق من الضبط الأساسي للموجهللتحقق من الضبط المبدئي للموجِّه، فعادةً ما تُستعمَل أوامرٌ مثل show running، الذي يعرض كل الضبط الحالي، ثم يمكنك البحث عن القطع التي تريد التحقق منها؛ قد يكون هذا أمرًا مرهقًا وغير فعال، لذلك يمكنك إظهار أقسام معيّنة من الضبط الحالي. Router#sh run Building configuration... Current configuration : 3807 bytes ! ! Last configuration change at 19:41:49 EET Thu Nov 29 2012 by admin ! NVRAM config last updated at 19:43:50 EET Thu Nov 29 2012 by admin ! version 12.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname Router ! boot-start-marker boot-end-marker ! logging message-counter syslog logging buffered 65535 enable secret 5 $1$kqJ2$BwXEBY.OC1Fzj4QvofZXx/ ! no aaa new-model clock timezone EET 2 ! ! dot11 syslog ip source-route ! ! ip cef no ip domain lookup ip domain name cisco.com ip name-server 172.16.4.10 no ipv6 cef ! multilink bundle-name authenticated ! ! --More--فيمكنك مثلًا استعمال الكلمة المفتاحية ‏(interface) لعرض الضبط المتعلق ببطاقة معيّنة فقط. Router#sh run int fa 0 Building configuration... Current configuration : 186 bytes ! interface FastEthernet0 description ### Sales Dept. ### ip address 192.168.0.1 255.255.255.0 duplex auto speed auto endيمكنك أيضًا استخدام show run | in options مما يعرض الأسطر التي تحتوي كلمةً مُحدَّدة مثل «password»؛ وبهذا، نرى أنَّه لم تُضبَط أيّة كلمات مرور؛ والسطر الوحيد الذي تم إظهاره والذي يحتوي الكلمة «password» هو سطر service password-encryption. Router#sh run | in password service password-encryptionيمكنك أيضًا استعمال الأمر show running | section لعرض أقسامٍ كاملة؛ على سبيل المثال قسم line، الذي يعرض الأقسام التي تتعلق بالطرفيات أو VTYs ...إلخ. يمكنك أيضًا استعمال b ‏(begin) مما يُظهِر الضبط الذي يبدأ بكلمة مفتاحية معيّنة. فسيعرض الأمر الآتي الضبط الذي يبدأ بالكلمة line وكل شيء يقع تحته. Router#sh run | b line line con 0 line aux 0 line vty 0 4 exec-timeout 0 0 privilege level 0 login local transport preferred ssh transport input ssh transport output all ! ntp server 172.16.4.10 endيمكنك تطبيق ما سبق على بقية الأوامر؛ على سبيل المثال، الأمر show ip int brie سيعرض كل البطاقات وحالتها وعناوين IP المُسنَدة إليها؛ لكنك يمكننا استعمال الأنبوب (pipe) لعرض البطاقات التي لم يُسنَد إليها عنوان IP بالبحث عن الأسطر التي تحتوي على الكلمة المفتاحية unassigned. Router#sh ip int brie | in unassigned BRI0 unassigned YES NVRAM administratively down down BRI0:1 unassigned YES unset administratively down down BRI0:2 unassigned YES unset administratively down down FastEthernet1 unassigned YES NVRAM administratively down down FastEthernet2 unassigned YES unset down down FastEthernet3 unassigned YES unset down down FastEthernet4 unassigned YES unset up down FastEthernet5 unassigned YES unset up down FastEthernet6 unassigned YES unset up up FastEthernet7 unassigned YES unset up up FastEthernet8 unassigned YES unset up up FastEthernet9 unassigned YES unset down downوكما ترى، البطاقة Fa0 ليست في القائمة، وكذلك Vlan1، التي تملك عنوان IP. ترجمة -وبتصرّف- للمقال Starting a Router.
  6. تقودنا معرفتنا بالأعداد الثنائية إلى التعرف على بنية عناوين 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.
  7. عناوين IP ما هي إلا سلسلة مكونة من 32 رقمًا ثنائيًا؛ وسنستعرض في هذا الدرس مراجعةً عن نظام العد الثنائي لكي نفهم عملها. وسنبدأ بمقارنته بالنظام العشري، وسنشرح كيف أنَّ الرقم 2 هو اللبنة الأساسية لعملية العد؛ وسنمنحك الفرصة في هذا الدرس للتدرب على التحويل من عددٍ بالنظام العشري إلى رقمٍ عددٍ الثنائي وبالعكس. الأعداد بالنظام العشري والنظام الثنائيلما كانت الأعداد بالنظام الثنائي مهمةً جدًا في عناوين IP والشبكات الفرعية (subnets)، فلنلقِ نظرةً أعمق على بنيتهم وقيمهم؛ وسنحتاج أيضًا إلى أن نتعلم كيفية تحويلهم إلى أعدادٍ بالنظام العشري لأننا -نحن البشر- لسنا «أذكياء» كفايةً للتعامل مع الأعداد بالنظام الثنائي، ونرغب في التعامل مع أشياءٍ ألفنا استعمالها (مثل الأرقام بالنظام العشري)؛ وفي الواقع، أفضل طريقة لفهم الأعداد الثنائية هي مقارنتها بالأعداد العشرية؛ فالسؤال الفلسفي الأول لهذا اليوم هو: ما هي الأعداد العشرية؟ نحن نعرفها ﻷننا نتعامل معها يوميًا؛ فأساسها (base) هو الرقم 10، والأعداد العشرية ما هي إلا سلسلة من الأرقام التي تتراوح بين 0 و 9؛ ونعلم أنَّ خانة أو منزلة الرقم في الأعداد العشرية تُفسِّر دلالة ذاك الرقم؛ أي بكلامٍ آخر، نحن نعلم معنى أول رقم في أول خانة في العدد؛ ونعلم أنَّ قيمة العدد هي الرقم نفسه إن كان أقل من 10؛ ونعلم أن الخانة الثانية هي العشرات، والقيمة الفعلية هي قيمة الرقم مضروبًا بالرقم 10، وبنفس الطريقة نعرف أنَّ الخانة الثالثة هي المئات، والرابعة هي الآلاف، والخامسة هي عشرات الآلاف، وهلمَّ جرًّا. وهذه العشرات والمئات والآلات ما هي إلا قوى الرقم 10. td, th {border: 1px solid black;} table{border-collapse: collapse; border: 1px solid black;} عشري ثنائي عشري ثنائي 0 0000 9 1001 1 0001 10 1010 2 0010 11 1011 3 0011 12 1100 4 0100 13 1101 5 0101 14 1110 6 0110 15 1111 7 0111 16 10000 8 1000 17 10001 حسنًا، الأعداد الثنائية شبيهة جدًا بالأعداد العشرية، لكن الأساس هو 2، لذا نتمكن من استعمال الرقمين 0 و 1 فقط؛ وهذان الرقمان يُستعمَلان من الحواسيب لأنه يسهل التعامل معهم؛ إذ نستطيع أن نبني حواسيب تستعمل الأعداد ذات الأساس 10، لكنها ستكون باهظة الثمن للغاية. تتبع الأعداد الثنائية نفس الآلية أو العملية المستعملة لبناء الأعداد العشرية؛ إذ أنَّ العدد الثنائي هو سلسلةٌ من الأرقام، ويجب أن يكون كل رقم من تلك الأرقام إما 0 أو 1 وتلعب خانة (أو مكان) الرقم دورًا في تحديد قيمة العدد؛ فجميع الخانات تمثِّل قوى للأساس، وفي هذه الحالة أساس العد الثنائي هو الرقم 2؛ أي أنَّ الخانات تمثِّل قوة (Exponentiation) الرقم 2. لمحة نظرية عن التحويل من النظام العشري إلى الثنائيقد تستعجب من معرفة قيمة عدد ثنائي بسرعة بمجرد النظر إليه؛ حسنًا، سأخبرك أنَّ الأمر منوطٌ باعتيادك على قراءة الأعداد الثنائية. إذ نألف الأعداد العشرية ونعرف كيف نحسب القيمة الإجمالية للعدد، أو على الأقل تقديرها أو أن يكون لدينا فكرة عن الناتج. فيمكننا النظر إلى عددٍ ما ونرى أنَّ أول خانة هي الرقم 9، والخانة الثانية ستكون من العشرات وهي الرقم 2، التي تمثِّل القيمة 20؛ أما الخانة الثالثة فهي الرقم 8 وتمثِّل المئات، وتعني 800 وهكذا. ربما لا نفكِّر في الأمر كثيرًا عند قراءتنا للأعداد العشرية، لكن كل قيمة مرتبطة بمنزلة أو خانة ما هي إلا قوى الرقم 10. مثال عن تفسير عدد ذي الأساس 10 – العدد: 63204829 الرقم الأقل أهميةً الرقم الأكثر أهميةً 100 101 102 103 104 105 106 107 الأساس الأس 9 2 8 4 0 2 3 6 قيمة الخانة 1 10 100 1000 10000 100000 1000000 10000000 المنزلة العشرية 9 20 800 4000 0 200000 3000000 60000000 القيمة النهائية للخانة 60000000 + 3000000 + 200000 + 0 + 4000 + 800 + 20 + 9 = 63204829 كما ذكرنا سابقًا، الأمر متعلقٌ باعتيادك على إجراء عملية الحساب. فالتحويل الثنائي، أو حساب قيمة العدد الثنائي، هي نفس العملية تمامًا؛ لكن لدينا هنا أرقامٌ تحتوي 0 و 1، ثم سنطبِّق عليها نفس المبادئ التي تقول أن كل رقم يجب أن يُضرَب بقوى 2 لأن الأساس في الأعداد الثنائية هو2، فأول رقم (1) سيُضرَب بالرقم 1، أي 2 للقوة 0؛ أما الرقم الثاني (0) سيُضرَب بالرقم 2، الذي هو 2 للقوة 1؛ أما ثالث خانة فستُضرَب بالرقم 2 للقوة 2 (مربَّع)، والخانة الرابعة بالرقم 2 للقوة 3 (مُكعَّب) وهكذا. وعليك أن تعتبر أنَّ آخر بت في العدد هو أهم بت، مثَلُهُ كمَثَلِ الأعداد العشرية. مثال عن تفسير عدد ذي الأساس 2 – العدد: 1110100 (223) الرقم الأقل أهميةً الرقم الأكثر أهميةً 20 21 22 23 24 25 26 27 الأساس الأس 1 0 0 1 0 1 1 1 قيمة الخانة 1 2 4 8 16 32 64 128 القيمة العشرية 1 0 0 8 0 32 64 128 القيمة النهائية للخانة 128 + 64 + 32 + 0 + 8 + 0 + 0 + 1 = 233 تبدأ مضاعفات العدد 2 من أقل البتات منزلةً ومن منزلة أو خانة الرقم الذي يمثِّل الأس للأساس 2 الذي علينا ضرب الرقم به بدءًا من الصفر؛ فعندنا 8 خانات في المثال السابق، الذي يتكون من 8 بتات التي تمثِّل بايتًا، تذكر أننا نُجمِّع البتات والبايتات، ونفصلها بنقط كي نحصل على عناوين IP. قيمة العدد الثنائي السابق هي 223 بالنظام العشري. قوى الرقم 2لقد تقلصت مشكلتنا الأساسية -التي هي النظر إلى العدد الثنائي وحساب قيمته العشرية بسرعة لكي نستطيع فهم عناوين IP بالنظر إليها- إلى معرفة قوى الرقم 2، لأننا نعرف أن الخانة أو مكان الرقم مهم ويعطينا قوى الرقم 2 التي سنستخدمها في حساباتنا. فلنعد إلى مثالنا السابق عن البايت (أو 8 بت)، فكل ما علينا تذكره هو ثماني قيم: أول قوى الرقم 2 هي 2 للقوة 0 وتساوي 1، و2 للقوة 1 هي 2، و2 مربع هي 4، وهلمَّ جرًا حتى يحصل على كل تلك القيم؛ فكر بها مليًّا، حفظها ليس صعبًا، 1، 2، 4، 8، 16، 32، 64، 128: قوى الرقم 2 العملية الحسابية القيمة 20 121 2 2 22 2 * 2 4 23 2 * 2 * 2 8 24 2 * 2 * 2 * 2 16 25 2 * 2 * 2 * 2 * 2 32 26 2 * 2 * 2 * 2 * 2 * 2 64 27 2 * 2 * 2 * 2 * 2 * 2 * 2 128 مثال عن التحويل من عدد عشري إلى ثنائيمن المفيد أحيانًا في عناوين IP التحويل من الأعداد العشرية إلى الأعداد الثنائية؛ وخصيصًا في الشبكات الفرعية، التي سنبحث أمرها في الدرس القادم. هذه طريقة التحويل: نحن نعلم أن القيمة العشرية ستكون سلسلة أرقامٍ ثنائية في العدد الثنائي، وكل رقم من تلك الأرقام سيكون له قيمة عشرية معيّنة بناءً على منزلته أو خانته. فمثلًا، الرقم 1 في الخانة السابعة (لاحظ أن الخانة السابعة رقمها 8، ﻷننا نعد من 0 إلى 7) يُمثِّل الرقم العشري 128؛ والرقم 1 في الخانة الثالثة (نذكر مرة أخرى أننا نعد من 0 إلى 7) يُمثِّل الرقم 8؛ فبعد أن نضع في بالنا قوى الرقم 2، كل ما علينا فعله (للتحويل بين العشري إلى الثنائي) هو العثور على أكبر قوى 2 التي تكون أصغر من العدد العشري الذي نريد تحويله، ثم نضع في تلك المنزلة الرقم الثنائي 1 ثم نطرح العدد الناتج من العدد العشري الأصلي. ثم نكرر العملية حتى تصبح نتيجة عمليات لطرح مساويةً للرقم 0؛ لنلقِ نظرةً على هذا المثال، لنقل أننا نريد تحويل العدد 35 إلى النظام الثنائي، فلنفكر ما هي أكبر قوة للرقم 2 أصغر من (أو تتسع في) 35؟ الجواب بدهي، إنها 32، إذ لا تتسع 128 و 64 في العدد العشري المُحوَّل (35)، ولهذا تكون قيمة تلك المنزلتين الثنائية مساويةً للصفر (0)، أي أنَّ أول 1 هو 32، فنضع 1 في تلك المنزلة (أو الخانة) ثم نطرح 32 من 35، والناتج هو 3؛ لنكرر الآن العملية: ما هي أكبر قوة للرقم 2 تتسع في 3؟ لا تتسع 16 أو 8 أو 4، إذ أنها جميعًا أكبر من 3، وسنضع أصفارًا في خاناتها؛ فالرقم الذي يتسع في 3 هو 2 للقوة (أو للأس) 1، أي 2؛ ونضع الرقم الثنائي 1 في تلك المنزلة ونطرح 2؛ حيث 3 ناقص 2 يساوي 1، الذي يساوي إلى 2 للقوة 0، ونضع الرقم الثنائي 1 في تلك المنزلة ونطرح 1، والجواب النهائي هو 0؛ وبهذا يكتمل التحويل ويكون ناتج تحويل العدد العشري 35 إلى ثنائي هو 00100011. مثال عن التحويل من عدد ثنائي إلى عشريالتحويلات من الأعداد الثنائية إلى الأعداد العشرية أكثر سهولةً، فكل ما علينا فعله هو تطبيق نفس العملية التي قادتنا إلى فهم الأعداد الثنائية كما يلي: نأخذ الأرقام في العدد الثنائي ونضربها بقوة العدد 2 الموافقة للخانة بدءًا من الخانة 0 في أقصى اليمين (التي هي «الرقم الأقل أهميةً») منتقلين إلى اليسار حتى نصل إلى الخانة السابعة (التي هي «الرقم الأكثر أهميةً»)، ثم سنجمع الأرقام الناتجة معنا لنحصل على القيمة العشرية له. الرقم 1 في الخانة 0 يعني أنَّ علينا ضرب الرقم 1 بقوة الرقم 2 الموافقة للخانة، التي هي 1 أيضًا؛ أما الرقم 0 فيعني أن نضرب 0 بقوة العدد 2، ولهذا لن تُضاف أيّة قيمة للنتيجة النهائية؛ وكذلك الأمر بالنسبة إلى الخانة التي تليها؛ أما الخانة الرابعة ففيها الرقم 1، فسيضرب الرقم 1 بقوة الرقم 2 الملائمة للمنزلة (تذكر أنَّ ترتيب الخانة الرابعة هو 3 لأننا نبدأ العد من الصفر) التي هي 2 للقوة 3 ثم سنضيفها للناتج؛ وبإكمال تلك العملية حتى نصل إلى آخر خانة، ويصبح لدينا سلسلة من الأرقام العشرية التي عندما نجمعها مع بعضها فسنحصل على الناتج بالنظام العشري، الذي هو 185. ترجمة -وبتصرّف- للمقال Understanding Binary Basics.
  8. سنستكشف في هذا الدرس عملية توصيل الرزم الشبكيّة من منظور الموجِّهات، وسنرى كيف أنَّ إحدى أهم وظائف الموجِّهات هي تحديد المسار الأمثل لرزم IP بين الشبكات؛ وسنتعمَّق في بعض المكوِّنات مثل جداول التوجيه، وسنشرح الطرق المختلفة لملئها (أي جداول التوجيه الثابتة [static] والديناميكية [dynamic])؛ وسنُعدِّد خصائص بروتوكولات التوجيه ونصنِّفها إلى «distance vector» و «link-state». الموجهاتنحن نعلم أنَّ الموجِّهات تطبِّق وظائف الطبقة الثالثة أو طبقة الشبكة؛ وأنَّ مهمتها الأساسية هي تمرير الرزم الشبكيّة بناءً على جدول التوجيه. وبهذا نحصل على تقسيم للبيانات التراسلية (traffic segmentation)، وعدِّة مجالات إذاعيّة (broadcast domains)، ونُعرِّف الشبكات الفرعية لعناوين طبقة الشبكة؛ تُعرَّف هذه الشبكات بالمنافذ التي تُسنَد إليها عناوين IP، والتي هي عادةً عناوين IP للبوابة الافتراضية (default gateway) للحواسيب والخواديم وغيرهما من المعدّات الشبكيّة. تتصل الموجهات أيضًا إلى مزودي الخدمة إذ يعملون كبوابات إلى الشبكات الأخرى، وغالبًا ما يتواجدون في طرف (edge) الشبكة؛ قد لا تكون بعض تلك المحولات (adapters) الشبكية من نوع إيثرنت؛ فلديها قدرة على الاتصال إلى المنافذ التسلسلية، واتصالات DSL، وأشكالٍ أخرى من VAN؛ المكونات الرئيسية المذكورة هنا ستتشابه مع مكونات أي جهاز حاسوبي أو شبكي: معالج، ولوحة أم، وذاكرتَي RAM و ROM. وهنالك نوعٌ أخر من الذواكر في موجِّهات سيسكو هو ذاكرة flash، التي تُخزَّن فيها صورة نظام التشغيل؛ لكن النقطة الأساسية خلف خصائص تلك المكونات هي أنَّ العناصر المكونة للحاسوب أصبحت قويةٌ للغاية مما يُمكِّن الموجهات من أداء أدوار بقية الأجهزة الشبكيّة؛ إذ يمكن دمج وظائف الجدر النارية، وحتى إمكانية توجيه المكالمات الصوتية للبيئات التي تعتمد على الاتصالات الصوتية عبر بروتوكول IP؛ ولهذا تكون موجهاتنا العصرية أكثر من مجرد أجهزة تعمل في الطبقة الثالثة، إذ أصبحت متعددة الوظائف، مما يسمح لك بدمج عدِّة وظائف ضمن مكونات شبكتك: بعضها عبر تحديثات النظام، وبعضها عبر إضافات عتادية للموجهات التي تقبل تلك الإضافات. وظائف الموجهاتيمكن تقسيم وظيفة التوجيه إلى قسمين؛ أولهما هو بناء خريطة للشبكة وتَستعمل الموجهات -لهذه المهمة- بروتوكولات التوجيه الثابتة أو الديناميكية؛ وبمساعدة بروتوكولات التوجيه الديناميكية، تسمح الموجهات لبقية أجهزة الشبكة بمعرفة مخطط الشبكة والتغيرات التي قد تحصل عليها؛ أما التوجيه الثابت فلن يتأقلم مع التغيرات التي قد تطرأ على الشبكة؛ لكن كلا الطريقتين تنجزان مهمة بناء خريطة للشبكة على شكل «جدول توجيه» (routing table). تحديد المسارأثناء عملية تحديد المسار، ستدرس الموجهات عدِّة مسارات بديلة للوصول إلى نفس المكان؛ وتأتي هذه البدائل نتيجةً للبنية التعويضية (redundancy) المبنيّة في أغلبية تصاميم الشبكة. وإنَّك ترغب بوجود عدِّة مسارات، فلو أصبح أحدها خارج الخدمة، فسيكون عندك بدائلٌ له. عند تحديد أيُّ المسارات أفضل، فستأخذ الموجهات عدِّة عوامل بعين الاعتبار أحدها هو مصدر معلومات المسارات، وبهذا يمكن أن يكون لديك عدِّة بروتوكولات توجيه ديناميكية وحتى بروتوكولات توجيه ثابتة تملأ جدول التوجيهات وتخبر الموجه ما هي الخيارات المتاحة أمامه. القطعة الثانية من المعلومات هي «كلفة» (cost) الاتصال عبر كل مسار؛ وبمراعاة أنَّ كل مسار مكوَّن من عدِّة وصلات أو عقد مُعرَّفة من موجهات أخرى، فيمكننا إضافة مفهوم «الكلفة» إلى المسارات، الذي هو مجموع كل الكلفات للوصول إلى العقدة التالية في المسار. هنالك قراران محكومان بأجزاءٍ مختلفة من المعلومات؛ فلكي نُعرِّف مصدر المعلومات الراجح، فستستخدم الموجهات «المسافة الإدارية» (administrative distance)؛ فلو كان أحد بروتوكولات التوجيه مثل OSPF يخبر الموجه معلوماتٍ عن الوجهة، وكذلك يفعل بروتوكول RIP؛ فستُحدِّد المسافة الإدارية من الذي سنعتمد معلوماته؛ وعند اختيار المصدر، فستصبح الكلفة مهمةً؛ أي بكلامٍ آخر، إن أعطانا OSPF معلوماتٍ عن مسارين، فستكون كلفة المسار هي ما الذي سيحدد أيهما سأختار؛ وهذا شبيهٌ بامتلاك خريطتين للقيادة من مدينةٍ إلى أخرى؛ إذ ستختار الخريطة التي ستتبعها، ثم إن كانت تعطيك الخريطة أكثر من خيار، فستختار أفضلها اعتمادًا على الوقت اللازم للمرور فيها، أو المسافة التي عليك قيادتها. جداول التوجيهإذًا، تحتوي جداول التوجيه على «ذكاء» طبقة الشبكة لإخبار الموجه كيف يمرر الرزم إلى الوجهات البعيدة؛ وفي بادئ الأمر، يتكون جدول التوجيه من الشبكات التي تتصل مباشرةً بالموجه المعيّن؛ ومن ثم يُملأ الجدول إما عبر التوجيه الثابت الذي سيخبر المدير فيه الموجه كيف سيصل إلى الوجهة، أو عبر ملء الجدول عبر إشعارات جداول التوجيه القادمة من الموجهات الأخرى. أي أنَّ الموجهات «كثيرة الكلام» وتخبر بعضها بعضًا المعلومات التي تسمح لها بمعرفة مكونات الشبكات؛ وفي كلا الحالتين، ستُستخدَم عناوين الشبكة الفرعية معكوسةً أو عناوين الشبكة التي تحتوي على أصفارٍ في قسم المضيف من عنوان IP. ونحن نتحدث -في هذه الحالة- عن عنوان مقسَّم إلى شبكةٍ فرعية ليس لها فئة معيّنة أصلها شبكةٌ فئتها A؛ الشبكة 10.0.0.0 مقسّمة إلى شبكاتٍ فرعية تشبه الفئة C؛ لكن -في جميع الحالات هنا- قسم المضيف من العنوان (البايت الرابع) كله أصفار، الذي يمثِّل تلك الشبكة الفرعية. أي بكلامٍ آخر، هذه هي الشبكات الوجهة، وستحتوي جداول التوجيه في حالة الوجهات البعيدة مدخلاتٍ تُظهِر العقدة الشبكيّة التي يجب الاتصال بها للوصول إلى الوجهة؛ وفي هذه الحالة، للوصول إلى 10.1.3.0، فإن العقدة الشبكية هي الموجِّه 2 ذو العنوان 10.1.2.2. هنالك تصنيفات لمدخلات (entries) جدول التوجيهات التي يمكن أن تُملأ إما ديناميكيًا أو يدويًا؛ بعضها يأتي مع الموجِّه. ويتعرف على جميع الشبكات المتصلة به مباشرةً عندما يُقلِع ويُعرِّفها كوجهات يمكن الوصول إليها؛ أما الجزء الذكي هو تواصل الموجهات مع بعضها وتبادلها معلومات التوجيه عبر بروتوكولات التوجيه الديناميكي مثل OSPF أو EIGRP، ثم سيعلمون عن تلك الوجهات، ويتأقلمون أيضًا مع التعديلات التي تجري عليها. ستتمكن بروتوكولات التوجيه من التعرف على التغيرات في مخططات الشبكة ثم ستخبر الموجهات بعضها بعضًا بذلك؛ وستظهر المُدخلات وستختفي من جدول التوجيهات اعتمادًا على توفر تلك الشبكات؛ لكن تذكر أنَّه قد يأتي المدير ويُضيف المدخلات الثابتة يدويًا، وهذا غير مستحسن في بعض الأحيان، لأن تلك المدخلات ثابتة ولا تتأقلم مع التغييرات التي قد تحدث على الشبكة. أي بكلامٍ آخر، إذا كانت المُدخلة (أي الموجه) غير متوفرة، فستبقى المدخلة موجودةً في جدول التوجيهات وسيستمر الموجه بتمرير الرزم إلى وجهة غير موجودة. حالة خاصة من التوجيه الثابت هي «المسار الافتراضي» (default route) الذي يمكن أن يتعلمه الموجه ديناميكيًا؛ يُستخدم المسار الافتراضي عندما لا توجد مسارات معروفة للوصول إلى الوجهة، إذ أنَّ هذه المدخلة تستعمل لجميع الوجهات غير المعروفة. سيقول الموجِّه: «إن لم أعرف المسار إلى وجهةٍ معيّنة، فسأمرر الرزم إلى من يعرف المسار، الذي يكون عادةً موجِّهًا آخر». المقاييس المستعملة للتوجيهيعتمد اختيار أمثل مسار على ما يُعرَف بكلفة الوصول إلى الوجهة عبر مسارٍ معيّن؛ وتُعرَف الكلفة بالمصطلح «المقياس» (metric)، وتضع مختلف بروتوكولات التوجيه معايير مختلفة لتعريف المقياس؛ فالتقنيات والبروتوكولات القديمة تأخذ عدد الموجهات في المسار للوصول إلى الوجهة بعين الاعتبار، وهذا ما يُسمى «hop count»، الذي قد لا يكون أحيانًا أفضل طريقة لحساب التكلفة، لأن هنالك مقدار تراسل شبكي مختلف لكل عقدة أو وصلة بين العقد. يكون الطريق ذو العقدتين -في المثال التوضيحي السابق- أفضل، لامتلاكه تراسلًا شبكيًا أكبر. بدأت بروتوكولات التوجيه الأخرى باعتبار التراسل الشبكي مقياسًا للكلفة، وغيره من المعايير؛ فمثلًا يأخذ بروتوكول EIGRP التراسل الشبكي، وزمن التأخير، والوثوقية، والحِمل، ووحدة النقل القصوى (maximum transmission unit) بعين الاعتبار. وبهذا لن يتم اختيار مسار فيه تراسل شبكي كبير لكنه تحت حِملٍ ثقيل، وإنما سيتم اختيار مسار بتراسل شبكي أصغر لكن أقل حِملًا وأكثر وثوقيةً. ربما أحد النقاط التي يركِّز عليها هذا الدرس هي أنَّ اختيار بروتوكول التوجيه -إن كنت تستعمل توجيهًا ديناميكيًا- هو المفتاح لتحديد الكلفة أو المقياس؛ وبالتالي تحديد آلية اختيار أمثل وأكثر المسارات كفاءة؛ ولكن الأمر منوطٌ أيضًا بزمن الاستجابة الذي سيستغرقه بروتوكول التوجيه لكي يستشعر تغييرًا في هيكلة الشبكة ويُعدِّل عمله باختيار مسارٍ بديل إذا لم يكن المسار الرئيسي متاحًا. فهنالك عدِّة تصنيفات لبروتوكولات التوجيه إذا كنت تستعمل التوجيه الديناميكي التي تُحدِّد -أي تلك التصنيفات- الكلفة والمقاييس، وأيضًا سلوك البروتوكولات في مثل الحالة السابقة. بروتوكولات «Distance Vector» للتوجيهأحد التصنيفات هو Distance Vector، الذي لن تحتاج الموجِّهات فيه إلى معرفة المسار بأكمله إلى الوجهة، بل كل ما يبغي معرفته هو الاتجاه (vector) الذي ستُرسَل إليه الرزمة، أي أنَّ الموجهات ستحتفظ بمعلوماتٍ في جداول التوجيه تتعلق بالعقدة الشبكيّة التالية التي يجب إرسال البيانات إليها للوصول إلى وجهة معيّنة. تعاني بروتوكولات Distance Vector من عدِّة سلبيات؛ أحدها هي أنها توزِّع جدول التوجيهات بشكلٍ دوري. فبعضها يستخدم الإذاعة لتوزيع كامل جدول التوجيهات، وهذا يَتسبَّب بحِملٍ ثقيلٍ غير ضروريٍ على الشبكة إن لم تتغير بنيتها؛ وهذا شبيهٌ بالاتصال بجميع معارفك وإخبارهم إشاعاتٍ مرارًا وتكرارًا، حتى وإن لم تتغير الشائعة أو تغير جزءٌ صغيرٌ منها. مثالٌ عن بروتوكول Distance Vector هو بروتوكول RIP، الذي يستعمل عدد العقد الشبكيّة مقياسًا للكلفة. بروتوكولات «Link-State» للتوجيهتتسم بروتوكولات Link-State بالكفاءة والفعالية في إنشاء مخططات للشبكة، ومشاركتها، واختبار أفضل مسار مقارنةً مع بروتوكولات Distance Vector؛ هناك عدِّة اختلافات بين هذين التصنيفَين، فمثلًا لن تُذيع (broadcast) بروتوكولات Link-State المعلومات لكل موجه، إذ ستستخدم multicast حيث يعلن كل موجِّه عبر multicast الوصلة التي يعرفها لجيرانه. وثانيًا، لن تُذيع بروتوكولات Link-State جدول التوجيهات بشكلٍ دوري؛ فبعد إذاعة كامل الجدول لأول مرة، فسترسل بعد ذلك التغييرات في بنية الشبكة فقط؛ أي بكلامٍ آخر، إذا لم يعد مسارٌ من المسارات متوفرًا فسيذاع هذا التغيير الصغير عبر multicast؛ وثالثًا، لن يعلم الموجه ما هي العقدة التالية التي سيصل عبرها إلى الوجهة فحسب، وإنما سيعلم عن خريطة الشبكة بأكملها. سيبني كل موجه خريطة الشبكة بعد حصوله على كامل معلومات الشبكة؛ التي تتضمن جميع الموجهات والوصلات؛ وبهذه المعلومات سيتمكن كل موجِّه من استعراض تلك الجداول عبر خوارزمية «أقصر مسار أولًا» (shortest path first algorithm)، ثم اختيار أفضل مسار إلى الوجهة. وبهذا، إذا حصل تغيير في الشبكة، لم يعد مسارٌ ما متوفرًا على سبيل المثال، الذي يؤثر على فرعٍ صغيرٍ في شجرة الشبكة؛ فسيُعلَن هذا التغيير فقط على الشبكة؛ وهذا سبب تسمية هذه التحديثات بالتحديثات التراكمية (incremental updates). كل هذه الاختلافات والفروقات تجعل من بروتوكولات Link-State أكثر كفاءة وفعاليةً في التعامل مع تغييرات الشبكة. ترجمة -وبتصرّف- للمقال Exploring the Functions of Routing.
  9. يساعدنا هذا الدرس في فهم التحديات التي تواجه التقنيات التشاركيّة (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.