ما هي متلازمة النوافذ السخيفة - الشرح والوقاية

يتم نقل البيانات(Data) عبر الشبكة والإنترنت(Internet) باستخدام TCP/IP Protocol . بروتوكول TCP/IP ليس مثاليًا ولكنه أسهل في التنفيذ مقارنة بالبروتوكولات الأخرى النظرية لاتصالات البيانات ... مثل نموذج ISO OSI . كما هو الحال مع أي شيء تقني ، فإن TCP/IP به بعض العيوب أيضًا ومتلازمة Silly Window(Silly Window Syndrome) هي إنشاء أحد تلك العيوب. لفهم ما هو Silly Window Syndrome أو SWS ، ستحتاج أولاً إلى فهم الآلية الأساسية لاتصال البيانات في TCP/IP .

متلازمة النافذة السخيفة

متلازمة النافذة السخيفة

فهم النافذة وحجمها

عندما تتواصل نقطتان تحت TCP/IP ، فإنها تنطوي على آلية إقرار. آلية الاعتراف هذه هي التي تسبب متلازمة النافذة السخيفة(Silly Window Syndrome) كما هو موضح بمزيد من التفصيل. قد تشير النقاط إلى جهازي كمبيوتر ، العميل والخادم ، إلخ.

SWS is caused by the receiver advancing the right window edge whenever it has any new buffer space available to receive data and by the sender using any incremental window, no matter how small, to send more data. The result can be a stable pattern of sending tiny data segments, even though both sender and receiver have a large total buffer space for the connection, says MSDN.

عندما يرسل جهاز كمبيوتر ، على سبيل المثال A ، حزمة بيانات إلى كمبيوتر آخر B ، يتعين على الأخير الإقرار والرد بأنه تلقى حزمة البيانات. إلى جانب الإقرار ، يجب عليه أيضًا إرسال حجم المخزن المؤقت المحدد لمؤشر ترابط الاتصال هذا. هذا هو بشكل عام عدد البايتات التي تم تعيينها مجانًا للاتصال.

لذلك عندما تقول B أن 100B متاح للرسالة التالية ، فإن 100B هي النافذة في Silly Window Syndrome . هذا هو حجم المخزن المؤقت. مع وجود عيب خاص بها ، قد تقلل آلية TCP/IP من حجم المخزن المؤقت لكل اتصال / بيانات قادمة من A. أي عندما يرسل A رسالة ، يفترض B أن حجم المخزن المؤقت قد تم تقليله ويرسل عددًا أصغر. وهكذا يستمر حجم النافذة في التقلص وعند نقطة ما ، يتوقف الاتصال فقط عندما يرسل B 0B كحجم النافذة.

كيف تعمل متلازمة النوافذ السخيفة

وفقًا لمثال A و B أعلاه ، إذا أرسل B 1000B كحجم نافذة ، فسيقسمه A إلى مجموعتين 500B ويرسل حزمتين من 500B. عند استلام الحزمة الأولى ، سيرسل B إقرارًا يفيد بأن 500B متاح للنافذة لأن الحزمة الثانية لم يتم استلامها بعد. يفترض A أن 500B هو حجم النافذة ويرسل حزمتين من 250B بناءً على ذلك. بينما في B ، يتم استخدام 500B ويتم استلام 500 للتو ، سيرسل 0B كما هو متاح. في هذه المرحلة ، سيفترض A أنه لا توجد نافذة متاحة على الرغم من أنه قد يحدث أن يكون المخزن المؤقت فارغًا لأن المعالج يستخدم البيانات هناك. سيظل A يرسل حزمة أصغر لمعرفة ما إذا كانت هناك أي نافذة متاحة. إذا لم تتم إزالة محتويات المخزن المؤقت في B بعد ، فسيظل يتلقى 0 كاستجابة / إقرار.

وبالتالي ، يستمر حجم النافذة في الانخفاض حيث يرسل B إقرارًا في كل مرة يتلقى فيها حزمة من A. وعادة ما يكون هذا الحجم أصغر من الإقرار السابق حيث يتلقى B حزم بيانات في أجزاء. لن تكون هناك مشكلة إذا كان بإمكان A إرسال حزمة كبيرة بما يكفي لتغطية حجم المخزن المؤقت على B في كل مرة. لكن هذا سيتطلب آليات إضافية وبالتالي متلازمة النافذة السخيفة(Silly Window Syndrome) . يتوقف الاتصال بعد أن يتلقى A صفرًا مرتين أو ثلاث مرات.

كيفية منع متلازمة النوافذ السخيفة(Silly Window Syndrome) ( SWS )

هناك خوارزمية بسيطة ليتم تنفيذها للتخلص من SWS . عند استلام الحزمة الأولية ، يرسل B نصف المساحة المتوفرة بالفعل مثل النافذة. سيؤدي ذلك إلى إرسال حزم أصغر. وبالتالي ، عندما تصبح الحزم أصغر جدًا ، يرسل B حجم المخزن المؤقت الإجمالي بحيث يمكن لـ A البدء في إرسال وحدات بايت أكبر من البيانات مرة أخرى.

بمعنى آخر ، إذا كان 1000B متاحًا ، يرسل B 500B كتأكيد. وفقًا لذلك ، يرسل A حزمًا بحجم 250B × 2. لهذا ، يتلقى A 100B كاعتراف. عندما يتلقى حزمة 50B ، يرسل B 1000B - 50B إلى A. وهذا يجعل المحادثة بأكملها جاهزة للعمل مرة أخرى. قد يؤدي هذا إلى تأخير بسيط في المعالجة ولكنه سيمنع حدوث متلازمة النوافذ السخيفة(Silly Window Syndrome) ويوقف المحادثة بأكملها.

باختصار ، تستند SWS إلى حجم المخزن المؤقت المتاح للمستلم والحجم المفترض الذي يحسبه المرسل. لمنع SWS ، يتم تقديم تأخير ويتم تبادل حجم إطار أصغر متعمدًا حتى يصبح حجم الحزمة صغيرًا جدًا. ثم يكشف المستلم عن حجم النافذة المتاح بالفعل. تستمر العملية برمتها في التكرار حتى يكتمل الاتصال.

على الرغم من أنني قد استخدمت نافذة الكلمات والمخزن المؤقت بالتبادل. لا أقصد أي فرق بينهما. في دراسات SWS ، يكون المخزن المؤقت هو النافذة.



About the author

أنا مسؤول Windows 10 و Windows 11/10 ذو خبرة ولدي بعض الخبرة في Edge. لدي ثروة من المعرفة والخبرة لأقدمها في هذا المجال ، ولهذا السبب أعتقد أن مهاراتي ستكون رصيدًا قيمًا لشركتك. تمنحني سنوات خبرتي في كل من Windows 10 و Edge القدرة على تعلم التقنيات الجديدة بسرعة وحل المشكلات بسرعة وتحمل المسؤولية عندما يتعلق الأمر بإدارة عملك. بالإضافة إلى ذلك ، فإن تجربتي مع Windows 10 و Edge تجعلني على دراية كبيرة بجميع جوانب نظام التشغيل ، مما سيكون مفيدًا لإدارة الخوادم أو إدارة تطبيقات البرامج.



Related posts