ترويسة البروتوكول
يبلغ طول ترويسة الإصدار السادس 40 بايت، وتتكون من ثمانية حقول هي وفقاً لترتيب وردوها:
- حقل رقم الإصدار: وطوله 4 بت، ويمثل رقم الإصدار، وقيمته هي 6 دائماً في ترويسة الإصدار السادس من بروتوكول الإنترنت.
- حقل صنف حركة البيانات: وطوله 8 بت، ويحتوي على مُعرِّف رقمي يمكن ضبطه لتحديد جودة الخدمة التي ستحصل عليها رزمة البيانات.
- حقل لافتة التدفق: وطوله 20 بت، ويحتوي على مُعرِّف رقمي يُحدد التدفق الذي تنتمي إليه رزمة البيانات، ويمكن أن تستعمل هذه القيمة في تحديد كيفية معالجة الرزمة في الموجهات التي تعالج الرزمة على طول المسار نحو وجهتها.
- حقل طول الحمولة: وطوله 16 بت، ويحتوي عدد صحيح موجب يمثل طول حمولة الرزمة التي توجد فيها الترويسة مُقدراً بالبايت، يشمل ذلك ترويسات التوسعة جميعها والتي تلي ترويسة الإصدار السادس.
- حقل الترويسة التالية: وطوله 8 بت، ويحدد نوع الترويسة التالية، التي تلي هذه الترويسة، إذا كانت الترويسة مغايرة لترويسات التوسعات، فإن قيم هذه الحقل مُطابقة للقيم المُستعملة في الإصدار الرابع من البروتوكول.
- حقل عدد القفزات: وطوله 8 بت، ويحتوي عدداً صحيحاً موجباً. يقوم كل موجه يُعالج ويُوجِّه رزمة البيانات بإنقاص قيمة واحد من هذه القيمة. يفحص كل موجه يستقبل رزمة البيانات قيمة هذا الحقل أولاً، إذا كانت مساوية للصفر، فإنه يتخلص منه. إذا استقبلت الوجهة النهائية الرزمة بقيمة صفرية لهذا الحقل، لا تتخلص منها بل تقوم بمعالجتها.
- حقل عنوان المصدر: وطوله 128 بت، عنوان العقدة المصدر التي ولدت رزمة البيانات.
- حقل عنوان الوجهة: وطوله 128 بت، عنوان وجهة الرزمة. قد يحتوي عنوان الوجهة الأخيرة، أو عنوان المُستقبل التالي للرزمة إذا كانت ترويسة التوجيه موجودة بعد ترويسة البروتوكول.
ترويسة خيارات المسار
تستعمل ترويسة خيارات المسار (بالإنجليزية: Hop-by-hop options header) لحمل معلومات لخيارات يُمكن فحصها أو معالجة محتواها في كل مُوجِّه تمر به الرزمة عبر مسارها إلى وجهتها النهائية. إن قيمة النوع الخاصة بهذه الترويسة هي 0، وإذا وردت هذه الترويسة في رزمة بيانات، فيجب أن تُوضع هذه القيمة في حقل الترويسة التالية الموجود داخل الترويسة السابقة.
طول ترويسة خيارات المسار مُتغيِّرٌ، وهي تتكون من حقلين ثابتي الطول يليهما حقل واحد مُتغيِّر الطول، وهذه الحقول هي وفقاً لترتيب ورودها:
- حقل الترويسة التالية: طوله 8 بت، ويحتوي على قيمة تُعرِّف نوع الترويسة الموجودة مباشرةً بعد هذه الترويسة.
- حقل طول ترويسة التوسعة: وطوله 8 بت، ويحتوي على عدد صحيح موجب يمثل طول ترويسة خيارات المسار بواحدة 8 بايت، دونَ احتساب البايتات الثمانية الأولى. مثلاً إذا كان طول الترويسة هو 16 بايت، فإن قيمة هذا الحقل هي 1، وإذا كان طول الترويسة هو 32 بايت فإن قيمة هذا الحقل هو 3.
- حقل الخيارات: مُتغيِّر الطول، يضم خياراً واحد أو أكثر من خيارات المسار، ويلزم يكون طول هذا القسم متوافقاً مع واحدة 8 بايت، أي من المقبول أن يكون الطول: 8 أو 16 أو 24 بايت ... إلخ.
ترويسة التوجيه
يستعمل مصدر رزمة بيانات للإصدار السادس من بروتوكول الإنترنت ترويسة التوجيه (بالإنجليزية: Routing header) لتحديد مسارها أو جزءاً منه من خلال إضافة قائمة تضم عناوين العقد الوسيطية التي يلزم أن تزورها الرزمة عبر مسارها وصولاً إلى وجهتها. تتشابه وظيفة هذه الترويسة مع وظيفة خيار المسار الحرّ من المصدر في الإصدار الرابع من بروتوكول الإنترنت. إن قيمة النوع الخاصّ بترويسة التوجيه هي 43، وإذا وردت هذه الترويسة في رزمة بيانات، فيجب أن تُوضع هذه القيمة في حقل الترويسة التالية الموجود داخل الترويسة السابقة.
ترويسة التوجيه متعيرة الطول، وهي تتكون من أربعة حقول ثابتة الطول يليها حقل وحيد متغير الطول، وهذه الحقول هي وفقاً لترتيب ورودها:
- حقل الترويسة التالية: طوله 8 بت، ويحتوي على قيمة تُعرِّف نوع الترويسة الموجودة مباشرةً بعد هذه الترويسة.
- حقل طول ترويسة التوسعة: طوله 8 بت، ويحتوي على عدد صحيح موجب يمثل طول ترويسة خيارات المسار بواحدة 8 بايت، دونَ احتساب البايتات الثمانية الأولى.
- حقل نوع التوجيه: طوله 8 بت، ويضمّ مُعرفاً يُحدد نوع التوجيه، وتحدد هيئة أرقام الإنترنت المُخصصة قائمة المُعرفات المدعومة من قبل البروتوكول ومعاني كلٍّ منها. اعتمد النوع ذو القيمة 0 في المعيار الأصلي، لكنه أُبطل لأسباب أمنية.(3)
- حقل القطاعات المتبقية:طوله 8 بت، ويضمّ معرِّفاً رقمياً لعدد قطاعات الشبكة الوسيطية(4) التي يلزم زيارتها قبل الوصول إلى الوجهة النهائية، ولكنَّها لما تُزر بعدُ.
- حقل بيانات مُرتبطة بالنوع: مُتغيِّر الطول، ويحتوي على مجموعة واحدة أو أكثر من هياكل البيانات التي يكون طولها متوافقاً مع واحدة 8 بايت، لتكون نهايتها عند نهاية الترويسة دائماً، أما بنية الهياكل، فهي تتحدد بتوع التوجيه.
هناك حالتان مرتبطتان بترويسة التوجيه تستوجبان إرسال رسائل أخطاء خاصَّة ببروتوكول رسائل التحكم للإصدار السادس من بروتوكول الإنترنت ، وهما:
- إذا استقبلت عقدة ما، مغايرة للوجهة النهائية، رزمة بيانات تحتوي على ترويسة التوجيه، وكان نوع التوجيه غيرَ معروف، ويجب عندها التخلص من الرزمة أيضاً قبل إرسال رسالة الخطأ. أما إذا كانت العقدة هي الوجهة النهائية، فتُهمل الترويسة وتعالج الرزمة.
- إذا كان توجيه الرزمة لازماً عبر شبكة ما، ولكن حجمها أكبر من حجم وحدة النقل العظمى للشبكة، وعندها يجب على العقدة التي تُوجِّه الرزمة أن تتخلص منها قبل أن ترسل رسالة الخطأ المناسبة إلى مصدر البروتوكول.
ترويسة القطعة
تضاف ترويسة القطعة (بالإنجليزية: Fragment header) إلى جميع القطع الناتجة عن عملية تقطيع رزمة بيانات. إنَّ قيمة النوع الخاصة بهذه الترويسة هي 44، وإذا وردت هذه الترويسة في رزمة بيانات، فيجب أن تُوضع هذه القيمة في حقل الترويسة التالية الموجود داخل الترويسة السابقة.
يبلغ طول ترويسة القطعة 8 بايت، وتتألف من 6 حقول دائمة، هي وفقاً لترتيب وردوها:
- حقل الترويسة التالية: طوله 8 بت، ويضبط بشكل مشابه لحقل الترويسة التالية في ترويسة البروتوكول الأصلية.
- حقل محجوز طوله 8 بت، يُضبط إلى قيمة صفرية في مصدر الرزمة عند الإرسال.
- حقل إزاحة القطعة: طوله 13 بت، يحتوي على موقع حمولة القطعة النسبي ضمن حمولة الرزمة الأصلية، وتعبر قيمة الرقم الموجود عن الإزاحة بواحدة هي 8 بايت، فإذا كانت قيمة هذا الحقل مثلاً هي 2، فإن إزاحة القطعة الحقيقية هي 16 بايت.
- حقل محجوز طوله 2 بت، يُضبط إلى قيمة صفرية في مصدر الرزمة عند الإرسال.
- علم المزيد من القطع: طوله 1 بت، ويستخدم للإشارة إلى القطعة الأخيرة، إذا كانت قيمته 1، فهذا يعني أن هناك قطع لاحقة نتجت عن عملية التقطيع، أما إذا كانت قيمته 0 فذلك يعني بأنَّ هذه القطعة هي القطعة الأخيرة.
- حقل مُعرّف القطعة 32 بت، وهي يحتوي قيمة فريدة تُميّز الرزمة الأصلية وجميع القطع التي نتجت عن تقطيعها. هناك عدة خوارزميات لاختيار قيمة المعرّف بحيث يكون فريداً وآمناً، وهي موصوفة في وثيقة طلب التعليقات RFC 7739.
ترويسة خيارات الوجهة
تُستخدم ترويسة خيارات الوجهة (بالإنجليزية: Destination Options Header) لحمل الخيارات التي تُعالجها الوجهة النهائية للرزمة فقط. إنَّ قيمة النوع الخاصّ بترويسة التوجيه هي 60، وإذا وردت هذه الترويسة في رزمة بيانات، فيجب أن تُوضع هذه القيمة في حقل الترويسة التالية الموجود داخل الترويسة السابقة.
ترويسة خيارات الوجهة مُتعيَّرة الطول، وهي تتكون من حقلين ثابتي الطول يليهما حقل وحيد متغير الطول، وهذه الحقول هي وفقاً لترتيب ورودها:.
- حقل الترويسة التالية: طوله 8 بت، ويحتوي على قيمة تُعرِّف نوع الترويسة الموجودة مباشرةً بعد هذه الترويسة.
- حقل طول ترويسة التوسعة: وطوله 8 بت، ويحتوي على عدد صحيح موجب يمثل طول ترويسة خيارات المسار بواحدة 8 بايت، دونَ احتساب البايتات الثمانية الأولى.
- حقل الخيارات: متغيِّر الطول، يضم خياراً واحد أو أكثر من خيارات الوجهة، ويلزم يكون طول هذا القسم متوافقاً مع واحدة 8 بايت، أي من المقبول أن يكون الطول: 8 أو 16 أو 24 بايت ... إلخ.
ترويسة التحقق من الهوية
تُؤَمِّن ترويسة التحقق من الهوية (بالإنجليزية: Authentication Header) آليةً للتحقق من سلامة رزم البيانات المنقولة عبر اتصال يجري عبر قناة غير مُهيَّأة وتحققاً من هوية مصدر هذه الرزمة. تسمح آلية التحقق من السلامة بمنع تلاعب وسيط ما برزم البيانات عند حركتها بين مصدرها ووجهتها، وتستخدم في التصدي لهجمات الوسيط. إنَّ قيمة النوع الخاصّ بترويسة التوجيه هي 51، وإذا وردت هذه الترويسة في رزمة بيانات، فيجب أن تُوضع هذه القيمة في حقل الترويسة التالية الموجود داخل الترويسة السابقة.
ترويسة خيارات الوجهة مُتغيَّرة الطول، وهي تتكون من ستة حقول، خمسةٌ منها ثابتة الطول يليها حقل وحيد متغير الطول، وهذه الحقول هي وفقاً لترتيب ورودها:
- حقل الترويسة التالية: طوله 8 بت، ويحتوي على قيمة تُعرِّف نوع الترويسة الموجودة مباشرةً بعد هذه الترويسة.
- حقل طول الحمولة: طوله 8 بت، ويحتوي على طول ترويسة التوسعة بواحدة 32 بت، أو 4 بايت، منقوصاً منها بايتان. أي إذا كان طول الترويسة هو 100 بايت، فإن قيمة هذا الحقل هي 2-(100/4)= 2-25 = 23.
- حقل محجوز: بطول 16 بت.
- حقل فهرس وسائط الأمن: بطول 32 بت، ويحتوي مُعرِّف الجلسة الآمنة، وهي قيمة عشوائية يضيفها المصدر إلى الترويسة وتُستخدم من قبل الوجهة لتمييز الجلسة الآمنة التي أرسلت الرزمة عبرها.
- حقل رقم التتابع: بطول 32 بت، يحتوي على عداد تضبط قيمته في المصدر إلى قيمة محددة مع بدء الجلسة الآمنة، ثم قيمة التتابع بمقدار واحد مع كل رزمة بيانات تُرسل في الجلسة.
- حقل قيمة التحقق من السلامة: متغيِّر الطول، ويلزم أن يكون طوله من مضاعفات 32 بت، ويُضمُّ قيمة رياضية تُحسب في العقدة المصدر من أجل محتويات رزمة البيانات التي لا تتغير خلال عبورها الشبكة. في العقدة الوجهة، لا يمكن الحصول على قيمة حقل التحقق من السلامة نفسِها إلا إذا كانت محتويات الرزمة هي نفسُها، أي أنها وصلت من المصدر إلى الوجهة دونَ تلاعب فيها.
ترويسة تغليف الحمل الأمني
تُستعمل ترويسة تغليف الحمل الأمني (بالإنجليزية: Encapsulating Security Payload header) لتأمين مجموعة من خدمات الأمن التي تشمل: سرية البيانات وللتحقق من هوية مصدرها ولسلامة الاتصال عبر القنوات غير المُهيَّأة وللحماية من هجمات إعادة الإرسال (بالإنجليزية: Anti-replay attacks). إنَّ قيمة النوع الخاصّ بترويسة التوجيه هي 50، وإذا وردت هذه الترويسة في رزمة بيانات، فيجب أن تُوضع هذه القيمة في حقل الترويسة التالية الموجود داخل الترويسة السابقة.
ترويسة تغليف الحمل الأمني مُتغيَّرة الطول، وهي تتكون من سبعة حقول، أربعة منها ثابتة الطول. وحقول هذه الترويسة هي وفقاً لترتيب ورودها:
- حقل فهرس وسائط الأمن: بطول 32 بت. ويحتوي مُعرِّف الجلسة الآمنة، وهي قيمة عشوائية يضيفها المصدر إلى الترويسة وتُستخدم من قبل الوجهة لتمييز الجلسة الآمنة التي أرسلت الرزمة عبرها.
- حقل رقم التتابع: بطول 32 بت. يحتوي على عداد تضبط قيمته الابتدائية في المصدر إلى قيمة محددة عند بدأ الجلسة الآمنة، ثم تُزاد قيمة التتابع بمقدار واحد مع كل رزمة بيانات يُرسلها مصدر الرزم في تلك الجلسة.
- حقل بيانات الحمولة: مُتغير الطول، يحتوي على المعلومات التي يجري تشفيرها من أجل حمايتها.
- حقل الحشو: متغير الطول يتراوح طوله بين 0 و 255 بايت، يحتوي على بايتات إضافية مُلحقة بالحمولة. يُضاف حقل الحشو لسببين:
- قد يلزم حد أدنى أو قيم محددة لطول البيانات المُراد تشفيرها. مثلاً، مضاعفات 4 أو 8 أو 16 بايت ... إلخ، وعندها تضاف بايتات الحشو لإكمال طول البيانات حتى القيمة اللازمة.
- قد يلزم إضافة عدة بايتات لجعل نهاية الحقلين التاليين تقع عند مضاعفات 4 بايت، وعندها تُضاف بايتات حشو حسب الحاجة لتحقيق ذلك.
- حقل طول الحشو: طوله 8 بت، ويحتوي على عدد البايتات المُضافة في قسم الحشو.
- حقل الترويسة التالية: طوله 8 بت، ويحتوي على قيمة تُعرِّف نوع الترويسة الموجودة مباشرةً بعد هذه الترويسة.
- حقل قيمة التحقق من السلامة: متغيِّر الطول ويلزم أن يكون طوله من مضاعفات 32 بت، ويُضمُّ قيمة عددية تُحسب في العقدة المصدر من أجل محتويات رزمة البيانات التي لا تتغير خلال عبورها الشبكة. يعاد حساب هذه القيمة في العقدة الوجهة، ولا يمكن الحصول على القيمة نفسِها لحقل التحقق من السلامة إلا إذا كانت محتويات الرزمة هي نفسُها دون تغيير، ومعنى ذلك أنها وصلت من المصدر إلى الوجهة دونَ تلاعبٍ فيها.
المصدر: wikipedia.org