ترويسة رزم IP في الإصدار السادس
يوضح الشكل التالي – الذي تطرقنا له في درس سابق من السلسلة - ترويسة الرزمة في الإصدار الرابع من بروتوكول IP.
نعيد التذكير بترويسة الرزمة هنا لأن بعضًا من الحقول الموجودة في الترويسة تغيرت في الإصدار السادس، بينما بقيت حقول أخرى على حالها. في ما يلي مُجمَل لحقول ترويسة رزم الإصدار الرابع التي حصلت عليها تغييرات:
- الإصدار (Version): أصبح 6 بدلًا من 4.
- نوعية الخدمة (ToS اختصار لـ Type of service): حقل يتعلق بجودة الخدمة، وبالتالي سنحتاجه وإن كان حصل عليه تغيير كما سنرى لاحقا.
- زمن بقاء الرزمة "على قيد الحياة" (Time to Live أو TTL اختصارا): صُمِّم في الأصل لتكون قيمته عددًا من الثواني، إلا أنه في الواقع لم يُستخدَم قط على ذلك النحو، بل استخدِم ليحوي عدد القفزات (Hope count)، أي عدد الموجِّهات التي تمر عليها الرزمة. أعيدت تسمية هذا الحقل لتتطابق مع عمله (Hope limit، حدّ القفزات).
- مجموع التحقق (Check sum): حذف هذا الحقل نهائيَّا من ترويسة البروتوكول نظرًا لأنه يأخذ وقتًا، ونظرًا لوجود آلية مماثلة للتحقق وذات فاعلية أكبر على مستوى الطبقة الثانية.
بالنسبة للإصدار السادس فالرزمة أصبحت على النحو الموضَّح في الشكل التالي.
- عُدِّل اسم الحقل "نوعية الخدمة" ليصبح "صنف البيانات المحمولة" (Traffic class)، ويعرِّف تلك البيانات بغرض تصنيفها. يمكِّن التصنيف من إعطاء الأولوية لصنف معيَّن – فيديو مثلًا – على آخر، أي أننا نميّز بين أنواع البيانات المنقولة.
- يوجد إلى جانب نوعية الخدمة حقل جديد يُسمَّى "لصيقة التدفق" (Flow label). التدفق هو حركة بيانات باتجاه واحد، أي أنه يمكن أن يكون لدينا تدفق من الموجِّه A إلى الموجّه B، وآخر من B إلى A. يتيح هذا الحقل تنفيذ إجراءات محدَّدة على تدفق مخصوص.
- طول الحمولة (Payload length): المقصود بالحمولة هو ما تنقله الرزمة، وهو كل ما يتعلق بالطبقات العليا من نموذج OSI (فوق الطبقة الثالثة). يمكن ملاحظة أنه لا توجد لدينا معلومات عن طول الترويسة، عكس ما يوجد في ترويسة الإصدار الرابع. يعود السبب في ذلك إلى أن طول الترويسة لا يتغير، وبالتالي نركّز على ما تحمله الرزمة.
- يشبه حقل "الترويسة الموالية" (Next header) حقل البروتوكول في IPv4، ويشير إلى البروتوكول الذي نحن بصدد نزع الغلاف عن رزمته (Decapsulation).
- الحقل "حدّ القفزات" (Hope limit) هو إعادة تصميم للحقل TTL ليوافق طريقة استخدامه الفعلية.
- يحوي الحقلان "المصدر" (Source) و"الوِجهة" (Destination) عنوانيْ IPv6 الخاصين بمرسل الرزمة ومستقبلها على التوالي. يبلغ طول كل من الحقلين 128 بتًّا، بطول عناوين IPv6.
تأتي بعد الحقول الأساسية التي توجد في الترويسات جميعها مجموعة حقول أخرى ذات طول متغيّر تُعرَف بالمعلومات الإضافية للترويسة، وتتضمن ميزات، وخدمات وعناصر أخرى. لا تحوي الترويسة هذه الحقول إلّا في حالة الحاجة إليها. على سبيل المثال، تأمين بروتوكول الإنترنت IPSec. يبلغ طول الترويسة الأساسية – بدون حقول المعلومات الإضافية – 40 بايتا، إلا أن طول الترويسة الكلّي يختلف حسب الحقول الاختيارية.
يأتي بعد الترويسة الحقل الخاص ببيانات الرزمة (Data portion). يحوي هذا الحقل كل ما يتعلق بالطبقات العليا وبتجميعة TCP/IP من بيانات. نلفت الانتباه إلى أن حجم بيانات الرزمة مُحدَّد في الحقل "طول الحمولة" الذي تحدثنا عنه أعلاه.
ICMPv6
سنركّز في هذا الجزء من الدرس على حقل "الترويسة الموالية". قلنا إن هذا الحقل يشير إلى بروتوكول الطبقة العليا الموالية، وفي أغلب الحالات يكون واحدًا من البروتوكولات TCP، أو UDP، أو ICMP. يستخدم بروتوكول IP في الإصدار الرابع المعرِّف 1
لبروتوكول ICMP. يختلف ICMP عن بروتوكولات النقل – TCP وUDP – في كونه لا يُستخدَم لاستقبال البيانات أو إرسالها، بل يُستخدَم أساسًا لنقل رسائل الأخطاء والتحكم.
توجد الكثير من الأمور التي يقوم بها بروتوكول ICMP. مثلًا عند استخدام الأمر ping
لاختبار الاتصال يجيب بروتوكول ICMP برسائل مثل echo
للدلالة على وجود اتصال، وunreacheable
(لا يُمكن الوصول إليه) التي تدل على عدم إمكانية إرسال الرزم إلى الوجهة، وtime excedeed
(تجاوز الوقت) عندما تصبح قيمة الحقل TTL مساوية للصفر. لا يقتصر الأمر على الأمر ping
، إذ توجد رسائل إعادة التوجيه في ICMP التي تمكّن من إعادة توجيه الرزم إلى موجِّه أنسب من الذي وُجِّهت إليه.
يأخذ بروتوكول ICMP في الإصدار الجديد الذي قدم مع الإصدار السادس من IP المعرِّف 58
(بدلا من 1
في IPv4)، وهو ما يعني أنه عندما تكون قيمة حقل الترويسة الموالية تساوي 58
فهذا يعني أن بروتوكول الطبقة الثالثة المُستخدَم هو ICMPv6، وأن الرزمة تحمل معلومات عامة تفيد في تشخيص حالة الاتصال. أضيفت إمكانيّات جديدة لإصدار بروتوكول ICMP في الإصدار السادس مثل اكتشاف الموجِّهات والجوار. يتولى ICMPv6 المسؤولية عن آليات استكشاف الشبكة في بروتوكول IPv6.
استكشاف الجوار
يعتمد فهمُ عمل الإصدار السادس من بروتوكول IP كثيرًا على فهم آلية استكشاف الجوار (Neighbor discovery). يُستكشَف الجوار ببروتوكول ICMPv6 والبث المتعدّد في شبكات IPv6، ويتضمن العمليات التالية :
- تحديد عنوان الرابط المحلي الخاص بجهاز مجاور،
- العثور على الموجِّهات المجاورة،
- الاستعلام عن العناوين المتكررة.
تجدر الإشارة إلى أنه لا وجود لبروتوكول ARP في IPv6، إلا أننا ما زلنا في حاجة إلى المهام التي يؤديها في شبكات IPv4، واستكشاف الجوار ببروتوكول ICMPv6 هو الإجابة على تلك الحاجة. لا يعني عدم وجود ARP أن عناوين MAC غير مُستخدَمة في IPv6، بل إن عدم وجود ARP هو ما أدى إلى نقل مهمة الربط بين عناوين MAC وعناوين IPv6 إلى بروتوكول ICMPv6 عن طريق آليات استكشاف الجوار.
يساعد بروتوكول ICMPv6 في التحقق من عناوين بطاقات الشبكة المُسنَدة ذاتيا عبر صيغة EUI-64، وتصديق عناوين الربط المحلي عبر التأكد من أن هذه العناوين فريدة على مستوى الشبكة. تدخل تلك الأمور كلها في إطار استكشاف الجوار.
ترجمة – وبتصرّف – للمقال The IPv6 Pakcet Header. ICMPv6 and Neighbor Discovery (ND)
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.