بروتوكول اكتشاف الجيران

بروتوكول مساعد للإصدار السادس من بروتوكول الإنترنت، يساعد العقد في اكتشاف الشبكة المحلية آلياً، طُوِّر في عام 1996م
<th scope=col colspan="2" style="text-align:center;background-color:#(بالإنجليزية: Neighbor Discovery Protocol)‏;color:#000000">

بروتوكول اكتشاف الجيران (بالإنجليزية: Neighbor Discovery Protocol)‏ اختصاراً NDP، هو بروتوكول مساعد للإصدار السادس من بروتوكول الإنترنت طُوِّر في عام 1996م، ويُنجز مجموعة من الوظائف لدعمه، ويحل جزئياً أو كلياً محل بروتكولين قدماها سابقاً إلى الإصدار الرابع من بروتوكول الإنترنت هما بروتوكول اقتران العناوين الذي يُستبدله كلياً ويحل محله مقدِّماً وظيفة اقتران العناوين، وبروتوكول رسائل التحكم للإصدار الرابع من بروتوكول الإنترنت، فيقدم اثنين من وظائفه وهما اكتشاف الموجهات وإعادة التوجيه.[1]

بروتوكول اكتشاف الجيران
ترويسة عامة لرسائل البروتوكول

اختصار NDP
الوظيفة بروتوكول مساعد للإصدار السادس من بروتوكول الإنترنت
المُطوِّر مجموعة مهندسي الإنترنت
تاريخ التطوير أغسطس 1996م
حل محل بروتوكول اقتران العناوين  تعديل قيمة خاصية (P1365) في ويكي بيانات
طبقة نموذج OSI طبقة الشبكة
وثيقة طلب التعليقات RFC

يعتمد بروتوكول اكتشاف الجيران على بروتوكول رسائل التحكم للإصدار السادس من بروتوكول الإنترنت فيُعرِّف في معياره الأساس خمس رسائل هي: رسالة التماس الموجه ورسالة الإعلان عنه ورسالة التماس الجار ورسالة الإعلان عنه ورسالة إعادة التوجيه.[2] عرفت بروتوكولات أو آليات لاحقة رسائل إضافية ألحقت بالبروتوكول ووسعت من وظائفه، وتشرف هيئة أرقام الإنترنت المخصصة على إدارة وحفظ سجل موحد ومعياري لبنى هذه الرسائل واستعمالاتها.[3]

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

يمكن أن يستعمل البروتوكول لشن مجموعة من الهجمات في شبكات البيانات، وتصنف هذه الهجمات حسب أهدافها إلى هجمات حجب الخدمة وهجمات انتحال العناوين وهجمات انتحال الموجه، ويمكن أن تُصنَّف حسب طريقة شنها إلى هجمات تتضمن عمليات توجيه وهجمات لا تتضمنها وهجماتٍ على رسائل الرد. تعالج نقاط الضعف المرتبطة بهذا البروتوكول عموماً باستعمال توسعة بروتوكول الجيران الآمن أو بتأمين الرسائل باستعمال حزمة أمن بروتوكول الإنترنت.[4]

ألحق ببروتوكول اكتشاف الجيران توسعة الاكتشاف المعكوس للجيران، وتهدف لمساعدة العقد التي تشغل البروتوكول في اكتشاف عناوين بروتوكول الإنترنت لعقد أخرى انطلاقاً من عنوان طبقة الوصلة خاصتها،[5] وألحق به أيضاً بروتوكول اكتشاف الجيران الآمن [الإنجليزية] لمعالجة التهديدات الأمنية والهجمات التي طُورت بعد استعمال بروتوكول اكتشاف الجيران في الشبكات المحلية.[6]

نبذة تاريخية عدل

 
خط زمني للمعايير الناظمة للإصدار السادس من بروتوكول الإنترنت والبروتوكولات الرديفة له.

طُوِّر بروتوكول اكتشاف الجيران ليدعم الإصدار السادس من بروتوكول الإنترنت، خاصة في مسألة التهيئة الذاتية الآلية، والتي تؤدي إلى اتصال العقدة مع الشبكة المحلية من غير أي تدخل خارجي من مديري الشبكة. نتيجة لذلك، في كل مرة كان يطرح فيها معيار بروتوكول اكتشاف الجيران طُرح معه على التوازي معيار التهيئة الذاتية الآلية.(1)

بدء العمل في تطوير البروتوكول في سبتمبر من العام 1994م، وفيه ابتدأت صياغة مسودة أولى لتعريف بنى لرسائل بروتوكول رسائل التحكم التي سيستخدمها بروتوكول اكتشاف الجيران لاحقاً،[7] وابتدأت في شهر أكتوبر من العام نفسه صياغة مسودة لتعريف كيفية معالجة الرسائل السابقة لدعم الإصدار السادس من بروتوكول الإنترنت الذي كان ما يزال قيد التطوير حينها.[8] ثُمَّ طُوِّر إِصداران من كل مسودة وانتهى العمل بهما في شهري يناير وفبراير من العام 1995م على الترتيب.[9][10] دُمجت المسودتان معاً في شهر يونيو من العام نفسه وحُسنتا فنتج عنهما مسودة جديدة عنونت: «اكتشاف الجيران في الإصدار السادس من بروتوكول الإنترنت» (بالإنجليزية: IPv6 Neighbor Discovery)‏.[11] حُسِّنت المسودة في خلال السنة التالية، وأنتجت ست نسخٍ منها كان آخرها في شهر مارس من العام 1996م،[12] وخلال هذه الفترة، وتحديداً في شهر ديسمبر 1995م، صدر المعيار الأول للإصدار السادس من بروتوكول الإنترنت، وحمل الاسم الرمزي RFC 1883.[13]

صدر أول معيارٍ لبروتوكول اكتشاف الجيران في أغسطس 1996م إلى جانب المعيار الأول لتقنية التهيئة الذاتية الآلية، وحمل الاسم الرمزي RFC 1970.[14] بعد أقل من عام ونصف، وفي ديسمبر 1998م، أُصدرت النسخة الثانية من بروتوكول اكتشاف الجيران، وحملت الاسم الرمزي RFC 2461،[15] وأصدر معها في الوقت نفسه معيار جديدٌ لكل من لإصدار السادس من بروتوكول الإنترنت[16] ولبروتوكول رسائل التحكم للإصدار السادس[17] ولتقنية التهيئة الذاتية الآلية،[18] في إشارة إلى أن هذه الآليات أصبحت جزءاً رئيساً من الإصدار السادس من بروتوكول الإنترنت.

أصدر التحديث الثالث لمعيار بروتوكول اكتشاف الجيران في سبتمبر 2007، وحملت الوثيقة الاسم الرمزي RFC 4861، وهي ما تزال المعيار الرسمي للبروتوكول.[19]

مبدأ العمل عدل

بروتوكول اكتشاف الجيران هو بروتوكول مساعد للإصدار السادس من بروتوكول الإنترنت، يُنجز مجموعة من الوظائف لدعم الإصدار السادس من بروتوكول الإنترنت، ليحل جزئياً أو كلياً محل بروتكولين قدماها سابقاً إلى الإصدار الرابع من بروتوكول الإنترنت، وهذان البروتوكولان هما بروتوكول اقتران العناوين الذي يُستبدله كلياً ويحل محله مقدِّماً وظيفة اقتران العناوين، وبروتوكول رسائل التحكم في الإنترنت، فيقدم اثنين من وظائفه وهما اكتشاف الموجهات وإعادة التوجيه.[1](2)

يُعرِّف البروتوكول الاصطلاحات الرئيسة التالية:[20](3)

  • العقدة (بالإنجليزية: Node)‏: جهاز يُنفذ الإصدار السادس من بروتوكول الإنترنت
  • الموجه (بالإنجليزية: Router)‏: هو عقدة توجه رزم بيانات غير موجهة لها حصرياً
  • المُضيف (بالإنجليزية: Host)‏: أي عقدة ما خلا الموجهات.
  • الوصلة (بالإنجليزية: Link)‏: وسط اتصال يمكن للعقد من خلالها أن تتصل مع بعضها البعض اعتماداً على طبقة الوصلة
  • الجيران (بالإنجليزية: Neighbor)‏: العُقد التي تتصل بعضها مع بعض عبر الوصلة نفسها

يعالج بروتوكول اكتشاف الجيران، بصورة عامةً، مجموعة من المشكلات ذات الصلة بالتفاعل بين عقد الإصدار السادس من بروتوكول الإنترنت الموجودة في شبكة محلية، وهذه المُشكلات هي:[21]

  • اكتشاف الموجهات ملحقاته، ويشمل ذلك:
  • اكتشاف الموجهات في الشبكة المحلية: أي كيف يمكن لمُضيفي الإصدار السادس الموجودين في شبكة محلية ما تحديد الموجهات التي تتصل مع تلك الشبكة.
  • اكتشاف البادئات الفريدة عالمياً وأطوالها: أي كيف يتعرَّف مضيفو الإصدار السادس على البادئات التي يستعملها مُضيفو الشبكة المحلية. يساعد اكتشاف البادئات في تحديد فيما لو كان إرسال رزمة ما لمُضيف سيحصل مباشرةً عبر الشبكة المحلية أم سيمر عبر أحد الموجهات المتصلة مع تلك الشبكة، ويساعد أيضاً في دعم عملية التهيئة الذاتية للعنوان، أي تعريف العُقد على طريقة تمكنهم من توليد عنوان لمنفذٍ ما ذاتياً من غير الحاجة لوجود خدمة مركزية تتابع العملية.(4)
  • اكتشاف المُحدِّدات المُستعملة في الشبكة المحلية والإنترنت: ومنها ما يخص الشبكة المحلية، مثل قيمة وحدة النقل العظمى فيها، ومنها ما يخص الإنترنت نحو قيمة عدد القفزات.
  • اكتشاف الجيران وملحقاته، ويشمل ذلك:
    • اقتران العناوين: أي كيف يمكن لعقدة أولى أن تحدد عنوان طبقة الوصلة لعقدة ثانية انطلاقاً من معرفة العقدة الأولى بعنوان بروتوكول الإنترنت للعقدة الثانية.
    • تحديد الاستعمال المتكرر للعناوين: أي يُعرِّف آليةً تساعد عُقدة الإصدار السادس في تحديد فيما لو كان عنوانٌ ما مستعمل سلفاً في الشبكة المحلية. تختبر عُقد الإصدار السادس العناوين التي تولدها ذاتياً بواسطة هذه الآلية، للتأكد من كونها فريدة على مستوى الشبكة المحلية.
    • تحديد إمكانية الوصول للجار من عدمها للحفاظ على جدول عناوين طبقة الوصلة محدثاً، ولو تعذَّر الوصول للجار يحذف البروتوكول البند الخاص به من الجدول
  • إعادة التوجيه: أي تعريف آلية يُمكن من خلالها لمُوجِّه أن يُعلم مُضيفاً للإصدار السادس بوجود مسار أفضل يمكن أن يُرسل إليه رزم البيانات الموجهة نحو وجهةٍ محددة.

يُعرِّف البروتوكول خمسَ رسائل من رسائل بروتوكول رسائل التحكم في بروتوكول الإنترنت من أجل إنجاز الوظائف السابقة، وهي زوجان لاكتشاف الموجهات وزوجان لاكتشاف الجيران ورسالةٌ لإعادة التوجيه، وهذه الرسائل هي: رسالة التماس الموجه (بالإنجليزية: Router Solicitation)‏ ورسالة الإعلان عن الموجه (بالإنجليزية: Router Advertisement)‏ ورسالة التماس الجار (بالإنجليزية: Neighbor Solicitation)‏ ورسالة الإعلان عن الجار (بالإنجليزية: Neighbor Advertisement)‏ ورسالة إعادة التوجيه (بالإنجليزية: Redirect)‏.[2]

بنى الرسائل والخيارات عدل

الرسائل عدل

 
بنية رسالة بروتوكول رسائل التحكم للإصدار السادس من بروتوكول الإنترنت التي يعتمدها بروتوكول اكتشاف الجيران

بنية رسائل بروتوكول اكتشاف الجيران هي بنية رسائل بروتوكول رسائل التحكم للإصدار السادس من بروتوكول الإنترنت، وهي تتكون من نوعين من الحقول:

  1. الحقول الدائمة، وعددها ثلاثة حقول، وهي موجودة في ترويسات رسائل البروتوكول كلها، وهي:[22]
    1. حقل النوع، طوله 8 بتات، ويُحدد نوع الرسالة وبالتالي بنيتها، وقد خصص مجال القيم الصحيحة من 0 حتى 127 لرسائل الإبلاغ عن الأخطاء ومجال القيم الصحيحة من 128 حتى 255 لرسائل المعلومات.[23] وتشرف هيئة أرقام الإنترنت المخصصة على ضبط القيم المعيارية لهذه الحقل.[3]
    2. حقل الرمز، طوله 8 بتات، ويتحدد معناها وفق نوع الرسالة، ويُستعمل لتعريف أنواع فرعية أكثر تخصصاً من الرسائل ضمن كل نوع رئيس. وتشرف هيئة أرقام الإنترنت المخصصة على ضبط القيم المعيارية لهذه الحقل أيضاً.[3]
    3. حقل التحقق الجمعي، وطوله 16 بتاً، ويُستعمل لتحديد حصول أخطاء في قيمة البيانات في أثناء نقلها عبر الشبكة.
  2. حقول المحتوى، وهي متغيرة العدد والبنية، وتختلف وفقاً للرسالة والهدف الذي تُستعمل من أجله.

التماس الموجه عدل

 
رسالة التماس الموجه

يُرسل المُضيفون هذه الرسالة للتعرف على الموجهات المتصلة مع الشبكة المحلية ولاكتشاف البادئات المُستعملة فيها، وهي تُرسل إلى عنوان مجموعة كل الموجهات في الحالات التالية:[24]

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

تكون قيمة حقل النوع في رسالة التماس الموجه 133 وقيمة حقل الرمز صفرية دائماً يليها حقل التحقق الجمعي ثُمَّ 32 بتاً محجوزاً يُضبط إلى قيمة صفرية دائماً عند الإرسال ويُهمل عند الاستقبال. ثُمَّ يلي ذلك حقل اختياري يضم عنوان بروتوكول الوصلة لمرسل الرسالة، إن وجد.[25]

الإعلان عن الموجه عدل

 
رسالة الإعلان عن الموجه

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

تتكون رسالة الإعلان عن الموجه من الحقول التالية:[27]

  • حقل النوع، ويضبط إلى القيمة 134.
  • حقل الرمز، وتكون قيمته صفرية دائماً.
  • حقل التحقق الجمعي.
  • حقل عدد القفزات الحالية (بالإنجليزية: Current Hop Limit)‏، طوله 8 بت، ويَضمُّ القيمة الافتراضية لحقل عدد القفزات التي يُستحسن أن يستعملها المضيف عند بناء ترويسة بروتوكول الإنترنت.
  • علم وضع التهيئة (بالإنجليزية: Managed address configuration flag)‏، طوله 1 بت، ويُستعمل لتحديد حالة خدمة التهيئة الآلية في الشبكة. إذا رُفع العلم، فهذا يعني أن بروتوكول تهيئة المضيف الآلية نشطٌ في الشبكة.
  • علم التهيئة الإضافية (بالإنجليزية: Other configuration flag)‏، طوله 1 بت، ويُستعمل لتحديد وجود معلومات تهيئة إضافية يمكن أن يزودها بروتوكول تهيئة المُضيف الآلية نحو تهيئة المعلومات الخاصة بنظام أسماء النطاقات.
  • 6 بتات محجوزة، تُضبط إلى الصفر في المرسل وتهمل في المستقبل.
  • حقل زمن حياة الموجه (بالإنجليزية: Router Lifetime)‏، طوله 16 بت، ويحوي زمن فعالية بند التوجيه مقدراً بالثواني لو أضيف هذا الموجه إلى جدول توجيه المُضيف. يضبط المُضيف مؤقتاً بقيمة هذا الحقل، ويعيد ضبطه إلى هذه القيمة كلما استقبل رسالة إعلان جديدة من الموجه تحوي قيمة زمن الحياة نفسها. إذا نفد المؤقت، ولمَّا تصل رسالة إعلان بعدُ، فإن المُضيف يقول بإخفاق المسار نحو الموجه ثم يزيله من جدول توجيهه.
  • حقلان طول كل منهما 32 بتاً: زمن الوصول (بالإنجليزية: Reachable Time)‏ ومؤقت إعادة الإرسال (بالإنجليزية: Retrans Timer)‏، ويُستعملان بواسطة خوارزمية تحديد إمكانية الوصول للجار (بالإنجليزية: Neighbor Unreachability Detection algorithm)‏ التي يُشغلها بروتوكول اكتشاف الجيران.[28]
  • حقول اختيارية تشمل عنوان بروتوكول الوصلة لمرسل الرسالة، إن وجد، وقيمة وحدة النقل العُظمى، إن وجدت، ومعلومات البادئات لو كانت موجودة.

التماس الجار عدل

 
رسالة التماس الجار

تكون قيمة حقل النوع في هذه الرسالة 135 وقيمة حقل الرمز صفرية دائماً يليها حقل التحقق الجمعي ثُمَّ 32 بتاً محجوزاً تُضبط إلى قيمة صفرية دائماً عند الإرسال وتُهمل عند الاستقبال. ثُمَّ يلي ذلك حقل عنوان الهدف (بالإنجليزية: Target address)‏ وهو بطول 128 بتاً، ويُشترط ألا يكون عنوان بثٍ مجموعاتي، ويمكن أن تلحق بالرسالة خيارات خاصة يُعرِّفها البروتوكول.[29]

الإعلان عن الجار عدل

 
رسالة الإعلان عن الجار

تتكون رسالة الإعلان عن الجار من الحقول التالية مرتبة حسب ورودها:[30]

  • حقل النوع، ويضبط إلى القيمة 136.
  • حقل الرمز، وتكون قيمته صفرية دائماً.
  • حقل التحقق الجمعي.
  • حقل الأعلام، وفيه ثلاثة أعلام هي:
  • علم الموجه (بالإنجليزية: Router flag)‏، ويرمز له بالحرف R، يُرفع هذا العلم للإشارة إلى أن مُرسل هذه الرسالة هو موجه، وبخلاف ذلك يُضبط إلى قيمة صفرية.
  • علم الالتماس (بالإنجليزية: Solicited flag)‏، ويرمز له بالحرف S، ويُرفع إذا كانت رسالة الإعلان قد ولِّدت رداً على رسالة التماس سابقة، بخلاف ذلك يضبط إلى قيمة صفرية.
  • علم التخطي (بالإنجليزية: Override flag)‏، ويرمز له بالحرف O، يرفع إذا كان مولد الرسالة يطلب من مرسل رسالة الالتماس تخطي أي معلومات سابقة تضم عناوين طبقة الوصلة وتجاهلها.
  • حقل محجوز بطول 29 بت، تُضبط إلى قيمة صفرية دائماً عند الإرسال وتُهمل عند الاستقبال.
  • حقل عنوان الهدف وهو بطول 128 بتاً. وإذا كانت الرسالة قد ولدت رداً على رسالة التماس، فإن قيمة الحقل تضبط إلى قيمة عنوان مُولِّد رسالة الالتماس. ويُشترط ألا يكون العنوان الموضوع في هذا الحقل عنوان بثٍ مجموعاتي،

يمكن أن تلحق بالرسالة خيارات خاصة يُعرِّفها البروتوكول.

إعادة التوجيه عدل

 
بنية رسالة إعادة التوجيه.

تتكون رسالة إعادة التوجيه من ستة حقول دائمة وحقل خيارات اختياري يضم خياراتٍ يُعرفها البروتوكول، وتكون حقول الترويسة وفقاً لترتيب ورودها:[31]

  • حقل النوع ، ويضبط إلى القيمة 137.
  • حقل الرمز، وتكون قيمته صفرية دائماً.
  • حقل التحقق الجمعي.
  • حقل محجوز بطول 32 بتاً، تُضبط إلى قيمة صفرية دائماً عند الإرسال وتُهمل عند الاستقبال.
  • حقل عنوان الهدف، وطوله 128 بتاً، وفيه عنوان الموجه الآخر المتصل مع الشبكة المحلية الذي يمر المسار الأفضل عبره.
  • حقل عنوان الوجهة، وطوله 128 بتاً، وفيه عنوان الوجهة النهائية للرزمة.

الخيارات عدل

 
بنية عامة لخيارات بروتوكول اكتشاف الجيران.

يمكن أن تحتوي رسالة بروتوكول اكتشاف الجيران على خيار واحد أو أكثر وقد لا تحتوي أي خيار، ويمكن أن يتكرر خيارٌ ما أكثر من مرة في الرسالة نفسها. بصورة عامة يتكون خيار بروتوكول اكتشاف الجيران من أربعة حقول كما يأتي:[32]

  • حقل النوع: طوله 8 بتات، وفيه ويحدد نوع الخيار.
  • حقل الطول: وطوله 8 بتات، وفيه طول الخيار كاملاً بواحدة 8 بايت، أي لو كان طول الخيار 8 بايت، فإن قيمة حقل الطول هي 1، ولا تقبل قيمة 0 فيه.
  • المحتوى: وهو قسم متغير الطول، قد يتضمن حقولاً فرعية، وتتحدد بنيته بنوع الخيار.
  • الحشو: وهي مجموعة بتات قد تكون صفرية الطول تُضاف بعد حقل المحتوى لمحاذاة طوله ليصبح من مضاعفات 8 بايت.

عرَّف معيار بروتوكول اكتشاف الجيران 5 خيارات فقط،[32] وتدير هيئة أرقام الإنترنت المخصصة عملية إدارة وحفظ وتحديث سجل خيارات معياري، وخصصت الهيئة حتى عام 2021م أكثر من 40 قيمة نوع معيارية استعملت في تعريف خيارات جديدة للبروتوكول.[3]

خيار عنوان طبقة الوصلة عدل

 
بنية خيار عنوان وجهة في طبقة الوصلة وخيار عنوان مصدر فيها.

يُستعمل خيار عنوان طبقة الوصلة (بالإنجليزية: Source/Target Link-layer Address)‏ لغرضين: إما لحمل عنوان طبقة الوصلة لمصدر الرسالة كما هو الحال في رسالة التماس الجار ورسالة التماس الموجه ورسالة الإعلان عن الموجه، أو لحمل عنوان طبقة الوصلة للوجهة كما هو الحال في رسالة الإعلان عن الجار ورسالة إعادة التوجيه. يتكون الخيار من ثلاثة حقول هي حقل النوع، وطوله 8 بتات، وتكون قيمته 1 لو حملت الرسالة عنوان المصدر و2 لو حملت الرسالة عنوان الوجهة، يليه حقل الطول، وطوله 8 بتات، ليحدد طول الخيار بواحدة 8 بايتات، ثم حقلٌ مُخصص لعنوان طبقة الوصلة، وأخيراً بتات الحشو لو كان هناك حاجة لإتمام الطول إلى حدود 8 بايتات.[33]

يتحدد محتوى حقل العنوان وطريقة ترتيب عنوان طبقة الوصلة فيه، أي حسب البتات الأكثر أهميةً أم الأقل أهمية، بمعايير خاصة مستقلة عن معيار البروتوكول. على سبيل المثال، تُحدد الوثيقة RFC 2464 كيفية إضافة عنوان التحكم بالنفاذ للوسط في حقل عنوان طبقة الوصلة.[34]

خيار معلومات البادئة عدل

 
بنية خيار معلومات البادئة.

يُستعمل خيار معلومات البادئة (بالإنجليزية: Prefix information)‏ ليزود المُضيفين بالبادئات المحلية وبالبادئات المُستعملة في عملية التهيئة الذاتية الآلية، ويُرفق فقط في رسائل الإعلان عن الموجه. يكون الخيار ثابت الطول ويتكون من عشرة حقول وله البنية التالية:[35]

  • حقل النوع، طوله 8 بتات وقيمته 3.
  • حقل الطول، طوله 8 بتات وقيمته 4، أي 24 بايتاً.
  • حقل طول البادئة (بالإنجليزية: Prefix length)‏، طوله 8 بتات، ويحتوي على قيمة صحيحة تشير لطول البادئة المُرفقة مع هذا الخيار، وبما أن طول عنوان الإصدار السادس من بروتوكول الإنترنت هو 128 بتاً، فإن قيم هذا الحقل تكون محصورة بين 0 و127.
  • علم الوصلة المحلية (بالإنجليزية: On-link flag)‏، وهو بت وحيد، يُرفع للإشارة إلى إمكانية استعمال البادئة محلياً، ولكن لو أُخفض، فهذا لا يعني جواز استعماله خارج الشبكة المحلية.
  • علم تهيئة العناوين المُستقلة (بالإنجليزية: Autonomous address-configuration flag)‏، وهو بت وحيد، يُرفع للإشارة إلى إمكانية استعمال البادئة في عملية التهيئة الذاتية الآلية.
  • حقل محجوز طوله 6 بتات، يُضبط إلى قيمة صفرية في المُرسل ويُهمل في المُستقبِل.
  • حقل زمن الحياة الصالح (بالإنجليزية: Valid Lifetime)‏، طوله 32 بتاً، ويضم قيمة للزمن الذي تكون فيه البادئة صالحة لعملية تحديد العنوان المحلي مُقدراً بالثواني، ويلزم أن يبدأ حساب هذا الزمن من لحظة إرسال الرسالة التي تحتوي على هذا الخيار، لو ضبطت بتاته كلها إلى قيمة واحدية، فهذا يعني أن قيمة الزمن لا نهائية.
  • حقل زمن الحياة المُفضَّل (بالإنجليزية: Preferred Lifetime)‏، طوله 32 بتاً، ويضم قيمة لزمن الذي يكون استعمال البادئة فيه مُفضَّلاً لأغراض التهيئة الذاتية الآلية. يكون الزمن مُقدراً بالثواني، ويلزم أن يبدأ حسابه من لحظة إرسال الرسالة التي تحتوي على هذا الخيار، لو ضبطت بتاته كلها إلى قيمة واحدية، فهذا يعني أن قيمة الزمن لا نهائية.
  • حقل محجوز طوله 32 بتاً، يُضبط إلى قيمة صفرية في المُرسل ويُهمل في المُستقبِل.
  • حقل البادئة (بالإنجليزية: Prefix)‏، طوله 128 بتاً، ويحتوي على عنوان من الإصدار السادس من بروتوكول الإنترنت أو على بادئة تحدد فضاءً جزئياً من الإصدار السادس.

خيار ترويسة إعادة التوجيه عدل

 
بنية خيار ترويسة إعادة التوجيه

يُستعمل خيار ترويسة إعادة التوجيه (بالإنجليزية: Redirect Header)‏ في رسائل إعادة التوجيه فقط من أجل تضمين الرزمة التي أعيد توجيهها كاملةً كما هي أو جزئية بتضمين أكبر قسمٍ ممكناً منها. تكون قيمة حقل النوع في هذا الخيار هي 4 وتتحدد قيمة حقل الطول حسب طول الخيار، يلي ذلك حقلٌ محجوزٌ طوله 48 بتاً ثمَّ ترويسة بروتوكول الإنترنت في الرزمة التي أعيد توجيهها وأكبر قسمٍ ممكنٍ من حمولتها من غير أن يتجاوز طول الرسالة قيمة وحدة النقل العظمى الخاصة بالإصدار السادس من بروتوكول الإنترنت في تلك الشبكة.[36]

خيار وحدة النقل العظمى عدل

 
بنية خيار وحدة النقل العظمى

يُستعمل خيار وحدة النقل العظمى (بالإنجليزية: Maximum Transmission Unit (MTU) option)‏ في رسائل الإعلان عن الموجهات فقط من أجل ضمان أن تكون عقد الشبكة كلها تستعمل قيمة موحدة لوحدة النقل العظمى. تكون قيمة حقل النوع في هذا الخيار هي 5 وقيمة حقل الطول هي 1، يليها حقلٌ محجوزٌ طوله 16 بتاً ثمَّ حقل وحدة النقل العظمى بطول 32 بت الذي يضم قيمة وحدة النقل التي يُستحسن استعمالها.[37]

الوظائف عدل

اكتشاف الموجهات وملحقاته عدل

 
تبادل رسائل بروتوكول اكتشاف الجيران لغرض اكتشاف الموجهات في شبكة محلية
 
تبادل رسائل بروتوكول اكتشاف الجيران لغرض اكتشاف البادئات وأطوالها في شبكة محلية

يشمل اكتشاف الموجهات اكتشاف الموجهات الجيران في الشبكة المحلية والتعرف على البادئات وعلى المُحددات المرتبطة بعملية التهيئة الذاتية الآلية،[38] وتحصل هذه الوظائف كما يأتي:

  • اكتشاف وجود الموجهات وعناوينها المحلية والفريدة عالمياً في الشبكة المحلية، تسمح هذه الوظيفة لعقدة تُشغِّل الإصدار السادس باكتشاف الموجهات التي تدعم البروتوكول في الشبكة المحلية، وتحصل العملية عبر تبادل رسائل اكتشاف الموجهات والإعلان عنها.
بصورة عامة، تُرسل الموجهات رسائل الإعلان عن الموجهات دورياً، ويمكن للعقدة اكتشاف وجود الموجهات والتأكد من استمرارها في العمل من خلال استمرار استلام هذه الرسائل. ولكن لو أرادت عقدة ما، شُغِّلت حديثاً أو أعيد تشغيلها، أن تكتشف الموجهات المتصلة مع الشبكة المحلية حيث توجد، فإنها تُرسل رسالة التماس للموجهات في تلك الشبكة المحلية.[39]
لا يدعم الإصدار السادس من بروتوكول الإنترنت البث العام، ولكنه يستخدم البث المجموعاتي عوضاً عنه. لذلك فإن رسائل الالتماس تُرسل دوماً إلى عنوان كل الموجهات، وهو FF02::2. أمَّا رسائل الإعلان عن المُوجِّهات، فإنَّ كانت رسائل دورية، فإنها تُرسل إلى عنوان كل العقد، وهو FF02::1، وإن كانت رداً على رسالة التماس، فإن رسالة الرد تُرسل إلى العقدة التي ولدت رسالة الالتماس مباشرةً باستعمال عنوانها الموجود في رسالة الالتماس.
  • اكتشاف البادئات المُستعملة وأطولها: وهو يعني تعرُّف المُضيفين على نطاق عناوين بروتوكول الإنترنت التي تستعمل في الشبكة المحلية أي تلك التي يمكن الوصول إليها مباشرة من غير أن تمرَّ الرسالة عبر موجه،[38] يمكن أن تحمل رسائل الإعلان عن الموجه معلومات تخص البادئات الفريدة المستعملة في الشبكة المحلية، نتيجة لذلك، تحصل عملية اكتشاف البادئات وأطوالها من خلال استقبال رسالة إعلان الدورية أو دورية خُصصت للرد على رسالة التماس. ولهذه البيانات أهمية في العقدة التي تُشغل التهيئة الذاتية الآلية لعناوين الإصدار السادس، فهي مصدر البادئة المُستعملة في بناء العنوان المُولَّد محلياً.[40]
  • اكتشاف المُحددات المُستعملة في الشبكة نحو قيمة وحدة النقل العظمى وذلك باستعمال خيار وحدة النقل العظمى في رسائل الإعلان عن الموجهات.

اكتشاف الجيران وملحقاته عدل

 
تبادل رسائل بروتوكول اكتشاف الجيران لغرض إنجاز وظيفة اقتران العناوين في شبكة محلية
تسمح هذه الوظيفة لعقدة أولى موجودة في شبكة محلية وتُشغِّل الإصدار السادس من بروتوكول الإنترنت باكتشاف وجود عقدة أخرى في الشبككة المحلية نفسها، بالإضافة إلى الحصول على عنوان طبقة الوصلة الخاصة بتلك العقدة، أو بمنفذها المعنون بعنوان من تلك الشبكة، وتحصل العملية عبر تبادل رسائل التماس الجيران والإعلان عنها.
لو أرادت عقدة أولى، تعرف عنوان بروتوكول إنترنت لعقدة أخرى، أن تعرف عنوان طبقة الوصلة الخاص بتلك العقدة فإنها تُرسل إليها رسالة التماس الجار، وتنتظر استقبال الرد. عندما تستقبل العقدة الأخرى رسالة الالتماس فأنها تردُّ عليها بإرسال رسالة الإعلان عن الجار.[41]
يكون عنوان وجهة رسالة الإعلان عن الجار هو عنوان التماس العقدة، وهو عنوان بثٍ مجموعاتي محلي النطاق يُبنى اعتمادا على الخانات الستة عشرية الستة الأقل أهمية في عنوان بثٍ فريد الوجهة للإصدار السادس من بروتوكول الإنترنت. يلزم أن تستمع كُل عقدة للإصدار السادس إلى عناوين الالتماس الخاصة بمنافذها لمعالجتها والرد عليها باستعمال رسائل الإعلان عن الجار.[39]
أما عنوان التماس العقدة، فيكون له الصيغة الآتية: FF02:0:0:0:0:1:FFXX:XXXX، أي أنه يتكون من قسمين:[42]
  1. بادئة طولها 104 بتات هي FF02:0:0:0:0:1:FF00::/104
  2. ست خانات ستة عشرية، طولها 24 بتاً، مأخوذة من البتات الأربعة والعشرين الأقل أهميةً من عنوان بث فريد الوجهة أو عنوان بث نحو الأقرب [الإنجليزية].
 
تبادل رسائل بروتوكول اكتشاف الجيران لغرض تحديد الاستخدام المُتكرر للعنوان في شبكة محلية.
  • تحديد الاستعمال المتكرر للعناوين (بالإنجليزية: Duplicate Address Detection)‏ اختصاراً DAD: تستعمل رسالتا اكتشاف الجار والإعلان عنه ضمن آلية تحديد الاستخدام المُتكرر للعنوان، وهي آلية طُورت لتساعد العُقد على تجنب استعمال عنوان الإصدار السادس نفسه أكثر من مرة في الشبكة المحلية،[41] خاصة عند استعمال التهيئة الذاتية الآلية.
تحصل عملية تحديد الاستخدام المُتكرر للعنوان انطلاقاً من عقدةٍ تريد التحقق من تفرد عنوانها في الشبكة المحلية كما يأتي:[43]
  1. تُرسل العقدة رسالة التماس جارٍ نحو عنوان التماس العقدة المُحدد بالعنوان الذي يُراد فحص تفرده.
  2. لوكان العنوان فريداً، لن تحصل العقدة على أي رسالة إعلانٍ عن جار رداً على رسالة الالتماس السابقة. وبخلاف ذلك فهذا يعني أن هناك عقدةٌ يُحتمل أن يكون لها العنوان نفسه وهي التي ردت على رسالة الإعلان السابقة.
  • تحديد إمكانية بلوغ الجار (بالإنجليزية: Neighbor Unreachability Detection)‏ اختصاراً NUD: يساعد بروتوكول اكتشاف الجيران عقد الإصدار السادس من بروتوكول الإنترنت على التمييز بين وإخفاق العقدة وإخفاق المسار نحوها، فالأولى هي توقف العقدة عن العمل توقفاً تاماً وتعذر الاتصال بها نتيجةً لذلك، أما الأخرى فهي عدم صلاحية المسار نحو العقدة المستهدفة، ويمكن عندها إيجاد مسار بديل والحفاظ على الاتصال مع تلك العقدة. تُستخدم كل عقدة هذه الآلية للتحقق من إمكانية يلوغ الجيران، وهذا يشمل المُضيفين الجيران في الشبكة المحلية والموجهات التي تلعب دور المخارج الافتراضية.[28]
 
مخطط الحالة لآلية تحديد إمكانية يلوغ الجار.
تقول العقدة بوجود إمكانية للاتصال مع جارٍ لها إذا كانت المدة الزمنية منذ استقبال آخر رزم بيانات منه لم تتجاوز عتبة زمنية يحددها البروتوكول، ويمكن تأكيد ذلك إما عبر استعمال بروتوكولات طبقة عليا نحو بروتوكول التحكم بالنقل أو نتيجة لاستقبال رسالة إعلان عن جار رداً على رسالة التماس أرسلت خصيصاً له، ولا يشمل هذا رسائل الإعلان عن الموجهات ولا رسائل الإعلان عن الجار المُرسلة من غير رسالة التماس، فاستقبال هذه الرسائل يعني إمكانية الاتصال وحيد الاتجاه، أما آلية إمكانية بلوغ الجار فتُعنى بتأكيد وجود اتصال مزدوج الاتجاه.[44]
تعرِّف الآلية خمس حالات لكل بند من بنود عناوين الجيران في الذاكرة المخبئية للعقدة:[45]
  • حالة النقص (بالإنجليزية: Incomplete)‏، وهي حالة ابتدائية، يدخلها البند بعد إضافته للمرة الأولى نتيجة لعملية اقتران عناوين ناجحة، ويعني الوجود في هذه الحالة بأن رسالة التماس جار قد أرسلت إلى عنوان التماس العقدة، ولكن رسالة الإعلان لم تصل بعد.
  • حالة إمكانية بلوغ الجار (بالإنجليزية: Reachable)‏، يدخل البند هذه الحالة عند استقبال رسالة إعلان عن الجار رداً على رسالة التماس أرسلت سابقاً، أو عند وصول تأكيد على إمكانية الاتصال مع الجار من بروتوكول طبقة عليا، ويظل البند في هذه الحالة لمدة زمنية يحددها مؤقت خاص يُضبط إلى زمن بلوغ الجار،(5) لو نفدت قيمة المؤقت، يُصبح البند متقادماً وينتقل إلى حالة التقادم.
حالة التقادم (بالإنجليزية: Stale)‏، يدخلها البند من حالة إمكانية بلوغ الجار، لو نفد زمن البلوغ من غير استقبال رسالة رد على رسالة التماس الجار. يمكن أن تكون هذه الحالة أيضاً حالة ابتدائية، لو أضيف البند للذاكرة المخبئية نتيجة لاستقبال أي رسالة من رسائل بروتوكول اكتشاف ما خلا رسالة الإعلان عن الجار، ويغادر البند هذه الحالة نحو حالة إمكانية بلوغ الجار لو استقبلت العقدة تأكيداً على إمكانية الاتصال مع الجار، ونحو حالة التأخير لو أرسلت رسالة التماس الجار نحو الجار المُرتبط بالبند.
  • حالة التأخير (بالإنجليزية: Delay)‏، يدخلها البند بعد إرسال رسالة التماس الجار في حالة التقادم، ينتظر البند في هذه الحالة لفترة زمنية يحددها مؤقت خاص هو مؤقت زمن التأخير، لو نفد هذا المؤقت، ولم تصل رسالة الإعلان عن الجار التي ترد على رسالة الالتماس بعدُ، يدخل البند في حالة الاستشعار.
حالة الاستشعار (بالإنجليزية: Probe)‏، وتعني أن عملية التحقق من إمكانية بلوغ الجار جارية من خلال إرسال رسائل الالتماس دورياً بفواصل زمنية يحددها مؤقت إعادة الإرسال، ويظل البند في هذه الحالة محاولاً إرسال عددٍ مُحددٍ من رسائل الالتماس، وينتظر استقبال رسالة إعلان عن الجار رداً على إحداها، وعندها يعود إلى حالة إمكانية بلوغ الجار. أَمَّا لو أرسل عددٌ من الرسائل مساوٍ للعدد الذي يحدده البروتوكول، فإن إمكانية البلوغ غير متاحة ويلزم حذف البند.

إعادة التوجيه عدل

 
مثال عن آلية عمل رسالة إعادة التوجيه في بروتوكول اكتشاف الجيران

يُرسِل مُوجِّه، يلعب دور مخرجٍ افتراضي في شبكة محلية، هذه الرسالة إلى مُضيفٍ أرسل رزمة بياناتٍ عبره لإخباره بوجود مسارٍ أفضل(6) نحو وجهة تلك الرزمة يمر عبر مخرج افتراضيٍ آخر مُتَّصلٍ مع الشبكة المحلية أو لإخباره أن الوجهة هي جارٍ مُتصلٌ مع الشبكة المحلية وليس موجِّهاً. لتحقيق ذلك، يتعين على كل موجه أن يكون قادراً على تحديد العناوين المحلية للموجهات الجيران كلها، أي تلك المُتصلة مع الشبكة المحلية نفسها.[46]

يعيد الموجه توجيه رزمة بيانات يمر مسارها عبره إلى وجهتها إذا تحققت الشروط الثلاثة التالية معاً:[47]

  • كان عنوان مصدرها من شبكة محلية يتصل الموجه معها.
  • وجد الموجه مخرجاً افتراضياً آخر متصل مع الشبكة المحلية نفسها، ويكون مسار الرزمة عبره أفضل نحو وجهتها.
  • لم يكن عنوان وجهة الرزمة عنوان بثٍ مجموعاتي.

بعد أن يعيد الموجه توجيه رزمة البيانات نحو موجه آخر متصل مع الشبكة المحلية، فإنه يُرسل رسالة إعادة التوجيه إلى مصدرها. يمكن أن تحتوي رسالة إعادة التوجيه على خيارين: خيار عنوان طبقة الوصلة ليضم عنوان طبقة الوصلة للهدف، لو كان معلوماً، وخيار ترويسة إعادة التوجيه ليضم أكبر قدرٍ ممكن من رزمة البيانات التي أعيد توجيهها.[47]

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

المشكلات عدل

التصنيف عدل

يمكن أن يستعمل البروتوكول لشن هجمات متنوعة على شبكة البيانات، ويمكن تصنيفها ضمن ثلاث فئات حسب أهدافها كما يأتي:[49]

  • هجمات حجب الخدمة (بالإنجليزية: Denial of Service attacks)‏، وفيها يُحجب الاتصال بين العقدة المُستهدفة وسائر العقد في الشبكة، فلا يعود بإمكان سائر العقد إرسال الرزم إليها ولا بإمكان العقدة المُستهدفة إرسال الرزم إليهم. يمكن أن تحصل العملية من خلال غمر العقدة المُستهدفة برزم بيانات قادمة من عقد أخرى أعيد توجيهها نحو العقدة المُستهدفة لهذا الغرض، ويُسمى هذا النوع من الهجمات حجب الخدمة بالغمر (بالإنجليزية: Flooding Denial-of-Service)‏.
  • هجمات انتحال العناوين (بالإنجليزية: ِAddress spoofing attacks)‏ وفيها تنتحل عقدة ما دور عقدة أخرى من خلال التلاعب بالعناوين، وغالباً ما يكون الهدف منها خداع العقدة المُستهدفة ودفعها لإرسال البيانات إلى وجهة خبيثة أو لدفع العقدة المُستهدفة لإجراء تعديل في التهيئة أو السلوك تؤدي إلى فتح ثغرات أمنية جديدة يستغلها المهاجمون.
  • هجمات انتحال الموجه (بالإنجليزية: Router spoofing attacks)‏ أو هجمات إعادة التوجيه (بالإنجليزية: Redirect attacks)‏ وفيها تلعب عقدة خبيثة دور موجه، فتعيد توجيه رزم البيانات الذاهبة نحو المخرج الافتراضي إلى عقدة أخرى في الشبكة المحلية.

ويمكن أن تُصنَف الهجمات والتهديدات ضمن ثلاث فئات حسب طريقة تنفيذها بالشكل التالي:[50]

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

أمثلة عدل

من الهجمات التي يُستعمل بروتوكول اكتشاف الجيران في شنها:

  • انتحال رسائل التماس الجار والإعلان عنها: ويكون الهدف الرئيس منها التلاعب بالروابط بين عناوين بروتوكول الإنترنت وعناوين طبقة الوصلة التي يُخزنها المُضيف، ويُصنف هذا الهجوم بصفته هجوم حجب خدمة لأن العقدة المُتسهدفة لا يعود بإمكانها الاتصال مع وجهات متعددة أو مع الوجهات كلها، كما يُصنف أيضاً على أنه شكل من هجمات إعادة التوجيه لو أعاد المهاجم توجيه الرزم لوجهتها الأصيلة بعد نسخها أو معالجتها، يُعالج هذا الهجوم من خلال خصر إمكانية الوصول للشبكة بالعقد الموثوقة فقط. يمكن أن يحصل الهجوم عبر أشكال عديدة منها:[51]
  • إضافة بند خبيث إلى ذاكرة المُضيف ليربط بين عنوان بروتوكول إنترنت وعنوان طبقة وصلة بصورة غير صحيحة، إما عن طريق إرسال رسالة التماس جار خبيثة فيها خيار خبيث لعنوان مصدر طبقة الوصلة أو إرسال رسالة إعلان عن جار فيها خيار خبيث لعنوان وجهة طبقة الوصلة. في كلتا الحالتين، تُخدع العقدة المُستهدفة وتُرسل رزمها نحو وجهة خبيثة مغايرة للوجهة الأصيلة.
  • استعمال آلية تحديد الاستعمال المتكرر للعنوان لإيهام العقدة المُستهدفة بأن عنوانها يُستعمل في مكان ما على الشبكة لتتوقف عن استعماله.
  • الهجمات المرتبطة بآلية تحديد تعذر الوصول للجيران: تعتمد العقد على بروتوكول اكتشاف الجيران لتحديد إمكانية الوصول لعقدة ما من عدمها، ويحصل هذا الهجوم عندما يكون وصول العقدة المُستهدَفة لعقدة ثانية غير ممكناً، ولكن توجد عقدة خبيثة تتلاعب بالعقدة المُستهدفة وتوهمها بأنها هي العقدة الثانية من خلال إرسال رسائل الإعلان عن الجار، يُصنف هذا الهجوم على أنه هجوم انتحال عناوين، ويمكن التصدي له من خلال حصر الاتصال مع الشبكة بالعقد الموثوقة فقط.[52]
  • المخرج الافتراضي الخبيث (بالإنجليزية: Malicious last hop router)‏، وفيه تدعي عُقدة ما أنها مخرج افتراضي من الشبكة المحلية، فتلعب دور موجهٍ وترسل رسالة إعلان عن الموجه في الشبكة المحلية لعموم المضيفين أو لمضيفٍ محدد مُستهدف، ونتيجةً لذلك الهجوم، يُرسِل المُضيف أو المضيفون المستهدفون رزمهم نحو المخرج الخبيث، الذي قد ينسخها لغرض تحليلها ثم يُعيد توجهيها لوجهتها الأصيلة، ويكون الهجوم بذلك شكلاً من أشكال هجوم الوسيط، أو قد يتخلص المخرج الخبيث من الرزم فيحجب الاتصال مع الشبكة الخارجية عن المُضيفين المُستهدفين، لذلك قد يُصنف هذا الهجوم أنه هجوم إعادة توجيه أو أنه هجوم حجب الخدمة حسب الغاية منه، وهو يتضمن التوجيه في الحالتين.[53]
يمكن معالجة هذا الهجوم من خلال تحديد موجهات محددة متصلة مع الشبكة المحلية وإلزام العقد على التعامل معها حصراً،[54] وصِف هذا الهجوم أولاً في مسودةٍ أعدت لتصنيف الهجمات التي تتعلق بالعقد المتحركة للإصدار السادس من بروتوكول الإنترنت، ولكنها لم تعتمد لاحقاً بصفة معيارية.[55]
  • إلغاء الموجه الافتراضي (بالإنجليزية: Default router is killed)‏، ويعتمد هذا الهجوم على فكرة أن مُرسل رزم الإصدار السادس يفترض أن الوجهات كلها محلية إذا لم يوجد مخرجٌ افتراضي.(7) فيخدع المهاجم المرسل ويجعله يفرغ قائمة المخارج الافتراضية لديه، فلا يعود بإمكانه الاتصال مع الشبكة الخارجية، وقد يلعب المهاجم دور الوجهة ويُرسل رسالة التماس الجار فيدفعه إلى إرسال الرزم إليه. يُصنف هذا الهجوم على أنه هجوم حجب خدمة وإعادة توجيه وهو هجوم يتضمن التوجيه.[56]
  • انتحال رسائل إعادة التوجيه (بالإنجليزية: Spoofed redirect message)‏ يحصل هذا الهجوم من خلال إرسال رسائل إعادة توجيه خبيثة لدفع المُضيفين المحليين على إرسال رزم بياناتهم لوجهات أخرى إما لحجب الخدمة عنهم أو لنسخها بغرض تحليلها ثم إعادة إرسالها إلى وجهتها الحقيقية، يُصنف هذا الهجوم على أنه هجوم حجب خدمة أو إعادة توجيه حسب الغاية من تنفيذه وهو من الهجمات التي تتضمن التوجيه.[57]
  • هجوم البادئات المحلية الوهمية (بالإنجليزية: Bogus on-link prefix)‏، وفيه يُعلن المهاجم في شبكة محلية عن مجموعة من البادئات بصفتها بادئاتٍ محلية، أي يمكن الوصول إليها مباشرةً من غير المرور بالموجه، فيحاول المُضيفون إرسال الرزم إليها مباشرةً فيتعذر ذلك لأنها غير موجودة في الشبكة المحلية، يصنف هذا الهجوم على أنه هجوم حجب خدمة وهو يتضمن التوجيه.[58] يمكن أن يُطوَّر الهجوم ليشمل الإعلان عن بادئات وهمية لعملية التهيئة الذاتية الآلية، وفي هذه الحالة يُدفع المضيفون إلى تهيئة منافذهم آلياً بعناوين وهمية فيتعذر عليهم الاتصال بالشبكة، يُسمى هذا الهجوم عندها هجوم بادئة تهيئة العناوين الوهمية (بالإنجليزية: Bogus Address Configuration Prefix)‏ وهو هجوم حجب خدمة.[59]
  • هجمات انتحال المحددات (بالإنجليزية: Parameter spoofing)‏، وفيها يعمد المهاجم إلى تزويد المضيفين بقيم غير صحيحة لمُحددات الشبكة لدفعهم لسلوك معين، مثلاً قد يزودهم بعدد قفزات صغير جداً، فلا يُعود بإمكان رزم البيانات التي يرسلوها أن تصل إلى وجهتها، فغالباً ما ستتخلص الموجهات منها، ويكون الهجوم عندها هجوم حجب خدمة، ويمكن مواجهته بعدم قبول قيم صغيرة لحقل عدد القفزات عن طريق بروتوكول اكتشاف الجيران، ويمكن أيضاً أن يعمد المهاجم إلى خداع العقد بإخبارها بوجود خدمة تهيئة المُضيف الآلية، وعندها يمكن تهيئة المُضيفين بعناوين منتحلة وبمحددات أخرى نحو محددات نظام أسماء النطاقات.[60]
  • هجوم حجب الخدمة باستعمال آلية اكتشاف الجيران (بالإنجليزية: Neighbor discovery DoS attack)‏ وفيها تُغمر الشبكة برسائل اكتشاف الجيران فتنشغل العقد والموجهات بالرد عليها، ولا يعود بإمكان عقدة جديدة أن تكتشف جيرانها الذين لا ينجحون بالرد على رسائل الغمر الوهمية. وهذا الهجوم هو شكل من أشكال هجمات حجب الخدمة[61]
  • هجمات التلاعب برسائل الرد (بالإنجليزية: Reply attack)‏، بروتوكول اكتشاف الجيران عرضة لهجمات التلاعب بالردود بسبب طبيعة عمله التي تتطلب غالباً تبادل رسائل الالتماس والإعلان، ويمكن عندها لمهاجم أن يزور رسالة رد أو أن يتلاعب بمحتواها لإيهام العقدة بمسألة ما أو لدفعها لسلوك معين، هجمات التلاعب برسائل الرد هي تصنيف مستقل للهجمات التي يمكن شنها باستعمال بروتوكول اكتشاف الجيران، ويمكن التصدي لها بمزامنة مرسل الالتماس ومرسل الإعلان لتضييق المجال الزمني المزاح لتزييف الرسائل ولمنع استعمال نسخ قديمة من الرسائل، يمكن أيضاً أن يُطلب أيضاً استعمال معرفات فريدة وحيدة الاستخدام (بالإنجليزية: Nonce)‏ في رسائل الرد باستعمال اكتشاف الجيران الآمن [الإنجليزية].[62]

بروتوكولات ذات صلة عدل

توسعة الاكتشاف المعكوس للجيران عدل

اكتشاف الجيران المعكوس (بالإنجليزية: Inverse Neighbor Discovery)‏ اختصاراً IND، هي توسعة لبروتوكول اكتشاف الجيران المُخصص للإصدار السادس من بروتوكول الإنترنت تهدف للسماح لعقدة ما تشغل بروتوكول اكتشاف الجيران باكتشاف عنوان الإصدار السادس لعقدة أخرى انطلاقاً من عنوان طبقة الوصلة خاصتها. طُور البروتوكول في عام 2001، ووصف في وثيقة طلب التعليقات ذات الاسم الرمزي RFC 3122.[5]

كان الغرض الأساس من تطوير التوسعة هو استعمالها في شبكات تبديل الأطر، ولكن استعمالها ممكن في أي شبكة بيانات تدعم الإصدار السادس من بروتوكول الإنترنت. تأثرت هذه التوسعة ببروتوكول اقتران العناوين المعكوس الذي يؤدي الوظيفة نفسها مع الإصدار الرابع من بروتوكول الإنترنت، والذي وُصف في وثيقة طلب التعليقات ذات الاسم الرمزي RFC 2390.[63]

تعرف توسعة اكتشاف الجيران المعكوس رسالتين جديدتين من رسائل بروتوكول رسائل التحكم للإصدار السادس من بروتوكول الإنترنت بغرض أداء وظيفة اقتران العناوين المعكوس، وهما رسالة الالتماس للاكتشاف المعكوس للجار (بالإنجليزية: Inverse Neighbor Discovery Solicitation)‏ ورسالة الإعلان للاكتشاف المعكوس للجار(بالإنجليزية: Inverse Neighbor Discovery Advertisement Message)‏ المميزتان بقيمة حقل النوع 141 و142 على الترتيب، وتستخدمان وفق نموذج طلب الخدمة.[64]

بروتوكول اكتشاف الجيران الآمن عدل

اكتشاف الجيران الآمن [الإنجليزية] (بالإنجليزية: SEcure Neighbor Discovery)‏ اختصاراً SEND، هو توسعة لبروتوكول اكتشاف الجيران، يهدف إلى تأمين تبادل رسائل البروتوكول بين عقد الإصدار السادس من بروتوكول الإنترنت، خاصةً في شبكات البيانات التي يكون تأمين وسط الاتصال فيها صعباً نحو الشبكات اللاسلكية، طُوِّرت هذه التوسعة في عام 2005م ووصفت في وثيقة طلب التعليقات ذات الاسم الرمزي RFC 3971.[65]

مع أن المعيار الأصل لبروتوكول اكتشاف الجيران دعا إلى استعمال حزمة أمن بروتوكول الإنترنت لتأمين عمله، فإن بروتوكول اكتشاف الجيران الآمن لا يعتمد على الحزمة أبداً، على العكس، فإنه يُعرِّف مجموعة من الآليات الجديدة التي تتضمن تعريف خياراتٍ جديدة للبروتوكول نحو خيار التوقيع باستعمال خوارزمية رافيست وشامير وأدلمن (بالإنجليزية: Rivest–Shamir–Adleman)‏ اختصاراً RSA، واعتماد على العناوين المولدة بالتعمية (بالإنجليزية: Cryptographically Generated Addresses)‏ اختصاراً CGA، وعلى شهادات اعتماد للمسارات (بالإنجليزية: Certification paths)‏ للتحقق من كونها مسارات آمنة وموثوقة.[66]

حُدِّث البرتوكول لاحقاً بوثيقتي طلب تعليقات في عام 2012م حملا الاسمين الرمزين RFC 6494 وRFC 6495 على الترتيب.[67][68] خُصصت الأولى لدعم استعمال البنية التحتية للمفتاح العام للموارد (بالإنجليزية: Resource Public Key Infrastructure)‏ اختصاراً RPKI، في حين عرَّفت الأخرى بنية شهادة الاعتماد (بالإنجليزية: Certificate Profile)‏.

هوامش عدل

1. يمكن تبين ذلك بتتبع الأسماء الرمزية للمعايير، ويوجد ثلاثٌ لكل للبروتوكول وثلاث للآلية، طرحت على الترتيب في أغسطس 1996 وحمل معيار بروتوكول اكتشاف الجيران الاسم الرمزي RFC 1970 وآلية العنونة الذاتية الآلية الاسم الرمزي RFC 1971، وفي ديسمبر من العام 1998م، وحملت وثيقتا التعليق ذات الصلة الاسمان الرمزيان RFC 2461 وRFC 2462 على الترتيب، وفي سبتمبر من العام 2007م، وحملت الوثيقان الاسمان الرمزيان RFC 4681 وRFC 4682 على الترتيب.

2. عُرِّفت رسائل اكتشاف الموجه بصفة توسعة لبروتوكول رسائل التحكم للإصدار الرابع من بروتوكول الإنترنت، ووثقت في وثيقة طلب التعليقات RFC 1256،[69] أما إعادة التوجيه فهي وظيفة رئيسة لبروتوكول رسائل التحكم ووصفت في معياره الأصيل.[70]

3. هذه التعاريف مجتزأة من التعاريف الواردة في معيار الإصدار السادس من بروتوكول الإنترنت أو مبنية عليها.[71]

4. أصل الاسم (بالإنجليزية: Stateless)‏، وهي كلمة مكونة من مقطعين State وتعني دولة، وless معدوم، وهو مصطلح يُستعمل للإشارة إلى معدومي الجنسية أي الأشخاص الذين لا تعترف بهم أي حكومة، والمُقصود بهذه الكلمة في هذا السياق أن طريقة العنونة ليست مركزية ولا تتبع أي مُخدِّم.[ar 1]

5. القيم الافتراضية لثوابت بروتوكول اكتشاف الجيران: زمن الوصول (بالإنجليزية: Reachable time)‏ 30000 ميلي ثانية، مؤقت إعادة الإرسال (بالإنجليزية: Retrans timer)‏ 1000 ميلي ثانية، زمن تأخير الاستشعار الأول (بالإنجليزية: Delay first probe time)‏ 5 ثوانٍ، وعدد مرات إرسال رسالة الالتماس فريدة الوجهة (بالإنجليزية: Max unicast solicit)‏ 3 مرات.[72]

6. يختلف معنى كلمة «الأفضل» باختلاف بروتوكول التوجيه المستعمل، بعض برتوكولات التوجيه تعتمد على عدد القفزات، وبعضها على معدل نقل البيانات وبعضها على عوامل هجينة تشمل ما سبق ومحددات أخرى وغير ذلك.

7. تنص خوارزمية إرسال الرزم على مايأتي: "لو كانت قائمة المخارج الافتراضية فارغة، يفترض المُرسل بأن الوجهة محليَّة (بالإنجليزية: If the Default Router List is empty, the sender assumes that the destination is on-link)‏[73]

انظر أيضًا عدل

المراجع عدل

فهرس المراجع عدل

باللغة العربية
  1. ^ منير البعلبكي؛ رمزي البعلبكي (2007). المورد الحديث (ط. الأولى). بيروت: دار العلم للملايين. ص. 1143.
باللغة الإنكليزية
  1. ^ أ ب ت RFC 4861, p. 14
  2. ^ أ ب RFC 4861, p. 11-12
  3. ^ أ ب ت ث "Internet Control Message Protocol version 6 (ICMPv6) Parameters". IANA (بالإنجليزية). Archived from the original on 2021-07-29. Retrieved 2021-11-21.
  4. ^ RFC 4861, p. 81
  5. ^ أ ب RFC 3122, p. 1
  6. ^ RFC 3791, p. 1
  7. ^ W. Simpson (Sep 1994). "IPv6 Neighbor Discovery -- ICMP Message Formats draft-simpson-ipv6-discov-formats-00.txt". IETF (بالإنجليزية). Archived from the original on 2021-12-22. Retrieved 2021-12-23.
  8. ^ W. Simpson (Oct 1994). "IPv6 Neighbor Discovery -- Processing draft-simpson-ipv6-discov-process-00.txt". IETF (بالإنجليزية). Archived from the original on 2021-12-22. Retrieved 2021-12-23.
  9. ^ W. Simpson (Jan 1995). "IPv6 Neighbor Discovery -- ICMP Message Formats draft-simpson-ipv6-discov-formats-02.txt". IETF (بالإنجليزية). Archived from the original on 2021-12-22. Retrieved 2021-12-23.
  10. ^ W. Simpson (Feb 1995). "IPv6 Neighbor Discovery -- Processing draft-simpson-ipv6-discov-process-02.txt". IETF (بالإنجليزية). Archived from the original on 2021-12-22. Retrieved 2021-12-23.
  11. ^ T. Narten; E. Nordmark; W. Simpson (7 Jun 1995). "IPv6 Neighbor Discovery <draft-ietf-ipngwg-discovery-00.txt>". IETF (بالإنجليزية). Archived from the original on 2021-12-22. Retrieved 2021-12-23.
  12. ^ T. Narten; E. Nordmark; W. Simpson (14 Mar 1996). "IPv6 Neighbor Discovery <draft-ietf-ipngwg-discovery-06.txt>". IETF (بالإنجليزية). Archived from the original on 2021-12-22. Retrieved 2021-12-23.
  13. ^ S. Deering; R. Hinden (Dec 1995). "RFC 1883, Internet Protocol, Version 6 (IPv6) Specification". The Internet Society (بالإنجليزية). DOI:10.17487/RFC1883. Archived from the original on 2019-12-21. Retrieved 2018-05-30.
  14. ^ T. Narten; E. Nordmark; W. Simpson (Aug 1996). "RFC 1970, Neighbor Discovery for IP Version 6 (IPv6)" (بالإنجليزية). p. 1. DOI:10.17487/RFC1970. Archived from the original on 2019-12-04.
  15. ^ RFC 2461, p. 1
  16. ^ RFC 2460, p. 1
  17. ^ A. Conta; S. Deering (Dec 1998). "RFC 2463, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification" (بالإنجليزية). DOI:10.17487/RFC2463. Archived from the original on 2020-03-16.
  18. ^ S. Thomson; T. Narten (Dec 1998). "RFC 2462, IPv6 Stateless Address Autoconfiguration" (بالإنجليزية). DOI:10.17487/RFC2462. Archived from the original on 2020-05-07.
  19. ^ RFC 4861, p. 1
  20. ^ RFC 4861, p. 4-5
  21. ^ RFC 4861, p. 10-11
  22. ^ RFC 4443, p.3
  23. ^ RFC 4443, p.4
  24. ^ RFC 4861, p. 57
  25. ^ RFC 4861, p. 18-19
  26. ^ RFC 4861, p. 47
  27. ^ RFC 4861, p. 19-22
  28. ^ أ ب RFC 4861, p. 68
  29. ^ RFC 4861, p. 22-23
  30. ^ RFC 4861, p. 23-25
  31. ^ RFC 4861, p. 26-27
  32. ^ أ ب RFC 4861, p. 28
  33. ^ RFC 4861, p. 29
  34. ^ M. Crawford (Dec 1998). "RFC 2464, Transmission of IPv6 Packets over Ethernet Networks". Internet Society (بالإنجليزية). p. 3. Archived from the original on 2021-12-14. Retrieved 2021-12-23.
  35. ^ RFC 4861, p. 28-30
  36. ^ RFC 4861, p. 31-32
  37. ^ RFC 4861, p. 32
  38. ^ أ ب RFC 4861, p. 38
  39. ^ أ ب Odom (2013), p. 669
  40. ^ Odom (2013), p. 670
  41. ^ أ ب Odom (2013), p. 671
  42. ^ R. Hinden; S. Deering (Feb 2006). "RFC 4291, IP Version 6 Addressing Architecture" (بالإنجليزية). p. 15-16. DOI:10.17487/RFC4291. Archived from the original on 2020-05-13.
  43. ^ Odom (2013), p. 671-72
  44. ^ RFC 4861, p. 68-69
  45. ^ RFC 4861, p. 70-71
  46. ^ RFC 4861, p. 73
  47. ^ أ ب RFC 4861, p. 75
  48. ^ RFC 4861, p. 76
  49. ^ RFC 4861, p. 79
  50. ^ RFC 3756, p. 8-20
  51. ^ RFC 3756, p. 9-10
  52. ^ RFC 3756, p. 10-11
  53. ^ RFC 3756, p. 12-13
  54. ^ RFC 3756, p. 12
  55. ^ Pekka Nikander; Dan Harkins; Basavaraj Patil; Phil Roberts; Erik Nordmark; Thomas Narten; Allison Mankin (24 Sep 2001). "Threat Models introduced by Mobile IPv6 and Requirements for Security in Mobile IPv6 <draft-ietf-mobileip-mipv6-scrty-reqts-00.txt>". IETF (بالإنجليزية). p. 3. Archived from the original on 2021-12-20. Retrieved 2021-12-23. {{استشهاد ويب}}: الوسيط |إظهار المؤلفين=7 غير صالح (help)
  56. ^ RFC 3756, p. 13
  57. ^ RFC 3756, p. 14
  58. ^ RFC 3756, p. 14-15
  59. ^ RFC 3756, p. 15-16
  60. ^ RFC 3756, p. 16-17
  61. ^ RFC 3756, p. 19
  62. ^ RFC 3756, p. 18
  63. ^ T. Bradley; C. Brown; A. Malis (Sep 1998). "RFC 2390, Inverse Address Resolution Protocol". Internet Society (بالإنجليزية). p. 1. DOI:10.17487/RFC2390. Archived from the original on 2021-11-07. Retrieved 2021-12-23.
  64. ^ RFC 3122, p. 3-5
  65. ^ RFC 3971, p. 3
  66. ^ RFC 3971, p. 8-9
  67. ^ R. Gagliano; S. Krishnan; A. Kukec (Feb 2012). "RFC 6494, Certificate Profile and Certificate Management for SEcure Neighbor Discovery (SEND)". Internet Society (بالإنجليزية). p. 1. DOI:10.17487/RFC6494. Archived from the original on 2021-03-19. Retrieved 2021-12-23.
  68. ^ R. Gagliano; S. Krishnan; A. Kukec (February 2012). "RFC 6495, Subject Key Identifier (SKI) SEcure Neighbor Discovery (SEND) Name Type Fields". Internet Society (بالإنجليزية). p. 1. DOI:10.17487/RFC6495. Archived from the original on 10 إبريل 2021. Retrieved 23 ديسمبر 2021. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ أرشيف= (help)
  69. ^ S. Deering (Sep 1991). "RFC 1256, ICMP Router Discovery Messages". The Internet Society (بالإنجليزية). DOI:10.17487/RFC1256. Archived from the original on 2020-04-12.
  70. ^ J. Postal (Aug 1981). "RFC 792, Internet Control Message protocol, DARPA internet program,protocol specification". The Internet Society (بالإنجليزية). DOI:10.17487/RFC0792. Archived from the original on 2020-02-19.
  71. ^ RFC 2460, p. 3-4
  72. ^ RFC 4861, p. 78-79
  73. ^ RFC 2461, p. 35

المعلومات الكاملة للمراجع عدل

الكتب
وثائق طلب التعليقات (مرتبة تصاعدياً حسب رقم الوثيقة)