بروتوكول الإنترنت (الإصدار السادس) الوظائف
يتكون عنوان الإصدار السادس من بروتوكول الإنترنت من 128 بت، ويكتب بنظام العد الست عشري على شكل عدد مكوّن من 32 مرتبة ست عشرية، ويجري تجميع هذه المراتب ضمن رباعيات عددها 8 يضم كل منها 4 مراتب ست عشرية أو 16 بت. عند تجزئة فضاء عناوين من الإصدار السادس، يجري اقتطاع قسم من مُعرّف المنفذ وإنشاء قسم جديد هو معرف الشبكة الجزئية، يمكن وفقًا لموقع نهاية مُعرّف الشبكة الجزئية ضمن العنوان التمييز بين الحالات التالية:
مُعرّف الشبكة الجزئية ينتهي عند حدود إحدى المراتب الست عشرية ضمن مجموعة رباعية، وتوجد 3 حالات ممكنة في كل مجموعة رباعية، مثلًا في المجموعة الأولى هي البتات ذات الفهارس {3,7,11} وفي الثانية {19,23,27} وهكذا..
مُعرّف الشبكة الجزئية ينتهي عند حدود أحد البتات ضمن خانة ست عشرية داخل مجموعة رباعية، وتوجد 3 حالات ممكنة في ضمن كل خانة ست عشرية، مثلًا في الخانة الست عشرية الثانية تكون الحدود الممكنة عند البتات ذات الفهارس {4,5,6} وفي الخانة الست عشرية الثالثة عند البتات ذات الفهارس {8,9,10} وهكذا.(11)
أمثلة عن التجزئة في الإصدار السادس من بروتوكول الإنترنت:
تقطيع رزمة البيانات وإعادة تجميعها هو وظيفة من وظائف الإصدار السادس من بروتوكول الإنترنت. تحصل عملية التقطيع في المضيف المصدر عندما يكون طول الرزمة أكبر من وحدة النقل العظمى للمسار كاملًا، وفيه تُقطَّع حمولة رزمة البيانات الأصلية إلى عدد من القطع ويُضاف لكل منها ترويسة البروتوكول وترويسة القطعة، وتُرسَل القطع إلى وجهة الرزمة الأصلية حيث يُصار إلى تجميعها. من أجل كل عملية تقطيع، يُولِّد المُضيف المصدر قيمة مُميزة تستعمل مُعرِّفًا، وتوضع في حقل المُعرِّف في ترويسة القطعة، وبهذا يمكن للمضيف الوجهة التعرُّف على القطع التي نتجت عن عملية تقطيع واحدة، في الحالات التي يستقبل فيها قطعًا ناتجة عن أكثر من عملية تقطيع من المصدر نفسه.
نظريًّا، يمكن إرسال رزمة بيانات تبلغ من الطول 65535 بايتًا من غير تقطيعها ولكن غالبًا ما يلزم التقطيع للتماشي مع طول نقل أعظم أقل من هذه القيمة مُحدد سلفًا في طبقة الوصلة، أما طول رزمة البيانات الأدنى الذي يدعمه البروتوكول فهو 1280 بايت. يدعم البروتوكول أيضًا الرزم العملاقة (بالإنجليزية: Jumbogram)‏، وهي رزم بيانات يتراوح طولها بين 216=65535 و232=4294967295 بايت وتستخدم في شبكات بيانات تدعم أحجام نقل عظمى أكبر من 65535.
يعامِل المُضيف المصدر رزمة البيانات التي يريد تقطيعها على أنها مكوِّنة من ثلاثة أجزاء:
الترويسات التي ستوضع في القطع كلها: تضم هذه الترويسات ترويسة الإصدار السادس وترويسات التوسعة التالية لها حتى ترويسة التوجيه، إن وجدت، وإلا فحتى ترويسة خيارات المسار، إن وجدت، فإن غابت الترويستان السابقتان ضمَّ هذا الجزء ترويسة الإصدار السادس فقط.
ترويسات التوسعة والطبقات العليا: وتضم جميع ترويسات التوسعة الأخرى التي لم تُشمل في القسم السابق، أما ترويسات الطبقات العليا فتشمل جميع الترويسات التي ليست ترويسات توسعة مثل ترويسات بروتوكول التحكم بالنقل وبروتوكول حزم بيانات المستخدم أو ترويسة بروتوكول رسائل التحكم للإصدار السادس من بروتوكول الإنترنت.(12)
إنشاء القطعة الأولى، وهي تتضمن ما يأتي وفقًا لتسلسل الورود: الترويسات التي ستوضع في القطع كلها وترويسة القطعة وترويسات التوسعة والطبقات العليا وقطعة من الحمولة، يحدد طولها كما يأتي:
يُحسب مجموع أطوال الترويسات التي ستوضع في القطع كلها وترويسة القطعة وترويسات التوسعة والطبقات العليا.
يُطرح المجموع من طول رزمة الإصدار السادس المُحدد بالخطوة الأولى، والناتج هو طول حمولة القطعة الأولى.
تحديد عدد القطع اللازم تقطيعها بتقسيم حمولة الرزمة الأصلية، بعد اقتطاع حمولة القطعة الأولى، على طول الرزمة المُحدد بالخطوة الأولى، إذا كان الجواب كسريًّا، فإن القسم الصحيح هو عدد القطع الوسطى، أي التي تقع بين القطعتين الأولى والأخيرة، وأما الجزء الكسري، فيمثل القطعة الأخيرة.
إنشاء القطع الوسطى: تتضمن القطع الوسطى الترويسات التي ستوضع في القطع كلها وترويسة القطعة وقطعة من الحمولة الناتجة عن الخطوة الخامسة ما خلا القطعة الأخيرة إذا كان عدد القطع كسريًّا.
تحصل عملية إعادة التجميع في المضيف الوجهة فقط، وفيه تُستخلص حمولة القطع المُستقبلة ويُعاد ترتيبها وفقا لموقعها الأصلي المُحدد بحقل إزاحة القطعة، ويُصار إلى تشكيل رزمة البيانات الأصلية كما كانت قبل التقطيع في المضيف المصدر. يُشترط أن يكون عنوان المصدر وعنوان الوجهة وقيمة الحقل المُعرِّف متطابقة في جميع القطع التي سيعاد تجميعها. لإعادة تجميع الرزمة الأصلية، يبدأ المضيف الوجهة بإنشاء ترويسة الإصدار السادس من بروتوكول الإنترنت، ثُمَّ يستخلص أيضًا نسخة من الترويسات الموجودة في كل قطعة، ويضيفها بعد ترويسة البروتوكول، ويضيف بعدها أيضًا ترويسات التوسعة وترويسات الطبقات العليا إن وجدت، مع الانتباه لقيمة حقل الترويسة التالية في كل منها للحفاظ على تتابع الترويسات بشكلٍ سليم. بعد ذلك يحدد المضيف الوجهة الموقع النسبي لكل قطعة من الحمولة في رزمة البيانات الأصلية مُشكلًا حمولة الرزمة الأصلية، ثم يَحسب طول هذه الحمولة ويضيفه إلى ترويسة الإصدار السادس، وأخيرًا تُغلَّف الحمولة وترويسات الطبقات العليا والتوسعة وترويسة الإصدار السادس من بروتوكول الإنترنت داخل رزمة بيانات جديدة تتطابق مع رزمة البيانات الأصيلة قبل التقطيع.
يُستعمل حقل لافتة التدفق في ترويسة الإصدار السادس من بروتوكول الإنترنت لتعريف تدفق من رزم البيانات. وفقًا لمعيار البروتوكول، فإن رزم البيانات تنتمي لتدفق محدد إذا تطابقت ثلاثُ قيم فيها: عنوان مصدرها، وعنوان وجهتها وقيمة حقل لافتة التدفق فيها. تصنَّف رزم البيانات في الشبكة وفقًا للتدفق الذي تنتمي إليه، ثُمَّ تعامل على هذا الأساس، ويختص البروتوكول بتعريف آلية لتمييز تدفق الرزم، أما نوعية الخدمات المُقدَّمة للتدفقات فهي خارج نطاق محدداته.
يبلغ طول حقل اللافتة 20 بتًّا، ويلزم أن يختار المضيف المصدر قيمته بشكل عشوائي وفريد بحيث لا يُولِّد مُعرفين متطابقي القيمة لأجل تدفقين مختلفين في الوقت نفسه. إذا كانت قيمة حقل اللافتة صفرية، فهذا يعني أن رزمة البيانات لا تنتمي لأي تدفق. بخلاف ذلك، فإن أي قيمة عددية يمكن تمثيلها باستعمال 20 بتًّا تصلح للاستخدام كمُعرِّف للتدفق.
وهي آلية للتمييز بين رزم بيانات الإصدار السادس من بروتوكول الإنترنت اعتمادًا على قيم حقل صنف حركة البيانات ذي البتات الثمانية في ترويسة البروتوكول، تُضبط هذه القيم هي العقدة المصدر أو في العقد التي تعالج الرزمة على طول المسار. بعد ذلك، تُمنح الخدمات وأولوية المعالجة للرزم بناء على قيمة هذا الحقل. طُبقت آلية مشابهة في الإصدار الرابع من بروتوكول الإنترنت، وسُمي الحقل المختص بها في ترويسة البروتوكول بحقل توع الخدمة، وكان طوله 8 بت أيضًا.
يُقسَّم حقل صنف حركة البيانات إلى قسمين، هما قسم موقع ترميز الخدمات المتمايزة (بالإنجليزية: Differentiated services codepoint)‏ ويشغل البتات الستة الأكثر أهمية من الحقل، وقسم البتات غير المُستعملة ويشمل البتين الأخيرين. وتحدد الوثيقة RFC 2474 بنية محددة لقسم موقع الترميز هي: "xxx000" حيث تُمثِّل x بتًّا واحدًا قد تكون قيمته 0 أو 1، ويسمح ذلك بإنشاء 8 أصناف متمايزة لرزم البيانات. يُحجز الترميز "000000" ليكون القيمة الافتراضية الدائمة لهذا الحقل، أما القيم السبعة الأخرى، أي {"001000"، "010000"، "011000"... "111000"}، فهي قابلة للتهيئة وفقًا للحاجة ولتعريف مستويات جودة الخدمة المطلوبة.