النافذة المتزحلقة

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

النافذة المتزحلقة (بالإنجليزية: Sliding window) هي طريقة معينة لتحديد عدد الطرود التي يسمح بإرسالها من المرسل، وسميت كذلك لأن طريقة تحديد عدد الطرود المسموح إرسالها يحدد بطريقة تشبه النافذة التي تسمح بمرور بعض الطرود وتمنع البقية، وتم اختراعها من أجل مراعاة أن المرسل يقوم بإرسال الطرود بشكل متسلسل دوماً وغالباً ما تكون عملية الإرسال أسرع من عملية الاستقبال عند المستقبل، لذلك هذا يؤدي إلى امتلاء الذاكرة التي تحفظ فيها الطرود عند المستقبل في وقت ضئيل ويحدث فائض بالدفق (Flow) والمرسل يستمر في الإرسال دون أن يأبه بحجم الذاكرة التي يملكها المستقبل، ولذلك يقوم المستقبل بتحديد عدد الطرود الذي يسمح بإرساله من المرسل حتى لا تحدث مثل هذه الظاهرة.

ونلاحظ أن حجمها هو 12 أي يمكن إرسال 12 طرد فقط في كل مرة من المرسل إلى المستقبل (طبعاً هذا الرقم ليس واقعياً لأنه في الحقيقة يكون أكبر بكثير حجم النافذة أي بالمئات).

الآليات التي يمكن للنافذة أن تقوم بالزحلقة بها[عدل]

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

النافذة المتزحلقة عند المستقبل[عدل]

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