الخلاصة

  • يحسب Data Offset الترويسة كاملةً بوحدات كلمات من 32 بت ويحدد موضع بدء البيانات.
  • ينهي EOL تفسير الخيارات، لكن الحشو الذي يليه يظل جزءاً من الترويسة.
  • يمكن أن يساعد NOP في المحاذاة، من دون أن يجعلها إلزامية.

تتكون ترويسة TCP الأساسية من خمس كلمات، أي عشرين ثُمانيّةً. وتزيد الخيارات طولها، لذلك يحتاج المستقبل إلى حد خارجي لا يتوقف على فهمه لكل خيار. يملك Data Offset أربعة بتات ويبيّن عدد كلمات 32 بت في الترويسة كاملة. وضرب القيمة في أربعة يعطي الثُمانيّة التي تبدأ عندها البيانات. وتمثل القيمة خمسة الترويسة الأساسية؛ أما القيم الأكبر فتشمل الخيارات والحشو، حتى خمسة عشر كلمة أو ستين ثُمانيّةً.

عندما تكون قيمة Data Offset أكبر من خمسة، تعبّر RFC 9293 عن مساحة الخيارات بالصيغة (DOffset-5)*32 بتًا. ويشمل هذا المقدار الحشو اللاحق للخيارات الفعلية.

يشير EOL إلى نهاية قائمة الخيارات، لكنه قد يسبق الحد الذي يحدده Data Offset. ويجب أن تكون الثُمانيّات المتبقية حشواً صفرياً للترويسة. أما NOP فهو خيار من ثُمانيّة واحدة ويمكن أن يساعد في محاذاة خيار لاحق، غير أن الخيارات قد تبدأ عند أي حد للثُمانيّات. وتحمل الخيارات الأخرى طولها، مما يسمح بتجاوز خيار غير معروف إذا كان سليم البنية.

يضع Data Offset السقف الخارجي للتحليل. تدخل الخيارات والحشو في حساب مجموع تحقق TCP، لكنها ليست بيانات تطبيق. ويجب التعامل مع الأطوال غير القانونية؛ وتقترح RFC 9293 إعادة ضبط الاتصال وتسجيل السبب كإجراء ممكن.

المصادر