خيار مقياس نافذة TCP

يعد خيار مقياس نافذة TCP خيارًا لزيادة حجم نافذة الاستقبال المسموح به في بروتوكول التحكم في الإرسال فوق قيمته القصوى السابقة البالغة 65535 بايت. تم تعريف خيار TCP هذا، إلى جانب العديد من الخيارات الأخرى، في RFC  7323 الذي يتعامل مع الشبكات الطويلة السمينة (LFNs).

نوافذ TCP

يقتصر معدل نقل البيانات في اتصالات TCP على نافذتين: نافذة الازدحام ونافذة الاستقبال. تحاول نافذة الازدحام عدم تجاوز سعة الشبكة ( التحكم في الازدحام )؛ وتحاول نافذة الاستقبال عدم تجاوز سعة المستقبل لمعالجة البيانات ( التحكم في التدفق ). قد يطغى على المستقبل البيانات إذا كان مشغولاً للغاية على سبيل المثال (مثل خادم الويب). يحتوي كل جزء من TCP على القيمة الحالية لنافذة الاستقبال. على سبيل المثال، إذا تلقى المرسل إقرارًا يؤكد البايت 4000 ويحدد نافذة استقبال 10000 (بايت)، فلن يرسل المرسل حزمًا بعد البايت 14000، حتى إذا سمحت نافذة الازدحام بذلك.

نظرية

يعد خيار مقياس نافذة TCP ضروريًا لنقل البيانات بكفاءة عندما يكون حاصل تأخير النطاق الترددي (BDP) أكبر من 64 كيلوبايت [1] . على سبيل المثال، إذا تم استخدام خط نقل T1 بسرعة 1.5 ميجابت/ثانية عبر رابط قمر صناعي بوقت ذهاب وإياب يبلغ 513 مللي ثانية ، فإن حاصل تأخير النطاق الترددي هو  بتات أو حوالي 96187 بايت. يسمح استخدام حجم المخزن المؤقت الأقصى البالغ 64 كيلوبايت [1] فقط بملء المخزن المؤقت إلى (65535 / 96187) = 68٪ من السرعة القصوى النظرية البالغة 1.5 ميجابت/ثانية، أو 1.02 ميجابت/ثانية.

باستخدام خيار مقياس النافذة، يمكن زيادة حجم نافذة الاستقبال حتى قيمة قصوى  بالبايتات، أو حوالي 1 جيجابايت. [2] يتم ذلك عن طريق تحديد عدد تحويل بايتين في حقل خيارات الرأس. يتم تحويل حجم نافذة الاستقبال الحقيقي إلى اليسار بالقيمة الموجودة في عدد التحويلات. يمكن استخدام قيمة قصوى تبلغ 14 لقيمة عدد التحويلات. سيسمح هذا لاتصال TCP واحد بنقل البيانات عبر رابط القمر الصناعي المثال بسرعة 1.5 ميجابت/ثانية باستخدام كل النطاق الترددي المتاح.

في الأساس، لا يمكن نقل أكثر من نافذة نقل كاملة واحدة خلال فترة زمنية ذهابًا وإيابًا واحدة. يتيح خيار مقياس النافذة لاتصال TCP واحد الاستفادة الكاملة من LFN مع BDP يصل إلى 1 جيجابايت، على سبيل المثال رابط 10 جيجابت/ثانية مع وقت ذهاب وإياب يبلغ 800 مللي ثانية.

الآثار الجانبية المحتملة

نظرًا لأن بعض جدران الحماية لا تنفذ بشكل صحيح عملية توسيع نافذة TCP، فقد يتسبب ذلك في تعطل اتصال المستخدم بالإنترنت بشكل متقطع لبضع دقائق، ثم يبدو أنه بدأ العمل مرة أخرى دون سبب. هناك أيضًا مشكلة إذا كان جدار الحماية لا يدعم ملحقات TCP. [3]

تكوين أنظمة التشغيل

نوافذ

تم تنفيذ TCP Window Scaling في Windows منذ Windows 2000. [4] [5] يتم تمكينه افتراضيًا في Windows Vista / Server 2008 والإصدارات الأحدث، ولكن يمكن إيقاف تشغيله يدويًا إذا لزم الأمر. [6] يحتوي Windows Vista و Windows 7 على مخزن مؤقت ثابت لاستقبال TCP افتراضي يبلغ 64 كيلو بايت، ويصل إلى 16 ميجا بايت من خلال "الضبط التلقائي"، مما يحد من ضبط TCP اليدوي عبر الشبكات الطويلة السمينة . [7]

لينكس

تم تمكين ميزة TCP Window Scaling افتراضيًا في أنوية Linux (منذ 2.6.8، أغسطس 2004). توجد معلمات التكوين في نظام الملفات /proc ، راجع الملف الزائف /proc/sys/net/ipv4/tcp_window_scaling وملفاته المرافقة /proc/sys/net/ipv4/tcp_rmem و /proc/sys/net/ipv4/tcp_wmem (لمزيد من المعلومات: ، القسم sysctl). [8]man tcp

يمكن إيقاف تشغيل التدرج عن طريق إصدار الأمر التالي.

$ sudo  sysctl  -w "net.ipv4.tcp_window_scaling=0" 

للحفاظ على التغييرات بعد إعادة التشغيل، قم بتضمين السطر "net.ipv4.tcp_window_scaling=0" في /etc/sysctl.conf (أو /etc/sysctl.d/99-sysctl.conf اعتبارًا من systemd 207).

FreeBSD وOpenBSD وNetBSD وMac OS X

الإعداد الافتراضي لـ FreeBSD و OpenBSD و NetBSD و Mac OS X هو تمكين توسيع النافذة (والميزات الأخرى المتعلقة بـ RFC 1323).
للتحقق من حالتها، يمكن للمستخدم التحقق من قيمة المتغير " net.inet.tcp.rfc1323 " عبر الأمر sysctl :

$ sysctl  net.inet.tcp.rfc1323

قيمة 1 (الإخراج "net.inet.tcp.rfc1323=1") يعني أن التدرج ممكّن، ويعني 0 "معطل". إذا تم تمكينه، فيمكن إيقاف تشغيله بإصدار الأمر:

$ sudo  sysctl  -w  net.inet.tcp.rfc1323 = 0

يتم فقد هذا الإعداد عند إعادة تشغيل النظام. للتأكد من ضبطه عند وقت التمهيد، أضف السطر التالي إلى /etc/sysctl.conf : net.inet.tcp.rfc1323=0

ومع ذلك، في نظام التشغيل macOS 10.14، يوفر هذا الأمر خطأً

sysctl: معرف غير معروف 'net.inet.tcp.rfc1323'

مصادر

  1. ^ ab هنا، تشير K أو M أو G أو T إلى البادئات الثنائية المستندة إلى قوى 1024.
  2. ^ بورمان، د.، برادين، ب.، جاكوبسون، ف.، وشيفينيجر، ر. (2014). ملحقات TCP للأداء العالي (رقم rfc7323).
  3. ^ "قد تفشل اتصالات الشبكة عند محاولة استخدام Windows Vista خلف جهاز جدار حماية". Support.microsoft.com . تم الاسترجاع في 11 يوليو 2019 .
  4. ^ "وصف ميزات TCP في Windows 2000 وWindows Server 2003". Support.microsoft.com . تم الاسترجاع في 11 يوليو 2019 .
  5. ^ "TCP Receive Window Size and Window Scaling". مؤرشف من الأصل في 1 يناير 2008.
  6. ^ "تفشل اتصالات الشبكة عند محاولة استخدام Windows Vista خلف جهاز جدار حماية". مايكروسوفت . 8 يوليو 2009.
  7. ^ "MS Windows". Fasterdata.es.net . تم الاسترجاع في 11 يوليو 2019 .
  8. ^ "/proc/sys/net/ipv4/* المتغيرات".
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=TCP_window_scale_option&oldid=1218043606"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate